]> gitweb.factorcode.org Git - factor.git/commitdiff
Working on error summary list
authorSlava Pestov <slava@slava-pestovs-macbook-pro.local>
Sun, 12 Apr 2009 18:24:12 +0000 (13:24 -0500)
committerSlava Pestov <slava@slava-pestovs-macbook-pro.local>
Sun, 12 Apr 2009 18:24:12 +0000 (13:24 -0500)
core/source-files/errors/errors.factor

index 90ef2edcb2150e17eb34e6b55153c635e8e8bb36..faabc6a37a4f139e6f166a370af054174348b20c 100644 (file)
@@ -1,7 +1,7 @@
 ! Copyright (C) 2009 Slava Pestov.
 ! See http://factorcode.org/license.txt for BSD license.
 USING: accessors assocs kernel math.order sorting sequences definitions
-namespaces arrays ;
+namespaces arrays splitting io math.parser math ;
 IN: source-files.errors
 
 TUPLE: source-file-error error asset file line# ;
@@ -42,6 +42,19 @@ source-file-error-types [ V{ } clone ] initialize
 : error-icon-path ( type -- icon )
     source-file-error-types get at first ;
 
+: error-summary ( -- )
+    source-file-error-types get [
+        [ name>> "+" ?head drop "+" ?tail drop ]
+        [ second call length ] bi*
+    ] assoc-map
+    [ nip 0 > ] assoc-filter
+    [
+        over
+        [ ":" write write ]
+        [ " - print " write number>string write bl ]
+        [ { { CHAR: - CHAR: \s } } substitute write "s" print ] tri*
+    ] assoc-each ;
+
 : all-errors ( -- errors )
     source-file-error-types get
     [ second second call( -- seq ) ] map