Nvim-lspmanager
Nvim-lspmanager is a powerful and extensible manager for LSPs (Language Server Protocols). Using pre-made configurations from nvim-lspconfig, you can be sure that your lsp will work without having to write a single line of code.
π Features
- 3 simple commands missing from native neovim Lsp integration (LspInstall, LspUninstall, LspUpdate)
- Lots of supported language servers
- Uses nvim-lspconfig to require configurations for each lsp
- No need to reload neovim after installing a lsp
- Fully supports windows
π§ Installation
Make sure to use Neovim version 0.5.x or higher.
Dependencies
Make sure you have the following packages installed:
-
jq
-
curl
-
npm
-
gzip
-
unzip
-
pip
use {
'MordechaiHadad/nvim-lspmanager',
requires = {'neovim/nvim-lspconfig'},
config = function()
require('lspmanager').setup()
end,
}
Resource the current file, and run :PackerInstall
to install the plugin.
Plug 'MordechaiHadad/nvim-lspmanager' | Plug 'neovim/nvim-lspconfig'
Resource the current file, and run :PlugInstall
to install the plugin.
Now you can place this base configuration in your init.vim
file:
lua << EOF
require('lspmanager').setup()
EOF
Usage
:LspInstall ...
: Installs a supported language server:LspUninstall ...:
Uninstall an installed language server:LspUpdate ...
: Update an installed language server. (:LspUpdate all
will update all installed ones)
Telescope picker
nvim-lspmanager integrates telescope.nvim to install, uninstall and update language servers.
:Telescope lspmanager
Is used for selecting either one of these options:lsp_install
,lsp_uninstall
,lsp_update
Supported language servers
Language | Language server | |
---|---|---|
β | Angular | angularls |
β | Bash | bashls |
β | C/C++ | clangd |
β | CMake | cmake |
β | CSS | cssls |
β | Docker | dockerls |
β | Elixir | elixirls |
β | Emmet | emmet_ls |
β | FSharp | fsautocomplete |
β | Haskell | hls |
β | HTML | html |
β | JSON | jsonls |
β | Kotlin | kotlinls |
β | CSharp | omnisharp |
β | Python | pyright |
β | Rust | rust_analyser |
β | Lua | sumneko_lua |
β | Svelte | sveltels |
β | Tailwindcss | tailwindcssls |
β | Terraform | terraformls |
β | Javascript/Typescript | tsserver |
β | VimL | vimls |
β | Vuejs | vuels |
Credits
- Big thanks to lspinstall for helping me save time for some scripts