31 lines
1.2 KiB
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,
|
|
},
|
|
}
|