A Neovim plugin that simplifies LSP server configuration by wrapping nvim-lspconfig and mason-lspconfig.
lsp-setup.nvim is a Neovim plugin that simplifies the configuration of Language Server Protocol (LSP) servers. It acts as a wrapper around nvim-lspconfig and optionally integrates with mason-lspconfig to reduce boilerplate code and provide sensible defaults, streamlining the setup process for a smoother development experience in Neovim.
Neovim users, particularly those using version 0.11 or higher, who want to configure LSP servers with minimal effort and prefer convention over configuration.
Developers choose lsp-setup.nvim because it offers a unified, simplified interface for declaring and setting up LSP servers, includes built-in support for inlay hints and pre-configured key mappings, and seamlessly integrates with popular Neovim plugins like cmp-nvim-lsp and rust-tools.nvim, reducing manual configuration time.
A simple wrapper for nvim-lspconfig and mason-lspconfig to easily setup LSP servers.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Provides a unified interface to declare LSP servers in a table, reducing boilerplate code compared to raw nvim-lspconfig, as shown in the basic usage example with pylsp and clangd.
Optionally integrates with mason.nvim for automatic LSP server installation, including custom versions like rust_analyzer@nightly, streamlining dependency management.
Offers easy configuration for inlay hints across multiple servers, with detailed examples for tsserver, gopls, and rust-analyzer in the README, reducing manual setup.
Comes with pre-configured key mappings for common LSP actions like go-to-definition and hover, which can be customized or disabled via the mappings option.
Designed to work seamlessly with popular Neovim plugins like cmp-nvim-lsp and rust-tools.nvim, with integration examples provided for auto-capabilities and server setup.
Hard requires Neovim >= 0.11 and nvim-lspconfig >= 2.0.0, limiting compatibility with older or frozen configurations that can't upgrade easily.
As a wrapper, it can obscure access to lower-level nvim-lspconfig features, forcing advanced users to work around it, as seen in the manual function setup for rust-tools.nvim.
Complex server setups or non-standard integrations may require verbose configuration, such as the lengthy inlay hints settings for rust-analyzer, negating some simplicity benefits.
Tight coupling with mason.nvim and nvim-lspconfig means switching away could require significant rework, especially if relying on automatic installations or custom version syntax.