init.lua/lua/plugins/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 |
return {
"neovim/nvim-lspconfig",
event = "BufRead",
dependencies = {
"b0o/schemastore.nvim",
{ "williamboman/mason-lspconfig.nvim", config = true },
{
"j-hui/fidget.nvim",
config = true,
dependencies = { "nvim-lspconfig" },
},
{
"folke/neodev.nvim",
config = true,
dependencies = { "nvim-lspconfig" },
},
{
"nvimtools/none-ls.nvim",
dependencies = { "nvim-lspconfig" },
config = function()
require "plugins.lsp.null-ls"
end,
},
{
"RRethy/vim-illuminate",
dependencies = { "nvim-lspconfig" },
config = function()
require("illuminate").configure {
providers = { "lsp", "treesitter" },
filetypes_denylist = {
"NvimTree",
"packer",
"NeogitStatus",
"TelescopePrompt",
},
}
end,
},
{
"williamboman/mason.nvim",
config = true,
cmd = "MasonUpdate",
build = function()
pcall(vim.cmd.MasonUpdate())
end,
},
},
config = function()
require("plugins.lsp.diagnostic").setup()
for name, conf in pairs(require "plugins.lsp.servers") do
require("lspconfig")[name].setup(vim.tbl_extend("force", {
on_attach = require("plugins.lsp.attach").common,
flags = { debounce_text_changes = 150 },
capabilities = require("cmp_nvim_lsp").default_capabilities(),
}, conf))
end
end,
}
|