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 Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

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

Uploaded Python 3 Windows x86-64

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

Uploaded Python 3 macOS 11.0+ ARM64

multi_lsp_proxy-0.1.1-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.1-py3-none-win_amd64.whl.

File metadata

File hashes

Hashes for multi_lsp_proxy-0.1.1-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 44944fdca7c101f4b91f67bb3c4590fcccbae9f42f3a5afe4bc34d00ec3be9df
MD5 79b60e686ac9d5f6afdcf9d3bb86369c
BLAKE2b-256 7c1bad5a9a27ad919d696015bd4f587d3e0ffa88b9019364d51a02096e000831

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for multi_lsp_proxy-0.1.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 83ce9513de9379dbe04f1be84f481e78683ee931bc2198a9af976d459e0986b3
MD5 bec851d59dea34af54b9f8bf2c7dc3f1
BLAKE2b-256 f8ecb24e0954f0d4c7dcad2adcb78fd247002f0a47abcfb9de1098bd90ec01d6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for multi_lsp_proxy-0.1.1-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 072c5181147a2dc7a35566da4249ebecb7b2ea914a367c375a7e7407a595bdcc
MD5 649337d01b64d11667eea02e8e637395
BLAKE2b-256 a60d4d1f899e81b85f22e3b3158320f97218322b706c653340d78d4b4865182e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for multi_lsp_proxy-0.1.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 aa3629901b7fd9b0b40281ba4e5b11ca354c2dabb9e7995204326a5f78890acf
MD5 e6ce39e3a65259ecebc9c731ba6b2ceb
BLAKE2b-256 d05ea3868884bd248ad3378980c44277431789afec167905f3fdac00cf7fb4f6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for multi_lsp_proxy-0.1.1-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 857a192a0b5cedc7e50490aaabfb23480c861fe6207af569175689f9a015a4af
MD5 6342ee5ddb27e018be0034c6173ec7be
BLAKE2b-256 7cec7d0d95d58a5f9a61c92082cd2bda99ac39ab4bd1f7764f6667f3fb867d74

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for multi_lsp_proxy-0.1.1-py3-none-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 2e47e24b8145a05f1d4a5ae76ffed73e31174055bee84f28f402859249fdfbae
MD5 9c47572065ba2af44c8f11beba95c4a2
BLAKE2b-256 01c0318048fce02e4469925d2e76ea84d89b0bacfd0852aa1b72b165a2ff0e19

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