chore(lsp): configure lua_ls
This commit is contained in:
parent
70a10ce8bb
commit
60f72fa98d
1 changed files with 61 additions and 67 deletions
128
lsp/lua_ls.lua
128
lsp/lua_ls.lua
|
|
@ -12,74 +12,68 @@
|
||||||
--- analysis, and location handling for plugins on runtime path, you can use the following
|
--- analysis, and location handling for plugins on runtime path, you can use the following
|
||||||
--- settings.
|
--- settings.
|
||||||
---
|
---
|
||||||
--- ```lua
|
vim.lsp.config('lua_ls', {
|
||||||
--- vim.lsp.config('lua_ls', {
|
on_init = function(client)
|
||||||
--- on_init = function(client)
|
if client.workspace_folders then
|
||||||
--- if client.workspace_folders then
|
local path = client.workspace_folders[1].name
|
||||||
--- local path = client.workspace_folders[1].name
|
if
|
||||||
--- if
|
path ~= vim.fn.stdpath('config')
|
||||||
--- path ~= vim.fn.stdpath('config')
|
and (vim.uv.fs_stat(path .. '/.luarc.json') or vim.uv.fs_stat(path .. '/.luarc.jsonc'))
|
||||||
--- and (vim.uv.fs_stat(path .. '/.luarc.json') or vim.uv.fs_stat(path .. '/.luarc.jsonc'))
|
then
|
||||||
--- then
|
return
|
||||||
--- return
|
end
|
||||||
--- end
|
end
|
||||||
--- end
|
|
||||||
---
|
client.config.settings.Lua = vim.tbl_deep_extend('force', client.config.settings.Lua, {
|
||||||
--- client.config.settings.Lua = vim.tbl_deep_extend('force', client.config.settings.Lua, {
|
runtime = {
|
||||||
--- runtime = {
|
-- Tell the language server which version of Lua you're using (most
|
||||||
--- -- Tell the language server which version of Lua you're using (most
|
-- likely LuaJIT in the case of Neovim)
|
||||||
--- -- likely LuaJIT in the case of Neovim)
|
version = 'LuaJIT',
|
||||||
--- version = 'LuaJIT',
|
-- Tell the language server how to find Lua modules same way as Neovim
|
||||||
--- -- Tell the language server how to find Lua modules same way as Neovim
|
-- (see `:h lua-module-load`)
|
||||||
--- -- (see `:h lua-module-load`)
|
path = {
|
||||||
--- path = {
|
'lua/?.lua',
|
||||||
--- 'lua/?.lua',
|
'lua/?/init.lua',
|
||||||
--- 'lua/?/init.lua',
|
},
|
||||||
--- },
|
},
|
||||||
--- },
|
-- Make the server aware of Neovim runtime files
|
||||||
--- -- Make the server aware of Neovim runtime files
|
workspace = {
|
||||||
--- workspace = {
|
checkThirdParty = false,
|
||||||
--- checkThirdParty = false,
|
library = {
|
||||||
--- library = {
|
vim.env.VIMRUNTIME,
|
||||||
--- vim.env.VIMRUNTIME
|
-- vim.fn.expand("~/.local/share/love2d/library"),
|
||||||
--- -- Depending on the usage, you might want to add additional paths
|
-- Depending on the usage, you might want to add additional paths
|
||||||
--- -- here.
|
-- here.
|
||||||
--- -- '${3rd}/luv/library'
|
'${3rd}/love2d/library'
|
||||||
--- -- '${3rd}/busted/library'
|
-- '${3rd}/busted/library'
|
||||||
--- }
|
}
|
||||||
--- -- Or pull in all of 'runtimepath'.
|
-- Or pull in all of 'runtimepath'.
|
||||||
--- -- NOTE: this is a lot slower and will cause issues when working on
|
-- NOTE: this is a lot slower and will cause issues when working on
|
||||||
--- -- your own configuration.
|
-- your own configuration.
|
||||||
--- -- See https://github.com/neovim/nvim-lspconfig/issues/3189
|
-- See https://github.com/neovim/nvim-lspconfig/issues/3189
|
||||||
--- -- library = {
|
-- library = {
|
||||||
--- -- vim.api.nvim_get_runtime_file('', true),
|
-- vim.api.nvim_get_runtime_file('', true),
|
||||||
--- -- }
|
-- }
|
||||||
--- }
|
}
|
||||||
--- })
|
})
|
||||||
--- end,
|
end,
|
||||||
--- settings = {
|
settings = {
|
||||||
--- Lua = {}
|
Lua = {}
|
||||||
--- }
|
}
|
||||||
--- })
|
})
|
||||||
--- ```
|
|
||||||
---
|
|
||||||
--- See `lua-language-server`'s [documentation](https://luals.github.io/wiki/settings/) for an explanation of the above fields:
|
|
||||||
--- * [Lua.runtime.path](https://luals.github.io/wiki/settings/#runtimepath)
|
|
||||||
--- * [Lua.workspace.library](https://luals.github.io/wiki/settings/#workspacelibrary)
|
|
||||||
---
|
|
||||||
|
|
||||||
---@type vim.lsp.Config
|
---@type vim.lsp.Config
|
||||||
return {
|
return {
|
||||||
cmd = { 'lua-language-server' },
|
cmd = { 'lua-language-server' },
|
||||||
filetypes = { 'lua' },
|
filetypes = { 'lua' },
|
||||||
root_markers = {
|
root_markers = {
|
||||||
'.luarc.json',
|
'.luarc.json',
|
||||||
'.luarc.jsonc',
|
'.luarc.jsonc',
|
||||||
'.luacheckrc',
|
'.luacheckrc',
|
||||||
'.stylua.toml',
|
'.stylua.toml',
|
||||||
'stylua.toml',
|
'stylua.toml',
|
||||||
'selene.toml',
|
'selene.toml',
|
||||||
'selene.yml',
|
'selene.yml',
|
||||||
'.git',
|
'.git',
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue