local keymap = vim.keymap.set -- Lsp finder find the symbol definition implement reference -- if there is no implement it will hide -- when you use action in finder like open vsplit then you can -- use to jump back keymap("n", "gh", "Lspsaga lsp_finder") -- Code action keymap({ "n", "v" }, "ca", "Lspsaga code_action") -- Rename keymap("n", "gr", "Lspsaga rename") -- Rename word in whole project keymap("n", "gr", "Lspsaga rename ++project") -- Peek Definition -- you can edit the definition file in this float window -- also support open/vsplit/etc operation check definition_action_keys -- support tagstack C-t jump back keymap("n", "gd", "Lspsaga peek_definition") -- Go to Definition keymap("n", "gd", "Lspsaga goto_definition") -- Show line diagnostics you can pass argument ++unfocus to make -- show_line_diagnostics float window unfocus keymap("n", "sl", "Lspsaga show_line_diagnostics") -- Show cursor diagnostic -- also like show_line_diagnostics support pass ++unfocus keymap("n", "sc", "Lspsaga show_cursor_diagnostics") -- Show buffer diagnostic keymap("n", "sb", "Lspsaga show_buf_diagnostics") -- Diagnostic jump can use `` to jump back keymap("n", "[e", "Lspsaga diagnostic_jump_prev") keymap("n", "]e", "Lspsaga diagnostic_jump_next") -- Diagnostic jump with filter like Only jump to error keymap("n", "[E", function() require("lspsaga.diagnostic"):goto_prev({ severity = vim.diagnostic.severity.ERROR }) end) keymap("n", "]E", function() require("lspsaga.diagnostic"):goto_next({ severity = vim.diagnostic.severity.ERROR }) end) -- Toggle Outline keymap("n", "o", "Lspsaga outline") -- Hover Doc -- if there has no hover will have a notify no information available -- to disable it just Lspsaga hover_doc ++quiet -- press twice it will jump into hover window keymap("n", "K", "Lspsaga hover_doc") -- if you want keep hover window in right top you can use ++keep arg -- notice if you use hover with ++keep you press this keymap it will -- close the hover window .if you want jump to hover window must use -- wincmd command w keymap("n", "K", "Lspsaga hover_doc ++keep") -- Callhierarchy keymap("n", "ci", "Lspsaga incoming_calls") keymap("n", "co", "Lspsaga outgoing_calls") -- Float terminal keymap({ "n", "t" }, "", "Lspsaga term_toggle")