Monorepo of packages related to LSP.
@qualified/vscode-jsonrpc-ws
- Create VSCode JSON RPC
MessageConnection
over WebSocket
- Create VSCode JSON RPC
@qualified/vscode-jsonrpc-ww
- Create VSCode JSON RPC
MessageConnection
to Web Worker
- Create VSCode JSON RPC
@qualified/lsp-connection
- VSCode JSON RPC
MessageConnection
wrapper for LSP messages
- VSCode JSON RPC
@qualified/codemirror-workspace
- Provides intelligence to CodeMirror editors
Example with Rust Analyzer:
The styling definitely needs work, but the above shows:
- Realtime diagnostics
- Completion with items from the server
- Fuzzy matching (e.g.,
prl
toprintln!
) - Completion items with Markdown docs
- Completion items with icons for each kind
- Hover information with Markdown docs
Simple snippets are supported as well:
See examples/rust-analyzer to run this locally.
See examples/rust-analyzer-sync to run this locally with an ability to save the changes to disk.
See examples/web-worker for an example with simple JSON Language Server running in Web Worker. A live demo is also available at https://qualified.github.io/lsps/.
See examples/html-css-ts for a simple demo project with TypeScript + CSS + HTML editors.
lsp-ws-proxy
: WebSocketify any Language Server.lsp-ws-proxy -- langserver --stdio