return { "ThePrimeagen/harpoon", branch = "harpoon2", dependencies = { "nvim-lua/plenary.nvim" }, config = function() local harpoon = require("harpoon") harpoon:setup({ settings = { save_on_toggle = true, sync_on_ui_close = true, key = function() return vim.loop.cwd() end, }, }) -- Keymaps vim.keymap.set("n", "ha", function() harpoon:list():add() end, { desc = "Harpoon add file" }) vim.keymap.set("n", "hh", function() harpoon.ui:toggle_quick_menu(harpoon:list()) end, { desc = "Harpoon menu" }) -- Quick navigation to harpooned files 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" }) vim.keymap.set("n", "5", function() harpoon:list():select(5) end, { desc = "Harpoon file 5" }) -- Navigate between harpooned files vim.keymap.set("n", "hp", function() harpoon:list():prev() end, { desc = "Harpoon prev" }) vim.keymap.set("n", "hn", function() harpoon:list():next() end, { desc = "Harpoon next" }) end, }