]> gitweb.factorcode.org Git - factor.git/commitdiff
misc: update number and string literals in Factor.tmbundle syntax.
authorJohn Benediktsson <mrjbq7@gmail.com>
Tue, 25 Nov 2014 20:44:53 +0000 (12:44 -0800)
committerJohn Benediktsson <mrjbq7@gmail.com>
Tue, 25 Nov 2014 20:44:53 +0000 (12:44 -0800)
misc/Factor.tmbundle/Syntaxes/Factor.tmLanguage

index d71e5a8f35939c82c57b9f4b43aaadde24c33cd7..d9e9d9967c49a73a46238437ca0181a42a4afeb4 100644 (file)
@@ -37,7 +37,7 @@
                                </dict>
                        </dict>
                        <key>match</key>
-                       <string>(^|(?&lt;=\s))(:)\s+([^\s]+)\s</string>
+                       <string>(^|(?&lt;=\s))(::?)\s+([^\s]+)\s</string>
                        <key>name</key>
                        <string>definition.word.factor</string>
                </dict>
                                        <key>name</key>
                                        <string>keyword.colon.factor</string>
                                </dict>
-                               <key>4</key>
+                               <key>3</key>
+                               <dict>
+                                       <key>name</key>
+                                       <string>entity.name.generic.factor</string>
+                               </dict>
+                               <key>5</key>
+                               <dict>
+                                       <key>name</key>
+                                       <string>comment.stack-effect.factor</string>
+                               </dict>
+                       </dict>
+                       <key>match</key>
+                       <string>(^|(?&lt;=\s))(GENERIC:)\s+([^\s]+)\s</string>
+                       <key>name</key>
+                       <string>definition.word.generic.factor</string>
+               </dict>
+               <dict>
+                       <key>captures</key>
+                       <dict>
+                               <key>2</key>
+                               <dict>
+                                       <key>name</key>
+                                       <string>keyword.colon.factor</string>
+                               </dict>
+                               <key>3</key>
                                <dict>
                                        <key>name</key>
                                        <string>entity.name.generic.factor</string>
                                </dict>
                        </dict>
                        <key>match</key>
