summaryrefslogtreecommitdiff
path: root/lua
diff options
context:
space:
mode:
Diffstat (limited to 'lua')
-rw-r--r--lua/config/mappings.lua17
-rw-r--r--lua/plugins/harpoon.lua5
2 files changed, 22 insertions, 0 deletions
diff --git a/lua/config/mappings.lua b/lua/config/mappings.lua
index cc6d97b..4c8e849 100644
--- a/lua/config/mappings.lua
+++ b/lua/config/mappings.lua
@@ -39,3 +39,20 @@ vim.keymap.set("n", "gd", vim.lsp.buf.definition, { desc = "LSP Definition" })
vim.keymap.set("n", "er", vim.diagnostic.open_float, { desc = "LSP Diagnostics" })
vim.keymap.set({ "n", "v" }, "<leader>ca", vim.lsp.buf.code_action, { desc = "LSP Code Action" })
vim.keymap.set("n", "<leader>gf", vim.lsp.buf.format, { desc = "LSP Format" })
+
+-- harpoon keymaps
+
+vim.keymap.set("n", "<leader>a", function()
+ require("harpoon"):list():add()
+end, { desc = "Harpoon Add" })
+vim.keymap.set("n", "<leader>h", function()
+ require("harpoon").ui:toggle_quick_menu(builtin:list())
+end, { desc = "Harpoon Menu" })
+
+-- Toggle previous & next buffers stored within Harpoon list
+vim.keymap.set("n", "<leader><S-P>", function()
+ require("harpoon"):list():prev()
+end, { desc = "Harpoon Previous" })
+vim.keymap.set("n", "<leader><S-N>", function()
+ require("harpoon"):list():next()
+end, { desc = "Harpoon Next" })
diff --git a/lua/plugins/harpoon.lua b/lua/plugins/harpoon.lua
new file mode 100644
index 0000000..c8aa32c
--- /dev/null
+++ b/lua/plugins/harpoon.lua
@@ -0,0 +1,5 @@
+return {
+ "ThePrimeagen/harpoon",
+ branch = "harpoon2",
+ dependencies = { "nvim-lua/plenary.nvim" },
+}