return { "neovim/nvim-lspconfig", event = { "BufReadPre", "BufNewFile" }, dependencies = { "folke/neoconf.nvim", "hrsh7th/cmp-nvim-lsp", }, config = function() local capabilities = require("cmp_nvim_lsp").default_capabilities() local servers = { lua_ls = { settings = { Lua = { diagnostics = { globals = { "vim" } }, }, }, }, ts_ls = {}, html = {}, cssls = {}, jsonls = {}, bashls = {}, marksman = {}, intelephense = {}, } for name, opts in pairs(servers) do local ok, mod = pcall(require, "lspconfig." .. name) if ok and mod and type(mod.setup) == "function" then opts = vim.tbl_deep_extend("force", { capabilities = capabilities }, opts or {}) mod.setup(opts) end end end, }