1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
|
---@brief
---
---https://github.com/luals/lua-language-server
--
-- Lua language server.
--
-- `lua-language-server` can be installed by following the instructions [here](https://luals.github.io/#neovim-install).
--
-- The default `cmd` assumes that the `lua-language-server` binary can be found in `$PATH`.
--
-- If you primarily use `lua-language-server` for Neovim, and want to provide completions,
-- analysis, and location handling for plugins on runtime path, you can use the following
-- settings.
--
-- ```lua
-- vim.lsp.config('lua_ls', {
-- on_init = function(client)
-- if client.workspace_folders then
-- local path = client.workspace_folders[1].name
-- if path ~= vim.fn.stdpath('config') and (vim.uv.fs_stat(path..'/.luarc.json') or vim.uv.fs_stat(path..'/.luarc.jsonc')) then
-- return
-- end
-- end
--
-- client.config.settings.Lua = vim.tbl_deep_extend('force', client.config.settings.Lua, {
-- runtime = {
-- -- Tell the language server which version of Lua you're using
-- -- (most likely LuaJIT in the case of Neovim)
-- version = 'LuaJIT'
-- },
-- -- Make the server aware of Neovim runtime files
-- workspace = {
-- checkThirdParty = false,
-- library = {
-- vim.env.VIMRUNTIME
-- -- Depending on the usage, you might want to add additional paths here.
-- -- "${3rd}/luv/library"
-- -- "${3rd}/busted/library",
-- }
-- -- or pull in all of 'runtimepath'. NOTE: this is a lot slower and will cause issues when working on your own configuration (see https://github.com/neovim/nvim-lspconfig/issues/3189)
-- -- library = vim.api.nvim_get_runtime_file("", true)
-- }
-- })
-- end,
-- settings = {
-- 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)
--
return {
cmd = { 'lua-language-server' },
filetypes = { 'lua' },
root_markers = {
'.luarc.json',
'.luarc.jsonc',
'.luacheckrc',
'.stylua.toml',
'stylua.toml',
'selene.toml',
'selene.yml',
'.git',
},
}
|