From f0a8069ec476260ad0dcc125645f2f809925fc3f Mon Sep 17 00:00:00 2001 From: chibs4 <47668526+chibs4@users.noreply.github.com> Date: Wed, 21 Jan 2026 17:53:36 +0300 Subject: [PATCH] add harpoon --- lua/custom/plugins/harpoon.lua | 37 ++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 lua/custom/plugins/harpoon.lua diff --git a/lua/custom/plugins/harpoon.lua b/lua/custom/plugins/harpoon.lua new file mode 100644 index 00000000..2fcfe724 --- /dev/null +++ b/lua/custom/plugins/harpoon.lua @@ -0,0 +1,37 @@ +return { + "ThePrimeagen/harpoon", + branch = "harpoon2", + dependencies = { "nvim-lua/plenary.nvim", 'nvim-telescope/telescope.nvim' }, + 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 + -- keybindings + vim.keymap.set("n", "h", function() toggle_telescope(harpoon:list()) end, + { desc = "Open harpoon window" }) + + vim.keymap.set("n", "a", function() harpoon:list():add() end, { desc = "Add to harpoon" }) + + for key = 1, 9 do + vim.keymap.set("n", "" .. key, function() harpoon:list():select(key) end, + { desc = "Open harpoon window " .. key }) + end + end +}