chore(lsp): configure lua_ls

This commit is contained in:
Simon Lasbrugnas 2025-12-21 12:17:34 +01:00
parent 70a10ce8bb
commit 60f72fa98d
No known key found for this signature in database
GPG key ID: 43F4DC559B52E7FA

View file

@ -12,61 +12,55 @@
--- 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 {