Files
dotfiles/.config/nvim/lua/jirr02/plugins/lsp/lspconfig.lua
2025-12-14 22:40:50 +01:00

42 lines
1.5 KiB
Lua

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({
{ "<leader>l", group = "lsp", icon = "" },
{ "<leader>lr", "<cmd>Telescope lsp_references<CR>", desc = "Show references", icon = "" },
{ "<leader>lD", "<cmd>lua vim.lsp.buf.defenition()<CR>", desc = "Show defenition", icon = "" },
{ "<leader>lc", "<cmd>lua vim.lsp.buf.code_action()<CR>", desc = "Code actions", icon = "" },
{ "<leader>lR", "<cmd>lua vim.lsp.buf.rename()<CR>", desc = "Smart rename", icon = "󰑕" },
{ "<leader>ld", "<cmd>Telescope diagnostics bufnr=0<CR>", desc = "Diagnostics", icon = "󰍉" },
{ "<leader>ll", "<cmd>lua vim.lsp.buf.open_float()<CR>", desc = "Line Diagnostics", icon = "󰍉" },
{ "<leader>ln", "<cmd>lua vim.diagnostics.goto_next()<CR>", desc = "Go to next Diagnostic", icon = "" },
{
"<leader>lp",
"<cmd>lua vim.diagnostics.goto_prev()<CR>",
desc = "Go to previous Diagnostic",
icon = "",
},
{ "<leader>li", "<cmd>lua vim.lsp.buf.hover()<CR>", desc = "Show documentation", icon = "󰈙" },
{ "<leader>lL", "<cmd>LspRestart<CR>", desc = "Restart LSP", icon = "" },
})
end,
}