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({}, { promt_title = "Harpoon Finder", finder = require("telescope.finders").new_table({ results = file_paths, }), previewer = conf.file_previewer({}), sorter = conf.generic_sorter({}), }):find() end return { "ThePrimeagen/harpoon", branch = "harpoon2", dependencies = { "nvim-lua/plenary.nvim" }, config = function() local harpoon = require("harpoon") -- REQUIRED harpoon:setup() -- REQUIRED -- Basic UI and file management keymaps vim.keymap.set("n", "a", function() harpoon:list():add() end, { desc = "Harpoon Add File" }) vim.keymap.set("n", "", function() harpoon.ui:toggle_quick_menu(harpoon:list()) end, { desc = "Harpoon Menu" }) vim.keymap.set("n", "fl", function() toggle_telescope(harpoon:list()) end,{ desc = "Open harpoon window" }) -- Quick navigation to files 1-4 vim.keymap.set("n", "", function() harpoon:list():select(1) end, { desc = "Harpoon File 1" }) vim.keymap.set("n", "", function() harpoon:list():select(2) end, { desc = "Harpoon File 2" }) vim.keymap.set("n", "", function() harpoon:list():select(3) end, { desc = "Harpoon File 3" }) vim.keymap.set("n", "", function() harpoon:list():select(4) end, { desc = "Harpoon File 4" }) -- Toggle previous & next buffers stored within Harpoon list vim.keymap.set("n", "", function() harpoon:list():prev() end, { desc = "Harpoon Prev" }) vim.keymap.set("n", "", function() harpoon:list():next() end, { desc = "Harpoon Next" }) end, }