wrap-indented-string ( string width indent -- newstring ) (original) (raw)
wrap-indented-string ( string width indent -- newstring )
String word wrapping
Prev: | wrap-string ( string width -- newstring ) |
---|
Inputs
string | a string |
---|---|
width | an integer |
indent | string or integer |
Outputs
newstring | a string |
---|
Word description
Given a string, alters the whitespace in the string so that each line has no more than width characters, unless there is a word longer than width. Linear whitespace between words is converted to a single space. The indent can be either a string or a number of spaces to prepend to each line.
Definition
USING: kernel math sequences splitting wrap.strings.private ;
: wrap-indented-string ( string width indent -- newstring )
make-indent [ length - wrap-lines ] keep over empty?
[ nip ] [ [ prepend ] curry map! join-lines ] if ;