Editors
folio lsp FOLDER serves the protocol editors share, so any editor with a client for it - VS Code, Neovim, or a JetBrains IDE through a generic client such as LSP4IJ - gets Folio's knowledge of the markdown files under the folder. It builds its own model of the folder from the store a running Folio keeps, so a folder Folio already serves opens in seconds.
- Problems - as you type: links to a file, heading or block that is not there, includes that find nothing, and figures their data contradicts; once the file is saved, also the diagrams, charts, queries, fields, rules and views health finds in it.
- Go to - from a link's address to the file and heading or block it names, from an include to its file and section, from a tied figure to its data file.
- References - on a heading or any block, every link in the folder to it.
- Hover - a block's provenance, as its ⓘ shows it: its lines and last change, the data and queries behind it, its figures and its kind.
- Rename - renaming a heading offers, as one edit to preview, the heading and every link and include naming its anchor - and those naming another heading of the page whose anchor the new name renumbers; moving or renaming a document, picture, data file or folder in the editor offers every link, picture, include, embed and tied figure naming a file or folder it moves, and for a document its own relative links and links to itself, each only where it no longer leads where it did, and only its address - a title, query and fragment are kept; a path with a space is written as it is in an include, embed or figure and between a link's angle brackets, and percent-encoded in any other link. A
#,?or character reference in a link's new path is percent-encoded, and outside angle brackets so is a parenthesis left unbalanced - escaped with a backslash in a kept query or fragment. Renames the editor sends together move in the order it names them. Links, embeds and figures in code, inline code included - a span running across lines, though not past a backslash-escaped backtick - are left alone; includes, which expand in code too, are not. The editor applies the edits; Folio writes nothing.