tartrazine/lexers/clojure.xml

72 lines
4.4 KiB
XML
Raw Normal View History

2024-08-02 20:03:49 +00:00
<lexer>
<config>
<name>Clojure</name>
<alias>clojure</alias>
<alias>clj</alias>
<alias>edn</alias>
<filename>*.clj</filename>
<filename>*.edn</filename>
<mime_type>text/x-clojure</mime_type>
<mime_type>application/x-clojure</mime_type>
<mime_type>application/edn</mime_type>
</config>
<rules>
<state name="root">
<rule pattern=";.*$">
<token type="CommentSingle"/>
</rule>
<rule pattern="[,\s]+">
<token type="Text"/>
</rule>
<rule pattern="-?\d+\.\d+">
<token type="LiteralNumberFloat"/>
</rule>
<rule pattern="-?\d+">
<token type="LiteralNumberInteger"/>
</rule>
<rule pattern="0x-?[abcdef\d]+">
<token type="LiteralNumberHex"/>
</rule>
<rule pattern="&#34;(\\\\|\\&#34;|[^&#34;])*&#34;">
<token type="LiteralString"/>
</rule>
<rule pattern="&#39;(?!#)[\w!$%*+&lt;=&gt;?/.#-]+">
<token type="LiteralStringSymbol"/>
</rule>
<rule pattern="\\(.|[a-z]+)">
<token type="LiteralStringChar"/>
</rule>
<rule pattern="::?#?(?!#)[\w!$%*+&lt;=&gt;?/.#-]+">
<token type="LiteralStringSymbol"/>
</rule>
<rule pattern="~@|[`\&#39;#^~&amp;@]">
<token type="Operator"/>
</rule>
<rule pattern="(quote|loop|new|var|let|def|if|do|fn|\.) ">
<token type="Keyword"/>
</rule>
<rule pattern="(definterface|defprotocol|defproject|defstruct|definline|defmethod|defrecord|defmulti|defmacro|defonce|declare|deftype|defn-|def-|defn|ns) ">
<token type="KeywordDeclaration"/>
</rule>
<rule pattern="(clear-agent-errors|construct-proxy|bit-shift-right|get-proxy-class|special-symbol\?|with-local-vars|proxy-mappings|bit-shift-left|sorted-map-by|macroexpand-1|remove-method|create-struct|resultset-seq|inspect-table|inspect-tree|update-proxy|aset-boolean|agent-errors|with-out-str|insert-child|append-child|intersection|insert-right|to-array-2d|rename-keys|println-str|macroexpand|aset-double|select-keys|insert-left|aset-float|aset-short|interleave|re-pattern|make-array|identical\?|take-while|into-array|re-matches|re-matcher|complement|vector-zip|drop-while|when-first|map-invert|sorted-map|ns-resolve|difference|sorted-set|merge-with|ns-publics|split-with|ns-interns|ns-imports|constantly|struct-map|comparator|not-every\?|aset-long|print-str|re-groups|lazy-cons|remove-ns|namespace|await-for|contains\?|array-map|create-ns|make-node|with-meta|with-open|instance\?|ns-refers|aset-byte|aset-char|load-file|read-line|replicate|send-off|aset-int|distinct|not-any\?|take-nth|tree-seq|split-at|to-array|ns-unmap|identity|find-doc|find-var|hash-set|when-not|children|when-let|lazy-cat|hash-map|line-seq|rand-int|keyword\?|file-seq|accessor|replace|bit-not|find-ns|resolve|bit-and|println|binding|locking|vector\?|partial|nthrest|max-key|bit-xor|dotimes|ref-set|xml-seq|boolean|var-get|seq-zip|sort-by|branch\?|butlast|symbol\?|project|min-key|ns-name|comment|string\?|iterate|commute|alength|xml-zip|keyword|newline|re-find|reverse|var-set|prn-str|bit-or|import|re-seq|rights|assert|reduce|remove|gensym|rename|filter|ffirst|if-let|false\?|pr-str|every\?|vector|mapcat|ensure|rfirst|concat|second|double|select|dosync|symbol|subvec|if-not|ns-map|struct|zipper|zipmap|all-ns|dissoc|repeat|assoc|cycle|class|deref|zero\?|slurp|short|dorun|doseq|merge|memfn|agent|rrest|count|parse|right|float|flush|alter|fnseq|frest|doall|print|refer|in-ns|apply|union|await|list\*|proxy|lefts|true\?|index|first|range|left|keys|aset|join|into|last|read|rand|list|load|long|loop|conj|test|vals|pos\?|bean|peek|subs|path|time|find|rest|eval|end\?|edit|map\?|drop|root|aget|rseq|down|doto|meta|send|when|byte|take|seq\?|sync|name|neg\?|some|sort|cast|char|disj|next|not=|nil\?|node|comp|cond|cons|quot|var\?|max|new|rem|set|doc|seq|for|get|ref|inc|int|key|not|prn|min|map|val|nth|dec|pop|and|str|pr|\.\.|up|&gt;=|-&gt;|==|&lt;=|or|=|/|&gt;|-|\*|\+|&lt;) ">
<token type="NameBuiltin"/>
</rule>
<rule pattern="(?&lt;=\()(?!#)[\w!$%*+&lt;=&gt;?/.#-]+">
<token type="NameFunction"/>
</rule>
<rule pattern="(?!#)[\w!$%*+&lt;=&gt;?/.#-]+">
<token type="NameVariable"/>
</rule>
<rule pattern="(\[|\])">
<token type="Punctuation"/>
</rule>
<rule pattern="(\{|\})">
<token type="Punctuation"/>
</rule>
<rule pattern="(\(|\))">
<token type="Punctuation"/>
</rule>
</state>
</rules>
</lexer>