Editor integration
Vertex ships a Language Server (LSP) and a tree-sitter grammar. Any editor that can drive an LSP server and load a tree-sitter grammar can provide a first-class Vertex experience. The Zed extension is the reference integration.
For step-by-step install instructions, see Editor setup. This page documents what the LSP actually does.
LSP capabilities
Section titled “LSP capabilities”| Capability | Status | Notes |
|---|---|---|
| Diagnostics (push) | Yes | Real-time as you type. Every checker error and warning flows through. |
| Completions | Yes | Keywords, built-in types, annotation names, stdlib members, identifiers in scope. |
| Hover | Partial | Shows types for identifiers with a meaningful declaration site. |
| Go to definition | Partial | For top-level declarations with a resolvable source. |
| Formatting | No | Formatter not yet available. |
| Rename | No | Not yet supported. |
Diagnostic spans are first-class: a red squiggle lands exactly at the offending token, and multi-location errors (for example, conflicting declarations) highlight every related span.
The Zed extension
Section titled “The Zed extension”The extension at vertex-run/zed-vertex wires everything up automatically:
- Downloads the
vertexbinary for your platform, or uses the one on yourPATH. - Launches
vertex lspfor each.vtxbuffer. - Loads the tree-sitter-vertex grammar for highlighting.
Install it from Zed’s extensions pane.
Using the LSP with other editors
Section titled “Using the LSP with other editors”Launch command:
vertex lspThis reads and writes the LSP protocol on stdin/stdout. No arguments, no initialization options.
Client configuration varies by editor. In general you need:
- Language ID:
vertex - File pattern:
*.vtx - Server command:
vertex lsp(withvertexonPATH) - Workspace root: the nearest ancestor containing
sfdx-project.json
Tree-sitter grammar
Section titled “Tree-sitter grammar”The grammar at
vertex-run/tree-sitter-vertex
is the source of truth for syntax highlighting. Editors that load
tree-sitter grammars directly (Neovim with nvim-treesitter, Helix,
Zed) can use it without the LSP at all, though you lose diagnostics
and completions.
Highlight queries cover keywords, types, string interpolation, operators, annotations, and comments.
Reporting issues
Section titled “Reporting issues”Editor problems often come from one of three places:
- The LSP itself, for diagnostics, completions, or hover bugs. File against vertex-run/vertex.
- The grammar, for highlighting glitches or wrong tokenization. File against vertex-run/tree-sitter-vertex.
- The extension, for install or binary-download issues. File against vertex-run/zed-vertex.
A one-line reduced example and the LSP log (if your editor exposes it) is usually enough to identify which one it is.