{"repo":"qualified/lsps","free":true,"listed":false,"github":"https://github.com/qualified/lsps","clone":"git clone https://github.com/qualified/lsps.git","description":"Use Language Servers with in-browser editors. Monorepo of editor agnostic packages and CodeMirror client.","language":"TypeScript","stars":169,"topics":["lsp","websocket","codemirror","language-client","language-server-protocol","language-server","webworker"],"license":"MIT","category":"dev-tools","readme_excerpt":"LSPs Monorepo of packages related to [LSP][lsp]. Packages - [ @qualified/vscode-jsonrpc-ws ] - Create VSCode JSON RPC MessageConnection over WebSocket - [ @qualified/vscode-jsonrpc-ww ] - Create VSCode JSON RPC MessageConnection to Web Worker - [ @qualified/lsp-connection ] - VSCode JSON RPC MessageConnection wrapper for LSP messages - [ @qualified/codemirror-workspace ] - Provides intelligence to CodeMirror editors Demo 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 to println! ) - 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. Tools - [ lsp-ws-proxy ]: WebSocketify any Language Server. lsp-ws-proxy -- langserver --stdio Capabilities Text Document - synchronization - didOpen ![ok] - didChange ![ok] - Full text change ![ok] - Incremental text change ![ok] - willSave ![meh] - willSaveWaitUntil ![meh] - didSave ![meh] - didClose ![ok] - completion - inse","default_branch":null,"files":null,"tree":[],"storefront":"/r/qualified","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/qualified/lsps/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}