summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/terminal.go3
-rwxr-xr-xtest/test_go.rb7
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 }