diff options
| author | Junegunn Choi <junegunn.c@gmail.com> | 2025-01-23 09:31:51 +0900 |
|---|---|---|
| committer | Junegunn Choi <junegunn.c@gmail.com> | 2025-01-23 09:31:51 +0900 |
| commit | afc2f05e5e40fb44380e555a3db89ec19ecb424f (patch) | |
| tree | 5640354acbf9fa3f22242b4df0d635d11d6b1916 | |
| parent | 06547d0cbe82f516904a54579a73fa01b1bb64bf (diff) | |
| download | fzf-afc2f05e5e40fb44380e555a3db89ec19ecb424f.tar.gz | |
Fix --info-command when focus event is bound
Fix #4198
| -rw-r--r-- | src/terminal.go | 3 | ||||
| -rwxr-xr-x | test/test_go.rb | 7 |
2 files changed, 10 insertions, 0 deletions
diff --git a/src/terminal.go b/src/terminal.go index aa523434..233ec8fc 100644 --- a/src/terminal.go +++ b/src/terminal.go @@ -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 } diff --git a/test/test_go.rb b/test/test_go.rb index 2b9499e0..3331d3c8 100755 --- a/test/test_go.rb +++ b/test/test_go.rb @@ -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 } |
