Language Server is difficult to set up and is tightly coupled with each editor plugin.
neovim/nvim-lspconfig#200 (comment)
There are also lots of scripts to support different platforms and Language Servers, which is becoming difficult to maintain.
https://github.com/mattn/vim-lsp-settings/tree/master/installer
LSM aims to be a simple and cross platform installation manager for Language Server.
Windows support is still incomplete.
$HOME/.local/share/lsm/servers
If you defined $XDG_DATA_HOME
$XDG_DATA_HOME/lsm/servers
%LOCALAPPDATA%\lsm\servers
go get
go get github.com/johejo/lsm
pre-built binary
# COMMING SOON
For example, when gopls is the target
install
lsm install gopls
uninstall
lsm uninstall gopls
list (Installation status of Language Servers)
lsm list
- bash-language-server
- cmake-language-server
- dockerfile-language-server-nodejs
- eclipse.jdt.ls
- efm-langserver
- eslint-server(vscode-eslint)
- fortran-language-server
- gopls
- graphql-language-service-cli
- kotlin-language-server
- lemminx (vscode-xml)
- metals
- purescript-language-server
- python-language-server
- reason-language-server
- rust-analyzer
- sqls
- svelte-language-server
- terraform-ls
- terraform-lsp
- typescript-language-server
- vim-language-server
- vls
- vscode-css-languagesever
- vscode-html-languagesever
- vscode-json-languagesever
- yaml-language-sever
We plan to add more Language Servers.
If you want to add a new Language Server, please create a PR.
Language Server Manager inherits the concept of vim-lsp-settings.