init.lua/lua/configs/lsp/init.lua(view raw)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 |
require "configs.lsp.diagnostic"()
require "configs.lsp.null-ls"
require("nvim-lsp-installer").setup {
ensure_installed = { "sumneko_lua" },
}
local lspconfig = require "lspconfig"
local options = {
on_attach = require "configs.lsp.attach",
flags = { debounce_text_changes = 150 },
capabilities = require("cmp_nvim_lsp").update_capabilities(
vim.lsp.protocol.make_client_capabilities()
),
}
local servers = {
rnix = {},
denols = {},
yamlls = {
settings = {
yaml = {
schemaStore = {
enable = true,
url = "https://www.schemastore.org/api/json/catalog.json",
},
},
},
},
rust_analyzer = {
settings = {
["rust-analyzer"] = {
cargo = { allFeatures = true },
checkOnSave = {
command = "clippy",
extraArgs = { "--no-deps" },
},
},
},
},
gopls = {
settings = {
gopls = {
linksInHover = false,
analyses = {
unusedparams = true,
unreachable = true,
},
staticcheck = true,
memoryMode = "Normal",
},
},
},
pyright = {
python = {
disableOrganizeImports = true,
autoSearchPaths = true,
analysis = { useLibraryCodeForTypes = false },
},
},
}
for name, conf in pairs(servers) do
lspconfig[name].setup(vim.tbl_extend("force", options, conf))
end
lspconfig.sumneko_lua.setup(require("lua-dev").setup {
lspconfig = options,
})
|