Merge pull request #1342 from def-/wordwrap-change
Change wordwrap to remove separators at newlines
This commit is contained in:
commit
45bf087ce7
1 changed files with 7 additions and 1 deletions
|
|
@ -535,7 +535,12 @@ proc wordWrap*(s: string, maxLineWidth = 80,
|
||||||
## word wraps `s`.
|
## word wraps `s`.
|
||||||
result = newStringOfCap(s.len + s.len shr 6)
|
result = newStringOfCap(s.len + s.len shr 6)
|
||||||
var spaceLeft = maxLineWidth
|
var spaceLeft = maxLineWidth
|
||||||
|
var lastSep = ""
|
||||||
for word, isSep in tokenize(s, seps):
|
for word, isSep in tokenize(s, seps):
|
||||||
|
if isSep:
|
||||||
|
lastSep = word
|
||||||
|
spaceLeft = spaceLeft - len(word)
|
||||||
|
continue
|
||||||
if len(word) > spaceLeft:
|
if len(word) > spaceLeft:
|
||||||
if splitLongWords and len(word) > maxLineWidth:
|
if splitLongWords and len(word) > maxLineWidth:
|
||||||
result.add(substr(word, 0, spaceLeft-1))
|
result.add(substr(word, 0, spaceLeft-1))
|
||||||
|
|
@ -554,7 +559,8 @@ proc wordWrap*(s: string, maxLineWidth = 80,
|
||||||
result.add(word)
|
result.add(word)
|
||||||
else:
|
else:
|
||||||
spaceLeft = spaceLeft - len(word)
|
spaceLeft = spaceLeft - len(word)
|
||||||
result.add(word)
|
result.add(lastSep & word)
|
||||||
|
lastSep.setLen(0)
|
||||||
|
|
||||||
proc unindent*(s: string, eatAllIndent = false): string {.
|
proc unindent*(s: string, eatAllIndent = false): string {.
|
||||||
noSideEffect, rtl, extern: "nsuUnindent".} =
|
noSideEffect, rtl, extern: "nsuUnindent".} =
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue