From 940fbd5ace3afd0256a731308fe6f264b727c612 Mon Sep 17 00:00:00 2001 From: Joe Groff <joe@victoria.(none)> Date: Wed, 12 Aug 2009 10:37:09 -0400 Subject: [PATCH] see STRUCT: definitions as STRUCT: definitions --- extra/classes/struct/prettyprint/prettyprint.factor | 11 +++++++++++ extra/classes/struct/struct-tests.factor | 2 +- extra/classes/struct/struct.factor | 3 +++ 3 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 extra/classes/struct/prettyprint/prettyprint.factor diff --git a/extra/classes/struct/prettyprint/prettyprint.factor b/extra/classes/struct/prettyprint/prettyprint.factor new file mode 100644 index 0000000000..c0db8530c0 --- /dev/null +++ b/extra/classes/struct/prettyprint/prettyprint.factor @@ -0,0 +1,11 @@ +! (c)Joe Groff bsd license +USING: classes.struct kernel prettyprint.backend +prettyprint.sections see.private sequences words ; +IN: classes.struct.prettyprint + +M: struct-class see-class* + <colon \ STRUCT: pprint-word dup pprint-word + <block "struct-slots" word-prop [ pprint-slot ] each + block> pprint-; block> ; + + diff --git a/extra/classes/struct/struct-tests.factor b/extra/classes/struct/struct-tests.factor index 6e739edb5f..2c8f68c651 100644 --- a/extra/classes/struct/struct-tests.factor +++ b/extra/classes/struct/struct-tests.factor @@ -17,7 +17,7 @@ STRUCT: bar [ 123 ] [ bar new foo>> y>> ] unit-test [ 1 2 3 t ] [ - 1 2 3 t foo boa bar boa + 1 2 3 t foo boa bar boa { [ w>> ] [ foo>> x>> ] diff --git a/extra/classes/struct/struct.factor b/extra/classes/struct/struct.factor index b4132c6816..9f99a6eb22 100644 --- a/extra/classes/struct/struct.factor +++ b/extra/classes/struct/struct.factor @@ -132,3 +132,6 @@ M: struct-class heap-size SYNTAX: STRUCT: parse-struct-definition define-struct-class ; +USING: vocabs vocabs.loader ; + +"prettyprint" vocab [ "classes.struct.prettyprint" require ] when