return { 'ThePrimeagen/harpoon', branch = 'harpoon2', requires = { { 'nvim-lua/plenary.nvim' }, { 'nvim-telescope/telescope.nvim' }, }, keys = { { "a", function() require("harpoon"):list():add() end }, { "", function() local harpoon = require("harpoon") local conf = require("telescope.config").values local function toggle_telescope(harpoon_files) local file_paths = {} for _, item in ipairs(harpoon_files.items) do table.insert(file_paths, item.value) end require("telescope.pickers").new({}, { prompt_title = "Harpoon", finder = require("telescope.finders").new_table({ results = file_paths }), previewer = conf.file_previewer({}), sorter = conf.generic_sorter({}), }):find() end toggle_telescope(harpoon:list()) end, desc = "Open harpoon window" }, { "", function() require("harpoon"):list():select(1) end }, { "", function() require("harpoon"):list():select(2) end }, { "", function() require("harpoon"):list():select(3) end }, { "", function() require("harpoon"):list():select(4) end }, { "", function() require("harpoon"):list():prev() end }, { "", function() require("harpoon"):list():next() end }, }, }