Summary
Implement LSP server for IDE integration (VSCode, Vim, Emacs, Neovim, etc.).
Problem
No LSP server - can't integrate with IDEs that support LSP.
Action Items
-
Implement gosqlx lsp command
-
LSP features (following LSP spec):
- textDocument/didOpen: Track opened SQL files
- textDocument/didChange: Incremental parsing
- textDocument/publishDiagnostics: Syntax errors
- textDocument/hover: Keyword/function documentation
- textDocument/completion: Autocomplete keywords
- textDocument/formatting: Format SQL
- textDocument/definition: Go to table/column definition
- textDocument/codeAction: Quick fixes
-
Performance requirements:
- Sub-second response time for diagnostics
- Incremental parsing for large files
- Low memory footprint
-
Test with major editors:
- VSCode
- Vim/Neovim (via coc.nvim or native LSP)
- Emacs (via lsp-mode)
- Sublime Text
-
Document integration for each editor
Acceptance Criteria
Technical Details
Priority: High
Effort: Large (80h / 2-3 months)
Phase: Phase 5 - Integrations & Ecosystem
Dependencies: None
Example Usage
# Start LSP server
gosqlx lsp --stdio
# VSCode settings.json
{
"gosqlx.lsp.enable": true,
"gosqlx.lsp.path": "gosqlx"
}
Related
Foundation for INT-001 (VSCode extension) and all IDE integrations
Summary
Implement LSP server for IDE integration (VSCode, Vim, Emacs, Neovim, etc.).
Problem
No LSP server - can't integrate with IDEs that support LSP.
Action Items
Implement
gosqlx lspcommandLSP features (following LSP spec):
Performance requirements:
Test with major editors:
Document integration for each editor
Acceptance Criteria
Technical Details
Priority: High
Effort: Large (80h / 2-3 months)
Phase: Phase 5 - Integrations & Ecosystem
Dependencies: None
Example Usage
Related
Foundation for INT-001 (VSCode extension) and all IDE integrations