diff --git a/lua/astrocommunity/motion/harpoon/harpoon.lua b/lua/astrocommunity/motion/harpoon/harpoon.lua index fdc31da77..2db1ed51d 100644 --- a/lua/astrocommunity/motion/harpoon/harpoon.lua +++ b/lua/astrocommunity/motion/harpoon/harpoon.lua @@ -1,4 +1,11 @@ local prefix = "" +local dynamic_tmux_keymap_desc +local running_tmux_seesion = vim.fn.exists "$TMUX" == 1 +if running_tmux_seesion then + dynamic_tmux_keymap_desc = "Goto to TMUX window" +else + dynamic_tmux_keymap_desc = "Goto to terminal window" +end return { "ThePrimeagen/harpoon", dependencies = { @@ -7,27 +14,57 @@ return { }, cmd = { "Harpoon" }, keys = { - { prefix, desc = "Harpoon" }, - { prefix .. "a", function() require("harpoon.mark").add_file() end, desc = "Add file" }, - { prefix .. "e", function() require("harpoon.ui").toggle_quick_menu() end, desc = "Toggle quick menu" }, - { "", function() require("harpoon.ui").nav_prev() end, desc = "Goto previous mark" }, - { "", function() require("harpoon.ui").nav_next() end, desc = "Goto next mark" }, - { prefix .. "m", "Telescope harpoon marks", desc = "Show marks in Telescope" }, + { prefix, function() end, desc = "󱡀 Harpoon" }, { - prefix .. "t", + prefix .. "a", + function() require("harpoon.mark").add_file() end, + desc = "Add file", + }, + { + prefix .. "e", + function() require("harpoon.ui").toggle_quick_menu() end, + desc = "Toggle quick menu", + }, + { + "", function() - local num = tonumber(vim.fn.input "GoTo terminal window number: ") - require("harpoon.term").gotoTerminal(num) + local num = tonumber(vim.fn.input("GoTo mark index: ")) + if num == nil then + return + end + require("harpoon.ui").nav_file(num) end, - desc = "Goto to terminal window", + desc = "Goto index of mark", }, { - prefix .. "j", + "", + function() require("harpoon.ui").nav_prev() end, + desc = "Goto previous mark", + }, + { + "", + function() require("harpoon.ui").nav_next() end, + desc = "Goto next mark", + }, + { prefix .. "m", "Telescope harpoon marks", desc = "Show marks in Telescope" }, + { + prefix .. "t", function() - local num = tonumber(vim.fn.input "GoTo Tmux window number: ") - require("harpoon.tmux").gotoTerminal(num) + if running_tmux_seesion then + local num = tonumber(vim.fn.input "GoTo Tmux window number: ") + if num == nil then + return + end + require("harpoon.tmux").gotoTerminal(num) + else + local num = tonumber(vim.fn.input "GoTo terminal window number: ") + if num == nil then + return + end + require("harpoon.term").gotoTerminal(num) + end end, - desc = "Goto to TMUX tmux window", + desc = dynamic_tmux_keymap_desc, }, }, }