Skip to content

Commit

Permalink
docs(sumneko_lua): fix usage of runtime_path (#1915)
Browse files Browse the repository at this point in the history
There are two ways for sumneko to search for files, namely:

1. Lua.runtime.path

When using `require`, how to find the file based on the input name.
Setting this config to `?/init.lua` means that when you enter `require
'myfile'`, `${workspace}/myfile/init.lua` will be searched from the
loaded files.  if `runtime.pathStrict` is `false`,
`${workspace}/**/myfile/init.lua` will also be searched.
If you want to load files outside the workspace, you need to set
`Lua.workspace.library` first.

2. Lua.workspace.library

In addition to the current workspace, which directories will load files
from. The files in these directories will be treated as externally
provided code libraries, and some features (such as renaming fields)
will not modify these files.

The crucial point is that `Lua.runtime.path` only applies to
the *current* workspace. Thus it makes no sense to add any absolute
directories here. Absolute directories must be added to
workspace.library, which is already the case. The default value provided
by sumneko is what you typically would expect, so we can just stick to it.

References:

- github.com/sumneko/lua-language-server/blob/076dd3e5c4e03f9cef0c57/locale/en-us/setting.lua#L5-L13
- github.com/sumneko/lua-language-server/blob/e62d964ff57cc0b37eb90831/script/config/config.lua#L151
  • Loading branch information
michaeladler authored May 21, 2022
1 parent 629f45d commit 03a047e
Showing 1 changed file with 0 additions and 6 deletions.
6 changes: 0 additions & 6 deletions lua/lspconfig/server_configurations/sumneko_lua.lua
Original file line number Diff line number Diff line change
Expand Up @@ -36,18 +36,12 @@ initial requests (completion, location) upon starting as well as time to first d
Completion results will include a workspace indexing progress message until the server has finished indexing.
```lua
local runtime_path = vim.split(package.path, ';')
table.insert(runtime_path, "lua/?.lua")
table.insert(runtime_path, "lua/?/init.lua")
require'lspconfig'.sumneko_lua.setup {
settings = {
Lua = {
runtime = {
-- Tell the language server which version of Lua you're using (most likely LuaJIT in the case of Neovim)
version = 'LuaJIT',
-- Setup your lua path
path = runtime_path,
},
diagnostics = {
-- Get the language server to recognize the `vim` global
Expand Down

0 comments on commit 03a047e

Please sign in to comment.