Navigation Category
Navigation features for moving through the workspace.
Go to Definition LSPFeature
Navigates to the definition of an object from a reference. Trigger: F12 or Ctrl+Click.
- lsp_method: textDocument/definition
- status: implemented
- depends: Rust Parser
Description [[description: text]]textShow References ExtCommand 78%Use QMDC with VS Code HowTo 78%Code Action LSPFeature 76%
Supported patterns:
[[#id]]— jump to the object with__id: id[[#id]]via__local_idfallback — jump to the object where__local_id: id(when no direct__idmatch exists and the match is unambiguous)[[#namespace:id]]— jump to the object in the specified namespace[[#Kind:id]]— jump to the object with the specified Kind
Behavior:
- Cursor on reference
[[#users]] - F12 or Ctrl+Click
- Navigates to heading
## Users [[users]]
For hierarchical IDs: cursor on [[#alice]] where __id is team.members.alice — navigates to #### Alice [[alice]] via __local_id fallback.
Find References LSPFeature
Find All References — finds all places that reference a given object. Trigger: Shift+F12.
- lsp_method: textDocument/references
- status: implemented
- depends: Rust Parser
Description [[description: text]]text
Behavior:
- Cursor on object heading
## Users [[users]] - Shift+F12
- Shows a list of all
[[#users]]across the entire workspace
Membership is decided by resolved identity, not naive string equality: each reference is resolved through the shared core::resolve index (handling ns:id, hierarchical ids, and __local_id), so the LSP and the MCP Find References tool agree on what counts as a reference.
Document Symbol LSPFeature
Outline — document structure. Shows the object tree in a file. Used by the standard Outline panel in editors.
- lsp_method: textDocument/documentSymbol
- status: implemented
- depends: Rust Parser
Description [[description: text]]text
Each object becomes a DocumentSymbol:
- name:
__labelor__id - kind: SymbolKind.Class (for objects) or .Field (for fields)
- detail:
__kindif present - range: from heading to the next object
- children: nested objects and fields
Example output:
📦 Users (Table)
└─ 📄 columns
├─ id
├─ email
└─ name
📦 Orders (Table)
└─ 📄 foreign_keys
Workspace Symbol LSPFeature
Search for objects across the entire workspace. Trigger: Ctrl+T or Ctrl+P with # prefix.
- lsp_method: workspace/symbol
- status: implemented
- depends: Rust Parser
Description [[description: text]]text
Filtering:
#users— search by id/label#Table:— all objects with Kind=Table#storage:— all objects in namespace storage
Behavior:
- Ctrl+T
- Type
users - Shows all objects containing "users" in id/label