Skip to content

Commit

Permalink
feat(harpoon)!: remove "j" keymap, make "t" keymap dynamic based on $…
Browse files Browse the repository at this point in the history
…TMUX (#292)

* fix(harpoon): which key display fix

* fix(harpoon): error when user doesn't input terminal number

* feat(harpoon)!: remove "j" keymap, make "t" keymap dynamic based on $TMUX

* feat(harpoon): add keymap to jump mark index

* chore(harpoon): fix typos, simplify variable setting, change formatting

Co-authored-by: Micah Halter <[email protected]>

---------

Co-authored-by: Micah Halter <[email protected]>
  • Loading branch information
RayJameson and mehalter authored Jun 22, 2023
1 parent e7b94c5 commit 9bb0747
Showing 1 changed file with 23 additions and 12 deletions.
35 changes: 23 additions & 12 deletions lua/astrocommunity/motion/harpoon/init.lua
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
local prefix = "<leader><leader>"
local running_tmux_session = vim.fn.exists "$TMUX" == 1
local dynamic_tmux_keymap_desc = "Go to " .. running_tmux_session and "TMUX" or "terminal" .. " window"
local icon = vim.g.icons_enabled and "󱡀 " or ""
return {
"ThePrimeagen/harpoon",
dependencies = {
Expand All @@ -7,27 +10,35 @@ return {
},
cmd = { "Harpoon" },
keys = {
{ prefix, desc = "Harpoon" },
{ prefix, function() end, desc = icon .. "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" },
{ "<C-p>", function() require("harpoon.ui").nav_prev() end, desc = "Goto previous mark" },
{ "<C-n>", function() require("harpoon.ui").nav_next() end, desc = "Goto next mark" },
{ prefix .. "m", "<cmd>Telescope harpoon marks<CR>", desc = "Show marks in Telescope" },
{
prefix .. "t",
"<C-t>",
function()
local num = tonumber(vim.fn.input "GoTo terminal window number: ")
require("harpoon.term").gotoTerminal(num)
local num = tonumber(vim.fn.input "Go to 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",
},
{ "<C-p>", function() require("harpoon.ui").nav_prev() end, desc = "Goto previous mark" },
{ "<C-n>", function() require("harpoon.ui").nav_next() end, desc = "Goto next mark" },
{ prefix .. "m", "<cmd>Telescope harpoon marks<CR>", desc = "Show marks in Telescope" },
{
prefix .. "j",
prefix .. "t",
function()
local num = tonumber(vim.fn.input "GoTo Tmux window number: ")
require("harpoon.tmux").gotoTerminal(num)
if running_tmux_session 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,
},
},
}

0 comments on commit 9bb0747

Please sign in to comment.