nvim/lua/plugins/lsp.lua

73 lines
2.1 KiB
Lua

return {
{
"neovim/nvim-lspconfig",
init = function()
local format = function()
require("lazyvim.util").format({ force = true })
end
local keys = require("lazyvim.plugins.lsp.keymaps").get()
keys[#keys + 1] = { "<leader>lf", format, desc = "Format Document", has = "documentFormatting" }
keys[#keys + 1] = { "<leader>lf", format, desc = "Format Range", mode = "v", has = "documentRangeFormatting" }
keys[#keys + 1] = { "K", false } -- su puta madre!
-- vim.lsp.handlers["textDocument/hover"] = vim.lsp.with(vim.lsp.handlers.hover, { border = "rounded" })
-- vim.lsp.handlers["textDocument/signatureHelp"] =
-- vim.lsp.with(vim.lsp.handlers.signature_help, { border = "rounded" })
vim.diagnostic.config({
float = { border = "rounded" },
})
end,
opts = {
-- autoformat = false,
diagnostics = {
update_in_insert = true,
},
setup = {
rust_analyzer = function()
return true
end,
},
servers = {
yamlls = {
settings = {
yaml = {
keyOrdering = false,
},
},
},
-- rust_analyzer = {
-- settings = {
-- ["rust-analyzer"] = {
-- checkOnSave = {
-- command = "clippy",
-- },
-- },
-- },
-- },
lua_ls = {
-- mason = false, -- set to false if you don't want this server to be installed with mason
-- Use this to add any additional keymaps
-- for specific lsp servers
root_dir = function()
-- local Path = require('plenary.path')
-- return Path:new(fname):parent().filename
return vim.loop.cwd()
end,
-- ---@type LazyKeys[]
-- keys = {},
settings = {
Lua = {
workspace = {
checkThirdParty = false,
},
completion = {
callSnippet = "Replace",
},
},
},
},
},
},
},
}