diff --git a/basis/tools/scaffold/scaffold.factor b/basis/tools/scaffold/scaffold.factor index 50e02b93a5..84636dc106 100644 --- a/basis/tools/scaffold/scaffold.factor +++ b/basis/tools/scaffold/scaffold.factor @@ -146,16 +146,14 @@ ERROR: no-vocab vocab ; : help-header. ( word -- ) "HELP: " write name>> print ; -PRIVATE> -: help. ( word -- ) +: (help.) ( word -- ) [ help-header. ] [ $values. ] [ $description. ] tri ; - dup find-vocab-root [ no-vocab ] unless ; PRIVATE> +: link-vocab ( vocab -- ) + check-vocab + "Edit documentation: " write + [ find-vocab-root ] keep + [ append-path ] keep "-docs.factor" append append-path + . ; + +: help. ( word -- ) + [ (help.) ] [ nl vocabulary>> link-vocab ] bi ; : scaffold-help ( vocab-root string -- ) [ @@ -199,9 +206,10 @@ PRIVATE> ] with-scaffold ; : scaffold-undocumented ( string -- ) - words + dup words [ [ "help" word-prop ] [ predicate? ] bi or not ] filter - natural-sort [ help. nl ] each ; + natural-sort [ (help.) nl ] each + link-vocab ; : scaffold-vocab ( vocab-root string -- ) prepare-scaffold