Editor integration
sextant-lsp is a Language Server Protocol server that surfaces
Sextant findings inside any LSP-capable editor. Squiggles appear as you
type (debounced 400ms) and hovering a squiggle pops up the full rule
documentation — the same markdown sextant rules explain prints, without
the context switch.
What’s graded
Section titled “What’s graded”| When | Mode | Scope |
|---|---|---|
| As you type | did_change (debounced) | The current buffer only — overlay text, no on-disk read. |
| On save | did_save | The current buffer; cross-file rules get a workspace pass. |
LLM-judged rules are off by default in the editor for speed and to
avoid surprise API spend. Toggle sextant.disableLlm to false if you
want them in the inner loop too.
Cross-file rules (e.g. token-duplication across files, untested public functions in sibling crates) only fire on save through the workspace pass — single-file mode favors latency over coverage.
Editors
Section titled “Editors”- VS Code — first-class extension on the Marketplace.
- Other editors — Neovim, Helix,
and any other LSP client. Point them at
sextant-lsp.
How it works
Section titled “How it works”- Editor opens a file; the LSP client sends
initializewith the workspace folder. sextant-lspresolves the repo root by looking for.sextant/or.git/, walking up from the document if no workspace folder was given.- Each
did_changeschedules a debounced grade. After 400ms with no further keystrokes, the engine grades the in-memory buffer (the file on disk may be stale) and publishes diagnostics. - Each
did_savetriggers an immediate grade. textDocument/hoverfinds findings whose range contains the cursor and renders the rule’s full documentation.
Configuration
Section titled “Configuration”The same .sextant/config.toml and .sextant/rules/**/*.md you’d use
for the CLI are picked up automatically. No editor-specific config.
See also
Section titled “See also”- Installation — including
the
sextant-lspbinary. - CLI — the same engine for terminal use.
- MCP server — same engine for AI agents.