92 lines
2.0 KiB
Lua
92 lines
2.0 KiB
Lua
|
local M = {
|
||
|
event = "BufReadPre"
|
||
|
}
|
||
|
|
||
|
function M.config()
|
||
|
require("lua-dev").setup({
|
||
|
library = {
|
||
|
runtime = "~/projects/neovim/runtime/"
|
||
|
}
|
||
|
})
|
||
|
require("mason")
|
||
|
require("plugins.lsp.diagnostics").setup()
|
||
|
require("fidget").setup({text = {spinner = "dots"} })
|
||
|
local function on_attach(client, bufnr)
|
||
|
--require("nvim-navic").attach(client, bufnr)
|
||
|
require("plugins.lsp.formatting").setup(client, bufnr)
|
||
|
--require("plugins.lsp.keys").setup(client, bufnr)
|
||
|
end
|
||
|
|
||
|
---@type lspconfig.options
|
||
|
local servers = {
|
||
|
sumneko_lua = {
|
||
|
single_file_support = true,
|
||
|
settings = {
|
||
|
Lua = {
|
||
|
workspace = {
|
||
|
checkThirdParty = false,
|
||
|
},
|
||
|
completion = {
|
||
|
workspaceWord = false,
|
||
|
},
|
||
|
misc = {
|
||
|
parameters = {
|
||
|
"--log-level=trace",
|
||
|
},
|
||
|
},
|
||
|
diagnostics = {
|
||
|
groupFileStatus = {
|
||
|
["ambiguity"] = "Opened",
|
||
|
["await"] = "Opened",
|
||
|
["codestyle"] = "None",
|
||
|
["duplicate"] = "Opened",
|
||
|
["global"] = "Opened",
|
||
|
["luadoc"] = "Opened",
|
||
|
["redefined"] = "Opened",
|
||
|
["strict"] = "Opened",
|
||
|
["strong"] = "Opened",
|
||
|
["type-check"] = "Opened",
|
||
|
["unbalanced"] = "Opened",
|
||
|
["unused"] = "Opened",
|
||
|
},
|
||
|
unusedLocalExclude = { "_*" },
|
||
|
},
|
||
|
format = {
|
||
|
enable = false,
|
||
|
defaultConfig = {
|
||
|
indent_style = "space",
|
||
|
indent_size = "2",
|
||
|
continuation_indent_size = "2",
|
||
|
},
|
||
|
},
|
||
|
},
|
||
|
},
|
||
|
},
|
||
|
vimls = {},
|
||
|
}
|
||
|
local capabilities = require("cmp_nvim_lsp").update_capabilities(vim.lsp.protocol.make_client_capabilities())
|
||
|
capabilities.textDocument.foldingRange = {
|
||
|
dymanicRegistration = false,
|
||
|
lineFoldingOnly = true,
|
||
|
}
|
||
|
|
||
|
---@type _.lspconfig.options
|
||
|
local options = {
|
||
|
on_attach = on_attach,
|
||
|
capabilities = capabilities,
|
||
|
flags = {
|
||
|
debounce_text_change = 150,
|
||
|
}
|
||
|
}
|
||
|
|
||
|
for server, opts in pairs(servers) do
|
||
|
opts = vim.tbl_deep_extend("force", {}, options, opts or {})
|
||
|
require("lspconfig")[server].setup(opts)
|
||
|
end
|
||
|
|
||
|
require("plugins.null-ls").setup(options)
|
||
|
|
||
|
end
|
||
|
|
||
|
return M
|