-- Get LSP capabilities with cmp support local capabilities = vim.lsp.protocol.make_client_capabilities() local ok, cmp_nvim_lsp = pcall(require, 'cmp_nvim_lsp') if ok then capabilities = vim.tbl_deep_extend('force', capabilities, cmp_nvim_lsp.default_capabilities()) end -- Lua LSP configuration for vim.lsp.enable() return { name = 'lua_ls', cmd = { 'lua-language-server' }, filetypes = { 'lua' }, root_dir = vim.fs.dirname(vim.fs.find({ '.luarc.json', '.luarc.jsonc', '.stylua.toml', 'stylua.toml', 'selene.toml' }, { upward = true })[1]), capabilities = capabilities, settings = { Lua = { completion = { callSnippet = 'Replace', }, diagnostics = { globals = { 'vim' }, }, workspace = { library = vim.api.nvim_get_runtime_file('', true), checkThirdParty = false, }, telemetry = { enable = false, }, }, }, }