local status, saga = pcall(require, "lspsaga") if not status then return end saga.init_lsp_saga({ -- when cursor in saga window you config these to move move_in_saga = { prev = "k", next = "j" }, diagnostic_header = { " ", " ", " ", " " }, scroll_in_preview = { scroll_down = "", scroll_up = "", }, code_action_icon = "ﯦ ", -- Same as nvim-lightbulb but async code_action_lightbulb = { sign = false, virtual_text = true, }, finder_icons = { def = " ", ref = " ", link = " ", }, finder_action_keys = { open = "", "o", vsplit = "gv", split = "gs", tabe = "t", quit = "gq", scroll_down = "", scroll_up = "", }, -- Show symbols in winbar must be neovim 0.8.0, -- Close it until neovim 0.8.0 become stable symbol_in_winbar = { in_custom = false, --enable = enable_winbar, separator = "  ", show_file = true, click_support = false, }, }) -- Mappings. local map = vim.api.nvim_set_keymap local opts = { noremap = true, silent = true } map("n", "gd", "Lspsaga lsp_finder", opts) -- Press "o" to open the reference location map("n", "gp", "Lspsaga peek_definition", opts) map("n", "K", "Lspsaga hover_doc", opts) map("n", "gk", "Lspsaga diagnostic_jump_prev", opts) map("n", "gj", "Lspsaga diagnostic_jump_next", opts) map("n", "gs", "Lspsaga signature_help", opts) -- Default is map("n", "go", "Lspsaga show_line_diagnostics", opts) map("n", "gr", "Lspsaga rename", opts) map("n", "ga", "Lspsaga code_action", opts) map("n", "[d", "lua vim.lsp.diagnostic.goto_prev()", opts) map("n", "]d", "lua vim.lsp.diagnostic.goto_next()", opts)