diff --git a/helper.go b/helper.go index 2a7d6b1..2952cf9 100644 --- a/helper.go +++ b/helper.go @@ -25,6 +25,11 @@ const ( AttrReverse ) +var ( + dot = "…" + dotw = rw.StringWidth(dot) +) + /* ----------------------- End ----------------------------- */ func toTmAttr(x Attribute) tm.Attribute { @@ -39,5 +44,10 @@ func trimStr2Runes(s string, w int) []rune { if w <= 0 { return []rune{} } - return []rune(rw.Truncate(s, w, "…")) + sw := rw.StringWidth(s) + if sw+dotw >= w { + return []rune(rw.Truncate(s, w, "")) + } else { + return []rune(rw.Truncate(s, w, "…")) + } }