retroforth/example/wordwrap.retro
crc 330d8e2340 new example: wordwrap.retro
FossilOrigin-Name: c40696930a3373d90ef709357fee4cd5a6cce02770702132a4ecea92ebeba0ad
2019-08-06 13:40:53 +00:00

16 lines
404 B
Text

This implements a variation of `s:put` which wraps text based
on a maximum width set by the user.
~~~
#80 'WrapAt var<n>
{{
'Displayed var
:wrap? dup @Displayed + @WrapAt gt? ;
:display [ nl !Displayed ] [ &Displayed v:inc-by ] choose s:put sp ;
---reveal---
:s:put<wrapped> (s-)
#0 !WrapAt
&Heap [ ASCII:SPACE s:tokenize [ dup s:length wrap? display ] a:for-each ] v:preserve ;
}}
~~~