6 个版本 (重大更新)

0.8.0 2021 年 9 月 1 日
0.7.0 2021 年 8 月 30 日
0.6.1 2021 年 8 月 27 日
0.6.0 2021 年 6 月 15 日
0.4.1 2020 年 9 月 20 日

命令行工具 中排名 2069

Download history 7/week @ 2024-03-26 13/week @ 2024-04-02

每月下载 81

MIT 许可证

88KB
2K SLoC

lsp-ws-proxy

语言服务器的 WebSocket 代理。

用法

$ lsp-ws-proxy --help

Usage: lsp-ws-proxy [-l <listen>] [-s] [-r] [-v]

Start WebSocket proxy for the LSP Server.
Anything after the option delimiter is used to start the server.

Multiple servers can be registered by separating each with an option delimiter,
and using the query parameter `name` to specify the command name on connection.
If no query parameter is present, the first one is started.

Examples:
  lsp-ws-proxy -- rust-analyzer
  lsp-ws-proxy -- typescript-language-server --stdio
  lsp-ws-proxy --listen 8888 -- rust-analyzer
  lsp-ws-proxy --listen 0.0.0.0:8888 -- rust-analyzer
  # Register multiple servers.
  # Choose the server with query parameter `name` when connecting.
  lsp-ws-proxy --listen 9999 --sync --remap \
    -- typescript-language-server --stdio \
    -- css-languageserver --stdio \
    -- html-languageserver --stdio

Options:
  -l, --listen      address or port to listen on (default: 0.0.0.0:9999)
  -s, --sync        write text document to disk on save, and enable `/files`
                    endpoint
  -r, --remap       remap relative uri (source://)
  -v, --version     show version and exit
  --help            display usage information

为什么?

当服务器无法在客户端附近运行时,需要远程语言服务器。

例如,这可以用于让浏览器编辑器如 CodeMirrorMonaco 使用任何语言服务器。有关使用代理的 qualified/lsps 与 CodeMirror 一起使用 Rust Analyzer 的示例,请参阅。

功能

  • 代理消息
  • 同步文件
  • 使用 POST /files 操作远程文件
  • 重映射相对 DocumentUri (source://)

依赖关系

~15–26MB
~414K SLoC