" " wrap-indented-string
] unit-test
-[ "this text\nhas lots\nof spaces" ]
+[ "this text\nhas lots of\nspaces" ]
[ "this text has lots of spaces" 12 wrap-string ] unit-test
[ "hello\nhow\nare\nyou\ntoday?" ]
[ "aaa bb\nccccccc\nddddddd" ] [ "aaa bb ccccccc ddddddd" 6 wrap-string ] unit-test
\ wrap-string must-infer
+
+[ "a b c d e f\ng h" ] [ "a b c d e f g h" 11 wrap-string ] unit-test
] each drop ; inline
: paragraph-cost ( paragraph -- cost )
- [ head-width>> deviation ]
- [ tail-cost>> ] bi + ;
+ dup lines>> 1list? [ drop 0 ] [
+ [ head-width>> deviation ]
+ [ tail-cost>> ] bi +
+ ] if ;
: min-cost ( paragraphs -- paragraph )
[ paragraph-cost ] min-by ;