Fix --info-command when focus event is bound

Fix #4198
This commit is contained in:
Junegunn Choi 2025-01-23 09:31:51 +09:00
parent 06547d0cbe
commit afc2f05e5e
No known key found for this signature in database
GPG Key ID: 254BC280FEF9C627
2 changed files with 10 additions and 0 deletions

View File

@ -4678,6 +4678,9 @@ func (t *Terminal) Loop() error {
if onFocus, prs := t.keymap[tui.Focus.AsEvent()]; prs && iter < maxFocusEvents {
if newIndex := t.currentIndex(); newIndex != currentIndex {
t.lastFocus = newIndex
if t.infoCommand != "" {
req(reqInfo)
}
actions = onFocus
continue
}

View File

@ -3008,6 +3008,13 @@ class TestGoFZF < TestBase
tmux.until { assert_match(%r{ --1/10000/10000-- *$}, _1[-1]) }
end
def test_info_command_and_focus
tmux.send_keys(%(seq 100 | #{FZF} --separator x --info-command 'echo $FZF_POS' --bind focus:clear-query), :Enter)
tmux.until { |lines| tmux.until { assert_match(%r{^ 1 xx}, _1[-2]) } }
tmux.send_keys :Up
tmux.until { |lines| tmux.until { assert_match(%r{^ 2 xx}, _1[-2]) } }
end
def test_prev_next_selected
tmux.send_keys 'seq 10 | fzf --multi --bind ctrl-n:next-selected,ctrl-p:prev-selected', :Enter
tmux.until { |lines| assert_equal 10, lines.item_count }