39 lines
1.1 KiB
Lua
39 lines
1.1 KiB
Lua
local M = {}
|
|
|
|
function M.nvim_lspconfig()
|
|
require('init.lsp').setup(require('lspconfig').lua_ls) {
|
|
-- Provide completions, analysis, and location handling for plugins on the
|
|
-- vim runtime path.
|
|
-- https://github.com/neovim/nvim-lspconfig/blob/48347089666d5b77d054088aa72e4e0b58026e6e/doc/server_configurations.md#lua_ls
|
|
on_init = function(client)
|
|
local path = client.workspace_folders[1].name
|
|
if (
|
|
not vim.loop.fs_stat(path .. '/.luarc.json') and
|
|
not vim.loop.fs_stat(path .. '/.luarc.jsonc')
|
|
) then
|
|
client.config.settings = vim.tbl_deep_extend(
|
|
'force', client.config.settings, {
|
|
Lua = {
|
|
runtime = {
|
|
version = 'LuaJIT'
|
|
},
|
|
workspace = {
|
|
checkThirdParty = false,
|
|
library = {
|
|
vim.env.VIMRUNTIME
|
|
}
|
|
}
|
|
}
|
|
})
|
|
|
|
client.notify("workspace/didChangeConfiguration", {
|
|
settings = client.config.settings,
|
|
})
|
|
end
|
|
return true
|
|
end
|
|
}
|
|
end
|
|
|
|
return M
|