return { { 'ThePrimeagen/harpoon', branch = 'harpoon2', dependencies = { 'nvim-lua/plenary.nvim' }, config = function() local harpoon = require 'harpoon' harpoon:setup() -- Add current file to list vim.keymap.set('n', 'a', function() harpoon:list():add() end, { desc = 'Harpoon: [A]dd file' }) -- Toggle the quick menu vim.keymap.set('n', 'e', function() harpoon.ui:toggle_quick_menu(harpoon:list()) end, { desc = 'Harpoon: Toggle m[E]nu' }) -- Jump to file slots 1-4 -- NOTE: avoid - kickstart uses these for window navigation vim.keymap.set('n', '1', function() harpoon:list():select(1) end, { desc = 'Harpoon: File [1]' }) vim.keymap.set('n', '2', function() harpoon:list():select(2) end, { desc = 'Harpoon: File [2]' }) vim.keymap.set('n', '3', function() harpoon:list():select(3) end, { desc = 'Harpoon: File [3]' }) vim.keymap.set('n', '4', function() harpoon:list():select(4) end, { desc = 'Harpoon: File [4]' }) -- Prev/Next in list vim.keymap.set('n', '[', function() harpoon:list():prev() end, { desc = 'Harpoon: Prev' }) vim.keymap.set('n', ']', function() harpoon:list():prev() end, { desc = 'Harpoon: Next' }) end, }, }