-                       <string>(^|(?&lt;=\s))(G(ENERIC)?:)\s+([^\s]+)\s</string>
+                       <string>(^|(?&lt;=\s))(GENERIC#)\s+([^\s]+)\s(\d+)\s</string>
                        <key>name</key>
                        <string>definition.word.generic.factor</string>
                </dict>
                                </dict>
                        </dict>
                        <key>match</key>
-                       <string>(^|(?&lt;=\s))(TUPLE:)\s+([^\s]+)\s+(([^\s]+)+)</string>
+                       <string>(^|(?&lt;=\s))(TUPLE:|BUILTIN:)\s+([^\s]+)\s+(([^\s]+)+)</string>
                        <key>name</key>
                        <string>meta.class.factor</string>
                </dict>
                <dict>
                        <key>match</key>
-                       <string>(^|(?&lt;=\s))(drop|2drop|3drop|keep|2keep|3keep|nip|2nip|dup|2dup|3dup|dupd|over|pick|tuck|swap|rot|-rot|roll|-roll|slip|2swap|swapd|&gt;r|r&gt;)(\s|$)</string>
+                       <string>(^|(?&lt;=\s))(&gt;boolean|&lt;wrapper&gt;|\(clone\)|-rot|2bi|2bi@|2bi\*|2curry|2dip|2drop|2dup|2keep|2nip|2over|2tri|2tri@|2tri\*|2with|3bi|3curry|3dip|3drop|3dup|3keep|3tri|4dip|4drop|4dup|4keep|=|\?|\?if|and|assert|assert=|assert\?|bi|bi-curry|bi-curry@|bi-curry\*|bi@|bi\*|boa|boolean|boolean\?|both\?|build|call|callstack|callstack&gt;array|callstack\?|clear|clone|compose|compose\?|curry|curry\?|datastack|die|dip|do|drop|dup|dupd|either\?|eq\?|equal\?|execute|hashcode|hashcode\*|identity-hashcode|identity-tuple|identity-tuple\?|if|if\*|keep|loop|most|new|nip|not|null|object|or|over|pick|prepose|retainstack|rot|same\?|swap|swapd|throw|tri|tri-curry|tri-curry@|tri-curry\*|tri@|tri\*|tuple|tuple\?|unless|unless\*|until|when|when\*|while|with|wrapper|wrapper\?|xor)(\s|$)</string>
                        <key>name</key>
-                       <string>keyword.control.stack.factor</string>
+                       <string>keyword.control.kernel.factor</string>
                </dict>
                <dict>
                        <key>match</key>
-                       <string>(^|(?&lt;=\s))(get|set)(\s|$)</string>
+                       <string>(^|(?&lt;=\s))(\+@|change|change-global|counter|dec|get|get-global|global|inc|init-namespaces|initialize|is-global|namespace|namestack|off|on|set|set-global|set-namestack|toggle|with-global|with-scope|with-variable|with-variables)(\s|$)</string>
                        <key>name</key>
-                       <string>keyword.control.variable.factor</string>
+                       <string>keyword.control.namespaces.factor</string>
                </dict>
                <dict>
                        <key>match</key>
-                       <string>(^|(?&lt;=\s))(if|when|unless|if*|unless*|when*)\*?(\s|$)</string>
+                       <string>(^|(?&lt;=\s))(&gt;alist|&lt;enum&gt;|2cache|\?at|\?of|assoc|assoc&gt;map|assoc-all\?|assoc-any\?|assoc-clone-like|assoc-combine|assoc-diff|assoc-diff!|assoc-differ|assoc-each|assoc-empty\?|assoc-filter|assoc-filter!|assoc-filter-as|assoc-find|assoc-hashcode|assoc-intersect|assoc-like|assoc-map|assoc-map-as|assoc-partition|assoc-refine|assoc-size|assoc-stack|assoc-subset\?|assoc-union|assoc-union!|assoc=|assoc\?|at|at\*|at\+|cache|change-at|clear-assoc|delete-at|delete-at\*|enum|enum\?|extract-keys|inc-at|key\?|keys|map&gt;assoc|maybe-set-at|new-assoc|of|push-at|rename-at|set-at|sift-keys|sift-values|substitute|unzip|value-at|value-at\*|value\?|values|zip|zip-as|zip-index|zip-index-as)(\s|$)</string>
                        <key>name</key>
-                       <string>keyword.control.flow.factor</string>
+                       <string>keyword.control.assocs.factor</string>
                </dict>
                <dict>
-                       <key>begin</key>
-                       <string>(^|(?&lt;=\s))(USING:)</string>
-                       <key>end</key>
-                       <string>(?&lt;=\s);(\s|$)</string>
+                       <key>match</key>
+                       <string>(^|(?&lt;=\s))(2cleave|2cleave&gt;quot|3cleave|3cleave&gt;quot|4cleave|4cleave&gt;quot|alist&gt;quot|call-effect|case|case&gt;quot|case-find|cleave|cleave&gt;quot|cond|cond&gt;quot|deep-spread&gt;quot|execute-effect|linear-case-quot|no-case|no-case\?|no-cond|no-cond\?|recursive-hashcode|shallow-spread&gt;quot|spread|to-fixed-point|wrong-values|wrong-values\?)(\s|$)</string>
                        <key>name</key>
-                       <string>keyword.control.using.factor</string>
-                       <key>patterns</key>
-                       <array>
-                               <dict>
-                                       <key>match</key>
-                                       <string>(^|(?&lt;=\s))[^\s]+(\s|$)</string>
-                                       <key>name</key>
-                                       <string>constant.namespace.factor</string>
-                               </dict>
-                       </array>
+                       <string>keyword.control.combinators.factor</string>
+               </dict>
+               <dict>
+                       <key>match</key>
+                       <string>(^|(?&lt;=\s))(&gt;|&gt;=|&gt;bignum|&gt;fixnum|&gt;float|&gt;integer|&lt;|&lt;=|&lt;fp-nan&gt;|\(all-integers\?\)|\(each-integer\)|\(find-integer\)|-|/|/f|/i|/mod|2/|2^|\*|\+|\?1\+|abs|align|all-integers\?|bignum|bignum\?|bit\?|bitand|bitnot|bitor|bits&gt;double|bits&gt;float|bitxor|complex|complex\?|denominator|double&gt;bits|each-integer|even\?|find-integer|find-last-integer|fixnum|fixnum\?|float|float&gt;bits|float\?|fp-bitwise=|fp-infinity\?|fp-nan-payload|fp-nan\?|fp-qnan\?|fp-sign|fp-snan\?|fp-special\?|if-zero|imaginary-part|integer|integer&gt;fixnum|integer&gt;fixnum-strict|integer\?|log2|log2-expects-positive|log2-expects-positive\?|mod|neg|neg\?|next-float|next-power-of-2|number|number=|number\?|numerator|odd\?|power-of-2\?|prev-float|ratio|ratio\?|rational|rational\?|real|real-part|real\?|recip|rem|sgn|shift|sq|times|u&gt;|u&gt;=|u&lt;|u&lt;=|unless-zero|unordered\?|when-zero|zero\?)(\s|$)</string>
+                       <key>name</key>
+                       <string>keyword.control.math.factor</string>
+               </dict>
+               <dict>
+                       <key>match</key>
+                       <string>(^|(?&lt;=\s))(&lt;repetition&gt;|&lt;reversed&gt;|&lt;slice&gt;|1sequence|2all\?|2each|2map|2map-as|2map-reduce|2reduce|2selector|2sequence|3append|3append-as|3each|3map|3map-as|3sequence|4sequence|\?first|\?last|\?nth|\?second|\?set-nth|accumulate|accumulate!|accumulate-as|all\?|any\?|append|append!|append-as|assert-sequence|assert-sequence=|assert-sequence\?|binary-reduce|bounds-check|bounds-check\?|bounds-error|bounds-error\?|but-last|but-last-slice|cartesian-each|cartesian-map|cartesian-product|change-nth|check-slice|check-slice-error|clone-like|collapse-slice|collector|collector-for|concat|concat-as|copy|count|cut|cut-slice|cut\*|delete-all|delete-slice|drop-prefix|each|each-from|each-index|empty\?|exchange|filter|filter!|filter-as|find|find-from|find-index|find-index-from|find-last|find-last-from|first|first2|first3|first4|flip|follow|fourth|glue|halves|harvest|head|head-slice|head-slice\*|head\*|head\?|if-empty|immutable|immutable-sequence|immutable-sequence\?|immutable\?|index|index-from|indices|infimum|infimum-by|insert-nth|interleave|iota|iota-tuple|iota-tuple\?|join|join-as|last|last-index|last-index-from|length|lengthen|like|longer|longer\?|longest|map|map!|map-as|map-find|map-find-last|map-index|map-index-as|map-integers|map-reduce|map-sum|max-length|member-eq\?|member\?|midpoint@|min-length|mismatch|move|new-like|new-resizable|new-sequence|non-negative-integer-expected|non-negative-integer-expected\?|nth|nths|pad-head|pad-tail|padding|partition|pop|pop\*|prefix|prepend|prepend-as|produce|produce-as|product|push|push-all|push-either|push-if|reduce|reduce-index|remove|remove!|remove-eq|remove-eq!|remove-nth|remove-nth!|repetition|repetition\?|replace-slice|replicate|replicate-as|rest|rest-slice|reverse|reverse!|reversed|reversed\?|second|selector|selector-for|sequence|sequence-hashcode|sequence=|sequence\?|set-first|set-fourth|set-last|set-length|set-nth|set-second|set-third|short|shorten|shorter|shorter\?|shortest|sift|slice|slice-error|slice-error\?|slice\?|snip|snip-slice|start|start\*|subseq|subseq\?|suffix|suffix!|sum|sum-lengths|supremum|supremum-by|surround|tail|tail-slice|tail-slice\*|tail\*|tail\?|third|trim|trim-head|trim-head-slice|trim-slice|trim-tail|trim-tail-slice|unclip|unclip-last|unclip-last-slice|unclip-slice|unless-empty|virtual-exemplar|virtual-sequence|virtual-sequence\?|virtual@|when-empty)(\s|$)</string>
+                       <key>name</key>
+                       <string>keyword.control.sequences.factor</string>
+               </dict>
+               <dict>
+                       <key>match</key>
+                       <string>(^|(?&lt;=\s))(&gt;array|&lt;array&gt;|1array|2array|3array|4array|array|array\?|pair|pair\?|resize-array)(\s|$)</string>
+                       <key>name</key>
+                       <string>keyword.control.arrays.factor</string>
+               </dict>
+               <dict>
+                       <key>match</key>
+                       <string>(^|(?&lt;=\s))(\(each-stream-block-slice\)|\(each-stream-block\)|\(stream-contents-by-block\)|\(stream-contents-by-element\)|\(stream-contents-by-length-or-block\)|\(stream-contents-by-length\)|\+byte\+|\+character\+|bad-seek-type|bad-seek-type\?|bl|contents|each-block|each-block-size|each-block-slice|each-line|each-morsel|each-stream-block|each-stream-block-slice|each-stream-line|error-stream|flush|input-stream|input-stream\?|invalid-read-buffer|invalid-read-buffer\?|lines|nl|output-stream|output-stream\?|print|read|read-into|read-partial|read-partial-into|read-until|read1|readln|seek-absolute|seek-absolute\?|seek-end|seek-end\?|seek-input|seek-output|seek-relative|seek-relative\?|stream-bl|stream-contents|stream-contents\*|stream-copy|stream-copy\*|stream-element-type|stream-flush|stream-length|stream-lines|stream-nl|stream-print|stream-read|stream-read-into|stream-read-partial|stream-read-partial-into|stream-read-partial-unsafe|stream-read-unsafe|stream-read-until|stream-read1|stream-readln|stream-seek|stream-seekable\?|stream-tell|stream-write|stream-write1|tell-input|tell-output|with-error&gt;output|with-error-stream|with-error-stream\*|with-input-output\+error-streams|with-input-output\+error-streams\*|with-input-stream|with-input-stream\*|with-output&gt;error|with-output-stream|with-output-stream\*|with-output\+error-stream|with-output\+error-stream\*|with-streams|with-streams\*|write|write1)(\s|$)</string>
+                       <key>name</key>
+                       <string>keyword.control.io.factor</string>
+               </dict>
+               <dict>
+                       <key>match</key>
+                       <string>(^|(?&lt;=\s))(&gt;string|&lt;string&gt;|1string|resize-string|string|string\?)(\s|$)</string>
+                       <key>name</key>
+                       <string>keyword.control.strings.factor</string>
+               </dict>
+               <dict>
+                       <key>match</key>
+                       <string>(^|(?&lt;=\s))(&gt;vector|&lt;vector&gt;|1vector|\?push|vector|vector\?)(\s|$)</string>
+                       <key>name</key>
+                       <string>keyword.control.vectors.factor</string>
+               </dict>
+               <dict>
+                       <key>match</key>
+                       <string>(^|(?&lt;=\s))(&lt;condition&gt;|&lt;continuation&gt;|&lt;restart&gt;|attempt-all|attempt-all-error|attempt-all-error\?|callback-error-hook|callcc0|callcc1|cleanup|compute-restarts|condition|condition\?|continuation|continuation\?|continue|continue-restart|continue-with|current-continuation|error|error-continuation|error-in-thread|error-thread|ifcc|ignore-errors|in-callback\?|original-error|recover|restart|restart\?|restarts|rethrow|rethrow-restarts|return|return-continuation|thread-error-hook|throw-continue|throw-restarts|with-datastack|with-return)(\s|$)</string>
+                       <key>name</key>
+                       <string>keyword.control.continuations.factor</string>
                </dict>
                <dict>
                        <key>begin</key>
-                       <string>(^|(?&lt;=\s))(REQUIRES:)</string>
+                       <string>(^|(?&lt;=\s))(USING:)</string>
                        <key>end</key>
                        <string>(?&lt;=\s);(\s|$)</string>
                        <key>name</key>
-                       <string>keyword.control.requires.factor</string>
+                       <string>keyword.control.using.factor</string>
                        <key>patterns</key>
                        <array>
                                <dict>
                </dict>
                <dict>
                        <key>match</key>
-                       <string>(^|(?&lt;=\s))-?+\d+\.\d+(E(\+|-)\d+)?(\s|$)</string>
+                       <string>(^|(?&lt;=\s))[+-]?\d([\d,]*\d)?(\s|$)</string>
+                       <key>name</key>
+                       <string>constant.numeric.integer.factor</string>
+               </dict>
+               <dict>
+                       <key>match</key>
+                       <string>(^|(?&lt;=\s))[+-]?(\d([\d,]*\d)?)?\.\d([\d,]*\d)?([Ee][+-]?\d([\d,]*\d)?)?(\s|$)</string>
                        <key>name</key>
                        <string>constant.numeric.float.factor</string>
                </dict>
                <dict>
                        <key>match</key>
-                       <string>(^|(?&lt;=\s))-?\d+/-?\d+(\s|$)</string>
+                       <string>(^|(?&lt;=\s))(-\d([\d,]*\d)?)?-?\d([\d,]*\d)?/\d([\d,]*\d)?(\s|$)</string>
+                       <key>name</key>
+                       <string>constant.numeric.neg-ratio.factor</string>
+               </dict>
+               <dict>
+                       <key>match</key>
+                       <string>(^|(?&lt;=\s))\+?(\d([\d,]*\d)?\+?)?\d([\d,]*\d)?/\d([\d,]*\d)?(\s|$)</string>
+                       <key>name</key>
+                       <string>constant.numeric.pos-ratio.factor</string>
+               </dict>
+               <dict>
+                       <key>match</key>
+                       <string>(^|(?&lt;=\s))[+-]?0b[01]([01,]*[01])?(\s|$)</string>
+                       <key>name</key>
+                       <string>constant.numeric.binary.factor</string>
+               </dict>
+               <dict>
+                       <key>match</key>
+                       <string>(^|(?&lt;=\s))[+-]?0o[0-7]([0-7,]*[0-7])?(\s|$)</string>
                        <key>name</key>
-                       <string>constant.numeric.rational.factor</string>
+                       <string>constant.numeric.octal.factor</string>
+               </dict>
+               <dict>
+                       <key>match</key>
+                       <string>(^|(?&lt;=\s))[+-]?0x[0-9a-fA-Fp]([0-9a-fA-F,]*[0-9a-fA-F])?(p[0-9a-fA-Fp]([0-9a-fA-F,]*[0-9a-fA-F])?)?(\s|$)</string>
+                       <key>name</key>
+                       <string>constant.numeric.hex.factor</string>
                </dict>
                <dict>
                        <key>begin</key>
                        <key>patterns</key>
                        <array>
                                <dict>
-                                       <key>match</key>
-                                       <string>\\(\\|[enrts'"?]|[0-3]\d{,2}|[4-7]\d?|u[a-fA-F0-9]{,2})</string>
+                    <key>match</key>
+                                       <string>\\(\\|[abefnrtsv0"]|x[a-fA-F0-9]{2}|u[a-fA-F0-9]{6})</string>
                                        <key>name</key>
                                        <string>constant.character.escape.factor</string>
                                </dict>