easy-help: refactoring
parent
924c075450
commit
c289aa5c38
|
@ -8,47 +8,50 @@ IN: easy-help
|
||||||
|
|
||||||
! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||||
|
|
||||||
: Description:
|
: parse-text-block ( -- array )
|
||||||
|
|
||||||
".." parse-multiline-string
|
".." parse-multiline-string
|
||||||
string-lines
|
string-lines
|
||||||
1 tail
|
1 tail
|
||||||
[ dup " " head? [ 4 tail ] [ ] if ] map
|
[ dup " " head? [ 4 tail ] [ ] if ] map
|
||||||
[ dup "" = [ drop { $nl } ] [ ] if ] map
|
[ expand-markup ] map
|
||||||
\ $description prefix
|
concat
|
||||||
parsed
|
[ dup "" = [ drop { $nl } ] [ ] if ] map ;
|
||||||
|
|
||||||
; parsing
|
! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||||
|
|
||||||
|
: Text: parse-text-block parsed ; parsing
|
||||||
|
|
||||||
|
: Block: scan-word 1array parse-text-block append parsed ; parsing
|
||||||
|
|
||||||
|
! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||||
|
|
||||||
|
: Notes: { $notes } parse-text-block append parsed ; parsing
|
||||||
|
: Description: { $description } parse-text-block append parsed ; parsing
|
||||||
|
: Contract: { $contract } parse-text-block append parsed ; parsing
|
||||||
|
: Checked-Example: { $example } parse-text-block append parsed ; parsing
|
||||||
|
|
||||||
! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||||
|
|
||||||
: Example:
|
: Example:
|
||||||
|
{ $heading "Example" }
|
||||||
|
{ $code }
|
||||||
|
parse-text-block
|
||||||
|
[ dup array? [ drop "" ] [ ] if ] map ! Each item in $code must be a string
|
||||||
|
append
|
||||||
|
2array parsed ; parsing
|
||||||
|
|
||||||
{ $heading "Example" } parsed
|
: Introduction:
|
||||||
|
|
||||||
".." parse-multiline-string
|
{ $heading "Introduction" }
|
||||||
string-lines
|
parse-text-block
|
||||||
[ dup " " head? [ 4 tail ] [ ] if ] map
|
2array parsed ; parsing
|
||||||
[ "" = not ] filter
|
|
||||||
! \ $example prefix
|
|
||||||
\ $code prefix
|
|
||||||
parsed
|
|
||||||
|
|
||||||
; parsing
|
|
||||||
|
|
||||||
! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
||||||
|
|
||||||
: Summary:
|
: Summary:
|
||||||
|
|
||||||
".." parse-multiline-string
|
{ $heading "Summary" }
|
||||||
string-lines
|
parse-text-block
|
||||||
1 tail
|
2array parsed ; parsing
|
||||||
[ dup " " head? [ 4 tail ] [ ] if ] map
|
|
||||||
[ dup "" = [ drop { $nl } ] [ ] if ] map
|
|
||||||
{ $heading "Summary" } prefix
|
|
||||||
parsed
|
|
||||||
|
|
||||||
; parsing
|
|
||||||
|
|
||||||
! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||||
|
|
||||||
|
@ -57,7 +60,7 @@ IN: easy-help
|
||||||
".." parse-multiline-string
|
".." parse-multiline-string
|
||||||
string-lines
|
string-lines
|
||||||
1 tail
|
1 tail
|
||||||
[ dup " " head? [ 4 tail ] [ ] if ] map
|
[ dup " " head? [ 4 tail ] [ ] if ] map
|
||||||
[ " " split1 [ " " first = ] trim-left 2array ] map
|
[ " " split1 [ " " first = ] trim-left 2array ] map
|
||||||
\ $values prefix
|
\ $values prefix
|
||||||
parsed
|
parsed
|
||||||
|
@ -77,35 +80,7 @@ IN: easy-help
|
||||||
|
|
||||||
! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||||
|
|
||||||
: Contract:
|
: Heading: { $heading } ".." parse-multiline-string suffix parsed ; parsing
|
||||||
|
|
||||||
".." parse-multiline-string
|
|
||||||
string-lines
|
|
||||||
1 tail
|
|
||||||
[ dup " " head? [ 4 tail ] [ ] if ] map
|
|
||||||
[ expand-markup ] map
|
|
||||||
concat
|
|
||||||
[ dup "" = [ drop { $nl } ] [ ] if ] map
|
|
||||||
\ $contract prefix
|
|
||||||
parsed
|
|
||||||
|
|
||||||
; parsing
|
|
||||||
|
|
||||||
! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
||||||
|
|
||||||
: Notes:
|
|
||||||
|
|
||||||
".." parse-multiline-string
|
|
||||||
string-lines
|
|
||||||
1 tail
|
|
||||||
[ dup " " head? [ 4 tail ] [ ] if ] map
|
|
||||||
[ expand-markup ] map
|
|
||||||
concat
|
|
||||||
[ dup "" = [ drop { $nl } ] [ ] if ] map
|
|
||||||
\ $notes prefix
|
|
||||||
parsed
|
|
||||||
|
|
||||||
; parsing
|
|
||||||
|
|
||||||
! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue