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] = { "lf", format, desc = "Format Document", has = "documentFormatting" } keys[#keys + 1] = { "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", }, }, }, }, }, }, }, }