diff --git a/lua/plugins/harpoon.lua b/lua/plugins/harpoon.lua index 699c254..e83f75f 100644 --- a/lua/plugins/harpoon.lua +++ b/lua/plugins/harpoon.lua @@ -9,6 +9,10 @@ return { save_on_toggle = true, }, }, + dependencies = { + "nvim-lua/plenary.nvim", + "nvim-telescope/telescope.nvim", + }, keys = function() local keys = { { @@ -39,4 +43,33 @@ return { end return keys end, + config = function() + local harpoon = require("harpoon") + harpoon:setup({}) + + -- basic telescope configuration + 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 + + local set = LazyVim.safe_keymap_set + set("n", "", function() + toggle_telescope(harpoon:list()) + end, { desc = "Open harpoon window" }) + end, }