Skip to main content

A LSP Proxy to multiple language servers

Project description

multi-lsp-proxy

GitHub Actions PyPI Crates.io

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

multi_lsp_proxy-0.1.3.tar.gz (12.4 kB view details)

Uploaded Source

Built Distributions

multi_lsp_proxy-0.1.3-py3-none-win_amd64.whl (1.1 MB view details)

Uploaded Python 3 Windows x86-64

multi_lsp_proxy-0.1.3-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.4 MB view details)

Uploaded Python 3 manylinux: glibc 2.17+ x86-64

multi_lsp_proxy-0.1.3-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl (2.5 MB view details)

Uploaded Python 3 manylinux: glibc 2.17+ i686

multi_lsp_proxy-0.1.3-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.4 MB view details)

Uploaded Python 3 manylinux: glibc 2.17+ ARM64

multi_lsp_proxy-0.1.3-py3-none-macosx_11_0_arm64.whl (1.4 MB view details)

Uploaded Python 3 macOS 11.0+ ARM64

multi_lsp_proxy-0.1.3-py3-none-macosx_10_7_x86_64.whl (1.5 MB view details)

Uploaded Python 3 macOS 10.7+ x86-64

File details

Details for the file multi_lsp_proxy-0.1.3.tar.gz.

File metadata

  • Download URL: multi_lsp_proxy-0.1.3.tar.gz
  • Upload date:
  • Size: 12.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/0.14.10

File hashes

Hashes for multi_lsp_proxy-0.1.3.tar.gz
Algorithm Hash digest
SHA256 ea5c6f3e8b85f5f95af0006f53ae869e979e944d3c6092bde4e6561043ed6377
MD5 cc9b78394f8801476ec3dc86dd0c5ec3
BLAKE2b-256 7aac7bc316d333eae4bac1ae5ebf1e6933ede78bbe1505274664934095c941ac

See more details on using hashes here.

File details

Details for the file multi_lsp_proxy-0.1.3-py3-none-win_amd64.whl.

File metadata

File hashes

Hashes for multi_lsp_proxy-0.1.3-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 ac1a0cc5c5b2e06de0a2c2e262d1b0d68cbe281cec553dda70da0b4dbe9e1f6e
MD5 5b2dc5334aff7a63df879350c63c86d3
BLAKE2b-256 d992fd0020608ab90570afb46b8e4a423a50ecc826274f41b339bda2be2c8d79

See more details on using hashes here.

File details

Details for the file multi_lsp_proxy-0.1.3-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for multi_lsp_proxy-0.1.3-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 89ea900a9c6d7ad9910b0941830b90e8b9036b288eb0bf8ceead2aa8a51d1532
MD5 ae313d7d74c6805b81dd99904c8c1fa1
BLAKE2b-256 aa4c21ad3708e1afa61bec1dd868f5228d378674102f704b9133e6e85d411aee

See more details on using hashes here.

File details

Details for the file multi_lsp_proxy-0.1.3-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for multi_lsp_proxy-0.1.3-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 43305688f39a7f68af746265c104ff6bb748bc7b01a70537d9b15be1d8433156
MD5 cbbc33566b5ea6b933d9b97cb19af691
BLAKE2b-256 f06b8c66aacef1fad0a4272e9d955e4a86142d00ad67d6c47556536e6f2be32f

See more details on using hashes here.

File details

Details for the file multi_lsp_proxy-0.1.3-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for multi_lsp_proxy-0.1.3-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 801d905cc068ce27a86c8d19034310d73c46eef61cfabdbac8b99a0ad075d29e
MD5 ca87a020acb95f393be44365e2ef0ed3
BLAKE2b-256 33a842625076adfbeee4578aa9443f712f0937127acb71f91513da99de8fb976

See more details on using hashes here.

File details

Details for the file multi_lsp_proxy-0.1.3-py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for multi_lsp_proxy-0.1.3-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 94ba624e233f454fb1e52549021c1da4d644085cc5e8966a4981527e0e654c62
MD5 6462fe5358d5884d8071f3ce8d17bb16
BLAKE2b-256 a05d136b6feceec913a6cfc9f8e71e02547f21db2e3a11584497b6fc32701d30

See more details on using hashes here.

File details

Details for the file multi_lsp_proxy-0.1.3-py3-none-macosx_10_7_x86_64.whl.

File metadata

File hashes

Hashes for multi_lsp_proxy-0.1.3-py3-none-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 7c9a50968d084c22be6357c4646627c10b140ab39abd253b85257647eab70570
MD5 335c25b724c5304467e004581ce84a14
BLAKE2b-256 e0d2f6826e78d64c79242f527ee0f4b7287e3ec401a1b4d9153b13e3e7f1792f

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page