return { { "ThePrimeagen/harpoon", branch = "harpoon2", opts = { settings = { save_on_toggle = true, sync_on_ui_close = true, }, }, keys = { { "", function() require("harpoon").ui:toggle_quick_menu(require("harpoon"):list()) end, desc = "Open Harpoon window.", }, { "a", function() require("harpoon"):list():add() end, desc = "[A]dd to the harpoon list.", }, { "", function() require("harpoon"):list():select(1) end, desc = "Select first harpoon buffer.", }, { "", function() require("harpoon"):list():select(2) end, desc = "Select second harpoon buffer.", }, { "", function() require("harpoon"):list():select(3) end, desc = "Select third harpoon buffer.", }, { "", function() require("harpoon"):list():select(4) end, desc = "Select fourth harpoon buffer.", }, { "", function() require("harpoon"):list():prev() end, desc = "Previous harpoon buffer.", }, { "", function() require("harpoon"):list():next() end, desc = "Next harpoon buffer.", }, -- Extensions require("harpoon"):extend({ UI_CREATE = function(cx) vim.keymap.set("n", "", function() require("harpoon").ui:select_menu_item({ vsplit = true }) end, { buffer = cx.buffer, desc = "Open in [V]split" }) end, }), }, }, }