A barely working LSP Proxy to multiple language servers, to use multiple LSPs per language in editors that doesn't support multiple LSPs per language natively like Helix (version 22.12).
Install with pipx is recommended:
bash
pipx install multi-lsp-proxy
Pip also works:
bash
pip install multi-lsp-proxy
```bash
Usage: multi-lsp-proxy [OPTIONS] --config
Options:
-c, --config
To use with Helix, set the language-server
option in languages.toml
,
below is an example for Python that enables both pyright-langserver
and ruff-lsp
:
```toml
[[language]] name = "python" scope = "source.python" injection-regex = "python" file-types = ["py", "pyi"] shebangs = ["python"] roots = ["pyproject.toml", "setup.py", "Poetry.lock"] comment-token = "#" language-server = { command = "multi-lsp-proxy", args = ["--config", "/path/to/multi-lsp-config.toml"] } auto-format = false indent = { tab-width = 4, unit = " " } config = {} ```
and configure multi-lsp-proxy in multi-lsp-proxy.toml
```toml log-file = "/tmp/multi-lsp-proxy.log"
[[language]] name = "python" command = "pyright-langserver" args = ["--stdio"]
[[language]] name = "python" command = "ruff-lsp" ```
This work is released under the MIT license. A copy of the license is provided in the LICENSE file.