summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/terminal.go5
-rw-r--r--test/test_core.rb9
2 files changed, 11 insertions, 3 deletions
diff --git a/src/terminal.go b/src/terminal.go
index 999bfdc0..ae56c1fe 100644
--- a/src/terminal.go
+++ b/src/terminal.go
@@ -6039,6 +6039,8 @@ func (t *Terminal) Loop() error {
t.input = currentInput
t.cx = len(t.input)
beof = false
+ } else if string(t.input) != string(currentInput) {
+ t.inputOverride = nil
}
return true
}
@@ -6064,9 +6066,6 @@ func (t *Terminal) Loop() error {
t.truncateQuery()
}
queryChanged = queryChanged || t.pasting == nil && string(previousInput) != string(t.input)
- if queryChanged {
- t.inputOverride = nil
- }
changed = changed || queryChanged
if onChanges, prs := t.keymap[tui.Change.AsEvent()]; queryChanged && prs && !doActions(onChanges) {
continue
diff --git a/test/test_core.rb b/test/test_core.rb
index d37a4b47..2d3cc307 100644
--- a/test/test_core.rb
+++ b/test/test_core.rb
@@ -1881,4 +1881,13 @@ class TestCore < TestInteractive
assert_includes lines, '> 555'
end
end
+
+ def test_search_override_query_in_no_input_mode
+ tmux.send_keys %(seq 1000 | #{FZF} --sync --no-input --bind 'enter:show-input+change-query(555)+hide-input+search(999),space:search(111)+show-input+change-query(777)'), :Enter
+ tmux.until { |lines| assert_includes lines, '> 1' }
+ tmux.send_keys :Enter
+ tmux.until { |lines| assert_includes lines, '> 999' }
+ tmux.send_keys :Space
+ tmux.until { |lines| assert_includes lines, '> 777' }
+ end
end