diff options
Diffstat (limited to '.config')
-rw-r--r-- | .config/nvim/lsp/lua_ls.lua | 49 |
1 files changed, 41 insertions, 8 deletions
diff --git a/.config/nvim/lsp/lua_ls.lua b/.config/nvim/lsp/lua_ls.lua index b4fd5c8..89bb889 100644 --- a/.config/nvim/lsp/lua_ls.lua +++ b/.config/nvim/lsp/lua_ls.lua @@ -1,18 +1,51 @@ return { - settings = { - Lua = { + on_init = function(client) + if client.workspace_folders then + local path = client.workspace_folders[1].name + if + path ~= vim.fn.stdpath('config') + then + return + end + end + + client.config.settings.Lua = vim.tbl_deep_extend('force', client.config.settings.Lua, { runtime = { - version = 'LuaJIT' + -- Tell the language server which version of Lua you're using (most + -- likely LuaJIT in the case of Neovim) + version = 'LuaJIT', + -- Tell the language server how to find Lua modules same way as Neovim + -- (see `:h lua-module-load`) + path = { + 'lua/?.lua', + 'lua/?/init.lua', + }, }, + -- Make the server aware of Neovim runtime files workspace = { - library = vim.api.nvim_get_runtime_file("", true) - }, + 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 = { completion = { callSnippet = 'Replace', }, - diagnostics = { - disable = { 'missing-fields' } - }, hint = { enable = true } |