summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunegunn Choi <junegunn.c@gmail.com>2025-02-13 21:50:53 +0900
committerJunegunn Choi <junegunn.c@gmail.com>2025-02-13 21:50:53 +0900
commit7d26eca5ccfccfea4d904aae11bfe4c8e06cd17c (patch)
treebea6747d80c1b4e30bfd4cacee995db6fb7d9ae2
parent3347d6159156f2c3e269a54b7fb34aa905a3fd2d (diff)
downloadfzf-7d26eca5ccfccfea4d904aae11bfe4c8e06cd17c.tar.gz
Truncate wrap sign in the list section if necessary
-rw-r--r--src/terminal.go11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/terminal.go b/src/terminal.go
index 9a4abf86..9a411b33 100644
--- a/src/terminal.go
+++ b/src/terminal.go
@@ -3099,8 +3099,15 @@ func (t *Terminal) printHighlighted(result Result, colBase tui.ColorPair, colMat
maxWidth := t.window.Width() - (indentSize + 1)
wasWrapped := false
if wrapped {
- maxWidth -= t.wrapSignWidth
- t.window.CPrint(colBase.WithAttr(tui.Dim), t.wrapSign)
+ wrapSign := t.wrapSign
+ if maxWidth < t.wrapSignWidth {
+ runes, _ := util.Truncate(wrapSign, maxWidth)
+ wrapSign = string(runes)
+ maxWidth = 0
+ } else {
+ maxWidth -= t.wrapSignWidth
+ }
+ t.window.CPrint(colBase.WithAttr(tui.Dim), wrapSign)
wrapped = false
wasWrapped = true
}