From b27943423e1cde31a7f27c7b031d7fa108cf9c14 Mon Sep 17 00:00:00 2001 From: Junegunn Choi Date: Sat, 17 May 2025 11:24:53 +0900 Subject: Show ellipsis for truncated labels Close #4390 --- src/terminal.go | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/terminal.go b/src/terminal.go index a79d166f..094d3c91 100644 --- a/src/terminal.go +++ b/src/terminal.go @@ -1235,9 +1235,14 @@ func (t *Terminal) ansiLabelPrinter(str string, color *tui.ColorPair, fill bool) return nil, 0 } printFn := func(window tui.Window, limit int) { - if length > limit { - trimmedRunes, _ := t.trimRight(runes, limit) - window.CPrint(*color, string(trimmedRunes)) + ellipsis := []rune{} + ellipsisWidth := 0 + if !fill { + ellipsis, ellipsisWidth = util.Truncate(t.ellipsis, limit) + } + if length > limit-ellipsisWidth { + trimmedRunes, _ := t.trimRight(runes, limit-ellipsisWidth) + window.CPrint(*color, string(trimmedRunes)+string(ellipsis)) } else if fill { window.CPrint(*color, util.RepeatToFill(text, length, limit)) } else { -- cgit v1.2.3