LSP Functional Requirements
February 15, 2026 ยท View on GitHub
The docgraph language server provides interactive features for IDEs (e.g., VS Code) to improve the experience of
writing and maintaining docgraph specifications.
Go to Definition
The server supports jumping to the source of a Node by clicking on its ID in a link.
Capability: definitionProvider
Behavior: Maps markdown link syntax to the anchor HTML tag in the corresponding file.
Derived from
Hover Information
The server displays the Node's description and metadata when hovering over an ID or link.
Capability: hoverProvider
Behavior: Shows the human-readable name and reference counts (incoming/outgoing) for the Node under the cursor.
Derived from
Auto-completion
The server suggests existing Node IDs when typing links.
Capability: completionProvider
Triggers: [ (link start), # (fragment start), ( (path start)
Behavior: Returns a list of all Node IDs defined in the workspace.
Derived from
Find References
The server searches all Markdown files for the ID string at the current cursor position.
Capability: referencesProvider
Behavior: Lists all occurrences of a Node ID throughout the workspace.
Derived from
Symbol Rename
The server renames a Node ID and automatically updates all its references across all files.
Capability: renameProvider
Behavior:
- Validates if the selected text is a valid anchor ID or reference.
- Applies workspace-wide edits to change the ID in both its definition and all identified references.
Derived from
Call Hierarchy
The server explores incoming and outgoing relationship chains in a tree view for deep traceability analysis.
Capability: callHierarchyProvider
Behavior:
- Incoming Calls: Shows which Nodes reference the current block.
- Outgoing Calls: Shows which Nodes are referenced by the current block.
Derived from
Document Symbol
The server lists all nodes in the current document for navigation.
Capability: documentSymbolProvider
Behavior: Returns a list of all Nodes defined in the current document. This populates the "Outline" view in most editors.
Derived from
Workspace Symbol
The server allows searching for Nodes across the entire workspace.
Capability: workspaceSymbolProvider
Behavior: Allows searching for Nodes across the entire workspace by matching their ID or human-readable name.
Derived from
LSP Server
The system SHALL provide a Language Server Protocol server to support interactive editing.