Vorto acts as an LSP client: it spawns language server processes automatically when you open a file of a supported type and the server binary is present on yourDocumentation Index
Fetch the complete documentation index at: https://docs.vorto-editor.dev/llms.txt
Use this file to discover all available pages before exploring further.
PATH. All you need to do is install the server once, install the tree-sitter grammar, and open a file — Vorto handles the rest.
Rust (rust-analyzer)
Rust is a good reference case because the toolchain provides its own LSP server.Install rust-analyzer
Add the component through Alternatively, download a pre-built binary from the rust-analyzer releases page and place it somewhere on your
rustup:PATH.Install the Rust tree-sitter grammar
Syntax highlighting and smart indentation require the compiled grammar:
A C compiler is required to build grammars. Run
vorto grammar list to check whether the grammar is already installed.Open a Rust file
Open any Vorto detects
.rs file inside a Cargo workspace:Cargo.toml (or rust-project.json) as the workspace root marker and starts rust-analyzer automatically. LSP servers are started lazily — the server process spawns the first time you open a file of the right type.Use LSP features
Once the server is running, the following features become available:
| Feature | How to access |
|---|---|
| Diagnostics | Shown in the gutter and inline as you type |
| Hover documentation | Press K in Normal mode over a symbol |
| Completions | Appear automatically in Insert mode |
| Code actions | Available in Normal mode when the cursor is on a diagnostic |
| Go to definition | Navigate to a symbol’s definition |
JavaScript and TypeScript (vtsls / typescript-language-server)
Vorto’s built-in configuration lists bothvtsls and typescript-language-server for TypeScript and JavaScript files. Whichever binary is on your PATH will start; the other is silently skipped.
Install a TypeScript language server
Install Or use the classic TypeScript language server:
vtsls globally via npm:Override LSP arguments
If you need to pass custom flags to a built-in server, add a[lsp.<server-name>] block to your config.toml. Only the fields you set are changed — the rest of the built-in definition stays in place:
Troubleshooting
The server does not start. Confirm the server binary is on yourPATH by running it directly in a terminal (e.g., rust-analyzer --version). Also verify that the project contains the expected root marker file (Cargo.toml, package.json, etc.) — without a root marker the server may not start.
:lsp shows no connected servers.
LSP servers start lazily when you open a file of the matching type. Make sure you have actually opened a file, not just launched Vorto to a directory.
For more troubleshooting steps, see the Troubleshooting guide.