How kitagry/bqls works
bqls is a BigQuery language server: an editor sends SQL documents and requests over LSP, and the server provides SQL-aware editing features or runs BigQuery commands and returns results/previews. The VS Code extension is an optional editor-facing integration. The graph captures documented capabilities, but some subsystem wiring is inferred only from names and README descriptions; uncertain call edges are omitted.
Main entry points: langserver.go LSP handler · project.go Project services · execute_command.go Workspace commands · extension.ts VS Code extension
Components 23
Editor clients
- VS Code extension
editors/vscode/src/extension.ts - Command UI
editors/vscode/src/commandResultHandler.ts
LSP server
- Server process
main.go - LSP handler
langserver/langserver.go - Initialization
langserver/initialize.go - Document events
langserver/text_document.go - Completion
langserver/completion.go - Diagnostics
langserver/diagnostic.go - Formatting
langserver/format.go - Hover details
langserver/hover.go - Definition lookup
langserver/definition.go - Workspace commands
langserver/execute_command.go - Virtual documents
langserver/virtual_text_document.go - Result export
langserver/execute_command.go
SQL intelligence
- Project services
langserver/internal/source/project.go - SQL analysis
langserver/internal/source/file/analyze.go - SQL parser
langserver/internal/source/bqparser/parser.go - Completion engine
langserver/internal/source/completion/completion.go - Document intelligence
langserver/internal/source/document.go
BigQuery services
- BigQuery client
langserver/internal/bigquery/bigquery.go
Other components
- SQL author
- BigQuery
- Google Sheets
Connections 32
- SQL author → VS Code extension: edits SQL
- SQL author → Server process: uses LSP client
- VS Code extension → Server process: starts server
- VS Code extension → Command UI: handles results
- Server process → LSP handler: creates handler
- LSP handler → Initialization: dispatches
- LSP handler → Document events: dispatches
- LSP handler → Completion: dispatches
- LSP handler → Diagnostics: dispatches
- LSP handler → Formatting: dispatches
- LSP handler → Hover details: dispatches
- LSP handler → Definition lookup: dispatches
- LSP handler → Workspace commands: dispatches
- LSP handler → Virtual documents: dispatches
- Completion → Project services: requests completion
- Completion → Completion engine: builds suggestions
- Diagnostics → Project services: requests analysis
- Formatting → Project services: formats document
- Hover details → Project services: requests details
- Definition lookup → Project services: resolves symbol
- Document events → Project services: updates documents
- Project services → SQL analysis: analyzes SQL
- SQL analysis → SQL parser: parses SQL
- Project services → Document intelligence: provides context
- Workspace commands → Project services: runs query
- Workspace commands → BigQuery client: lists jobs and data
- Project services → BigQuery client: fetches metadata
- BigQuery client → BigQuery: queries BigQuery
- Virtual documents → Project services: builds previews
- Workspace commands → Result export: exports rows
- Result export → Google Sheets: writes spreadsheets
- Workspace commands → Command UI: returns command results