Build on Qlue-ls
Excluded alternative universe
This is the excluded alternative universe from the parent ADR.
This planning shorthand assumes that Qlue-ls IoannisNezis/Qlue-ls supplies the LSP foundation. The resulting server replaces or generalizes its SPARQL-specific language intelligence for JSON-LD, YAML-LD, and Markdown-LD.
Qlue-ls is a Rust SPARQL language-server library with native and WASM server entry points; its documented distribution also supports an installed command and editor clients.
Implementation checklist
- Map Qlue-ls’s server lifecycle, document store, URI handling, position conversion, capability registration, and diagnostics interfaces; isolate components that can remain language-neutral.
- Replace or generalize the SPARQL parser, formatter, completion, and backend-query pipeline so JSON-LD documents become first-class inputs without retaining SPARQL assumptions.
- Build a YAML-LD syntax tree and source map that map semantic values and JSON-LD paths to YAML key and value spans.
- Extract Markdown-LD front matter, retain its document offset, and translate JSON-LD diagnostics and navigation ranges back into the Markdown buffer.
- Select and integrate a JSON-LD processor, including context loading, relative-IRI resolution, local-document policy, and error translation to source ranges.
- Interpret
@type: @idcoercion to classify IRI-valued values; publish document links and Go to Definition results for every matching workspace definition. - Make in-memory, unsaved buffers override on-disk documents for parsing, context resolution, indexing, and navigation.
- Establish JSON-LD, YAML-LD, and Markdown-LD conformance fixtures plus end-to-end LSP tests for diagnostics, links, single and multiple definitions, relative IRIs, and unsaved edits.
- Package the resulting server, document editor configuration and file associations, and verify native and WASM/editor integration paths.
Consequences
- Decide whether Qlue-ls’s SPARQL capabilities remain in the same distributable or are separated before semantic-web features and configuration are generalized.
- Audit every reused protocol and workspace component for coupling to SPARQL AST types, endpoint-driven completion, and query-specific configuration.
- Carry the maintenance cost of a downstream fork or coordinate upstream abstractions before relying on Qlue-ls as the common LSP base.
- Verify that the required YAML-LD and Markdown-LD processing, filesystem access, and local-document policies work consistently in both Qlue-ls native and WASM targets.