From f92f9f137a7a222465892f30776db48a7ecc8ad9 Mon Sep 17 00:00:00 2001 From: Junegunn Choi Date: Sun, 16 Mar 2025 01:55:11 +0900 Subject: Fix wrapping of the list section # The first line of the second chunk would prematurely wrap printf '%0500s\n\n%0500s' 0 0 | fzf --wrap --read0 --- src/util/chars.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src/util/chars.go') diff --git a/src/util/chars.go b/src/util/chars.go index dd037caa..e5234303 100644 --- a/src/util/chars.go +++ b/src/util/chars.go @@ -294,9 +294,10 @@ func (chars *Chars) Lines(multiLine bool, maxLines int, wrapCols int, wrapSignWi line = line[:len(line)-1] } + hasWrapSign := false for { cols := wrapCols - if len(wrapped) > 0 { + if hasWrapSign { cols -= wrapSignWidth } _, overflowIdx := RunesWidth(line, 0, tabstop, cols) @@ -309,9 +310,11 @@ func (chars *Chars) Lines(multiLine bool, maxLines int, wrapCols int, wrapSignWi return wrapped, true } wrapped = append(wrapped, line[:overflowIdx]) + hasWrapSign = true line = line[overflowIdx:] continue } + hasWrapSign = false // Restore trailing '\n' if newline { -- cgit v1.2.3