You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
§FS-lsp / §AR-lsp: add the optional grund-lsp binary with LSP diagnostics (each anchored on the offending citation token, not merely the first citation on the line), show --toc hover previews on citations, go-to-definition and find-references that resolve declaration titles and numbered section headings (<ID>.<section>) to their citation sites, document links for resolving citations, and live $$ trigger formatting. PR #25.
§RM-doc-comment-declarations / §DISC-doc-comment-declarations: roadmap a tightening of the §AR-scanner.4 recognizer so a code-resident declaration is seen only inside a class/method doc-comment, never a plain inline comment, with a default-on [scan] switch and top-20-language coverage; design captured as a discussion proposal, not yet implemented. PR #25.
§FS-check.2.3.1 / §AR-scanner.2.5: grund check --suggestions now emits an escaped-citation-resolves suggestion when a <§>-escaped illustration's ID resolves to a real declaration — the mirror of the dangling-citation check, catching a live citation whose marker was bracketed by accident (the escaped form is otherwise silently inert). Advisory only: it never affects the exit code and is withheld from the default run. PR #44.
§FS-check.3.1: a dangling §-citation inside a Markdown inline-code span now also offers the <§> escape (write <§>api/FS-x if this is an illustration), combined with the existing near-ID "did you mean?" nudge when both apply. Outside inline code the escape hint is withheld, so a prose typo is still pointed only at the nearest real ID. The live-citation counterpart to the escaped-citation suggestion. PR #44.
Changed
§FS-lsp / §FS-distribution.1 / §AR-bindings.4: align the LSP specs and architecture with the implemented Cargo package, lsp-server transport, focused parity tests, and future npm/PyPI packaging scope. PR #25.
§FS-lsp.1.1: the LSP snapshot now classifies citing sides, so citation-direction errors — missing-citation (§FS-check.3.11) and forbidden-citation (§FS-check.3.12) — surface as editor diagnostics alongside the other grund check findings; the opt-in should / should-not suggestions channel stays off in the editor. PR #25.
§FS-lsp: switch the checked-in VSCode/VSCodium setup from zsol.vscode-glspc to wdomitrz.simple-lsp-client. The former is only on the Microsoft Marketplace, so VSCodium (which installs from Open VSX) could never install it and never launched grund-lsp at all — none of the LSP features were active. The new client is on Open VSX; .vscode/settings.json, .vscode/extensions.json, and the setup guide are updated accordingly. PR #25.
§FS-lsp.2.3: recommend configuring the editor's LSP client in user (global) settings rather than a per-repo file, so grund-lsp runs in every project instead of only repos that ship an editor config. A repo without the per-repo config silently falls back to the editor's built-in behavior — citations underline a single hyphen-delimited word and find-references misses the citation sites. Documented in the README, the LSP setup guide, and the grund init guided-setup skill. PR #25.
§FS-init.2 / §AR-workspace.3.1 / README §4: document the "marker = live citation" rule now that a §-marked token is a checked citation inside Markdown backticks too — the generated AGENTS.md grounding block gains a Marker = live citation rule (same v3 block, re-rendered on the next grund init), the README marker guide gains the same note, and the <§> illustrative-marker notation used across the specs is finally explained where it first appears. PR #44.
Fixed
§FS-lsp.1: a malformed or failing LSP message no longer tears down the session — a request that fails returns an error response and a bad notification is logged and skipped, so one bad message cannot drop the editor's connection. The server also reads each file at most once per snapshot when computing token ranges and resolves the edited file's config once per on-type keystroke, instead of once per token / twice per keystroke. PR #25.
§FS-lsp.1.2: link citations inside hover previews using the displayed citation token, so workspace-local hover prose like §FS-002-b becomes clickable even when the LSP query ID is qualified as root/FS-002-b. PR #25.
§FS-lsp.1.2: declaration-side title hovers now return a minimal title body with the whole-title range, giving Codium/VSCode-style clients an explicit hover range for Markdown declaration headings, numbered section headings, and inline-spec stub titles. PR #25.
§FS-lsp.1.1 / §FS-lsp.1.2: hover on an unresolved citation now returns nothing instead of echoing the diagnostic message, and line-level diagnostics no longer borrow the citation token range. The publishDiagnostics entry, with its nearest-ID hint, is the single source of the citation error text, so editors that render diagnostics inside the hover popup stop showing it twice. PR #25.
§FS-lsp.1.3 / §FS-lsp.1.3.2: make Markdown declaration titles navigate as whole-title spans, make inline-spec stub titles link to the source doc-comment declaration, and keep source-comment citation references visible from Markdown navigation. Return go-to-definition results as LocationLinks carrying the whole §<ID> or title token as their origin span unless a client explicitly sets textDocument.definition.linkSupport = false, so editors underline one navigable unit instead of the single word under the cursor. PR #25.
§FS-lsp.1.3.3: implement textDocument/documentHighlight so the whole §<ID> citation (or declaration, section, or stub title) under the cursor is marked as one span, plus same-ID occurrences in the file. Editors such as Codium that otherwise fall back to a word pattern were boxing only one sub-word of a citation like §FS-lsp.1.3; they now mark the entire reference. PR #25.
§FS-lsp.1.3.2: stop emitting a self-pointing document link on ordinary Markdown declaration titles. The self-link covered the same span as go-to-definition and won the editor's Ctrl-click, navigating the title onto its own line instead of showing the declaration's code-reference usages; the title now resolves to go-to-definition (and hover) usages on click. PR #25.
§FS-lsp.1.4 / §FS-distribution.4: make LSP on-type formatting use each workspace member's trigger and marker, publish grund-lsp in the Cargo release path, and keep the checked-in VSCode setup portable. PR #25.
§AR-scanner.2.3: a marker-prefixed qualified citation (<§>alias/ID) inside a Markdown inline-code span is now recognized, matching the unqualified form, so grund check, grund refs, and the LSP resolve and navigate cross-namespace citations written in backticks. The inline-code carve-out — a guard against path-like alias/ID tokens — previously fired in Markdown too and silently dropped these citations; it now applies only in source files, where alias/ID genuinely collides with paths and string literals. PR #44.