Skip to content
/ lsps Public

Use Language Servers with in-browser editors. Monorepo of editor agnostic packages and CodeMirror client.

License

Notifications You must be signed in to change notification settings

qualified/lsps

Repository files navigation

LSPs

Monorepo of packages related to LSP.

Project Status: WIP – Initial development is in progress, but there has not yet been a stable, usable release suitable for the public. CI License MIT code style: prettier

Packages

Demo

Example with Rust Analyzer:

demo-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:

demo-snippet-completion

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
    • insertText ok
    • additionalTextEdits ok
    • textEdit ok
    • InsertTextFormat.Snippet meh
    • documentation meh
    • command no
    • tags no
  • hover meh
  • signatureHelp meh
  • Goto
    • declaration meh
    • definition meh
    • typeDefinition meh
    • implementation meh
  • references meh
  • documentHighlight ok
  • documentSymbol ok
  • codeAction no
  • codeLens no
  • documentLink no
  • colorProvider no
  • Formatting
    • formatting no
    • rangeFormatting no
    • onTypeFormatting no
  • rename no
  • foldingRange no
  • selectionRange no
  • publishDiagnostics meh
  • callHierarchy no

Workspace

  • applyEdit no
  • workspaceEdit no
  • didChangeConfiguration no
  • didChangeWatchedFiles meh
  • symbol no
  • executeCommand no

Window

  • workDoneProgress no

License

MIT

About

Use Language Servers with in-browser editors. Monorepo of editor agnostic packages and CodeMirror client.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •