my dotfiles for arch
at main 79 lines 2.1 kB view raw
1return { 2 "theprimeagen/harpoon", 3 branch = "harpoon2", 4 dependencies = { "nvim-lua/plenary.nvim", "nvim-telescope/telescope.nvim" }, 5 6 config = function() 7 local harpoon = require("harpoon") 8 harpoon:setup({ 9 settings = { save_on_toggle = true }, 10 }) 11 12 vim.keymap.set("n", "<leader>a", function() 13 harpoon:list():add() 14 end) 15 vim.keymap.set("n", "<leader>h", function() 16 harpoon.ui:toggle_quick_menu(harpoon:list()) 17 end, { desc = "Toggle harpoon quick menu" }) 18 19 vim.keymap.set("n", "<leader>1", function() 20 harpoon:list():select(1) 21 end) 22 vim.keymap.set("n", "<leader>2", function() 23 harpoon:list():select(2) 24 end) 25 vim.keymap.set("n", "<leader>3", function() 26 harpoon:list():select(3) 27 end) 28 vim.keymap.set("n", "<leader>4", function() 29 harpoon:list():select(4) 30 end) 31 vim.keymap.set("n", "<leader>5", function() 32 harpoon:list():select(5) 33 end) 34 vim.keymap.set("n", "<leader>6", function() 35 harpoon:list():select(6) 36 end) 37 vim.keymap.set("n", "<leader>7", function() 38 harpoon:list():select(7) 39 end) 40 vim.keymap.set("n", "<leader>8", function() 41 harpoon:list():select(8) 42 end) 43 vim.keymap.set("n", "<leader>9", function() 44 harpoon:list():select(9) 45 end) 46 47 -- Toggle previous & next buffers stored within Harpoon list 48 vim.keymap.set("n", "<C-S-P>", function() 49 harpoon:list():prev() 50 end) 51 vim.keymap.set("n", "<C-S-N>", function() 52 harpoon:list():next() 53 end) 54 55 -- basic telescope configuration 56 local conf = require("telescope.config").values 57 local function toggle_telescope(harpoon_files) 58 local file_paths = {} 59 for _, item in ipairs(harpoon_files.items) do 60 table.insert(file_paths, item.value) 61 end 62 63 require("telescope.pickers") 64 .new({}, { 65 prompt_title = "Harpoon", 66 finder = require("telescope.finders").new_table({ 67 results = file_paths, 68 }), 69 previewer = conf.file_previewer({}), 70 sorter = conf.generic_sorter({}), 71 }) 72 :find() 73 end 74 75 vim.keymap.set("n", "<C-e>", function() 76 toggle_telescope(harpoon:list()) 77 end, { desc = "Open harpoon window" }) 78 end, 79}