77 lines
1.6 KiB
Lua
77 lines
1.6 KiB
Lua
-- EXAMPLE
|
|
local on_attach = require("nvchad.configs.lspconfig").on_attach
|
|
local on_init = require("nvchad.configs.lspconfig").on_init
|
|
local capabilities = require("nvchad.configs.lspconfig").capabilities
|
|
|
|
local lspconfig = require "lspconfig"
|
|
local servers = { "html", "cssls", "clangd" }
|
|
local util = require "lspconfig/util"
|
|
|
|
-- lsps with default config
|
|
for _, lsp in ipairs(servers) do
|
|
lspconfig[lsp].setup {
|
|
on_attach = on_attach,
|
|
on_init = on_init,
|
|
capabilities = capabilities,
|
|
}
|
|
end
|
|
|
|
-- typescript
|
|
lspconfig.ts_ls.setup {
|
|
on_attach = on_attach,
|
|
on_init = on_init,
|
|
capabilities = capabilities,
|
|
}
|
|
|
|
-- python
|
|
lspconfig.basedpyright.setup{
|
|
on_attach = on_attach,
|
|
on_init = on_init,
|
|
capabilities = capabilities,
|
|
filetypes = { "python" },
|
|
settings = {
|
|
basedpyright = {
|
|
typeCheckingMode = "standard",
|
|
}
|
|
}
|
|
}
|
|
|
|
lspconfig.gopls.setup {
|
|
on_attach = on_attach,
|
|
capabilities = capabilities,
|
|
cmd = {"gopls"},
|
|
filetypes = { "go", "gomod", "gowork", "gotmpl" },
|
|
root_dir = util.root_pattern("go.work", "go.mod", ".git"),
|
|
settings = {
|
|
gopls = {
|
|
completeUnimported = true,
|
|
usePlaceholders = true,
|
|
analyses = {
|
|
unusedParameters = true,
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
---- ruff_lsp and pyright compatibility
|
|
-- local on_attach = function(client, bufnr)
|
|
-- if client.name == 'ruff_lsp' then
|
|
-- -- hover in favor of Pyright
|
|
-- client.server_capabilities.hoverProvider = false
|
|
-- end
|
|
-- end
|
|
--
|
|
lspconfig.ruff.setup{
|
|
on_attach = on_attach,
|
|
on_init = on_init,
|
|
capabilities = capabilities,
|
|
init_options = {
|
|
settings = {
|
|
|
|
}
|
|
},
|
|
}
|
|
|
|
|
|
|