fix(lsp): enable lsp keybinds always, even when no server is attached
This commit is contained in:
@@ -145,6 +145,38 @@ end)
|
||||
vim.keymap.set("n", "]c", ":cn<CR>")
|
||||
vim.keymap.set("n", "[c", ":cp<CR>")
|
||||
|
||||
vim.keymap.set("n", "<leader>dk", vim.diagnostic.open_float)
|
||||
vim.keymap.set("n", "[d", function()
|
||||
vim.diagnostic.jump({ count = -1, float = true })
|
||||
end)
|
||||
vim.keymap.set("n", "]d", function()
|
||||
vim.diagnostic.jump({ count = 1, float = true })
|
||||
end)
|
||||
vim.keymap.set("n", "gD", vim.lsp.buf.declaration)
|
||||
vim.keymap.set("n", "K", function()
|
||||
vim.lsp.buf.hover({ max_width = 80 })
|
||||
end)
|
||||
vim.keymap.set({ "i", "s" }, "<C-s>", function()
|
||||
vim.lsp.buf.signature_help({ max_width = 80 })
|
||||
end)
|
||||
vim.keymap.set({ "n", "i" }, "<C-h>", vim.lsp.buf.document_highlight)
|
||||
vim.keymap.set({ "n", "x" }, "<leader>lf", vim.lsp.buf.format)
|
||||
vim.keymap.set("n", "<leader>ld", function()
|
||||
vim.diagnostic.enable(
|
||||
not vim.diagnostic.is_enabled({ bufnr = 0 }),
|
||||
{ bufnr = 0 }
|
||||
)
|
||||
end)
|
||||
vim.keymap.set({ "n", "i" }, "<C-l>", function()
|
||||
vim.lsp.buf.clear_references()
|
||||
vim.cmd.nohlsearch()
|
||||
vim.schedule(vim.cmd.diffupdate)
|
||||
return "<C-l>"
|
||||
end, { expr = true })
|
||||
vim.keymap.set("n", "<leader>dl", vim.diagnostic.setloclist)
|
||||
vim.keymap.set("n", "grt", vim.lsp.buf.type_definition)
|
||||
vim.keymap.set("n", "gd", vim.lsp.buf.definition)
|
||||
|
||||
-- Default bindings that are good to know:
|
||||
-- insert mode:
|
||||
-- <C-T> - indent, see :h i_CTRL-T
|
||||
|
||||
Reference in New Issue
Block a user