-- nvim-lspconfig local lspconfig = require("lspconfig") -- set capabilities local lsp_capabilities = require('cmp_nvim_lsp').default_capabilities() -- lua -- local on_init_lua_ls = function(client) local path = client.workspace_folders[1].name if vim.loop.fs_stat(path..'/.luarc.json') or vim.loop.fs_stat(path..'/.luarc.jsonc') then return end client.config.settings.Lua = vim.tbl_deep_extend('force', client.config.settings.Lua, { runtime = { version = 'LuaJIT' }, -- Make the server aware of Neovim runtime files workspace = { checkThirdParty = false, library = { vim.env.VIMRUNTIME } -- or pull in all of 'runtimepath'. NOTE: this is a lot slower -- library = vim.api.nvim_get_runtime_file("", true) } }) end lspconfig.lua_ls.setup({ on_init = on_init_lua_ls, settings = { Lua = {} }, capabilities = lsp_capabilities, }) -- python -- lspconfig.pyright.setup({ capabilities = lsp_capabilities, }) lspconfig.ruff.setup({ init_options = { settings = {} } }) -- golang -- lspconfig.gopls.setup({ capabilities = lsp_capabilities, })