47 lines
1.1 KiB
Lua
47 lines
1.1 KiB
Lua
|
|
-- 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,
|
||
|
|
})
|