mirror of
https://git.sr.ht/~crc_/retroforth
synced 2024-11-16 19:48:56 +01:00
330d8e2340
FossilOrigin-Name: c40696930a3373d90ef709357fee4cd5a6cce02770702132a4ecea92ebeba0ad
16 lines
404 B
Text
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 ;
|
|
}}
|
|
~~~
|