summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunegunn Choi <junegunn.c@gmail.com>2025-02-01 17:22:44 +0900
committerJunegunn Choi <junegunn.c@gmail.com>2025-02-01 17:23:22 +0900
commit178b49832e09a78a9f8f5ce1647d5f36b667a097 (patch)
tree60ac7842169eda5ea7db3141e78ae236a27f2231
parent18cbb4a84d187adc121e5937b1ec027e00c66f0a (diff)
downloadfzf-178b49832e09a78a9f8f5ce1647d5f36b667a097.tar.gz
Fix {show,hide,toggle}-input and add test cases
-rw-r--r--src/terminal.go3
-rw-r--r--test/test_layout.rb19
2 files changed, 20 insertions, 2 deletions
diff --git a/src/terminal.go b/src/terminal.go
index 9dcdd2db..175d82c4 100644
--- a/src/terminal.go
+++ b/src/terminal.go
@@ -2533,7 +2533,7 @@ func (t *Terminal) printInfoImpl() {
func (t *Terminal) resizeIfNeeded() bool {
// Check if input border is used and input has changed
- if t.inputBorderShape.Visible() && t.inputWindow == nil && !t.inputless {
+ if t.inputBorderShape.Visible() && t.inputWindow == nil && !t.inputless || t.inputWindow != nil && t.inputless {
t.printAll()
return true
}
@@ -5948,6 +5948,7 @@ func (t *Terminal) Loop() error {
// Always just discard the change
t.input = previousInput
t.cx = len(t.input)
+ beof = false
} else {
t.truncateQuery()
}
diff --git a/test/test_layout.rb b/test/test_layout.rb
index 13adffef..0e4db204 100644
--- a/test/test_layout.rb
+++ b/test/test_layout.rb
@@ -893,7 +893,7 @@ class TestLayout < TestInteractive
end
def test_min_height_auto_no_input_reverse_list
- tmux.send_keys %(seq 100 | #{FZF} --style full:sharp --layout reverse-list --no-input --height 1% --min-height 5+), :Enter
+ tmux.send_keys %(seq 100 | #{FZF} --style full:sharp --layout reverse-list --no-input --height 1% --min-height 5+ --bind a:show-input,b:hide-input,c:toggle-input), :Enter
block = <<~BLOCK
┌─────────
@@ -905,6 +905,23 @@ class TestLayout < TestInteractive
└─────────
BLOCK
tmux.until { assert_block(block, it) }
+ tmux.send_keys :a
+ block2 = <<~BLOCK
+ ┌─────
+ │ > 1
+ │ 2
+ └─────
+ ┌─────
+ │ >
+ └─────
+ BLOCK
+ tmux.until { assert_block(block2, it) }
+ tmux.send_keys :b
+ tmux.until { assert_block(block, it) }
+ tmux.send_keys :c
+ tmux.until { assert_block(block2, it) }
+ tmux.send_keys :c
+ tmux.until { assert_block(block, it) }
end
def test_layout_reverse_list