diff options
| author | Junegunn Choi <junegunn.c@gmail.com> | 2025-03-16 01:55:11 +0900 |
|---|---|---|
| committer | Junegunn Choi <junegunn.c@gmail.com> | 2025-03-16 01:57:20 +0900 |
| commit | f92f9f137a7a222465892f30776db48a7ecc8ad9 (patch) | |
| tree | 1995000c3dad6887ad931f3fb4bb6c9234c6477e /src/util/chars.go | |
| parent | 87f7f436e8e6de98336eb26d695bec93cc5b6b07 (diff) | |
| download | fzf-f92f9f137a7a222465892f30776db48a7ecc8ad9.tar.gz | |
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
Diffstat (limited to 'src/util/chars.go')
| -rw-r--r-- | src/util/chars.go | 5 |
1 files changed, 4 insertions, 1 deletions
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 { |
