Summary
Package the existing LSP (crates/lsp) into polished editor extensions for VSCode and Neovim.
Motivation
The hard part — the LSP implementation — already exists. But most users won't manually configure an LSP. Packaging it into discoverable extensions would:
- Drive adoption — VSCode marketplace and Neovim plugin lists are discovery channels
- Improve DX — Syntax highlighting, completions, and error diagnostics out of the box
- Showcase gq's capabilities — The LSP is a unique differentiator vs. jq; it should be visible
Scope
VSCode Extension
- Language registration for
.gq files and embedded queries
- Syntax highlighting (TextMate grammar)
- LSP client wiring to the gq LSP binary
- Marketplace publishing with README, icon, screenshots
Neovim Plugin
nvim-lspconfig integration (register gq-lsp as a known server)
- Tree-sitter grammar for syntax highlighting
- Standalone plugin with setup instructions for lazy.nvim / packer
Considerations
- How should the LSP binary be distributed? Bundled with the extension, or require separate install?
- Should the extensions support inline gq queries in JSON/YAML files?
- The LSP completion escaping bug (keys with special characters) in
crates/lsp/src/lib.rs should be fixed first
Summary
Package the existing LSP (
crates/lsp) into polished editor extensions for VSCode and Neovim.Motivation
The hard part — the LSP implementation — already exists. But most users won't manually configure an LSP. Packaging it into discoverable extensions would:
Scope
VSCode Extension
.gqfiles and embedded queriesNeovim Plugin
nvim-lspconfigintegration (registergq-lspas a known server)Considerations
crates/lsp/src/lib.rsshould be fixed first