]> gitweb.factorcode.org Git - factor-unmaintained.git/blobdiff - fonts/syntax/syntax.factor
unmaintained: New home for misfit Factor vocabularies.
[factor-unmaintained.git] / fonts / syntax / syntax.factor
diff --git a/fonts/syntax/syntax.factor b/fonts/syntax/syntax.factor
new file mode 100644 (file)
index 0000000..34ccbc8
--- /dev/null
@@ -0,0 +1,16 @@
+USING: accessors arrays variants combinators io.styles
+kernel math parser sequences fry ;
+IN: fonts.syntax
+
+VARIANT: fontname serif monospace ;
+
+: install ( object quot -- quot/? ) over [ curry ] [ 2drop [ ] ] if ;
+
+: >>name* ( object fontname -- object ) name>> >>name ;
+
+SYNTAX: FONT: \ ; parse-until {
+    [ [ number? ] find nip [ >>size ] install ]
+    [ [ italic = ] find nip [ >>italic? ] install ]
+    [ [ bold = ] find nip [ >>bold? ] install ]
+    [ [ fontname? ] find nip [ >>name* ] install ]
+} cleave 4array concat '[ dup font>> @ drop ] append! ;