Files
dotfiles/shared/.config/nvim/lua/custom/plugins/harpoon.lua

31 lines
1.2 KiB
Lua

return {
{
'ThePrimeagen/harpoon',
branch = 'harpoon2',
dependencies = { 'nvim-lua/plenary.nvim' },
config = function()
local harpoon = require 'harpoon'
harpoon:setup()
-- Add current file to list
vim.keymap.set('n', '<leader>a', function() harpoon:list():add() end,
{ desc = 'Harpoon: [A]dd file' })
-- Toggle the quick menu
vim.keymap.set('n', '<leader>e', function() harpoon.ui:toggle_quick_menu(harpoon:list()) end,
{ desc = 'Harpoon: Toggle m[E]nu' })
-- Jump to file slots 1-4
-- NOTE: avoid <C-h/j/k/l> - kickstart uses these for window navigation
vim.keymap.set('n', '<leader>1', function() harpoon:list():select(1) end, { desc = 'Harpoon: File [1]' })
vim.keymap.set('n', '<leader>2', function() harpoon:list():select(2) end, { desc = 'Harpoon: File [2]' })
vim.keymap.set('n', '<leader>3', function() harpoon:list():select(3) end, { desc = 'Harpoon: File [3]' })
vim.keymap.set('n', '<leader>4', function() harpoon:list():select(4) end, { desc = 'Harpoon: File [4]' })
-- Prev/Next in list
vim.keymap.set('n', '<leader>[', function() harpoon:list():prev() end, { desc = 'Harpoon: Prev' })
vim.keymap.set('n', '<leader>]', function() harpoon:list():prev() end, { desc = 'Harpoon: Next' })
end,
},
}