From 924c0754505814ab37880ed8660cce2a1e32a8e9 Mon Sep 17 00:00:00 2001 From: Eduardo Cavazos Date: Thu, 25 Dec 2008 05:34:36 -0600 Subject: [PATCH 1/4] Fix typo in help for '$values' --- basis/help/help-docs.factor | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/basis/help/help-docs.factor b/basis/help/help-docs.factor index 4a06235c69..a699747048 100644 --- a/basis/help/help-docs.factor +++ b/basis/help/help-docs.factor @@ -327,7 +327,7 @@ HELP: $table HELP: $values { $values { "element" "an array of pairs of markup elements" } } -{ $description "Prints the description of arguments and values found on every word help page. The first element of a pair is the argument name and is output with " { $link $snippet } ". The remainder is either a single class word, or an element. If it is a class word " { $snippet "class" } ", it is intereted as if it were shorthand for " { $snippet "{ $instance class }" } "." } +{ $description "Prints the description of arguments and values found on every word help page. The first element of a pair is the argument name and is output with " { $link $snippet } ". The remainder is either a single class word, or an element. If it is a class word " { $snippet "class" } ", it is inserted as if it were shorthand for " { $snippet "{ $instance class }" } "." } { $see-also $maybe $instance $quotation } ; HELP: $instance From c289aa5c38a530c50d9bfb2be3a89d79c7728158 Mon Sep 17 00:00:00 2001 From: Eduardo Cavazos Date: Thu, 25 Dec 2008 06:24:50 -0600 Subject: [PATCH 2/4] easy-help: refactoring --- extra/easy-help/easy-help.factor | 93 ++++++++++++-------------------- 1 file changed, 34 insertions(+), 59 deletions(-) diff --git a/extra/easy-help/easy-help.factor b/extra/easy-help/easy-help.factor index 824a638fd4..6f299d6c37 100644 --- a/extra/easy-help/easy-help.factor +++ b/extra/easy-help/easy-help.factor @@ -8,47 +8,50 @@ IN: easy-help ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -: Description: - +: parse-text-block ( -- array ) + ".." parse-multiline-string string-lines 1 tail - [ dup " " head? [ 4 tail ] [ ] if ] map - [ dup "" = [ drop { $nl } ] [ ] if ] map - \ $description prefix - parsed - - ; parsing + [ dup " " head? [ 4 tail ] [ ] if ] map + [ expand-markup ] map + concat + [ dup "" = [ drop { $nl } ] [ ] if ] map ; + +! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +: 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: + { $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 - string-lines - [ dup " " head? [ 4 tail ] [ ] if ] map - [ "" = not ] filter - ! \ $example prefix - \ $code prefix - parsed - - ; parsing - -! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + { $heading "Introduction" } + parse-text-block + 2array 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 + { $heading "Summary" } + parse-text-block + 2array parsed ; parsing ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! @@ -57,7 +60,7 @@ IN: easy-help ".." parse-multiline-string string-lines 1 tail - [ dup " " head? [ 4 tail ] [ ] if ] map + [ dup " " head? [ 4 tail ] [ ] if ] map [ " " split1 [ " " first = ] trim-left 2array ] map \ $values prefix parsed @@ -77,35 +80,7 @@ IN: easy-help ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -: Contract: - - ".." 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 +: Heading: { $heading } ".." parse-multiline-string suffix parsed ; parsing ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! From 2f51b5e4f0df9278d5efce7c33b21a4f5574132e Mon Sep 17 00:00:00 2001 From: Eduardo Cavazos Date: Thu, 25 Dec 2008 06:41:39 -0600 Subject: [PATCH 3/4] easy-help: add 'Class-Description:' --- extra/easy-help/easy-help.factor | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/extra/easy-help/easy-help.factor b/extra/easy-help/easy-help.factor index 6f299d6c37..ddb8f210e4 100644 --- a/extra/easy-help/easy-help.factor +++ b/extra/easy-help/easy-help.factor @@ -31,8 +31,20 @@ IN: easy-help : Contract: { $contract } parse-text-block append parsed ; parsing : Checked-Example: { $example } parse-text-block append parsed ; parsing +: Class-Description: + { $class-description } parse-text-block append parsed ; parsing + ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +: Code: + + { $code } + parse-text-block [ dup array? [ drop "" ] [ ] if ] map + append + parsed + + ; parsing + : Example: { $heading "Example" } { $code } From 321919d210182f30d0ca63fc4cd67c137118f0f4 Mon Sep 17 00:00:00 2001 From: Eduardo Cavazos Date: Thu, 25 Dec 2008 07:55:04 -0600 Subject: [PATCH 4/4] easy-help: Add 'List:' --- extra/easy-help/easy-help.factor | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/extra/easy-help/easy-help.factor b/extra/easy-help/easy-help.factor index ddb8f210e4..151e66380d 100644 --- a/extra/easy-help/easy-help.factor +++ b/extra/easy-help/easy-help.factor @@ -96,3 +96,16 @@ IN: easy-help ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +: List: + + { $list } + + ".." parse-multiline-string + string-lines + 1 tail + [ dup " " head? [ 4 tail ] [ ] if ] map + [ expand-markup ] map + + append parsed + + ; parsing