diff --git a/lua/plugins/harpoon.lua b/lua/plugins/harpoon.lua new file mode 100644 index 0000000..195b630 --- /dev/null +++ b/lua/plugins/harpoon.lua @@ -0,0 +1,24 @@ +return { + { + 'ThePrimeagen/harpoon', + dependencies = { + 'nvim-lua/plenary.nvim', + }, + config = function() + local term = require 'harpoon.term' + local mark = require 'harpoon.mark' + local ui = require 'harpoon.ui' + + -- add file + vim.keymap.set('n', 'ha', mark.add_file, { desc = '[H]arpoon [a]dd file' }) + + -- open menu + vim.keymap.set('n', 'he', ui.toggle_quick_menu, { desc = '[H]arpoon toggle m[e]nu' }) + + -- open terminal + vim.keymap.set('n', 'ht', function() + term.gotoTerminal(0) + end, { desc = '[H]arpoon [t]erminal' }) + end, + }, +} diff --git a/lua/plugins/telescope.lua b/lua/plugins/telescope.lua index d3ccc73..47e1cbd 100644 --- a/lua/plugins/telescope.lua +++ b/lua/plugins/telescope.lua @@ -39,6 +39,9 @@ return { -- Enable telescope fzf native, if installed pcall(require('telescope').load_extension, 'fzf') + -- Enable harpoon + require('telescope').load_extension 'harpoon' + -- See `:help telescope.builtin` vim.keymap.set('n', '?', require('telescope.builtin').oldfiles, { desc = '[?] Find recently opened files' }) vim.keymap.set('n', '', require('telescope.builtin').buffers, { desc = '[ ] Find existing buffers' }) @@ -62,8 +65,9 @@ return { end, { desc = '[S]earch [C]olorscheme' }) -- extensions - -- vim.keymap.set('n', 'fb', require('telescope').extensions.file_browser.file_browser, { desc = '[F]ile [B]rowser' }) - vim.api.nvim_set_keymap('n', 'tc', ':TodoTelescope', { desc = '[T]odo [C]omments', noremap = true }) + vim.api.nvim_set_keymap('n', 'tc', ':TodoTelescope', { desc = '[T]odo [c]omments', noremap = true }) + vim.api.nvim_set_keymap('n', 'hm', ':Telescope harpoon marks', + { desc = '[H]arpoon [m]arks', noremap = true }) end, },