61 lines
1.3 KiB
Lua
61 lines
1.3 KiB
Lua
vim.bo.comments = ':---,:--'
|
|
|
|
local lua_ls_cmd = 'lua-language-server'
|
|
|
|
-- Check if lua-language-server is available
|
|
if vim.fn.executable(lua_ls_cmd) ~= 1 then
|
|
return
|
|
end
|
|
|
|
-- require'lspconfig'.lua_ls.setup{}
|
|
|
|
local root_files = {
|
|
'.luarc.json',
|
|
'.luarc.jsonc',
|
|
'.luacheckrc',
|
|
'.stylua.toml',
|
|
'stylua.toml',
|
|
'selene.toml',
|
|
'selene.yml',
|
|
'.git',
|
|
}
|
|
|
|
vim.lsp.start {
|
|
name = 'luals',
|
|
cmd = { lua_ls_cmd },
|
|
root_dir = vim.fs.dirname(vim.fs.find(root_files, { upward = true })[1]),
|
|
capabilities = require('user.lsp').make_client_capabilities(),
|
|
on_attach = function(client, bufnr)
|
|
require("workspace-diagnostics").populate_workspace_diagnostics(client, bufnr)
|
|
require("nvim-navic").attach(client, bufnr)
|
|
end,
|
|
settings = {
|
|
Lua = {
|
|
runtime = {
|
|
version = 'LuaJIT',
|
|
},
|
|
diagnostics = {
|
|
-- Get the language server to recognize the `vim` global, etc.
|
|
globals = {
|
|
'vim',
|
|
'describe',
|
|
'it',
|
|
'assert',
|
|
'stub',
|
|
},
|
|
disable = {
|
|
'duplicate-set-field',
|
|
},
|
|
},
|
|
workspace = {
|
|
checkThirdParty = false,
|
|
},
|
|
telemetry = {
|
|
enable = false,
|
|
},
|
|
hint = { -- inlay hints (supported in Neovim >= 0.10)
|
|
enable = true,
|
|
},
|
|
},
|
|
},
|
|
}
|