summaryrefslogtreecommitdiffstats
path: root/lua/conf/plugins/harpoon.lua
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--lua/conf/plugins/harpoon.lua31
1 files changed, 31 insertions, 0 deletions
diff --git a/lua/conf/plugins/harpoon.lua b/lua/conf/plugins/harpoon.lua
new file mode 100644
index 0000000..cb2edca
--- /dev/null
+++ b/lua/conf/plugins/harpoon.lua
@@ -0,0 +1,31 @@
+local misc = require('core.misc')
+local map = misc.map
+
+return { 'ThePrimeagen/harpoon',
+ disable = vim.version().minor < 8,
+ branch = 'harpoon2',
+ requires = 'nvim-lua/plenary.nvim',
+ function()
+ local harpoon = require("harpoon")
+
+ harpoon:setup()
+
+ map("n", "<leader>a", function()
+ harpoon:list():add()
+ vim.notify("added "..vim.fn.expand("%:t").." to quickmarks", vim.log.levels.INFO, {
+ title = misc.appid,
+ })
+ end, { desc = "add current file to quickmarks" })
+
+ map("n", "<C-e>", function() harpoon.ui:toggle_quick_menu(harpoon:list()) end)
+
+ map("n", "<C-h>", function() harpoon:list():select(1) end)
+ map("n", "<C-t>", function() harpoon:list():select(2) end)
+ map("n", "<C-n>", function() harpoon:list():select(3) end)
+ map("n", "<C-s>", function() harpoon:list():select(4) end)
+
+ -- Toggle previous & next buffers stored within Harpoon list
+ map("n", "<C-S-P>", function() harpoon:list():prev() end)
+ map("n", "<C-S-N>", function() harpoon:list():next() end)
+ end
+}