summaryrefslogtreecommitdiff
path: root/src/tui/tcell.go
diff options
context:
space:
mode:
authorJunegunn Choi <junegunn.c@gmail.com>2025-02-11 23:41:13 +0900
committerJunegunn Choi <junegunn.c@gmail.com>2025-02-11 23:41:54 +0900
commit66ca16f836f70d90ab751dcc804bf158f0c5ae48 (patch)
tree02ffb76f928b0262c46d1f1c1d47e06d5e4d3dd0 /src/tui/tcell.go
parent282884ad83c9aae32519d9bb3b7d685319c26639 (diff)
downloadfzf-66ca16f836f70d90ab751dcc804bf158f0c5ae48.tar.gz
Truncate wrap signs in extremely narrow preview window
Diffstat (limited to 'src/tui/tcell.go')
-rw-r--r--src/tui/tcell.go10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/tui/tcell.go b/src/tui/tcell.go
index b70eed48..dffd235f 100644
--- a/src/tui/tcell.go
+++ b/src/tui/tcell.go
@@ -766,10 +766,18 @@ Loop:
xPos := w.left + w.lastX + lx
if xPos >= w.left+w.width {
w.lastY++
+ if w.lastY >= w.height {
+ return FillSuspend
+ }
w.lastX = 0
lx = 0
xPos = w.left
- wgr := uniseg.NewGraphemes(w.wrapSign)
+ sign := w.wrapSign
+ if w.wrapSignWidth > w.width {
+ runes, _ := util.Truncate(sign, w.width)
+ sign = string(runes)
+ }
+ wgr := uniseg.NewGraphemes(sign)
for wgr.Next() {
rs := wgr.Runes()
_screen.SetContent(w.left+lx, w.top+w.lastY, rs[0], rs[1:], style.Dim(true))