! 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
] 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 ;
: docs-body. ( word/symbol -- )
{
+ { [ dup error-class? ] [ error-description. ] }
{ [ dup class? ] [ class-description. ] }
{ [ dup symbol? ] [ symbol-description. ] }
[ [ $values. ] [ $description. ] bi ]