4 releases
0.1.3 | Jan 15, 2023 |
---|---|
0.1.2 | Jan 15, 2023 |
0.1.1 | Jan 15, 2023 |
0.1.0 | Jan 15, 2023 |
#321 in Text editors
13KB
203 lines
multi-lsp-proxy
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).
Installation
Install with pipx is recommended:
pipx install multi-lsp-proxy
Pip also works:
pip install multi-lsp-proxy
Usage
Usage: multi-lsp-proxy [OPTIONS] --config <CONFIG>
Options:
-c, --config <CONFIG> Configuration file path
-l, --language <LANGUAGE> Select language servers by programming language name
-h, --help Print help
-V, --version Print version
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
:
# Helix languages.toml file
[[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
log-file = "/tmp/multi-lsp-proxy.log"
[[language]]
name = "python"
command = "pyright-langserver"
args = ["--stdio"]
[[language]]
name = "python"
command = "ruff-lsp"
License
This work is released under the MIT license. A copy of the license is provided in the LICENSE file.
Dependencies
~12–20MB
~268K SLoC