Our great sponsors
-
python-lsp-server
Fork of the python-language-server project, maintained by the Spyder IDE team and the community
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
neovim-lua
LSP is just a communication protocol. You need two parts: an LSP client and a server. What Neovim includes is the client, the part that integrates with the editor. You will still need a separate server for each language, e.g. pylsp for Python or clangd for C. These are separate programs which exist outside of Neovim, they are editor-agnostic and can be used with any other LSP client as well.
LSP is just a communication protocol. You need two parts: an LSP client and a server. What Neovim includes is the client, the part that integrates with the editor. You will still need a separate server for each language, e.g. pylsp for Python or clangd for C. These are separate programs which exist outside of Neovim, they are editor-agnostic and can be used with any other LSP client as well.
There is one plugin worth mentioning, which is nvim-lspconfig. Neovim implements a client, but out of the box the client does not know anything about all the various servers that are popping up all over the internet, so you would need to write a configuration for each server you want to use. This mean a lot of duplicated code among users. The nvim-lspconfig includes reasonable default configurations (which you can override) for all the popular servers. This plugin is not strictly necessary, but it will save you a lot of tedium.