return { 'ThePrimeagen/harpoon', dependencies = { 'nvim-lua/plenary.nvim' }, branch = 'harpoon2', config = function() local harpoon = require 'harpoon' harpoon:setup { settings = { save_on_toggle = true, save_on_ui_close = true, }, } vim.keymap.set('n', 'a', function() harpoon:list():add() end, { desc = 'Add file to Harpoon' }) vim.keymap.set('n', 'H', function() harpoon.ui:toggle_quick_menu(harpoon:list()) end, { desc = 'Open Harpoon Window' }) vim.keymap.set('n', '1', function() harpoon:list():select(1) end, { desc = 'Open Harpoon File 1' }) vim.keymap.set('n', '2', function() harpoon:list():select(2) end, { desc = 'Open Harpoon File 2' }) vim.keymap.set('n', '3', function() harpoon:list():select(3) end, { desc = 'Open Harpoon File 3' }) vim.keymap.set('n', '4', function() harpoon:list():select(4) end, { desc = 'Open Harpoon File 4' }) vim.keymap.set('n', '5', function() harpoon:list():select(5) end, { desc = 'Open Harpoon File 5' }) -- Telescope Setup 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 vim.keymap.set('n', '', function() toggle_telescope(harpoon:list()) end, { desc = 'Open Telescope Harpoon Window' }) end, }