factor/library/help/help.factor

61 lines
1.4 KiB
Factor
Raw Normal View History

! Copyright (C) 2005, 2006 Slava Pestov.
! See http://factorcode.org/license.txt for BSD license.
2005-12-01 00:53:12 -05:00
IN: help
2006-06-17 01:03:56 -04:00
USING: arrays io kernel namespaces prettyprint sequences words ;
M: word article-title
dup word-name swap stack-effect [ " " swap append3 ] when* ;
M: word article-content
[
2006-06-17 01:18:46 -04:00
\ $vocabulary over 2array ,
2006-06-22 22:36:56 -04:00
dup word-help [
2006-06-17 01:03:56 -04:00
%
] [
"predicating" word-prop [
\ $predicate swap 2array ,
] when*
] ?if
] { } make ;
2006-06-16 23:12:40 -04:00
: $title ( article -- )
title-style [
title-style [
2006-08-02 16:53:26 -04:00
dup [ 1array $link ] ($block) $doc-path
] with-nesting
] with-style terpri ;
2006-06-16 23:12:40 -04:00
: (help) ( topic -- ) article-content print-content ;
2006-06-17 01:03:56 -04:00
: help ( topic -- ) dup $title (help) terpri ;
2005-12-28 20:25:17 -05:00
2006-06-17 01:03:56 -04:00
: see-help ( word -- )
2006-06-26 03:08:35 -04:00
dup help terpri $definition terpri ;
2006-06-17 01:03:56 -04:00
2006-01-19 03:28:10 -05:00
: handbook ( -- ) "handbook" help ;
2006-06-17 01:03:56 -04:00
: $subtopic ( object -- )
[
subtopic-style [
unclip f rot [ print-content ] curry write-outliner
] with-style
] ($block) ;
: ($subsection) ( object -- )
[ article-title ] keep >link
dup [ (help) ] curry
write-outliner ;
2006-06-17 01:03:56 -04:00
: $subsection ( object -- )
[
subsection-style [ first ($subsection) ] with-style
] ($block) ;
2006-08-15 16:29:35 -04:00
: help-outliner ( seq -- )
subsection-style [
sort-articles [ ($subsection) terpri ] each
] with-style ;
2006-06-17 01:03:56 -04:00
: $outliner ( content -- )
first call help-outliner ;