local capabilities = require('cmp_nvim_lsp').default_capabilities() for _, server in ipairs({ 'ts_ls', 'basedpyright', 'gopls', 'zls', 'clangd', 'rust_analyzer' }) do vim.lsp.config(server, { capabilities = capabilities }) vim.lsp.enable(server) end vim.lsp.config('lua_ls', { capabilities = capabilities, on_init = function(client) local workspace = client.workspace_folders and client.workspace_folders[1] if workspace and (vim.uv.fs_stat(workspace.name .. '/.luarc.json') or vim.uv.fs_stat(workspace.name .. '/.luarc.jsonc')) then return end client.config.settings.Lua = vim.tbl_deep_extend('force', client.config.settings.Lua or {}, { runtime = { version = 'LuaJIT' }, workspace = { checkThirdParty = false, library = { vim.env.VIMRUNTIME } }, }) end, settings = { Lua = {} }, }) vim.lsp.enable('lua_ls')