Skip to content

LSP Plugin

Help query: "What does the lsp plugin do?" / "How do I use lsp in Volt?" / "How do I start rust-analyzer?"

The lsp plugin is Volt's language server integration. It starts and stops servers, jumps to definition/references/implementation, shows diagnostics and code actions, supports Copilot sign-in, and auto-starts the right server when matching files open. Live sessions are Owned Processes: Workspace Close and Application Quit tear them down through Process Launch.

Package namelsp
Moduleuser/lsp.rs

What it does

  • Start, stop, and restart language servers (stop/restart choose a live session from a picker)
  • Go to definition, references, and implementation
  • Show diagnostics and code actions
  • Install servers via picker and manage Copilot auth
  • Auto-start servers from buffer.file-open hook bindings by extension
  • Expose per-server lsp.start-* commands (rust-analyzer, marksman, typescript-language-server, and others)

Commands

CommandDescription
lsp.startStarts the language servers registered for the active file.
lsp.stopStops a live Language Server Session chosen from a picker.
lsp.restartRestarts a live Language Server Session chosen from a picker.
lsp.logOpens the live LSP transport log buffer.
lsp.definitionJumps to the LSP definition under the cursor.
lsp.referencesFinds LSP references for the symbol under the cursor.
lsp.implementationJumps to LSP implementations for the symbol under the cursor.
lsp.diagnosticsOpens a picker of current LSP diagnostics from live servers.
lsp.code-actions / lsp.code-actionOpens LSP code actions available at the cursor.
lsp.copilot-sign-inStarts GitHub Copilot device authentication for the active file.
lsp.copilot-sign-outSigns the active GitHub Copilot language server session out.
lsp.install-serverInstalls a Language Server from a picker, or a Spec id.

Additional lsp.start-* commands exist per registered server — see user/lsp.rs.

Keybindings

ChordCommandScope
Ctrl+Spacelsp.code-actionsWorkspace (Normal)

Notes

Auto-start bindings fire on buffer.file-open for registered extensions (.rs, .md, .ts/.tsx/.js/.jsx, .cs/.razor/.cshtml, and more). Language-server specs are exported from user/lsp.rs via language_servers().

Volt — modal editor platform · docs optimized for in-editor help search