tools.scaffold: adding scaffold for error classes.

paths
John Benediktsson 2018-03-14 20:27:17 -07:00
parent c4f9ae8071
commit 1685c4537c
1 changed files with 13 additions and 5 deletions

View File

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