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 LSP with one programming language in editors that doesn't support multiple LSP natively like Helix (version 22.12).

Installation

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

Uploaded Source

Built Distributions

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

Uploaded Python 3 Windows x86-64

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

Uploaded Python 3 macOS 11.0+ ARM64

multi_lsp_proxy-0.1.0-py3-none-macosx_10_7_x86_64.whl (1.4 MB view details)

Uploaded Python 3 macOS 10.7+ x86-64

File details

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

File metadata

  • Download URL: multi_lsp_proxy-0.1.0.tar.gz
  • Upload date:
  • Size: 11.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.9

File hashes

Hashes for multi_lsp_proxy-0.1.0.tar.gz
Algorithm Hash digest
SHA256 78d60dea09de0391623b6de8a79c2dae53fce32ee3f6042adc51e6bbeb74c66f
MD5 5bb836259e91cf835535c2829199a444
BLAKE2b-256 07b0c413db1d2d00bff09e27e078e05081f5a286289b5cca9e6faea42bc1e09d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for multi_lsp_proxy-0.1.0-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 c9fd50420e5e53298ecfd17c92c8ccb7590057af52974c249f31e8af6551bfe7
MD5 cb80a5c0c95133b594059102063621a6
BLAKE2b-256 68b151bdc7529c6a1417a4397aa9843fd21b8db1f68421a3a44ae1b6cb0452ae

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for multi_lsp_proxy-0.1.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6f9174f54fc6a0ecc5dbbb47fd3e0e12e5dcc7f87509358b7ce2c621a2e47a6f
MD5 906e0e1a5ca7cc573f21fb43cdfff5a3
BLAKE2b-256 dfdd0c199723301b4b2ac64aeaf462f6de83073417a60544fc265fcf04889026

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for multi_lsp_proxy-0.1.0-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 c8ad2d5f97cbc5e055b8f6f362a88e930b6f39e96730e37c1ac213cb1477fc58
MD5 533306c7da5fd3a051b13a3bd86d78c9
BLAKE2b-256 e556930965413f4bcc68607149d04c4058331b547c2f0fcd5d38f4e3bbbeba77

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for multi_lsp_proxy-0.1.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 061aa2ef91562839f0863449b10de7063d008eb573a52eed11dc56f2650db30a
MD5 52f9737841d086a351a80f4e5c01b7cb
BLAKE2b-256 f408165c692e0744ec58cb193dd5bbfd6f5cfd406b42f9ccd8fdae8bf47855f3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for multi_lsp_proxy-0.1.0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4777a49f4f2f24cb969718810d5922a4e31042f22e3bf8555d50e5567ceb12ea
MD5 c9744431bf644d8d55efb88f6927c9fb
BLAKE2b-256 df198b1306ac322200bcfce7638a567115ea155aec6c8e4ee1ea2c02c9ed2c27

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for multi_lsp_proxy-0.1.0-py3-none-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 1453e0735bbcf05995522f37080f41a3506835ec1642b554fefe5eacb363d9b9
MD5 f3b47fea41fdb87970c8cc734d997554
BLAKE2b-256 41c7b96fb22d951313270ce10fe7f9c7ab32fa723aa83852ece16370be873325

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