Setup lsp server
Before starting, it is strongly recommended that you walk through the LSP configuration lspconfig repository.
Then check server_configurations.md to make sure your language's LSP server is present there.
- Plugin table
-- In order to modify the `lspconfig` configuration:
{
"neovim/nvim-lspconfig",
config = function()
require("nvchad.configs.lspconfig").defaults()
require "configs.lspconfig"
end,
},
- configs/lspconfig.lua
local configs = require("nvchad.configs.lspconfig")
local on_attach = configs.on_attach
local on_init = configs.on_init
local capabilities = configs.capabilities
local lspconfig = require "lspconfig"
local servers = { "html", "cssls", "clangd"}
for _, lsp in ipairs(servers) do
lspconfig[lsp].setup {
on_init = on_init,
on_attach = on_attach,
capabilities = capabilities,
}
end
-- Without the loop, you would have to manually set up each LSP
--
-- lspconfig.html.setup {
-- on_attach = on_attach,
-- capabilities = capabilities,
-- }
--
-- lspconfig.cssls.setup {
-- on_attach = on_attach,
-- capabilities = capabilities,
-- }
Mason.nvim
Run the MasonInstallAll
command
Once the binaries are installed, you will have to configure them to properly work with LSP, conform.nvim, nvim-lint, nvim-dap etc. It depends on what you installed. NvChad does not provide any language configuration aside from lua.