aboutsummaryrefslogtreecommitdiffstats
path: root/util/text/text.go
diff options
context:
space:
mode:
Diffstat (limited to 'util/text/text.go')
-rw-r--r--util/text/text.go11
1 files changed, 9 insertions, 2 deletions
diff --git a/util/text/text.go b/util/text/text.go
index f59bdbfb..81cc870b 100644
--- a/util/text/text.go
+++ b/util/text/text.go
@@ -89,9 +89,16 @@ func softwrapLine(line string, textWidth int) string {
width = 0
}
} else if wl > textWidth {
- left, right := splitWord(chunks[len(chunks)-1], textWidth)
- line2 += left + "\n"
+ // NOTE: By default, long words are splited to fill the remaining space.
+ // But if the long words is the first non-space word in the middle of the
+ // line, preceeding spaces shall not be counted in word spliting.
+ splitWidth := textWidth - width
+ if strings.HasSuffix(line2, "\n"+strings.Repeat(" ", width)) {
+ splitWidth += width
+ }
+ left, right := splitWord(chunks[len(chunks)-1], splitWidth)
chunks[len(chunks)-1] = right
+ line2 += left + "\n"
width = 0
} else {
line2 += "\n"