Add 'easy-help.expand-markup'
parent
4fd6242ae3
commit
15202a9cf2
|
@ -0,0 +1,47 @@
|
||||||
|
|
||||||
|
USING: accessors arrays kernel lexer locals math namespaces parser
|
||||||
|
sequences splitting ;
|
||||||
|
|
||||||
|
IN: easy-help.expand-markup
|
||||||
|
|
||||||
|
! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||||
|
|
||||||
|
: scan-one-array ( string -- array rest )
|
||||||
|
string-lines
|
||||||
|
lexer-factory get call
|
||||||
|
[
|
||||||
|
[
|
||||||
|
\ } parse-until >array
|
||||||
|
lexer get line-text>>
|
||||||
|
lexer get column>> tail
|
||||||
|
]
|
||||||
|
with-lexer
|
||||||
|
]
|
||||||
|
with-scope ;
|
||||||
|
|
||||||
|
! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||||
|
|
||||||
|
: contains-markup? ( string -- ? ) "{ $" swap subseq? ;
|
||||||
|
|
||||||
|
! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||||
|
|
||||||
|
:: expand-markup ( LINE -- lines )
|
||||||
|
|
||||||
|
LINE contains-markup?
|
||||||
|
[
|
||||||
|
|
||||||
|
[let | N [ "{ $" LINE start ] |
|
||||||
|
|
||||||
|
LINE N head
|
||||||
|
|
||||||
|
LINE N 2 + tail scan-one-array dup " " head? [ 1 tail ] [ ] if
|
||||||
|
|
||||||
|
[ 2array ] dip
|
||||||
|
|
||||||
|
expand-markup
|
||||||
|
|
||||||
|
append ]
|
||||||
|
|
||||||
|
]
|
||||||
|
[ LINE 1array ]
|
||||||
|
if ;
|
Loading…
Reference in New Issue