2008-12-22 16:43:01 -05:00
|
|
|
|
2008-12-23 22:57:34 -05:00
|
|
|
USING: kernel multiline parser arrays
|
|
|
|
sequences splitting grouping help.markup ;
|
2008-12-22 16:43:01 -05:00
|
|
|
|
|
|
|
IN: easy-help
|
|
|
|
|
|
|
|
! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
|
|
|
|
|
|
: Description:
|
|
|
|
|
|
|
|
".." parse-multiline-string
|
|
|
|
string-lines
|
|
|
|
1 tail
|
|
|
|
[ dup " " head? [ 4 tail ] [ ] if ] map
|
|
|
|
[ dup "" = [ drop { $nl } ] [ ] if ] map
|
|
|
|
\ $description prefix
|
|
|
|
parsed
|
|
|
|
|
|
|
|
; parsing
|
|
|
|
|
|
|
|
! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
|
|
|
|
|
|
: Example:
|
|
|
|
|
|
|
|
{ $heading "Example" } parsed
|
|
|
|
|
|
|
|
".." parse-multiline-string
|
|
|
|
string-lines
|
|
|
|
[ dup " " head? [ 4 tail ] [ ] if ] map
|
|
|
|
[ "" = not ] filter
|
|
|
|
! \ $example prefix
|
|
|
|
\ $code prefix
|
|
|
|
parsed
|
|
|
|
|
|
|
|
; parsing
|
|
|
|
|
|
|
|
! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
|
|
|
|
|
|
: Summary:
|
|
|
|
|
|
|
|
".." parse-multiline-string
|
|
|
|
string-lines
|
|
|
|
1 tail
|
|
|
|
[ dup " " head? [ 4 tail ] [ ] if ] map
|
|
|
|
[ dup "" = [ drop { $nl } ] [ ] if ] map
|
|
|
|
{ $heading "Summary" } prefix
|
|
|
|
parsed
|
|
|
|
|
|
|
|
; parsing
|
2008-12-23 03:28:39 -05:00
|
|
|
|
|
|
|
! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
|
|
|
|
|
|
: Values:
|
|
|
|
|
|
|
|
".." parse-multiline-string
|
2008-12-23 22:57:34 -05:00
|
|
|
string-lines
|
|
|
|
1 tail
|
|
|
|
[ dup " " head? [ 4 tail ] [ ] if ] map
|
|
|
|
[ " " split1 [ " " first = ] trim-left 2array ] map
|
2008-12-23 03:28:39 -05:00
|
|
|
\ $values prefix
|
|
|
|
parsed
|
|
|
|
|
2008-12-23 22:57:34 -05:00
|
|
|
; parsing
|
|
|
|
|
|
|
|
|
|
|
|
|