diff --git a/.config/nvim/lua/plugins/disabled.lua b/.config/nvim/lua/plugins/disabled.lua index 9a9204a..09d2c40 100644 --- a/.config/nvim/lua/plugins/disabled.lua +++ b/.config/nvim/lua/plugins/disabled.lua @@ -1,4 +1,8 @@ return { + { + "ThePrimeagen/harpoon", + enabled = false, + }, { "tadmccorkle/markdown.nvim", enabled = false, @@ -19,4 +23,4 @@ return { "MeanderingProgrammer/render-markdown.nvim", enabled = false, }, -} +} \ No newline at end of file diff --git a/.config/nvim/lua/plugins/harpoon.lua b/.config/nvim/lua/plugins/harpoon.lua new file mode 100644 index 0000000..a54c30e --- /dev/null +++ b/.config/nvim/lua/plugins/harpoon.lua @@ -0,0 +1,59 @@ +return { + "ThePrimeagen/harpoon", + branch = "harpoon2", + dependencies = { + "nvim-lua/plenary.nvim", + "nvim-telescope/telescope.nvim", + }, + + config = function() + local harpoon = require("harpoon") + local map = vim.keymap + + harpoon: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 + + map.set("n", "a", function() + harpoon:list():add() + end, { desc = "Harpoon this" }) + map.set("n", "", function() + toggle_telescope(harpoon:list()) + end, { desc = "Harpoon UI" }) + map.set("n", "", function() + harpoon:list():select(1) + end, { desc = "Mark 1" }) + map.set("n", "", function() + harpoon:list():select(2) + end, { desc = "Mark 2" }) + map.set("n", "", function() + harpoon:list():select(3) + end, { desc = "Mark 3" }) + map.set("n", "", function() + harpoon:list():select(4) + end, { desc = "Mark 4" }) + map.set("n", "", function() + harpoon:list():prev() + end, { desc = "Cycle back" }) + map.set("n", "", function() + harpoon:list():next() + end, { desc = "Cycle forward" }) + end, +} \ No newline at end of file