-- LSP and function navigation keymaps local keymap = vim.keymap -- ============================================================================= -- LSP NAVIGATION (FUNCTION NAVIGATION) - Using fzf-lua -- ============================================================================= -- Primary LSP navigation keymap.set("n", "gd", "FzfLua lsp_definitions", { desc = "Go to definition" }) keymap.set("n", "gi", "FzfLua lsp_implementations", { desc = "Go to implementation" }) keymap.set("n", "gr", "FzfLua lsp_references", { desc = "Show references" }) keymap.set("n", "gt", "FzfLua lsp_typedefs", { desc = "Go to type definition" }) -- Symbol search keymap.set("n", "ds", "FzfLua lsp_document_symbols", { desc = "Document symbols" }) keymap.set("n", "ws", "FzfLua lsp_workspace_symbols", { desc = "Workspace symbols" }) -- Code actions and documentation keymap.set("n", "ca", "FzfLua lsp_code_actions", { desc = "Code actions" }) keymap.set("n", "rn", "lua vim.lsp.buf.rename()", { desc = "Rename" }) keymap.set("n", "K", "lua vim.lsp.buf.hover()", { desc = "Hover documentation" }) -- Diagnostics keymap.set("n", "D", "FzfLua diagnostics_workspace", { desc = "Show diagnostics" }) keymap.set("n", "dd", "lua vim.diagnostic.open_float()", { desc = "Line diagnostics" }) keymap.set("n", "[d", "lua vim.diagnostic.goto_prev()", { desc = "Previous diagnostic" }) keymap.set("n", "]d", "lua vim.diagnostic.goto_next()", { desc = "Next diagnostic" })