return { "hrsh7th/cmp-nvim-lsp", event = { "BufReadPre", "BufNewFile" }, dependencies = { { "folke/lazydev.nvim", ft = "lua", opts = {} }, }, config = function() local cmp_nvim_lsp = require("cmp_nvim_lsp") local wk = require("which-key") local capabilities = cmp_nvim_lsp.default_capabilities() vim.lsp.config("*", { capabilities = capabilities, }) vim.diagnostic.config({ virtual_text = true, virtual_lines = true, }) wk.add({ { "l", group = "lsp", icon = "" }, { "lr", "Telescope lsp_references", desc = "Show references", icon = "" }, { "lD", "lua vim.lsp.buf.defenition()", desc = "Show defenition", icon = "" }, { "lc", "lua vim.lsp.buf.code_action()", desc = "Code actions", icon = "" }, { "lR", "lua vim.lsp.buf.rename()", desc = "Smart rename", icon = "󰑕" }, { "ld", "Telescope diagnostics bufnr=0", desc = "Diagnostics", icon = "󰍉" }, { "ll", "lua vim.lsp.buf.open_float()", desc = "Line Diagnostics", icon = "󰍉" }, { "ln", "lua vim.diagnostics.goto_next()", desc = "Go to next Diagnostic", icon = "" }, { "lp", "lua vim.diagnostics.goto_prev()", desc = "Go to previous Diagnostic", icon = "", }, { "li", "lua vim.lsp.buf.hover()", desc = "Show documentation", icon = "󰈙" }, { "lL", "LspRestart", desc = "Restart LSP", icon = "" }, }) end, }