return { "nvim-lspconfig", init = function() local keys = require("lazyvim.plugins.lsp.keymaps").get() keys[#keys + 1] = { "gD", "lua require('telescope.builtin').lsp_definitions({ jump_type = 'vsplit' })", desc = "Jump to definitions in vsplit", } keys[#keys + 1] = { "grr", "Trouble lsp_references focus=true", desc = "Jump to references", } keys[#keys + 1] = { "gri", "Trouble lsp_implementations focus=true", desc = "Jump to references", } keys[#keys + 1] = { "grt", "Trouble lsp_type_definitions focus=true", desc = "Jump to references", } keys[#keys + 1] = { "grs", "Trouble lsp_document_symbols focus=true", desc = "Jump to references", } keys[#keys + 1] = { "", vim.lsp.buf.rename, desc = "Rename Symbol", } keys[#keys + 1] = { "", false, mode = { "i" }, } keys[#keys + 1] = { "gr", false, } end, opts = { servers = { templ = { on_attach = function(client, _) client.server_capabilities.documentFormattingProvider = false client.server_capabilities.documentRangeFormattingProvider = false end, }, html = { on_attach = function(client, _) client.server_capabilities.documentFormattingProvider = false client.server_capabilities.documentRangeFormattingProvider = false end, }, lua_ls = { mason = false; }; }, }, }