Summary
Add two essential LSP code navigation methods to the LSPManager class: definition() and references(). These methods enable users to jump to symbol definitions and find all references to a symbol in the codebase, following the LSP 3.17 specification.
Tasks
Acceptance Criteria
- Both methods follow the LSP 3.17 specification for textDocument/definition and textDocument/references requests
- Methods handle all possible response types (Location, Location[], LocationLink[])
- Proper error handling for edge cases (no definition found, network errors, etc.)
- Unit test coverage for all code paths
- Integration tests with at least one language server
Additional Context
These methods are essential for implementing code navigation features in Claude Code and Dora. The implementation should follow the existing patterns in LSPManager and be consistent with other LSP methods in the codebase.
Summary
Add two essential LSP code navigation methods to the LSPManager class:
definition()andreferences(). These methods enable users to jump to symbol definitions and find all references to a symbol in the codebase, following the LSP 3.17 specification.Tasks
definition()method with support for Location, LocationLink[], response formatsreferences()method with support for Location[] response formatAcceptance Criteria
Additional Context
These methods are essential for implementing code navigation features in Claude Code and Dora. The implementation should follow the existing patterns in LSPManager and be consistent with other LSP methods in the codebase.