]> gitweb.factorcode.org Git - factor.git/commitdiff
tools.scaffold: make scaffold-docs work on strings, seqs, words
authorDoug Coleman <doug.coleman@gmail.com>
Sat, 25 Feb 2023 21:14:02 +0000 (15:14 -0600)
committerDoug Coleman <doug.coleman@gmail.com>
Sun, 26 Feb 2023 23:11:05 +0000 (17:11 -0600)
basis/tools/scaffold/scaffold.factor

index 4d956fc6f4d6b74ec0b8ca463dd1b412d0c23dc5..06dd4495a682b216be9ee3c4196e80cff512c379 100644 (file)
@@ -213,16 +213,20 @@ M: object add-using
 : docs-header. ( word -- )
     "HELP: " write name>> print ;
 
-: (help.) ( word -- )
-    [ docs-header. ] [ docs-body. ] bi ;
-
 : interesting-words ( vocab -- array )
     vocab-words
     [ { [ "help" word-prop ] [ predicate? ] } 1|| ] reject
     sort ;
 
+PRIVATE>
+
+: scaffold-word-docs ( word -- )
+    [ docs-header. ] [ docs-body. ] bi ;
+
+<PRIVATE
+
 : interesting-words. ( vocab -- )
-    interesting-words [ (help.) nl ] each ;
+    interesting-words [ scaffold-word-docs nl ] each ;
 
 : docs-file-string ( vocab -- str2 )
     [
@@ -264,9 +268,11 @@ M: object add-using
 PRIVATE>
 
 : help. ( word -- )
-    [ (help.) ] [ nl vocabulary>> link-vocab ] bi ;
+    [ scaffold-word-docs ] [ nl vocabulary>> link-vocab ] bi ;
 
-: scaffold-docs ( vocab -- )
+GENERIC: scaffold-docs ( obj -- )
+
+M: string scaffold-docs ( vocab -- )
     ensure-vocab-exists
     [
         dup "-docs.factor" vocab/suffix>path scaffolding? [
@@ -276,6 +282,9 @@ PRIVATE>
         ] if
     ] with-scaffold ;
 
+M: sequence scaffold-docs [ scaffold-word-docs nl ] each ;
+M: word scaffold-docs scaffold-word-docs ;
+
 : scaffold-undocumented ( string -- )
     [ interesting-words. ] [ link-vocab ] bi ;