joe/syntax/clojure.jsf
2024-10-16 10:58:52 +08:00

1498 lines
36 KiB
Plaintext

# JOE syntax highlight file for Clojure
=Idle
=Comment
=Escape
=StringEscape +Escape
=Constant
=String +Constant
=Number +Constant
=Boolean +Constant
=Keyword
=Statement +Keyword
=Conditional +Statement
=Bad
:reset Idle
* idle noeat call=.clojure()
.subr clojure
:idle Idle
* symbol mark buffer
" \t\f\n\r" idle
"(" idle call=.clojure(paren)
"[" idle call=.clojure(brack)
"{" idle call=.clojure(squiggly)
.ifdef paren
")" idle return
.else
")" stray recolor=-1
.endif
.ifdef brack
"]" idle return
.else
"]" stray recolor=-1
.endif
.ifdef squiggly
"}" idle return
.else
"}" stray recolor=-1
.endif
";" comment recolor=-1
"1" one recolor=-1
"2" two recolor=-1
"8" eight recolor=-1
"0345679" number recolor=-1
"-" negative recolor=-1 mark buffer
"\"" string recolor=-1
"#" pound
"'`^@~" quote
"\\" backslash recolor=-1
"." maybe_float
:stray Bad
* idle noeat
:backslash Escape
* back_single buffer mark
"u" back_uni4
"o" back_oct3
:back_single Escape
* back_word recolor=-2
"]}), \t\f\n\r;" idle noeat
:back_word Bad
* back_word
"]}), \t\f\n\r;" idle noeat markend strings
"newline" good_literal recolormark
"space" good_literal recolormark
"tab" good_literal recolormark
"formfeed" good_literal recolormark
"backspace" good_literal recolormark
"return" goot_literal recolormark
done
:good_literal Escape
* idle noeat
:back_oct3 Escape
* bad noeat
"0-7" back_oct2
:back_oct2 Escape
* bad noeat
"0-7" back_oct1
:back_oct1 Escape
* bad noeat
"0-7" bad
:back_uni4 Escape
* bad noeat
"0-9a-fA-F" back_uni3
:back_uni3 Escape
* bad noeat
"0-9a-fA-F" back_uni2
:back_uni2 Escape
* bad noeat
"0-9a-fA-F" back_uni1
:back_uni1 Escape
* bad noeat
"0-9a-fA-F" bad
:negative Idle
* symbol noeat
"1" one recolor=-2
"2" two recolor=-2
"8" eight recolor=-2
"0345679" number recolor=-2
"." maybe_neg_float
:symbol Idle
* symbol
"]}), \t\n;" ident_end noeat markend strings
# Symbols which are built-in values
"nil" value
"true" bool
"false" bool
"." common
"catch" common
"clojure.core/fn" common
"clojure.core/let" common
"clojure.core/loop" common
"def" common
"do" common
"finally" common
"fn" common
"if" cond
"let" common
"loop" common
"monitor-enter" common
"monitor-exit" common
"new" common
"quote" common
"recur" common
"set!" common
"throw" common
"try" common
"var" common
"catch" common
"finally" common
"throw" common
"case" common
"clojure.core/case" common
"clojure.core/cond" common
"clojure.core/cond->" common
"clojure.core/cond->>" common
"clojure.core/condp" common
"clojure.core/if-let" common
"clojure.core/if-not" common
"clojure.core/when" common
"clojure.core/when-first" common
"clojure.core/when-let" common
"clojure.core/when-not" common
"cond" cond
"cond->" cond
"cond->>" cond
"condp" cond
"if-let" cond
"if-not" cond
"when" common
"when-first" common
"when-let" common
"when-not" common
"clojure.core/doall" common
"clojure.core/dorun" common
"clojure.core/doseq" common
"clojure.core/dotimes" common
"clojure.core/while" common
"doall" common
"dorun" common
"doseq" common
"dotimes" common
"while" common
"clojure.core/definline" common
"clojure.core/definterface" common
"clojure.core/defmacro" common
"clojure.core/defmethod" common
"clojure.core/defmulti" common
"clojure.core/defn" common
"clojure.core/defn-" common
"clojure.core/defonce" common
"clojure.core/defprotocol" common
"clojure.core/defrecord" common
"clojure.core/defstruct" common
"clojure.core/deftype" common
"definline" common
"definterface" common
"defmacro" common
"defmethod" common
"defmulti" common
"defn" common
"defn-" common
"defonce" common
"defprotocol" common
"defrecord" common
"defstruct" common
"deftype" common
"->" common
"->>" common
".." common
"amap" common
"and" common
"areduce" common
"as->" common
"assert" common
"binding" common
"bound-fn" common
"clojure.core/->" common
"clojure.core/->>" common
"clojure.core/.." common
"clojure.core/amap" common
"clojure.core/and" common
"clojure.core/areduce" common
"clojure.core/as->" common
"clojure.core/assert" common
"clojure.core/binding" common
"clojure.core/bound-fn" common
"clojure.core/comment" common
"clojure.core/declare" common
"clojure.core/delay" common
"clojure.core/dosync" common
"clojure.core/doto" common
"clojure.core/extend-protocol" common
"clojure.core/extend-type" common
"clojure.core/for" common
"clojure.core/future" common
"clojure.core/gen-class" common
"clojure.core/gen-interface" common
"clojure.core/import" common
"clojure.core/io!" common
"clojure.core/lazy-cat" common
"clojure.core/lazy-seq" common
"clojure.core/letfn" common
"clojure.core/locking" common
"clojure.core/memfn" common
"clojure.core/ns" common
"clojure.core/or" common
"clojure.core/proxy" common
"clojure.core/proxy-super" common
"clojure.core/pvalues" common
"clojure.core/refer-clojure" common
"clojure.core/reify" common
"clojure.core/some->" common
"clojure.core/some->>" common
"clojure.core/sync" common
"clojure.core/time" common
"clojure.core/with-bindings" common
"clojure.core/with-in-str" common
"clojure.core/with-loading-context" common
"clojure.core/with-local-vars" common
"clojure.core/with-open" common
"clojure.core/with-out-str" common
"clojure.core/with-precision" common
"clojure.core/with-redefs" common
"comment" common
"declare" common
"delay" common
"dosync" common
"doto" common
"extend-protocol" common
"extend-type" common
"for" common
"future" common
"gen-class" common
"gen-interface" common
"import" common
"io!" common
"lazy-cat" common
"lazy-seq" common
"letfn" common
"locking" common
"memfn" common
"ns" common
"or" common
"proxy" common
"proxy-super" common
"pvalues" common
"refer-clojure" common
"reify" common
"some->" common
"some->>" common
"sync" common
"time" common
"with-bindings" common
"with-in-str" common
"with-loading-context" common
"with-local-vars" common
"with-open" common
"with-out-str" common
"with-precision" common
"with-redefs" common
"*" common
"*'" common
"+" common
"+'" common
"-" common
"-'" common
"->ArrayChunk" common
"->Vec" common
"->VecNode" common
"->VecSeq" common
"-cache-protocol-fn" common
"-reset-methods" common
"/" common
"<" common
"<=" common
"=" common
"==" common
">" common
">=" common
"accessor" common
"aclone" common
"add-classpath" common
"add-watch" common
"agent" common
"agent-error" common
"agent-errors" common
"aget" common
"alength" common
"alias" common
"all-ns" common
"alter" common
"alter-meta!" common
"alter-var-root" common
"ancestors" common
"apply" common
"array-map" common
"aset" common
"aset-boolean" common
"aset-byte" common
"aset-char" common
"aset-double" common
"aset-float" common
"aset-int" common
"aset-long" common
"aset-short" common
"assoc" common
"assoc!" common
"assoc-in" common
"associative?" common
"atom" common
"await" common
"await-for" common
"await1" common
"bases" common
"bean" common
"bigdec" common
"bigint" common
"biginteger" common
"bit-and" common
"bit-and-not" common
"bit-clear" common
"bit-flip" common
"bit-not" common
"bit-or" common
"bit-set" common
"bit-shift-left" common
"bit-shift-right" common
"bit-test" common
"bit-xor" common
"boolean" common
"boolean-array" common
"booleans" common
"bound-fn*" common
"bound?" common
"butlast" common
"byte" common
"byte-array" common
"bytes" common
"cast" common
"char" common
"char-array" common
"char?" common
"chars" common
"chunk" common
"chunk-append" common
"chunk-buffer" common
"chunk-cons" common
"chunk-first" common
"chunk-next" common
"chunk-rest" common
"chunked-seq?" common
"class" common
"class?" common
"clear-agent-errors" common
"clojure-version" common
"clojure.core/*" common
"clojure.core/*'" common
"clojure.core/+" common
"clojure.core/+'" common
"clojure.core/-" common
"clojure.core/-'" common
"clojure.core/->ArrayChunk" common
"clojure.core/->Vec" common
"clojure.core/->VecNode" common
"clojure.core/->VecSeq" common
"clojure.core/-cache-protocol-fn" common
"clojure.core/-reset-methods" common
"clojure.core//" common
"clojure.core/<" common
"clojure.core/<=" common
"clojure.core/=" common
"clojure.core/==" common
"clojure.core/>" common
"clojure.core/>=" common
"clojure.core/accessor" common
"clojure.core/aclone" common
"clojure.core/add-classpath" common
"clojure.core/add-watch" common
"clojure.core/agent" common
"clojure.core/agent-error" common
"clojure.core/agent-errors" common
"clojure.core/aget" common
"clojure.core/alength" common
"clojure.core/alias" common
"clojure.core/all-ns" common
"clojure.core/alter" common
"clojure.core/alter-meta!" common
"clojure.core/alter-var-root" common
"clojure.core/ancestors" common
"clojure.core/apply" common
"clojure.core/array-map" common
"clojure.core/aset" common
"clojure.core/aset-boolean" common
"clojure.core/aset-byte" common
"clojure.core/aset-char" common
"clojure.core/aset-double" common
"clojure.core/aset-float" common
"clojure.core/aset-int" common
"clojure.core/aset-long" common
"clojure.core/aset-short" common
"clojure.core/assoc" common
"clojure.core/assoc!" common
"clojure.core/assoc-in" common
"clojure.core/associative?" common
"clojure.core/atom" common
"clojure.core/await" common
"clojure.core/await-for" common
"clojure.core/await1" common
"clojure.core/bases" common
"clojure.core/bean" common
"clojure.core/bigdec" common
"clojure.core/bigint" common
"clojure.core/biginteger" common
"clojure.core/bit-and" common
"clojure.core/bit-and-not" common
"clojure.core/bit-clear" common
"clojure.core/bit-flip" common
"clojure.core/bit-not" common
"clojure.core/bit-or" common
"clojure.core/bit-set" common
"clojure.core/bit-shift-left" common
"clojure.core/bit-shift-right" common
"clojure.core/bit-test" common
"clojure.core/bit-xor" common
"clojure.core/boolean" common
"clojure.core/boolean-array" common
"clojure.core/booleans" common
"clojure.core/bound-fn*" common
"clojure.core/bound?" common
"clojure.core/butlast" common
"clojure.core/byte" common
"clojure.core/byte-array" common
"clojure.core/bytes" common
"clojure.core/cast" common
"clojure.core/char" common
"clojure.core/char-array" common
"clojure.core/char?" common
"clojure.core/chars" common
"clojure.core/chunk" common
"clojure.core/chunk-append" common
"clojure.core/chunk-buffer" common
"clojure.core/chunk-cons" common
"clojure.core/chunk-first" common
"clojure.core/chunk-next" common
"clojure.core/chunk-rest" common
"clojure.core/chunked-seq?" common
"clojure.core/class" common
"clojure.core/class?" common
"clojure.core/clear-agent-errors" common
"clojure.core/clojure-version" common
"clojure.core/coll?" common
"clojure.core/commute" common
"clojure.core/comp" common
"clojure.core/comparator" common
"clojure.core/compare" common
"clojure.core/compare-and-set!" common
"clojure.core/compile" common
"clojure.core/complement" common
"clojure.core/concat" common
"clojure.core/conj" common
"clojure.core/conj!" common
"clojure.core/cons" common
"clojure.core/constantly" common
"clojure.core/construct-proxy" common
"clojure.core/contains?" common
"clojure.core/count" common
"clojure.core/counted?" common
"clojure.core/create-ns" common
"clojure.core/create-struct" common
"clojure.core/cycle" common
"clojure.core/dec" common
"clojure.core/dec'" common
"clojure.core/decimal?" common
"clojure.core/delay?" common
"clojure.core/deliver" common
"clojure.core/denominator" common
"clojure.core/deref" common
"clojure.core/derive" common
"clojure.core/descendants" common
"clojure.core/destructure" common
"clojure.core/disj" common
"clojure.core/disj!" common
"clojure.core/dissoc" common
"clojure.core/dissoc!" common
"clojure.core/distinct" common
"clojure.core/distinct?" common
"clojure.core/double" common
"clojure.core/double-array" common
"clojure.core/doubles" common
"clojure.core/drop" common
"clojure.core/drop-last" common
"clojure.core/drop-while" common
"clojure.core/empty" common
"clojure.core/empty?" common
"clojure.core/ensure" common
"clojure.core/enumeration-seq" common
"clojure.core/error-handler" common
"clojure.core/error-mode" common
"clojure.core/eval" common
"clojure.core/even?" common
"clojure.core/every-pred" common
"clojure.core/every?" common
"clojure.core/ex-data" common
"clojure.core/ex-info" common
"clojure.core/extend" common
"clojure.core/extenders" common
"clojure.core/extends?" common
"clojure.core/false?" common
"clojure.core/ffirst" common
"clojure.core/file-seq" common
"clojure.core/filter" common
"clojure.core/filterv" common
"clojure.core/find" common
"clojure.core/find-keyword" common
"clojure.core/find-ns" common
"clojure.core/find-protocol-impl" common
"clojure.core/find-protocol-method" common
"clojure.core/find-var" common
"clojure.core/first" common
"clojure.core/flatten" common
"clojure.core/float" common
"clojure.core/float-array" common
"clojure.core/float?" common
"clojure.core/floats" common
"clojure.core/flush" common
"clojure.core/fn?" common
"clojure.core/fnext" common
"clojure.core/fnil" common
"clojure.core/force" common
"clojure.core/format" common
"clojure.core/frequencies" common
"clojure.core/future-call" common
"clojure.core/future-cancel" common
"clojure.core/future-cancelled?" common
"clojure.core/future-done?" common
"clojure.core/future?" common
"clojure.core/gensym" common
"clojure.core/get" common
"clojure.core/get-in" common
"clojure.core/get-method" common
"clojure.core/get-proxy-class" common
"clojure.core/get-thread-bindings" common
"clojure.core/get-validator" common
"clojure.core/group-by" common
"clojure.core/hash" common
"clojure.core/hash-combine" common
"clojure.core/hash-map" common
"clojure.core/hash-set" common
"clojure.core/identical?" common
"clojure.core/identity" common
"clojure.core/ifn?" common
"clojure.core/in-ns" common
"clojure.core/inc" common
"clojure.core/inc'" common
"clojure.core/init-proxy" common
"clojure.core/instance?" common
"clojure.core/int" common
"clojure.core/int-array" common
"clojure.core/integer?" common
"clojure.core/interleave" common
"clojure.core/intern" common
"clojure.core/interpose" common
"clojure.core/into" common
"clojure.core/into-array" common
"clojure.core/ints" common
"clojure.core/isa?" common
"clojure.core/iterate" common
"clojure.core/iterator-seq" common
"clojure.core/juxt" common
"clojure.core/keep" common
"clojure.core/keep-indexed" common
"clojure.core/key" common
"clojure.core/keys" common
"clojure.core/keyword" common
"clojure.core/keyword?" common
"clojure.core/last" common
"clojure.core/line-seq" common
"clojure.core/list" common
"clojure.core/list*" common
"clojure.core/list?" common
"clojure.core/load" common
"clojure.core/load-file" common
"clojure.core/load-reader" common
"clojure.core/load-string" common
"clojure.core/loaded-libs" common
"clojure.core/long" common
"clojure.core/long-array" common
"clojure.core/longs" common
"clojure.core/macroexpand" common
"clojure.core/macroexpand-1" common
"clojure.core/make-array" common
"clojure.core/make-hierarchy" common
"clojure.core/map" common
"clojure.core/map-indexed" common
"clojure.core/map?" common
"clojure.core/mapcat" common
"clojure.core/mapv" common
"clojure.core/max" common
"clojure.core/max-key" common
"clojure.core/memoize" common
"clojure.core/merge" common
"clojure.core/merge-with" common
"clojure.core/meta" common
"clojure.core/method-sig" common
"clojure.core/methods" common
"clojure.core/min" common
"clojure.core/min-key" common
"clojure.core/mod" common
"clojure.core/munge" common
"clojure.core/name" common
"clojure.core/namespace" common
"clojure.core/namespace-munge" common
"clojure.core/neg?" common
"clojure.core/newline" common
"clojure.core/next" common
"clojure.core/nfirst" common
"clojure.core/nil?" common
"clojure.core/nnext" common
"clojure.core/not" common
"clojure.core/not-any?" common
"clojure.core/not-empty" common
"clojure.core/not-every?" common
"clojure.core/not=" common
"clojure.core/ns-aliases" common
"clojure.core/ns-imports" common
"clojure.core/ns-interns" common
"clojure.core/ns-map" common
"clojure.core/ns-name" common
"clojure.core/ns-publics" common
"clojure.core/ns-refers" common
"clojure.core/ns-resolve" common
"clojure.core/ns-unalias" common
"clojure.core/ns-unmap" common
"clojure.core/nth" common
"clojure.core/nthnext" common
"clojure.core/nthrest" common
"clojure.core/num" common
"clojure.core/number?" common
"clojure.core/numerator" common
"clojure.core/object-array" common
"clojure.core/odd?" common
"clojure.core/parents" common
"clojure.core/partial" common
"clojure.core/partition" common
"clojure.core/partition-all" common
"clojure.core/partition-by" common
"clojure.core/pcalls" common
"clojure.core/peek" common
"clojure.core/persistent!" common
"clojure.core/pmap" common
"clojure.core/pop" common
"clojure.core/pop!" common
"clojure.core/pop-thread-bindings" common
"clojure.core/pos?" common
"clojure.core/pr" common
"clojure.core/pr-str" common
"clojure.core/prefer-method" common
"clojure.core/prefers" common
"clojure.core/print" common
"clojure.core/print-ctor" common
"clojure.core/print-simple" common
"clojure.core/print-str" common
"clojure.core/printf" common
"clojure.core/println" common
"clojure.core/println-str" common
"clojure.core/prn" common
"clojure.core/prn-str" common
"clojure.core/promise" common
"clojure.core/proxy-call-with-super" common
"clojure.core/proxy-mappings" common
"clojure.core/proxy-name" common
"clojure.core/push-thread-bindings" common
"clojure.core/quot" common
"clojure.core/rand" common
"clojure.core/rand-int" common
"clojure.core/rand-nth" common
"clojure.core/range" common
"clojure.core/ratio?" common
"clojure.core/rational?" common
"clojure.core/rationalize" common
"clojure.core/re-find" common
"clojure.core/re-groups" common
"clojure.core/re-matcher" common
"clojure.core/re-matches" common
"clojure.core/re-pattern" common
"clojure.core/re-seq" common
"clojure.core/read" common
"clojure.core/read-line" common
"clojure.core/read-string" common
"clojure.core/realized?" common
"clojure.core/reduce" common
"clojure.core/reduce-kv" common
"clojure.core/reduced" common
"clojure.core/reduced?" common
"clojure.core/reductions" common
"clojure.core/ref" common
"clojure.core/ref-history-count" common
"clojure.core/ref-max-history" common
"clojure.core/ref-min-history" common
"clojure.core/ref-set" common
"clojure.core/refer" common
"clojure.core/release-pending-sends" common
"clojure.core/rem" common
"clojure.core/remove" common
"clojure.core/remove-all-methods" common
"clojure.core/remove-method" common
"clojure.core/remove-ns" common
"clojure.core/remove-watch" common
"clojure.core/repeat" common
"clojure.core/repeatedly" common
"clojure.core/replace" common
"clojure.core/replicate" common
"clojure.core/require" common
"clojure.core/reset!" common
"clojure.core/reset-meta!" common
"clojure.core/resolve" common
"clojure.core/rest" common
"clojure.core/restart-agent" common
"clojure.core/resultset-seq" common
"clojure.core/reverse" common
"clojure.core/reversible?" common
"clojure.core/rseq" common
"clojure.core/rsubseq" common
"clojure.core/satisfies?" common
"clojure.core/second" common
"clojure.core/select-keys" common
"clojure.core/send" common
"clojure.core/send-off" common
"clojure.core/send-via" common
"clojure.core/seq" common
"clojure.core/seq?" common
"clojure.core/seque" common
"clojure.core/sequence" common
"clojure.core/sequential?" common
"clojure.core/set" common
"clojure.core/set-agent-send-executor!" common
"clojure.core/set-agent-send-off-executor!" common
"clojure.core/set-error-handler!" common
"clojure.core/set-error-mode!" common
"clojure.core/set-validator!" common
"clojure.core/set?" common
"clojure.core/short" common
"clojure.core/short-array" common
"clojure.core/shorts" common
"clojure.core/shuffle" common
"clojure.core/shutdown-agents" common
"clojure.core/slurp" common
"clojure.core/some" common
"clojure.core/some-fn" common
"clojure.core/sort" common
"clojure.core/sort-by" common
"clojure.core/sorted-map" common
"clojure.core/sorted-map-by" common
"clojure.core/sorted-set" common
"clojure.core/sorted-set-by" common
"clojure.core/sorted?" common
"clojure.core/special-symbol?" common
"clojure.core/spit" common
"clojure.core/split-at" common
"clojure.core/split-with" common
"clojure.core/str" common
"clojure.core/string?" common
"clojure.core/struct" common
"clojure.core/struct-map" common
"clojure.core/subs" common
"clojure.core/subseq" common
"clojure.core/subvec" common
"clojure.core/supers" common
"clojure.core/swap!" common
"clojure.core/symbol" common
"clojure.core/symbol?" common
"clojure.core/take" common
"clojure.core/take-last" common
"clojure.core/take-nth" common
"clojure.core/take-while" common
"clojure.core/test" common
"clojure.core/the-ns" common
"clojure.core/thread-bound?" common
"clojure.core/to-array" common
"clojure.core/to-array-2d" common
"clojure.core/trampoline" common
"clojure.core/transient" common
"clojure.core/tree-seq" common
"clojure.core/true?" common
"clojure.core/type" common
"clojure.core/unchecked-add" common
"clojure.core/unchecked-add-int" common
"clojure.core/unchecked-byte" common
"clojure.core/unchecked-char" common
"clojure.core/unchecked-dec" common
"clojure.core/unchecked-dec-int" common
"clojure.core/unchecked-divide-int" common
"clojure.core/unchecked-double" common
"clojure.core/unchecked-float" common
"clojure.core/unchecked-inc" common
"clojure.core/unchecked-inc-int" common
"clojure.core/unchecked-int" common
"clojure.core/unchecked-long" common
"clojure.core/unchecked-multiply" common
"clojure.core/unchecked-multiply-int" common
"clojure.core/unchecked-negate" common
"clojure.core/unchecked-negate-int" common
"clojure.core/unchecked-remainder-int" common
"clojure.core/unchecked-short" common
"clojure.core/unchecked-subtract" common
"clojure.core/unchecked-subtract-int" common
"clojure.core/underive" common
"clojure.core/update-in" common
"clojure.core/update-proxy" common
"clojure.core/use" common
"clojure.core/val" common
"clojure.core/vals" common
"clojure.core/var-get" common
"clojure.core/var-set" common
"clojure.core/var?" common
"clojure.core/vary-meta" common
"clojure.core/vec" common
"clojure.core/vector" common
"clojure.core/vector-of" common
"clojure.core/vector?" common
"clojure.core/with-bindings*" common
"clojure.core/with-meta" common
"clojure.core/with-redefs-fn" common
"clojure.core/xml-seq" common
"clojure.core/zero?" common
"clojure.core/zipmap" common
"coll?" common
"commute" common
"comp" common
"comparator" common
"compare" common
"compare-and-set!" common
"compile" common
"complement" common
"concat" common
"conj" common
"conj!" common
"cons" common
"constantly" common
"construct-proxy" common
"contains?" common
"count" common
"counted?" common
"create-ns" common
"create-struct" common
"cycle" common
"dec" common
"dec'" common
"decimal?" common
"delay?" common
"deliver" common
"denominator" common
"deref" common
"derive" common
"descendants" common
"destructure" common
"disj" common
"disj!" common
"dissoc" common
"dissoc!" common
"distinct" common
"distinct?" common
"double" common
"double-array" common
"doubles" common
"drop" common
"drop-last" common
"drop-while" common
"empty" common
"empty?" common
"ensure" common
"enumeration-seq" common
"error-handler" common
"error-mode" common
"eval" common
"even?" common
"every-pred" common
"every?" common
"ex-data" common
"ex-info" common
"extend" common
"extenders" common
"extends?" common
"false?" common
"ffirst" common
"file-seq" common
"filter" common
"filterv" common
"find" common
"find-keyword" common
"find-ns" common
"find-protocol-impl" common
"find-protocol-method" common
"find-var" common
"first" common
"flatten" common
"float" common
"float-array" common
"float?" common
"floats" common
"flush" common
"fn?" common
"fnext" common
"fnil" common
"force" common
"format" common
"frequencies" common
"future-call" common
"future-cancel" common
"future-cancelled?" common
"future-done?" common
"future?" common
"gensym" common
"get" common
"get-in" common
"get-method" common
"get-proxy-class" common
"get-thread-bindings" common
"get-validator" common
"group-by" common
"hash" common
"hash-combine" common
"hash-map" common
"hash-set" common
"identical?" common
"identity" common
"ifn?" common
"in-ns" common
"inc" common
"inc'" common
"init-proxy" common
"instance?" common
"int" common
"int-array" common
"integer?" common
"interleave" common
"intern" common
"interpose" common
"into" common
"into-array" common
"ints" common
"isa?" common
"iterate" common
"iterator-seq" common
"juxt" common
"keep" common
"keep-indexed" common
"key" common
"keys" common
"keyword" common
"keyword?" common
"last" common
"line-seq" common
"list" common
"list*" common
"list?" common
"load" common
"load-file" common
"load-reader" common
"load-string" common
"loaded-libs" common
"long" common
"long-array" common
"longs" common
"macroexpand" common
"macroexpand-1" common
"make-array" common
"make-hierarchy" common
"map" common
"map-indexed" common
"map?" common
"mapcat" common
"mapv" common
"max" common
"max-key" common
"memoize" common
"merge" common
"merge-with" common
"meta" common
"method-sig" common
"methods" common
"min" common
"min-key" common
"mod" common
"munge" common
"name" common
"namespace" common
"namespace-munge" common
"neg?" common
"newline" common
"next" common
"nfirst" common
"nil?" common
"nnext" common
"not" common
"not-any?" common
"not-empty" common
"not-every?" common
"not=" common
"ns-aliases" common
"ns-imports" common
"ns-interns" common
"ns-map" common
"ns-name" common
"ns-publics" common
"ns-refers" common
"ns-resolve" common
"ns-unalias" common
"ns-unmap" common
"nth" common
"nthnext" common
"nthrest" common
"num" common
"number?" common
"numerator" common
"object-array" common
"odd?" common
"parents" common
"partial" common
"partition" common
"partition-all" common
"partition-by" common
"pcalls" common
"peek" common
"persistent!" common
"pmap" common
"pop" common
"pop!" common
"pop-thread-bindings" common
"pos?" common
"pr" common
"pr-str" common
"prefer-method" common
"prefers" common
"print" common
"print-ctor" common
"print-simple" common
"print-str" common
"printf" common
"println" common
"println-str" common
"prn" common
"prn-str" common
"promise" common
"proxy-call-with-super" common
"proxy-mappings" common
"proxy-name" common
"push-thread-bindings" common
"quot" common
"rand" common
"rand-int" common
"rand-nth" common
"range" common
"ratio?" common
"rational?" common
"rationalize" common
"re-find" common
"re-groups" common
"re-matcher" common
"re-matches" common
"re-pattern" common
"re-seq" common
"read" common
"read-line" common
"read-string" common
"realized?" common
"reduce" common
"reduce-kv" common
"reduced" common
"reduced?" common
"reductions" common
"ref" common
"ref-history-count" common
"ref-max-history" common
"ref-min-history" common
"ref-set" common
"refer" common
"release-pending-sends" common
"rem" common
"remove" common
"remove-all-methods" common
"remove-method" common
"remove-ns" common
"remove-watch" common
"repeat" common
"repeatedly" common
"replace" common
"replicate" common
"require" common
"reset!" common
"reset-meta!" common
"resolve" common
"rest" common
"restart-agent" common
"resultset-seq" common
"reverse" common
"reversible?" common
"rseq" common
"rsubseq" common
"satisfies?" common
"second" common
"select-keys" common
"send" common
"send-off" common
"send-via" common
"seq" common
"seq?" common
"seque" common
"sequence" common
"sequential?" common
"set" common
"set-agent-send-executor!" common
"set-agent-send-off-executor!" common
"set-error-handler!" common
"set-error-mode!" common
"set-validator!" common
"set?" common
"short" common
"short-array" common
"shorts" common
"shuffle" common
"shutdown-agents" common
"slurp" common
"some" common
"some-fn" common
"sort" common
"sort-by" common
"sorted-map" common
"sorted-map-by" common
"sorted-set" common
"sorted-set-by" common
"sorted?" common
"special-symbol?" common
"spit" common
"split-at" common
"split-with" common
"str" common
"string?" common
"struct" common
"struct-map" common
"subs" common
"subseq" common
"subvec" common
"supers" common
"swap!" common
"symbol" common
"symbol?" common
"take" common
"take-last" common
"take-nth" common
"take-while" common
"test" common
"the-ns" common
"thread-bound?" common
"to-array" common
"to-array-2d" common
"trampoline" common
"transient" common
"tree-seq" common
"true?" common
"type" common
"unchecked-add" common
"unchecked-add-int" common
"unchecked-byte" common
"unchecked-char" common
"unchecked-dec" common
"unchecked-dec-int" common
"unchecked-divide-int" common
"unchecked-double" common
"unchecked-float" common
"unchecked-inc" common
"unchecked-inc-int" common
"unchecked-int" common
"unchecked-long" common
"unchecked-multiply" common
"unchecked-multiply-int" common
"unchecked-negate" common
"unchecked-negate-int" common
"unchecked-remainder-int" common
"unchecked-short" common
"unchecked-subtract" common
"unchecked-subtract-int" common
"underive" common
"update-in" common
"update-proxy" common
"use" common
"val" common
"vals" common
"var-get" common
"var-set" common
"var?" common
"vary-meta" common
"vec" common
"vector" common
"vector-of" common
"vector?" common
"with-bindings*" common
"with-meta" common
"with-redefs-fn" common
"xml-seq" common
"zero?" common
"zipmap" common
"*1" common
"*2" common
"*3" common
"*agent*" common
"*allow-unresolved-vars*" common
"*assert*" common
"*clojure-version*" common
"*command-line-args*" common
"*compile-files*" common
"*compile-path*" common
"*compiler-options*" common
"*data-readers*" common
"*default-data-reader-fn*" common
"*e" common
"*err*" common
"*file*" common
"*flush-on-newline*" common
"*fn-loader*" common
"*in*" common
"*math-context*" common
"*ns*" common
"*out*" common
"*print-dup*" common
"*print-length*" common
"*print-level*" common
"*print-meta*" common
"*print-readably*" common
"*read-eval*" common
"*source-path*" common
"*unchecked-math*" common
"*use-context-classloader*" common
"*verbose-defrecords*" common
"*warn-on-reflection*" common
"EMPTY-NODE" common
"char-escape-string" common
"char-name-string" common
"clojure.core/*1" common
"clojure.core/*2" common
"clojure.core/*3" common
"clojure.core/*agent*" common
"clojure.core/*allow-unresolved-vars*" common
"clojure.core/*assert*" common
"clojure.core/*clojure-version*" common
"clojure.core/*command-line-args*" common
"clojure.core/*compile-files*" common
"clojure.core/*compile-path*" common
"clojure.core/*compiler-options*" common
"clojure.core/*data-readers*" common
"clojure.core/*default-data-reader-fn*" common
"clojure.core/*e" common
"clojure.core/*err*" common
"clojure.core/*file*" common
"clojure.core/*flush-on-newline*" common
"clojure.core/*fn-loader*" common
"clojure.core/*in*" common
"clojure.core/*math-context*" common
"clojure.core/*ns*" common
"clojure.core/*out*" common
"clojure.core/*print-dup*" common
"clojure.core/*print-length*" common
"clojure.core/*print-level*" common
"clojure.core/*print-meta*" common
"clojure.core/*print-readably*" common
"clojure.core/*read-eval*" common
"clojure.core/*source-path*" common
"clojure.core/*unchecked-math*" common
"clojure.core/*use-context-classloader*" common
"clojure.core/*verbose-defrecords*" common
"clojure.core/*warn-on-reflection*" common
"clojure.core/EMPTY-NODE" common
"clojure.core/char-escape-string" common
"clojure.core/char-name-string" common
"clojure.core/default-data-readers" common
"clojure.core/primitives-classnames" common
"clojure.core/print-dup" common
"clojure.core/print-method" common
"clojure.core/unquote" common
"clojure.core/unquote-splicing" common
"default-data-readers" common
"primitives-classnames" common
"print-dup" common
"print-method" common
"unquote" common
"unquote-splicing" common
done
:value Constant
* idle noeat
:bool Boolean
* idle noeat
:common Keyword
* idle noeat
:cond Conditional
* idle noeat
:ident_end Idle
* idle noeat
# Mark remainder of symbol as bad
:bad Bad
* bad
")]}, \t\f\n\r;" idle noeat
# Skip quote..
:quote Idle
* idle noeat
# Look for #_x, treat as comment
# For example #_(a b c) should be all commented out
:pound Idle
* idle noeat
"_" pound_eat recolor=-2
:pound_eat Comment comment
* idle noeat
:comment Comment comment
* comment
"BFHNTX" comment noeat call=comment_todo.comment_todo()
"\n" idle
# Check some specific common bases
:two Number
* number noeat
"r" binary
:eight Number
* number noeat
"r" octal
:one Number
* number noeat
"0" ten
"6" sixteen
:ten Number
* number noeat
"r" decimal
:sixteen Number
* number noeat
"r" hex
:hex Number
* bad noeat
"NM" bad
"0-9a-fA-F" hex
:octal Number
* bad noeat
"NM" bad
"0-7" octal
:binary Number
* bad noeat
"NM" bad
"01" binary
:decimal Number
* bad noeat
"NM" bad
"0-9" decimal
# Number, no r yet...
:number Number
* bad noeat
"NM" bad
"0-9" number
"r" integer
"." float
"/" ratio
# we got the r
:integer Number
* bad noeat
"NM" bad
"0-9" integer
# We have a decimal point only
:maybe_neg_float Number
* symbol recolor=-2 noeat
"0-9" float recolor=-2
:maybe_float Number
* idle recolor=-2 noeat
"0-9" float recolor=-2
# We have number and decimal point
:float Number
* bad noeat
"M" bad
"eE" epart
"0-9" float
:epart Number
* bad noeat
"0-9+\-" enum
:enum Number
* bad noeat
"M" bad
"0-9" enum
# Ratio
:ratio Number
* bad noeat
"0-9" ratio
# Strings
:string String string
* string
"\"" idle
"\\" string_escape recolor=-1
:string_escape StringEscape string
* string
"u" string_uni4
"0-7" string_octal2
"\n" string recolor=-2
:string_uni4 StringEscape string
* string noeat
"0-9a-fA-F" string_uni3
:string_uni3 StringEscape string
* string noeat
"0-9a-fA-F" string_uni2
:string_uni2 StringEscape string
* string noeat
"0-9a-fA-F" string_uni1
:string_uni1 StringEscape string
* string noeat
"0-9a-fA-F" string
:string_octal2 StringEscape string
* string noeat
"0-7" string_octal1
:string_octal1 StringEscape string
* string noeat
"0-7" string
.end