Files
nvim/lua/config/lsp/lsp-attach.lua
2023-12-31 02:47:28 +01:00

44 lines
1.3 KiB
Lua

return function()
local km = vim.keymap.set
local opts = {}
opts.desc = "show documentation under cursor"
km("n", "<leader>lK", vim.lsp.buf.hover, opts)
opts.desc = "show LSP References"
km("n", "<leader>lR", ":Telescope lsp_references<cr>", opts)
opts.desc = "go to declaration"
km("n", "<leader>lD", "vim.lsp.buf.declaration<cr>", opts)
opts.desc = "show LSP definition"
km("n", "<leader>ld", ":Telescope lsp_definitions<cr>", opts)
opts.desc = "Show LSP implementations"
km("n", "<leader>li", ":Telescope lsp_implementations<cr>", opts)
opts.desc = "Show LSP type definitions"
km("n", "<leader>lt", ":Telescope lsp_type_definitions<cr>", opts)
opts.desc = "See available code actions"
km({ "n", "v" }, "<leader>lc", vim.lsp.buf.code_action, opts)
opts.desc = "Smart rename"
km("n", "<leader>ln", vim.lsp.buf.rename, opts)
opts.desc = "Show buffer diagnostics"
km("n", "<leader>lE", ":Telescope diagnostics bufnr=0<cr>", opts)
opts.desc = "Show line diagnostics"
km("n", "<leader>le", vim.diagnostic.open_float, opts)
opts.desc = "Go to previous diagnostic"
km("n", "<leader>lp", vim.diagnostic.goto_prev, opts)
opts.desc = "Go to next diagnostic"
km("n", "<leader>ln", vim.diagnostic.goto_next, opts)
opts.desc = "Restart LSP"
km("n", "<leader>ls", ":LspRestart<cr>", opts)
end