]> gitweb.factorcode.org Git - factor.git/commitdiff
tools.scaffold: adding scaffold for error classes.
authorJohn Benediktsson <mrjbq7@gmail.com>
Thu, 15 Mar 2018 03:27:17 +0000 (20:27 -0700)
committerJohn Benediktsson <mrjbq7@gmail.com>
Thu, 15 Mar 2018 03:27:17 +0000 (20:27 -0700)
basis/tools/scaffold/scaffold.factor

index 9a49554eb5631ba8be37010a7af927a94398bff1..6add7a9083e1eec9aefb63eb535e77988b71b994 100644 (file)
@@ -1,11 +1,11 @@
 ! Copyright (C) 2008 Doug Coleman.
 ! See http://factorcode.org/license.txt for BSD license.
 USING: accessors alien arrays assocs byte-arrays calendar
-classes combinators combinators.short-circuit fry hashtables
-help.markup interpolate io io.directories io.encodings.utf8
-io.files io.pathnames io.streams.string kernel math math.parser
-namespaces prettyprint quotations sequences sets sorting
-splitting strings system timers unicode urls vocabs
+classes classes.error combinators combinators.short-circuit fry
+hashtables help.markup interpolate io io.directories
+io.encodings.utf8 io.files io.pathnames io.streams.string kernel
+math math.parser namespaces prettyprint quotations sequences
+sets sorting splitting strings system timers unicode urls vocabs
 vocabs.loader vocabs.metadata words words.symbol ;
 IN: tools.scaffold
 
@@ -183,6 +183,13 @@ M: object add-using ( object -- )
         ] if
     ] when* ;
 
+: error-description. ( word -- )
+    [ $values. ] [
+        "{ $description \"Throws " write
+        name>> dup a/an write " \" { $link " write
+        write " } \" error.\" }" print
+    ] bi "{ $error-description \"\" } ;" print ;
+
 : class-description. ( word -- )
     drop "{ $class-description \"\" } ;" print ;
 
@@ -194,6 +201,7 @@ M: object add-using ( object -- )
 
 : docs-body. ( word/symbol -- )
     {
+        { [ dup error-class? ] [ error-description. ] }
         { [ dup class? ] [ class-description. ] }
         { [ dup symbol? ] [ symbol-description. ] }
         [ [ $values. ] [ $description. ] bi ]