summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunegunn Choi <junegunn.c@gmail.com>2025-04-11 20:46:49 +0900
committerJunegunn Choi <junegunn.c@gmail.com>2025-04-11 20:46:49 +0900
commit0edb5d5ebb22b160cb289b36fea475073813a1a2 (patch)
treefc4296e52791bd92ca30503a93ba0f8e218a10b5
parent9ffc2c7ca37098a7de69cab3e2479c839e7543bf (diff)
downloadfzf-0edb5d5ebb22b160cb289b36fea475073813a1a2.tar.gz
Fix trailing ␊ not rendered with '--read0 --no-multi-line'
https://github.com/junegunn/fzf/pull/4334#issue-2966013714 # Should display foo␊ echo -en "foo\n" | fzf --read0 --no-multi-line
-rw-r--r--src/terminal.go2
-rw-r--r--test/test_core.rb5
2 files changed, 6 insertions, 1 deletions
diff --git a/src/terminal.go b/src/terminal.go
index f3a7fe4d..e1d14adc 100644
--- a/src/terminal.go
+++ b/src/terminal.go
@@ -3144,7 +3144,7 @@ func (t *Terminal) printHighlighted(result Result, colBase tui.ColorPair, colMat
wasWrapped = true
}
- if len(line) > 0 && line[len(line)-1] == '\n' {
+ if len(line) > 0 && line[len(line)-1] == '\n' && lineOffset < len(lines)-1 {
line = line[:len(line)-1]
} else {
wrapped = true
diff --git a/test/test_core.rb b/test/test_core.rb
index f8a182f8..517c94d6 100644
--- a/test/test_core.rb
+++ b/test/test_core.rb
@@ -1931,4 +1931,9 @@ class TestCore < TestInteractive
tmux.send_keys :Space
tmux.until { |lines| assert lines.any_include?('bar') }
end
+
+ def test_trailing_new_line
+ tmux.send_keys %(echo -en "foo\n" | fzf --read0 --no-multi-line), :Enter
+ tmux.until { |lines| assert_includes lines, '> foo␊' }
+ end
end