Skip to main content

A LSP Proxy to multiple language servers

Project description

multi-lsp-proxy

GitHub Actions PyPI

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.2.tar.gz (12.0 kB view details)

Uploaded Source

Built Distributions

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

Uploaded Python 3 Windows x86-64

multi_lsp_proxy-0.1.2-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.2-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.2-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.2-py3-none-macosx_11_0_arm64.whl (1.4 MB view details)

Uploaded Python 3 macOS 11.0+ ARM64

multi_lsp_proxy-0.1.2-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.2.tar.gz.

File metadata

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

File hashes

Hashes for multi_lsp_proxy-0.1.2.tar.gz
Algorithm Hash digest
SHA256 ca40678bb6d2917d0485e07ea8124a36f2147bafa5d027548df2f3e4e9f60530
MD5 afb5fafcee40dec6e167dcdc88cf7d78
BLAKE2b-256 15bb4186cd391c3e0c7419a58d3f1bf1f6b940203b8c2400a011108eb27e6c84

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for multi_lsp_proxy-0.1.2-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 5c7e74e4cffddba2b6d0665b04ac171383baf39f76a58bb0f835b736bbfaf056
MD5 fa87c4950c1978a054b8b6aadeb9740c
BLAKE2b-256 38ab90554ef597d496452471b5de3a4a9f8902433d68a56eb42390dea5e2e9d7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for multi_lsp_proxy-0.1.2-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7b967f040114f88046bd5aedd249e6e1d855e4dee9f6f3056361e1e57b724863
MD5 f18f2605945ee4dd6ebae06c2be5a4a5
BLAKE2b-256 6bd2819178689c29819df1ee58014c58c620152b3651271950c2aa9a9575977a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for multi_lsp_proxy-0.1.2-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 93a63fe152d9a8ae381e72eee9db71a5e005409d4136a2e08296f01ce60e9bb4
MD5 2cc2fdb9db371630454b32561d72fb65
BLAKE2b-256 6aaf7023cc49e35b2761f987dd5dea02cfc260f69fdfc4f5901745294a9f5784

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for multi_lsp_proxy-0.1.2-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 0b5a8978cfa1fd01a882d428dc774c75b1a5b3c8269b2fe8dae6e3a3cd4cc5bd
MD5 26b0229d21e2c22ae19ebe93871e5ade
BLAKE2b-256 380364169c365bddcb95617bf1a52eb1917ca16091de82ec75d645cfc5275af9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for multi_lsp_proxy-0.1.2-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 afefd1874cc3e1b3e68c73c5b64f1edb602ac55a6660ed67bc5d58756c0deb7c
MD5 462e6d66579dea81d1909b0d5f38142f
BLAKE2b-256 a90da2f277a60613892ed73ff7d7455633ec00fd73363a52559380be26e7f14f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for multi_lsp_proxy-0.1.2-py3-none-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 fb30bd9f24a042eeb5cc120da7783314bd8d521070bf436073f5b31f0918df7d
MD5 665bcdfdc442196d2a374a7a89fddc4a
BLAKE2b-256 cca8c6874bed43e4def29f2b6f2f6fe3528a20789fb4caef18ad84c488d5f521

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