Editor integrations (LSP & grammar)
Editor integrations (LSP & grammar)
Section titled “Editor integrations (LSP & grammar)”Vox ships three editor-facing artifacts in-tree:
| Artifact | Location | Role |
|---|---|---|
| Language server | crates/vox-lsp | stdio JSON-RPC server (vox lsp): diagnostics, completions, hover, semantic tokens, symbols, code lenses, structured quick-fixes. |
| VS Code extension | apps/editor/vox-vscode | Reference integration for VS Code / Cursor / forks that load VSIX-shaped extensions. |
| Tree-sitter grammar | tree-sitter-vox | Syntax highlighting / incremental parsing for editors that consume Tree-sitter queries. |
Capability inventory (research): vox-lsp-capabilities-ssot-2026.md.
VS Code / Cursor / forks
Section titled “VS Code / Cursor / forks”- Build or install the
voxCLI (seereference/cli.md). - Load / package the extension under
apps/editor/vox-vscode(workspace-specific instructions live in that folder’sREADME/ contribution docs). - Point
vox.lsp.command(or equivalent contributed setting) atvox lsporcargo run -p vox-lspduring bring-up.
Neovim (nvim-lspconfig)
Section titled “Neovim (nvim-lspconfig)”Minimal pattern — spawn the same binary CI uses:
-- Example: adjust to your `vox` install path.vim.lsp.start({ name = 'vox', cmd = { 'vox', 'lsp' }, root_dir = vim.fs.dirname(vim.fs.find({ 'Vox.toml', 'Cargo.toml', '.git' }, { upward = true })[1]),})Use Tree-sitter queries from tree-sitter-vox/queries/ with nvim-treesitter if you want highlighting parity with VS Code.
Add a language-server block in languages.toml:
[[language]]name = "vox"scope = "source.vox"file-types = ["vox"]roots = ["Vox.toml", "Cargo.toml"]language-servers = [ "vox-lsp" ]
[language-server.vox-lsp]command = "vox"args = ["lsp"]Helix does not ship a Vox grammar — pair with tree-sitter-vox build steps from that crate’s README when you need injections.
Zed extensions are Wasm-hosted; there is no first-party Zed extension in this repo yet. Practical options:
- Use external file-type / grammar hooks if your Zed build supports custom Tree-sitter grammars, pointing at
tree-sitter-vox. - Track LSP via a future extension that shells out to
vox lsp(same command line as other editors).
JetBrains (IntelliJ / RustRover / plugin SDK)
Section titled “JetBrains (IntelliJ / RustRover / plugin SDK)”No JetBrains plugin sources ship here. Recommended interim:
- Enable LSP client support (Gateway / third-party LSP plugins) and register
vox lsp. - Optional: import
tree-sitter-voxinto a small plugin for lexical highlighting until a full PSI exists.
Sublime Text
Section titled “Sublime Text”Use LSP package + a client stanza:
{ "clients": { "vox": { "enabled": true, "command": ["vox", "lsp"], "selector": "source.vox" } }}Define the .vox syntax via .sublime-syntax generated from Tree-sitter or hand-maintained scopes — Tree-sitter bridge packages can consume tree-sitter-vox.
Troubleshooting
Section titled “Troubleshooting”- Diagnostics differ from
vox check— LSP usesvalidate_document/validate_document_with_hir; confirm parity notes invox-lsp-capabilities-ssot-2026.md. - No document formatting in LSP — formatting remains
vox fmt/ CLI (document/formattingis intentionally not advertised today).
See also
Section titled “See also”reference/cli.md—vox lspflags.vox-playground-architecture-research-2026.md— planned browser playground vsvox shell repl.