aboutsummaryrefslogtreecommitdiff
path: root/common/config/nvim/lua/plugins/harpoon.lua
diff options
context:
space:
mode:
authorsrdusr <trevorgray@srdusr.com>2025-09-24 04:19:28 +0200
committersrdusr <trevorgray@srdusr.com>2025-09-24 04:19:28 +0200
commite95332b121672abaf9fd02692d81869b1e46c02d (patch)
tree9dc0def690d7941b18783733045ba091112e9452 /common/config/nvim/lua/plugins/harpoon.lua
parent0f6cee92221dc517bd756083e260dd9373851b82 (diff)
parent7ed2303648bf83bb081d9bd863660ebf2344ce47 (diff)
downloaddotfiles-e95332b121672abaf9fd02692d81869b1e46c02d.tar.gz
dotfiles-e95332b121672abaf9fd02692d81869b1e46c02d.zip
Merge commit '7ed2303648bf83bb081d9bd863660ebf2344ce47'
Diffstat (limited to 'common/config/nvim/lua/plugins/harpoon.lua')
-rwxr-xr-x[-rw-r--r--]common/config/nvim/lua/plugins/harpoon.lua40
1 files changed, 28 insertions, 12 deletions
diff --git a/common/config/nvim/lua/plugins/harpoon.lua b/common/config/nvim/lua/plugins/harpoon.lua
index 784ee0b..8e842b3 100644..100755
--- a/common/config/nvim/lua/plugins/harpoon.lua
+++ b/common/config/nvim/lua/plugins/harpoon.lua
@@ -1,4 +1,12 @@
-require("harpoon").setup({
+local M = {}
+
+function M.setup()
+ local ok, harpoon = pcall(require, "harpoon")
+ if not ok or not harpoon then
+ return false
+ end
+
+ harpoon.setup({
menu = {
width = vim.api.nvim_win_get_width(0) - 4,
},
@@ -12,18 +20,26 @@ require("harpoon").setup({
-- --{ "<leader>4", function() require("harpoon.term").gotoTerminal(2) end, desc = "Terminal 2" },
-- --{ "<leader>5", function() require("harpoon.term").sendCommand(1,1) end, desc = "Command 1" },
-- --{ "<leader>6", function() require("harpoon.term").sendCommand(1,2) end, desc = "Command 2" },
- --},
-})
-vim.api.nvim_set_keymap("n", "<leader>ma", ":lua require('harpoon.mark').add_file()<CR>", {})
-vim.api.nvim_set_keymap("n", "<leader>mt", ":lua require('harpoon.mark').toggle_file()<CR>", {})
-vim.api.nvim_set_keymap("n", "<leader>mq", ":lua require('harpoon.ui').toggle_quick_menu()<CR>", {})
-vim.api.nvim_set_keymap("n", "<leader>mh", ":lua require('harpoon.ui').nav_file(1)<CR>", {})
-vim.api.nvim_set_keymap("n", "<leader>mj", ":lua require('harpoon.ui').nav_file(2)<CR>", {})
-vim.api.nvim_set_keymap("n", "<leader>mk", ":lua require('harpoon.ui').nav_file(3)<CR>", {})
-vim.api.nvim_set_keymap("n", "<leader>ml", ":lua require('harpoon.ui').nav_file(4)<CR>", {})
+ })
+
+ -- Set up keymaps safely
+ local function safe_keymap(mode, lhs, rhs, opts)
+ local opts_with_noremap = vim.tbl_extend('force', {noremap = true, silent = true}, opts or {})
+ vim.keymap.set(mode, lhs, rhs, opts_with_noremap)
+ end
+
+ safe_keymap("n", "<leader>ma", function() require('harpoon.mark').add_file() end, { desc = "Harpoon: Add file" })
+ safe_keymap("n", "<leader>mt", function() require('harpoon.mark').toggle_file() end, { desc = "Harpoon: Toggle file" })
+ safe_keymap("n", "<leader>mq", function() require('harpoon.ui').toggle_quick_menu() end, { desc = "Harpoon: Toggle quick menu" })
+ safe_keymap("n", "<leader>mh", function() require('harpoon.ui').nav_file(1) end, { desc = "Harpoon: Navigate to file 1" })
+ safe_keymap("n", "<leader>mj", function() require('harpoon.ui').nav_file(2) end, { desc = "Harpoon: Navigate to file 2" })
+ safe_keymap("n", "<leader>mk", function() require('harpoon.ui').nav_file(3) end, { desc = "Harpoon: Navigate to file 3" })
+ safe_keymap("n", "<leader>ml", function() require('harpoon.ui').nav_file(4) end, { desc = "Harpoon: Navigate to file 4" })
+
+ return true
+end
---local mark = require("harpoon.mark")
---local ui = require("harpoon.ui")
+return M
--
--vim.keymap.set("n", "<leader>a", mark.add_file)
--vim.keymap.set("n", "<C-e>", ui.toggle_quick_menu)