summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJunegunn Choi <junegunn.c@gmail.com>2024-05-03 11:56:54 +0900
committerJunegunn Choi <junegunn.c@gmail.com>2024-05-03 12:18:34 +0900
commitf6aa28c380b5adda251fa9fe33dfb4a2ae721b1f (patch)
tree7e7b0fecf11e1f7fec099fc530e06b4f5b65c96b
parentdba1644518a74a6263f76900b04d7b7c0ea6e894 (diff)
Fix --info inline-right not properly clearing the previous output
(seq 100000; sleep 1) | fzf --info inline-right --bind load:change-query:x
-rw-r--r--src/terminal.go6
-rwxr-xr-xtest/test_go.rb7
2 files changed, 11 insertions, 2 deletions
diff --git a/src/terminal.go b/src/terminal.go
index e9ec363b..932553ed 100644
--- a/src/terminal.go
+++ b/src/terminal.go
@@ -1715,9 +1715,11 @@ func (t *Terminal) printInfo() {
if t.infoStyle == infoInlineRight {
if len(t.infoPrefix) == 0 {
- pos = util.Max(pos, t.window.Width()-util.StringWidth(output)-3)
+ t.move(line, pos, false)
+ newPos := util.Max(pos, t.window.Width()-util.StringWidth(output)-3)
+ t.window.Print(strings.Repeat(" ", newPos-pos))
+ pos = newPos
if pos < t.window.Width() {
- t.move(line, pos, false)
printSpinner()
pos++
}
diff --git a/test/test_go.rb b/test/test_go.rb
index 2f93403c..6cd44985 100755
--- a/test/test_go.rb
+++ b/test/test_go.rb
@@ -2970,6 +2970,13 @@ class TestGoFZF < TestBase
tmux.until { assert_match(%r{[⠋⠙⠹⠸⠼⠴⠦⠧⠇⠏] 100/100}, _1[-1]) }
end
+ def test_info_inline_right_clearance
+ tmux.send_keys "seq 100000 | #{FZF} --info inline-right", :Enter
+ tmux.until { assert_match(%r{100000/100000}, _1[-1]) }
+ tmux.send_keys 'x'
+ tmux.until { assert_match(%r{ 0/100000}, _1[-1]) }
+ 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 }