25 lines
868 B
Lua
25 lines
868 B
Lua
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')
|