quarb-code-lsp 0.30.0

Language server for the Quarb code level — outline, definition, references, and hover over source code, on LSP JSON-RPC and kaivrpc
quarb-code-lsp-0.30.0 is not a library.

quarb-code-lsp

The code level as a language server — a reading tool: outline, go-to-definition, find-references, hover, and workspace symbols over Rust, Python, JavaScript, and C source, with no resident index. Every answer is a code-level query; the lowering tables' LSP SymbolKind column is the outline's kind mapping, definition and references resolve by declared identifier (fan-out on homonyms — the honest answer), and hover is ::signature + ::doc.

One core, two codecs:

quarb-code-lsp                      # LSP JSON-RPC on stdio (editors)
quarb-code-lsp --kaivrpc <socket>   # kaivrpc on a Unix socket

The kaivrpc door (quarb-code-lsp/symbols, /definition, /references, /hover, /query — word-based, one request per connection) is what kaiv-native editor extensions speak; the JSON-RPC door is standard LSP for everything else — plus the same query door as the vendor method quarb/query (params query, optional scope: "file", optional textDocument; result rows of {value} or {file, line, locator, location}; a refusal is a RequestFailed error carrying the engine's message verbatim). Both codecs, one story: any client picks by transport taste, not by capability. The syntax level's AST cache is on by default, so workspace answers warm to roughly what qua --cache pays.

Deliberately not provided: rename, completion, diagnostics-as-you-type — the write-side gestures where resident state is the entire product. Pair with quarb-lsp (the Quarb language's own server) rather than replacing your language's classic LSP.

Part of Quarb, a query language for arbors — tree-spanned graphs (a hierarchical backbone enriched with non-hierarchical "crosslink" relations).

See quarb.org for the language specification, the user guide, and the full list of adapters.

License

Dual-licensed under either of MIT or Apache-2.0, at your option.