Created
December 17, 2013 15:26
-
-
Save MattDMo/8006695 to your computer and use it in GitHub Desktop.
EDN (extensible data notation) .tmLanguage file for Sublime Text. Modified from Clojure.tmLanguage by changing suffix to edn, changing name, changing UUID, and adding `#all` to the includes at the beginning so that data do not need to be enclosed in parentheses.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="UTF-8"?> | |
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | |
<plist version="1.0"> | |
<dict> | |
<key>comment</key> | |
<string>Symbol pattern : [a-zA-Z+!\-_?0-9*~#@'`/.$=]</string> | |
<key>fileTypes</key> | |
<array> | |
<string>edn</string> | |
</array> | |
<key>foldingStartMarker</key> | |
<string>(?x)^ [ \t]* \( | |
(?<par> | |
( [^()\n]++ | \( \g<par> \)? )*+ | |
) | |
$</string> | |
<key>foldingStopMarker</key> | |
<string>^\s*$</string> | |
<key>keyEquivalent</key> | |
<string>^~C</string> | |
<key>name</key> | |
<string>EDN (extensible data notation)</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#all</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#comment</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#function</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#function_multi_method</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#macro</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#namespace</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#sexpr</string> | |
</dict> | |
</array> | |
<key>repository</key> | |
<dict> | |
<key>all</key> | |
<dict> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#function</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#function_multi_method</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#lambda</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#macro</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#comment</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#expr</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#sexpr</string> | |
</dict> | |
</array> | |
</dict> | |
<key>binding</key> | |
<dict> | |
<key>comment</key> | |
<string>consume bindings to the end, dual recursive with binding_exp</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#comment</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#metadata</string> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>\[</string> | |
<key>beginCaptures</key> | |
<dict> | |
<key>0</key> | |
<dict> | |
<key>name</key> | |
<string>punctuation.definition.vector.begin.clojure</string> | |
</dict> | |
</dict> | |
<key>end</key> | |
<string>(?=\])</string> | |
<key>name</key> | |
<string>meta.structure.binding.vector.clojure</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>begin</key> | |
<string>(?<=\[)</string> | |
<key>comment</key> | |
<string>TODO: merge with parameters ??</string> | |
<key>end</key> | |
<string>\]</string> | |
<key>endCaptures</key> | |
<dict> | |
<key>0</key> | |
<dict> | |
<key>name</key> | |
<string>punctuation.definition.vector.end.clojure</string> | |
</dict> | |
</dict> | |
<key>name</key> | |
<string>meta.parameters.vector.clojure</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#comment</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#metadata</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#parameters_variable</string> | |
</dict> | |
<dict> | |
<key>match</key> | |
<string>\&</string> | |
<key>name</key> | |
<string>keyword.operator.varargs.clojure</string> | |
</dict> | |
<dict> | |
<key>match</key> | |
<string>(:as)(?![a-zA-Z+!\-_?0-9*~#@'`/.$=])</string> | |
<key>name</key> | |
<string>keyword.operator.symbolargs.clojure</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#parameters</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#parameters_map</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#all</string> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#binding_exp</string> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>\{</string> | |
<key>beginCaptures</key> | |
<dict> | |
<key>0</key> | |
<dict> | |
<key>name</key> | |
<string>punctuation.definition.map.begin.clojure</string> | |
</dict> | |
</dict> | |
<key>end</key> | |
<string>(?=\])</string> | |
<key>name</key> | |
<string>meta.structure.binding.map.clojure</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>begin</key> | |
<string>(?<=\{)</string> | |
<key>comment</key> | |
<string>TODO: merge with map ??</string> | |
<key>end</key> | |
<string>\}</string> | |
<key>endCaptures</key> | |
<dict> | |
<key>0</key> | |
<dict> | |
<key>name</key> | |
<string>punctuation.definition.map.end.clojure</string> | |
</dict> | |
</dict> | |
<key>name</key> | |
<string>meta.function.parameters.map.clojure</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#comment</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#metadata</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#parameters_variable</string> | |
</dict> | |
<dict> | |
<key>match</key> | |
<string>(:as|:or|:keys|:strs|:syms)(?![a-zA-Z+!\-_?0-9*~#@'`/.$=])</string> | |
<key>name</key> | |
<string>keyword.operator.symbolargs.clojure</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#parameters</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#parameters_map</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#all</string> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#binding_exp</string> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>(:let|:when|:while)(?![a-zA-Z+!\-_?0-9*~#@'`/.$=])</string> | |
<key>beginCaptures</key> | |
<dict> | |
<key>1</key> | |
<dict> | |
<key>name</key> | |
<string>keyword.operator.symbolargs.clojure</string> | |
</dict> | |
</dict> | |
<key>end</key> | |
<string>(?=\])</string> | |
<key>name</key> | |
<string>meta.structure.binding.symbolargs.clojure</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#binding_exp</string> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>(?=[a-zA-Z+!\-_?0-9*~#@'`/.$=])</string> | |
<key>comment</key> | |
<string>symbol matching</string> | |
<key>end</key> | |
<string>(?=\])</string> | |
<key>name</key> | |
<string>meta.structure.binding.symbole.clojure</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>begin</key> | |
<string>(?=[a-zA-Z+!\-_?0-9*~#@'`/.$=])</string> | |
<key>end</key> | |
<string>(?<=[a-zA-Z+!\-_?0-9*~#@'`/.$=])(?![a-zA-Z+!\-_?0-9*~#@'`/.$=])</string> | |
<key>name</key> | |
<string>variable.parameter.clojure</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#keyword</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#operator</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#number</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#symbol</string> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>(?![a-zA-Z+!\-_?0-9*~#@'`/.$=])</string> | |
<key>end</key> | |
<string>(?=\])</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#binding_exp</string> | |
</dict> | |
</array> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>[^\s]</string> | |
<key>end</key> | |
<string>[^\]]</string> | |
<key>name</key> | |
<string>invalid.illegal.bindings.clojure</string> | |
</dict> | |
</array> | |
</dict> | |
<key>binding_exp</key> | |
<dict> | |
<key>comment</key> | |
<string>consume bindings to the end, dual recursive with binding</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#comment</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#metadata</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#operator_special</string> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>(\(\)|{}|\[\]|#{})</string> | |
<key>beginCaptures</key> | |
<dict> | |
<key>1</key> | |
<dict> | |
<key>name</key> | |
<string>constant.language.clojure</string> | |
</dict> | |
</dict> | |
<key>end</key> | |
<string>(?=\])</string> | |
<key>name</key> | |
<string>meta.structure.binding_exp.constant.language.clojure</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#binding</string> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>(?=#?\()</string> | |
<key>end</key> | |
<string>(?=\])</string> | |
<key>name</key> | |
<string>meta.structure.binding_exp.sexp.clojure</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>begin</key> | |
<string>(?=#?\()</string> | |
<key>end</key> | |
<string>(?<=\))</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#function</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#function_multi_method</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#lambda</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#macro</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#sexpr</string> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#binding</string> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>(\[)</string> | |
<key>end</key> | |
<string>(?=\])</string> | |
<key>name</key> | |
<string>meta.structure.binding_exp.vector.clojure</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>begin</key> | |
<string>(?<=\[)</string> | |
<key>beginCaptures</key> | |
<dict> | |
<key>0</key> | |
<dict> | |
<key>name</key> | |
<string>punctuation.definition.vector.begin.clojure</string> | |
</dict> | |
</dict> | |
<key>comment</key> | |
<string>TODO: merge with vector</string> | |
<key>end</key> | |
<string>\]</string> | |
<key>endCaptures</key> | |
<dict> | |
<key>0</key> | |
<dict> | |
<key>name</key> | |
<string>punctuation.definition.vector.end.clojure</string> | |
</dict> | |
</dict> | |
<key>name</key> | |
<string>meta.expression.vector.clojure</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#all</string> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#binding</string> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>(\{)</string> | |
<key>end</key> | |
<string>(?=\])</string> | |
<key>name</key> | |
<string>meta.structure.binding_exp.map.clojure</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>begin</key> | |
<string>(?<=\{)</string> | |
<key>beginCaptures</key> | |
<dict> | |
<key>0</key> | |
<dict> | |
<key>name</key> | |
<string>punctuation.definition.map.begin.clojure</string> | |
</dict> | |
</dict> | |
<key>comment</key> | |
<string>TODO: merge with map</string> | |
<key>end</key> | |
<string>}</string> | |
<key>endCaptures</key> | |
<dict> | |
<key>0</key> | |
<dict> | |
<key>name</key> | |
<string>punctuation.definition.map.end.clojure</string> | |
</dict> | |
</dict> | |
<key>name</key> | |
<string>meta.expression.map.clojure</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#all</string> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#binding</string> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>(?=#\{)</string> | |
<key>end</key> | |
<string>(?=\])</string> | |
<key>name</key> | |
<string>meta.structure.binding_exp.set.clojure</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#set</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#binding</string> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>(?=")|(?=\\)|(?=\:)|(?=\#")</string> | |
<key>end</key> | |
<string>(?=\])</string> | |
<key>name</key> | |
<string>meta.structure.binding_exp.string.clojure</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#string</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#binding</string> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>(?=[a-zA-Z+!\-_?0-9*~#@'`/.$=])</string> | |
<key>comment</key> | |
<string>symbol matching</string> | |
<key>end</key> | |
<string>(?=\])</string> | |
<key>name</key> | |
<string>meta.structure.binding_exp.symbole.clojure</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>begin</key> | |
<string>(?=[a-zA-Z+!\-_?0-9*~#@'`/.$=])</string> | |
<key>end</key> | |
<string>(?<=[a-zA-Z+!\-_?0-9*~#@'`/.$=])(?![a-zA-Z+!\-_?0-9*~#@'`/.$=])</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#keyword</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#operator</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#number</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#symbol</string> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>(?![a-zA-Z+!\-_?0-9*~#@'`/.$=])</string> | |
<key>end</key> | |
<string>(?=\])</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#binding</string> | |
</dict> | |
</array> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>[^\s]</string> | |
<key>end</key> | |
<string>[^\]]</string> | |
<key>name</key> | |
<string>invalid.illegal.bindings.clojure</string> | |
</dict> | |
</array> | |
</dict> | |
<key>bindings_form</key> | |
<dict> | |
<key>begin</key> | |
<string>\[</string> | |
<key>comment</key> | |
<string>bindings followed by all</string> | |
<key>end</key> | |
<string>(?=\))</string> | |
<key>name</key> | |
<string>meta.structure.bindings.clojure</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>begin</key> | |
<string>(?<=\[)</string> | |
<key>end</key> | |
<string>\]</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#binding</string> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>(?<=\])</string> | |
<key>end</key> | |
<string>(?=\))</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#all</string> | |
</dict> | |
</array> | |
</dict> | |
</array> | |
</dict> | |
<key>comment</key> | |
<dict> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>captures</key> | |
<dict> | |
<key>1</key> | |
<dict> | |
<key>name</key> | |
<string>punctuation.definition.comment.clojure</string> | |
</dict> | |
</dict> | |
<key>match</key> | |
<string>(;;).*(;;)$\n?</string> | |
<key>name</key> | |
<string>comment.line.semicolon.double.banner.clojure</string> | |
</dict> | |
<dict> | |
<key>captures</key> | |
<dict> | |
<key>1</key> | |
<dict> | |
<key>name</key> | |
<string>punctuation.definition.comment.clojure</string> | |
</dict> | |
</dict> | |
<key>match</key> | |
<string>(;;).*$\n?</string> | |
<key>name</key> | |
<string>comment.line.semicolon.double.clojure</string> | |
</dict> | |
<dict> | |
<key>captures</key> | |
<dict> | |
<key>1</key> | |
<dict> | |
<key>name</key> | |
<string>punctuation.definition.comment.clojure</string> | |
</dict> | |
</dict> | |
<key>match</key> | |
<string>^(;).*$\n?</string> | |
<key>name</key> | |
<string>comment.line.semicolon.start.clojure</string> | |
</dict> | |
<dict> | |
<key>captures</key> | |
<dict> | |
<key>1</key> | |
<dict> | |
<key>name</key> | |
<string>punctuation.definition.comment.clojure</string> | |
</dict> | |
</dict> | |
<key>match</key> | |
<string>(;).*$\n?</string> | |
<key>name</key> | |
<string>comment.line.semicolon.clojure</string> | |
</dict> | |
</array> | |
</dict> | |
<key>expr</key> | |
<dict> | |
<key>name</key> | |
<string>meta.expr.clojure</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#keyword</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#operator</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#string</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#vector</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#map</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#set</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#metadata</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#number</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#symbol</string> | |
</dict> | |
</array> | |
</dict> | |
<key>function</key> | |
<dict> | |
<key>begin</key> | |
<string>\(\s*(defn\-?)\s</string> | |
<key>beginCaptures</key> | |
<dict> | |
<key>1</key> | |
<dict> | |
<key>name</key> | |
<string>storage.type.function.type.clojure</string> | |
</dict> | |
</dict> | |
<key>end</key> | |
<string>\)</string> | |
<key>endCaptures</key> | |
<dict> | |
<key>1</key> | |
<dict> | |
<key>name</key> | |
<string>punctuation.terminator.function.clojure</string> | |
</dict> | |
</dict> | |
<key>name</key> | |
<string>meta.function.clojure</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#comment</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#metadata</string> | |
</dict> | |
<dict> | |
<key>match</key> | |
<string>\s*</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#function_name</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#function_body_comment</string> | |
</dict> | |
</array> | |
</dict> | |
<key>function_body</key> | |
<dict> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>begin</key> | |
<string>\(\s*(?=\[)</string> | |
<key>end</key> | |
<string>\)</string> | |
<key>name</key> | |
<string>meta.function.body.code.clojure</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#parameters_body</string> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>(?=\[)</string> | |
<key>end</key> | |
<string>(?=\))</string> | |
<key>name</key> | |
<string>meta.function.body.clojure</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#parameters_body</string> | |
</dict> | |
</array> | |
</dict> | |
</array> | |
</dict> | |
<key>function_body_comment</key> | |
<dict> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>begin</key> | |
<string>"</string> | |
<key>beginCaptures</key> | |
<dict> | |
<key>0</key> | |
<dict> | |
<key>name</key> | |
<string>string.quoted.double.begin.clojure</string> | |
</dict> | |
</dict> | |
<key>end</key> | |
<string>"</string> | |
<key>endCaptures</key> | |
<dict> | |
<key>0</key> | |
<dict> | |
<key>name</key> | |
<string>string.quoted.double.end.clojure</string> | |
</dict> | |
</dict> | |
<key>name</key> | |
<string>string.docstring.clojure</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#string_escape</string> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>\{</string> | |
<key>beginCaptures</key> | |
<dict> | |
<key>0</key> | |
<dict> | |
<key>name</key> | |
<string>comment.punctuation.definition.metadata.begin.clojure</string> | |
</dict> | |
</dict> | |
<key>end</key> | |
<string>\}</string> | |
<key>endCaptures</key> | |
<dict> | |
<key>0</key> | |
<dict> | |
<key>name</key> | |
<string>comment.punctuation.definition.metadata.end.clojure</string> | |
</dict> | |
</dict> | |
<key>name</key> | |
<string>meta.metadata.map.clojure</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#metadata_patterns</string> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#function_body</string> | |
</dict> | |
</array> | |
</dict> | |
<key>function_multi_method</key> | |
<dict> | |
<key>begin</key> | |
<string>\(\s*(defmethod\-?)\s+</string> | |
<key>beginCaptures</key> | |
<dict> | |
<key>1</key> | |
<dict> | |
<key>name</key> | |
<string>storage.type.function.type.clojure</string> | |
</dict> | |
</dict> | |
<key>end</key> | |
<string>\)</string> | |
<key>name</key> | |
<string>meta.function.multi_method.clojure</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#comment</string> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>(?=[a-zA-Z+!\-_?0-9*~#@'`/.$=])</string> | |
<key>end</key> | |
<string>(?=\))</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>begin</key> | |
<string>(?=[a-zA-Z+!\-_?0-9*~#@'`/.$=])</string> | |
<key>end</key> | |
<string>(?<=[a-zA-Z+!\-_?0-9*~#@'`/.$=])(?![a-zA-Z+!\-_?0-9*~#@'`/.$=])</string> | |
<key>name</key> | |
<string>meta.function.multi_method.name.clojure</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#function_name</string> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>(?<=[a-zA-Z+!\-_?0-9*~#@'`/.$=])(?![a-zA-Z+!\-_?0-9*~#@'`/.$=])</string> | |
<key>end</key> | |
<string>(?=\))</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#comment</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#metadata</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#operator_special</string> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>(\(\)|{}|\[\]|#{})</string> | |
<key>beginCaptures</key> | |
<dict> | |
<key>1</key> | |
<dict> | |
<key>name</key> | |
<string>constant.language.clojure</string> | |
</dict> | |
</dict> | |
<key>end</key> | |
<string>(?=\))</string> | |
<key>name</key> | |
<string>meta.structure.multi_method_exp.constant.language.clojure</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#parameters_body</string> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>(?=#?\()</string> | |
<key>end</key> | |
<string>(?=\))</string> | |
<key>name</key> | |
<string>meta.structure.multi_method_exp.sexp.clojure</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>begin</key> | |
<string>(?=#?\()</string> | |
<key>end</key> | |
<string>(?<=\))</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#function</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#function_multi_method</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#lambda</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#macro</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#sexpr</string> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#parameters_body</string> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>(\[)</string> | |
<key>end</key> | |
<string>(?=\))</string> | |
<key>name</key> | |
<string>meta.structure.multi_method_exp.vector.clojure</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>begin</key> | |
<string>(?<=\[)</string> | |
<key>beginCaptures</key> | |
<dict> | |
<key>0</key> | |
<dict> | |
<key>name</key> | |
<string>punctuation.definition.vector.begin.clojure</string> | |
</dict> | |
</dict> | |
<key>comment</key> | |
<string>TODO: merge with vector</string> | |
<key>end</key> | |
<string>(\])</string> | |
<key>endCaptures</key> | |
<dict> | |
<key>1</key> | |
<dict> | |
<key>name</key> | |
<string>punctuation.definition.vector.end.clojure</string> | |
</dict> | |
</dict> | |
<key>name</key> | |
<string>meta.expression.vector.clojure</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#all</string> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>(?<=\])\s*</string> | |
<key>end</key> | |
<string>(?=\))</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#parameters_body</string> | |
</dict> | |
</array> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>(\{)</string> | |
<key>end</key> | |
<string>(?=\))</string> | |
<key>name</key> | |
<string>meta.structure.multi_method_exp.map.clojure</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>begin</key> | |
<string>(?<=\{)</string> | |
<key>beginCaptures</key> | |
<dict> | |
<key>0</key> | |
<dict> | |
<key>name</key> | |
<string>punctuation.definition.map.begin.clojure</string> | |
</dict> | |
</dict> | |
<key>comment</key> | |
<string>TODO: merge with map</string> | |
<key>end</key> | |
<string>}</string> | |
<key>endCaptures</key> | |
<dict> | |
<key>0</key> | |
<dict> | |
<key>name</key> | |
<string>punctuation.definition.map.end.clojure</string> | |
</dict> | |
</dict> | |
<key>name</key> | |
<string>meta.expression.map.clojure</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#all</string> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#parameters_body</string> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>(?=#\{)</string> | |
<key>end</key> | |
<string>(?=\))</string> | |
<key>name</key> | |
<string>meta.structure.multi_method_exp.set.clojure</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#set</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#parameters_body</string> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>(?=")|(?=\\)|(?=\:)|(?=\#")</string> | |
<key>end</key> | |
<string>(?=\))</string> | |
<key>name</key> | |
<string>meta.structure.multi_method_exp.string.clojure</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#string</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#parameters_body</string> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>(?=[a-zA-Z+!\-_?0-9*~#@'`/.$=])</string> | |
<key>comment</key> | |
<string>symbol matching</string> | |
<key>end</key> | |
<string>(?=\))</string> | |
<key>name</key> | |
<string>meta.structure.multi_method_exp.symbole.clojure</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>begin</key> | |
<string>(?=[a-zA-Z+!\-_?0-9*~#@'`/.$=])</string> | |
<key>end</key> | |
<string>(?<=[a-zA-Z+!\-_?0-9*~#@'`/.$=])(?![a-zA-Z+!\-_?0-9*~#@'`/.$=])</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#symbol_java_inherited_class</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#keyword</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#operator</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#number</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#symbol</string> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>(?![a-zA-Z+!\-_?0-9*~#@'`/.$=])</string> | |
<key>end</key> | |
<string>(?=\))</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#parameters_body</string> | |
</dict> | |
</array> | |
</dict> | |
</array> | |
</dict> | |
</array> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>comment</key> | |
<string>Need to match a single expression like binding-exp</string> | |
</dict> | |
</array> | |
</dict> | |
<key>function_name</key> | |
<dict> | |
<key>begin</key> | |
<string>(?=[a-zA-Z+!\-_?0-9*~#@'`/.$=])</string> | |
<key>comment</key> | |
<string>symbol matching</string> | |
<key>end</key> | |
<string>(?![a-zA-Z+!\-_?0-9*~#@'`/.$=])</string> | |
<key>name</key> | |
<string>entity.name.function.clojure</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#keyword</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#operator</string> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>-(?=[a-zA-Z+!\-_?*~#@'`/.$=])</string> | |
<key>beginCaptures</key> | |
<dict> | |
<key>0</key> | |
<dict> | |
<key>name</key> | |
<string>keyword.operator.prefix.genclass.clojure</string> | |
</dict> | |
</dict> | |
<key>end</key> | |
<string>(?![a-zA-Z+!\-_?0-9*~#@'`/.$=])</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#symbol</string> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#symbol</string> | |
</dict> | |
</array> | |
</dict> | |
<key>genclass_parameters</key> | |
<dict> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#gencommon_parameters</string> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>(:extends)\s+</string> | |
<key>beginCaptures</key> | |
<dict> | |
<key>1</key> | |
<dict> | |
<key>name</key> | |
<string>support.other.keyword.genclass.clojure</string> | |
</dict> | |
</dict> | |
<key>end</key> | |
<string>(?![a-zA-Z+!\-_?0-9*~#@'`/.$=])</string> | |
<key>name</key> | |
<string>meta.other.genclass.extends.clojure</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#symbol_java_inherited_class</string> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>(:implements)\s+(\[)</string> | |
<key>beginCaptures</key> | |
<dict> | |
<key>1</key> | |
<dict> | |
<key>name</key> | |
<string>support.other.keyword.genclass.clojure</string> | |
</dict> | |
</dict> | |
<key>end</key> | |
<string>\]</string> | |
<key>name</key> | |
<string>meta.other.genclass.implements.clojure</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#symbol_java_inherited_class</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#all</string> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>(:constructors)\s+(\{)</string> | |
<key>beginCaptures</key> | |
<dict> | |
<key>1</key> | |
<dict> | |
<key>name</key> | |
<string>support.other.keyword.genclass.clojure</string> | |
</dict> | |
</dict> | |
<key>end</key> | |
<string>\}</string> | |
<key>name</key> | |
<string>meta.other.genclass.constructors.clojure</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>begin</key> | |
<string>\[</string> | |
<key>end</key> | |
<string>\]</string> | |
<key>name</key> | |
<string>meta.other.genclass.constructor.signature.clojure</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>begin</key> | |
<string>(?=[a-zA-Z+!\-_?0-9*~#@'`/.$=])</string> | |
<key>comment</key> | |
<string>TODO: make a rule java Class (storage)</string> | |
<key>end</key> | |
<string>(?![a-zA-Z+!\-_?0-9*~#@'`/.$=])</string> | |
<key>name</key> | |
<string>storage.type.java.clojure</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#symbol</string> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#all</string> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#all</string> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>(:exposes)\s+(\{)</string> | |
<key>beginCaptures</key> | |
<dict> | |
<key>1</key> | |
<dict> | |
<key>name</key> | |
<string>support.other.keyword.genclass.clojure</string> | |
</dict> | |
</dict> | |
<key>end</key> | |
<string>\}</string> | |
<key>name</key> | |
<string>meta.other.genclass.exposes.clojure</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>begin</key> | |
<string>\{</string> | |
<key>end</key> | |
<string>\}</string> | |
<key>name</key> | |
<string>meta.other.genclass.exposes.get_set.clojure</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>match</key> | |
<string>:(get|set)</string> | |
<key>name</key> | |
<string>support.other.keyword.genclass.clojure</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#all</string> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#all</string> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>captures</key> | |
<dict> | |
<key>0</key> | |
<dict> | |
<key>name</key> | |
<string>support.other.keyword.genclass.clojure</string> | |
</dict> | |
</dict> | |
<key>match</key> | |
<string>:(init|main|factory|state|prefix|load-impl-ns|implements|constructors|exposes|impl-ns|exposes-methods|methods)(?![a-zA-Z+!\-_?0-9*~#@'`/.$=])</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#all</string> | |
</dict> | |
</array> | |
</dict> | |
<key>gencommon_parameters</key> | |
<dict> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#comment</string> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>(:name)\s+(?=[a-zA-Z+!\-_?0-9*~#@'`/.$=])</string> | |
<key>beginCaptures</key> | |
<dict> | |
<key>1</key> | |
<dict> | |
<key>name</key> | |
<string>support.other.keyword.genclass.clojure</string> | |
</dict> | |
</dict> | |
<key>end</key> | |
<string>(?![a-zA-Z+!\-_?0-9*~#@'`/.$=])</string> | |
<key>name</key> | |
<string>meta.other.genclass.name.clojure</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>begin</key> | |
<string>(?=[a-zA-Z+!\-_?0-9*~#@'`/.$=])</string> | |
<key>end</key> | |
<string>(?![a-zA-Z+!\-_?0-9*~#@'`/.$=])</string> | |
<key>name</key> | |
<string>entity.name.namespace.clojure</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#symbol</string> | |
</dict> | |
</array> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>(:methods)\s+(\[)</string> | |
<key>beginCaptures</key> | |
<dict> | |
<key>1</key> | |
<dict> | |
<key>name</key> | |
<string>support.other.keyword.genclass.clojure</string> | |
</dict> | |
</dict> | |
<key>end</key> | |
<string>\]</string> | |
<key>name</key> | |
<string>meta.other.genclass.methods.clojure</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>begin</key> | |
<string>\[</string> | |
<key>end</key> | |
<string>\]</string> | |
<key>name</key> | |
<string>meta.other.genclass.method.signature.clojure</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>begin</key> | |
<string>\[</string> | |
<key>end</key> | |
<string>\]</string> | |
<key>name</key> | |
<string>meta.other.genclass.method.args.signature.clojure</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>begin</key> | |
<string>(?=[a-zA-Z+!\-_?0-9*~#@'`/.$=])</string> | |
<key>comment</key> | |
<string>TODO: make a rule java Class (storage)</string> | |
<key>end</key> | |
<string>(?![a-zA-Z+!\-_?0-9*~#@'`/.$=])</string> | |
<key>name</key> | |
<string>storage.type.java.clojure</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#symbol</string> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#all</string> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>(?=[a-zA-Z+!\-_?0-9*~#@'`/.$=]+\s*])</string> | |
<key>end</key> | |
<string>.|$</string> | |
<key>name</key> | |
<string>storage.type.java.genclass.return_type.clojure</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#symbol</string> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#all</string> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#all</string> | |
</dict> | |
</array> | |
</dict> | |
</array> | |
</dict> | |
<key>geninterface_parameters</key> | |
<dict> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#gencommon_parameters</string> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>(:extends)\s+(\[)</string> | |
<key>beginCaptures</key> | |
<dict> | |
<key>1</key> | |
<dict> | |
<key>name</key> | |
<string>support.other.keyword.genclass.clojure</string> | |
</dict> | |
</dict> | |
<key>end</key> | |
<string>\]</string> | |
<key>name</key> | |
<string>meta.other.genclass.implements.clojure</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#symbol_java_inherited_class</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#all</string> | |
</dict> | |
</array> | |
</dict> | |
</array> | |
</dict> | |
<key>keyword</key> | |
<dict> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>match</key> | |
<string>(?<![*+!_?\-])\b((if-not|if|cond|do|let|loop|recur|throw|try|catch|finally|new|trampoline)\b|(set!|swap!|compare-and-set!))(?![*+!_?\-])</string> | |
<key>name</key> | |
<string>keyword.control.clojure</string> | |
</dict> | |
<dict> | |
<key>match</key> | |
<string>(?<![*+!_?\-])\b(monitor-enter|monitor-exit|assoc|touch|drop|take|concat|prn|into|cons|first|flatten|rest|frest|rrest|second|lazy-cat|lazy-cons|conj|await|range|iterate)\b(?![*+!_?\-])</string> | |
<key>name</key> | |
<string>keyword.other.clojure</string> | |
</dict> | |
<dict> | |
<key>match</key> | |
<string>(?<![*+!_?\-])\b(str|print(ln)?|eval|def|defmacro|defn|quote|var|fn|defmulti|defmethod|map|list|hash-map|vector|agent|declare|intern|macroexpand|macroexpand-1)\b(?![*+!_?\-])</string> | |
<key>name</key> | |
<string>storage.clojure</string> | |
</dict> | |
<dict> | |
<key>match</key> | |
<string>(?<![*+!_?\-])\b(->|\.\.|amap|and|areduce|assert|binding|comment|cond|definline|(def[a-z\-]*)|defmatch|defmethod|defmulti|defn|defn-|defonce|defstruct|delay|doc|doseq|dosync|dotimes|doto|fn|for|if-let|lazy-cons|let|locking|loop|memfn|ns|or|prefer-method|proxy-super|proxy|refer-clojure|remove-method|sync|time|when-first|when-let|when-not|when|while|with-in-str|with-local-vars|with-open|with-out-str|with-precision|memoize)\b(?![*+!_?\-])</string> | |
<key>name</key> | |
<string>support.function.match.clojure</string> | |
</dict> | |
<dict> | |
<key>captures</key> | |
<dict> | |
<key>2</key> | |
<dict> | |
<key>name</key> | |
<string>keyword.other.mark.clojure</string> | |
</dict> | |
</dict> | |
<key>match</key> | |
<string>(?<![*+!_?\-])\b(rational|associative|branch|class|coll|contains|decimal|delay|distinct|empty|end|even|every|false|float|fn|identical|instance|integer|isa|keyword|list|map|neg|nil|not-any|not-every|number|odd|pos|ratio|reversible|seq|sequential|set|sorted|special-symbol|string|symbol|true|var|zero|vector|ifn)(\?)(?![*+!_?\-])</string> | |
<key>name</key> | |
<string>support.function.tester.clojure</string> | |
</dict> | |
<dict> | |
<key>captures</key> | |
<dict> | |
<key>2</key> | |
<dict> | |
<key>name</key> | |
<string>keyword.other.mark.clojure</string> | |
</dict> | |
<key>3</key> | |
<dict> | |
<key>name</key> | |
<string>keyword.other.mark.clojure</string> | |
</dict> | |
<key>4</key> | |
<dict> | |
<key>name</key> | |
<string>keyword.other.mark.clojure</string> | |
</dict> | |
</dict> | |
<key>match</key> | |
<string>(?<![*+!_?\-])\b(not(=)|list(\*)|io(!))(?![*+!_?\-])</string> | |
<key>name</key> | |
<string>support.function.clojure</string> | |
</dict> | |
<dict> | |
<key>match</key> | |
<string>(?<![*+!_?\-])\b(zipper|zipmap|xml-zip|xml-seq|with-meta|vector-zip|vector|vec|var-set|var-get|vals|val|use|update-proxy|update-in|up|union|underive|unchecked-subtract|unchecked-negate|unchecked-multiply|unchecked-inc|unchecked-divide|unchecked-dec|unchecked-add|tree-seq|to-array-2d|to-array|test|take-while|take-nth|symbol|supers|subvec|subseq|subs|struct-map|struct|str|split-with|split-at|sorted-set|sorted-map-by|sorted-map|sort-by|sort|some|slurp|shutdown-agents|short|set-validator|set|seque|seq-zip|seq|send-off|send|select-keys|select|rsubseq|rseq|root|rights|right|rfirst|reverse|resultset-seq|resolve|require|replicate|replace|repeatedly|repeat|rename-keys|rename|remove-ns|remove|rem|refer|ref-set|ref|reduce|read-string|read-line|read|re-seq|re-pattern|re-matches|re-matcher|re-groups|re-find|rationalize|rand-int|rand|quot|pvec|psummary|psort|proxy-mappings|project|prn-str|println-str|println|printf|print-str|print|preduce|pr-str|pr|pop|pmin|pmax|pmap|pfilter-nils|pfilter-dupes|peek|pdistinct|path|partition|partial|parse|parents|par|pany|num|nthrest|nth|ns-unmap|ns-unalias|ns-resolve|ns-refers|ns-publics|ns-name|ns-map|ns-interns|ns-imports|ns-aliases|not=|not-empty|not|node|next|newline|namespace|name|min-key|min|meta|merge-with|merge|max-key|max|matchexpand-1|matchexpand|mapcat|map-invert|map|make-node|make-hierarchy|make-array|long-array|long|loaded-libs|load-string|load-reader|load-file|load|list*|list|line-seq|lefts|left|last|keyword|keys|key|join|iterator-seq|into-array|intersection|interpose|interleave|int-array|int|inspect-tree|inspect-table|insert-right|insert-left|insert-child|index|inc|in-ns|import|identity|hash-set|hash-map|hash|get-validator|get-proxy-class|get-in|get|gensym|gen-class|gen-interface|gen-and-save-class|gen-and-load-class|format|force|fnseq|flush|float-array|float|find-var|find-ns|find-doc|find|filter|file-seq|ffirst|eval|enumeration-seq|ensure|empty|edit|drop-while|drop-last|down|double-array|double|dorun|doall|distinct|dissoc|disj|difference|descendants|derive|deref|dec|cycle|create-struct|create-ns|count|construct-proxy|constantly|conj|complement|compare|comparator|comp|commute|clojure.set|clojure.parallel|clojure.inspector|clear-agent-errors|class|children|char|cast|cache-seq|byte|butlast|boolean|bit-xor|bit-test|bit-shift-right|bit-shift-left|bit-set|bit-or|bit-not|bit-flip|bit-clear|bit-and-not|bit-and|bigint|bigdec|bean|bases|await-for|assoc-in|aset-short|aset-long|aset-int|aset-float|aset-double|aset-char|aset-byte|aset-boolean|aset|array-map|apply|append-child|ancestors|alter-var-root|alter|all-ns|alias|alength|aget|agent-errors|agent|add-classpath|aclone|accessor|compile|longs|doubles|ints|floats|atom)\b(?![*+!_?\-])</string> | |
<key>name</key> | |
<string>support.function.clojure</string> | |
</dict> | |
<dict> | |
<key>match</key> | |
<string>(?<![*+!_?\-])\b(true|false|nil)\b(?![*+!_?\-])</string> | |
<key>name</key> | |
<string>constant.language.clojure</string> | |
</dict> | |
<dict> | |
<key>match</key> | |
<string>(\(\)|{}|\[\]|#{})</string> | |
<key>name</key> | |
<string>constant.language.clojure</string> | |
</dict> | |
<dict> | |
<key>comment</key> | |
<string>TODO : clean this ?</string> | |
<key>match</key> | |
<string>(?<![*+!_?\-])\b:(private|doc|test|tag)\b(?![*+!_?\-])</string> | |
<key>name</key> | |
<string>storage.modifier.clojure</string> | |
</dict> | |
<dict> | |
<key>comment</key> | |
<string>TODO : clean this ?</string> | |
<key>match</key> | |
<string>(?<![*+!_?\-])\b:(file|line|name|ns|match|argslist)\b(?![*+!_?\-])</string> | |
<key>name</key> | |
<string>support.variable.clojure</string> | |
</dict> | |
<dict> | |
<key>match</key> | |
<string>(?<![*+!_?\-])\*(agent|allow-unresolved-vars|command-line-args|compile-files|compile-path|err|file|flush-on-newline|in|macro-meta|math-context|ns|out|print-dup|print-length|print-level|print-meta|print-readably|proxy-classes|use-context-classloader|warn-on-reflection)\*(?![*+!_?\-])</string> | |
<key>name</key> | |
<string>support.variable.global.clojure</string> | |
</dict> | |
</array> | |
</dict> | |
<key>lambda</key> | |
<dict> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>begin</key> | |
<string>\(\s*(fn)\s+</string> | |
<key>beginCaptures</key> | |
<dict> | |
<key>1</key> | |
<dict> | |
<key>name</key> | |
<string>storage.type.function.type.clojure</string> | |
</dict> | |
</dict> | |
<key>end</key> | |
<string>\)</string> | |
<key>name</key> | |
<string>meta.function.lambda.clojure</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#comment</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#function_name</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#function_body</string> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>(#)\(</string> | |
<key>beginCaptures</key> | |
<dict> | |
<key>1</key> | |
<dict> | |
<key>name</key> | |
<string>storage.type.function.type.clojure</string> | |
</dict> | |
</dict> | |
<key>end</key> | |
<string>\)</string> | |
<key>name</key> | |
<string>meta.function.lambda.clojure</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#sexpr_special</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#all</string> | |
</dict> | |
</array> | |
</dict> | |
</array> | |
</dict> | |
<key>macro</key> | |
<dict> | |
<key>begin</key> | |
<string>\(\s*(\b(defmacro\-?))\s+</string> | |
<key>beginCaptures</key> | |
<dict> | |
<key>1</key> | |
<dict> | |
<key>name</key> | |
<string>storage.type.function.type.clojure</string> | |
</dict> | |
</dict> | |
<key>end</key> | |
<string>\)</string> | |
<key>name</key> | |
<string>meta.function.macro.clojure</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#comment</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#metadata</string> | |
</dict> | |
<dict> | |
<key>match</key> | |
<string>\s*</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#function_name</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#function_body_comment</string> | |
</dict> | |
</array> | |
</dict> | |
<key>map</key> | |
<dict> | |
<key>begin</key> | |
<string>{(?!})</string> | |
<key>beginCaptures</key> | |
<dict> | |
<key>0</key> | |
<dict> | |
<key>name</key> | |
<string>punctuation.definition.map.begin.clojure</string> | |
</dict> | |
</dict> | |
<key>end</key> | |
<string>(?<!{)}</string> | |
<key>endCaptures</key> | |
<dict> | |
<key>0</key> | |
<dict> | |
<key>name</key> | |
<string>punctuation.definition.map.end.clojure</string> | |
</dict> | |
</dict> | |
<key>name</key> | |
<string>meta.expression.map.clojure</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#all</string> | |
</dict> | |
</array> | |
</dict> | |
<key>metadata</key> | |
<dict> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>begin</key> | |
<string>#?\^{</string> | |
<key>beginCaptures</key> | |
<dict> | |
<key>0</key> | |
<dict> | |
<key>name</key> | |
<string>comment.punctuation.definition.metadata.begin.clojure</string> | |
</dict> | |
</dict> | |
<key>end</key> | |
<string>}</string> | |
<key>endCaptures</key> | |
<dict> | |
<key>0</key> | |
<dict> | |
<key>name</key> | |
<string>comment.punctuation.definition.metadata.end.clojure</string> | |
</dict> | |
</dict> | |
<key>name</key> | |
<string>punctuation.metadata.map.clojure</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#metadata_patterns</string> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>#?\^"</string> | |
<key>beginCaptures</key> | |
<dict> | |
<key>0</key> | |
<dict> | |
<key>name</key> | |
<string>comment.punctuation.definition.metadata.begin.clojure</string> | |
</dict> | |
</dict> | |
<key>end</key> | |
<string>"</string> | |
<key>endCaptures</key> | |
<dict> | |
<key>0</key> | |
<dict> | |
<key>name</key> | |
<string>comment.punctuation.definition.metadata.end.clojure</string> | |
</dict> | |
</dict> | |
<key>name</key> | |
<string>string.metadata.clojure</string> | |
</dict> | |
<dict> | |
<key>captures</key> | |
<dict> | |
<key>1</key> | |
<dict> | |
<key>name</key> | |
<string>comment.punctuation.definition.metadata.begin.clojure</string> | |
</dict> | |
<key>2</key> | |
<dict> | |
<key>name</key> | |
<string>storage.type.java.clojure</string> | |
</dict> | |
</dict> | |
<key>match</key> | |
<string>(#?\^)([a-zA-Z+!\-_?0-9*/.$=]+)</string> | |
<key>name</key> | |
<string>punctuation.metadata.class.clojure</string> | |
</dict> | |
</array> | |
</dict> | |
<key>metadata_patterns</key> | |
<dict> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>match</key> | |
<string>(:tag|:doc|:arglists|:private|:macro|:name|:ns|:inline-arities|:inline|:line|:file)(?![a-zA-Z+!\-_?0-9*~#@'`/.$=])</string> | |
<key>name</key> | |
<string>support.other.keyword.namespace.clojure</string> | |
</dict> | |
<dict> | |
<key>match</key> | |
<string>(?<=:tag)\s+([a-zA-Z+!\-_?0-9*/.$=]+)</string> | |
<key>name</key> | |
<string>storage.type.java.clojure</string> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>(?<=:doc)\s+"</string> | |
<key>beginCaptures</key> | |
<dict> | |
<key>0</key> | |
<dict> | |
<key>name</key> | |
<string>string.quoted.double.begin.clojure</string> | |
</dict> | |
</dict> | |
<key>end</key> | |
<string>"</string> | |
<key>endCaptures</key> | |
<dict> | |
<key>0</key> | |
<dict> | |
<key>name</key> | |
<string>string.quoted.double.end.clojure</string> | |
</dict> | |
</dict> | |
<key>name</key> | |
<string>string.docstring.clojure</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#string_escape</string> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#all</string> | |
</dict> | |
</array> | |
</dict> | |
<key>namespace</key> | |
<dict> | |
<key>begin</key> | |
<string>\(\s*(ns)\b</string> | |
<key>beginCaptures</key> | |
<dict> | |
<key>1</key> | |
<dict> | |
<key>name</key> | |
<string>support.function.namespace.clojure</string> | |
</dict> | |
</dict> | |
<key>end</key> | |
<string>\)</string> | |
<key>name</key> | |
<string>meta.function.namespace.clojure</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>begin</key> | |
<string>(?=[a-zA-Z+!\-_?0-9*~#@'`/.$=])</string> | |
<key>end</key> | |
<string>(?![a-zA-Z+!\-_?0-9*~#@'`/.$=])</string> | |
<key>name</key> | |
<string>entity.name.namespace.clojure</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#symbol</string> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#namespace_body</string> | |
</dict> | |
</array> | |
</dict> | |
<key>namespace_body</key> | |
<dict> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>match</key> | |
<string>(:refer-clojure|:require|:use|:import|:load|:exclude|:as|:only)(?![a-zA-Z+!\-_?0-9*~#@'`/.$=])</string> | |
<key>name</key> | |
<string>support.other.keyword.namespace.clojure</string> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>\(\s*(:gen-class)</string> | |
<key>beginCaptures</key> | |
<dict> | |
<key>1</key> | |
<dict> | |
<key>name</key> | |
<string>support.other.keyword.genclass.clojure</string> | |
</dict> | |
</dict> | |
<key>end</key> | |
<string>\)</string> | |
<key>name</key> | |
<string>meta.function.genclass_form.clojure</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#genclass_parameters</string> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#symbol</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#string</string> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>\(</string> | |
<key>end</key> | |
<string>\)</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#namespace_body</string> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>\[</string> | |
<key>end</key> | |
<string>\]</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#namespace_body</string> | |
</dict> | |
</array> | |
</dict> | |
</array> | |
</dict> | |
<key>number</key> | |
<dict> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>captures</key> | |
<dict> | |
<key>2</key> | |
<dict> | |
<key>name</key> | |
<string>keyword.operator.arithmetic.ratio.clojure</string> | |
</dict> | |
</dict> | |
<key>match</key> | |
<string>(-|\+)?\b[0-9]+(/)[0-9]+\b</string> | |
<key>name</key> | |
<string>constant.numeric.float.ratio.clojure</string> | |
</dict> | |
<dict> | |
<key>match</key> | |
<string>[-+]?\b[0-9]+((\.[0-9]+([eE][-+]?[0-9]+)?)|((\.[0-9]+)?[eE][-+]?[0-9]+))?\b</string> | |
<key>name</key> | |
<string>constant.numeric.float.clojure</string> | |
</dict> | |
<dict> | |
<key>match</key> | |
<string>[-+]?\b[0-9]+(((\.[0-9])?+([eE][-+]?[0-9]+)?)|((\.[0-9]+)?[eE][-+]?[0-9]+))[M]?\b</string> | |
<key>name</key> | |
<string>constant.numeric.big_decimal.clojure</string> | |
</dict> | |
<dict> | |
<key>captures</key> | |
<dict> | |
<key>2</key> | |
<dict> | |
<key>name</key> | |
<string>keyword.operator.arithmetic.octal.clojure</string> | |
</dict> | |
<key>4</key> | |
<dict> | |
<key>name</key> | |
<string>invalid.illegal.integer.octal.clojure</string> | |
</dict> | |
<key>5</key> | |
<dict> | |
<key>name</key> | |
<string>invalid.illegal.integer.octal.clojure</string> | |
</dict> | |
</dict> | |
<key>match</key> | |
<string>(-|\+)?\b(0)([0-7]+|([89]))([0-9]*)\b</string> | |
<key>name</key> | |
<string>constant.numeric.integer.octal.clojure</string> | |
</dict> | |
<dict> | |
<key>match</key> | |
<string>(-|\+)?\b[0-9]+\b</string> | |
<key>name</key> | |
<string>constant.numeric.integer.clojure</string> | |
</dict> | |
<dict> | |
<key>captures</key> | |
<dict> | |
<key>2</key> | |
<dict> | |
<key>name</key> | |
<string>keyword.operator.arithmetic.hexa.clojure</string> | |
</dict> | |
</dict> | |
<key>match</key> | |
<string>(-|\+)?\b(0[xX])[0-9A-Fa-f]+\b</string> | |
<key>name</key> | |
<string>constant.numeric.integer.hexa.clojure</string> | |
</dict> | |
</array> | |
</dict> | |
<key>operator</key> | |
<dict> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>match</key> | |
<string>(?<![a-zA-Z0-9*+!_?\-])(\*|/|\<|\<=|=|==|\>|\>=|-\>)(?![a-zA-Z0-9*+!_?\-])</string> | |
<key>name</key> | |
<string>keyword.operator.clojure</string> | |
</dict> | |
<dict> | |
<key>match</key> | |
<string>(?<![a-zA-Z0-9*+!_?\-])(-|\+)(?![a-zA-Z0-9*+!_?\-])</string> | |
<key>name</key> | |
<string>keyword.operator.clojure</string> | |
</dict> | |
<dict> | |
<key>match</key> | |
<string>(?<![a-zA-Z0-9*+!_?\-])(\.|\.\.)(?![a-zA-Z0-9*+!_?\-])</string> | |
<key>name</key> | |
<string>keyword.operator.class.clojure</string> | |
</dict> | |
<dict> | |
<key>match</key> | |
<string>%(\d+|&)?</string> | |
<key>name</key> | |
<string>variable.parameter.literal.clojure</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#operator_special</string> | |
</dict> | |
</array> | |
</dict> | |
<key>operator_special</key> | |
<dict> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>match</key> | |
<string>`|~@|~</string> | |
<key>name</key> | |
<string>keyword.control.operator.clojure</string> | |
</dict> | |
<dict> | |
<key>match</key> | |
<string>#'|@</string> | |
<key>name</key> | |
<string>storage.type.function.type.clojure</string> | |
</dict> | |
<dict> | |
<key>match</key> | |
<string>'</string> | |
<key>name</key> | |
<string>constant.other.quote</string> | |
</dict> | |
<dict> | |
<key>match</key> | |
<string>\^</string> | |
<key>name</key> | |
<string>constant.other.metadata.read.clojure</string> | |
</dict> | |
</array> | |
</dict> | |
<key>parameters</key> | |
<dict> | |
<key>begin</key> | |
<string>\[</string> | |
<key>beginCaptures</key> | |
<dict> | |
<key>0</key> | |
<dict> | |
<key>name</key> | |
<string>punctuation.definition.vector.begin.clojure</string> | |
</dict> | |
</dict> | |
<key>end</key> | |
<string>\]</string> | |
<key>endCaptures</key> | |
<dict> | |
<key>0</key> | |
<dict> | |
<key>name</key> | |
<string>punctuation.definition.vector.end.clojure</string> | |
</dict> | |
</dict> | |
<key>name</key> | |
<string>meta.parameters.vector.clojure</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>match</key> | |
<string>\&</string> | |
<key>name</key> | |
<string>keyword.operator.varargs.clojure</string> | |
</dict> | |
<dict> | |
<key>match</key> | |
<string>(:as)(?![a-zA-Z+!\-_?0-9*~#@'`/.$=])</string> | |
<key>name</key> | |
<string>keyword.operator.symbolargs.clojure</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#comment</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#metadata</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#parameters_variable</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#parameters</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#parameters_map</string> | |
</dict> | |
</array> | |
</dict> | |
<key>parameters_body</key> | |
<dict> | |
<key>name</key> | |
<string>meta.function.body</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#parameters_function</string> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>(?<=\])</string> | |
<key>end</key> | |
<string>(?=\))</string> | |
<key>name</key> | |
<string>meta.function.body.code.clojure</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#all</string> | |
</dict> | |
</array> | |
</dict> | |
</array> | |
</dict> | |
<key>parameters_function</key> | |
<dict> | |
<key>begin</key> | |
<string>\[</string> | |
<key>beginCaptures</key> | |
<dict> | |
<key>0</key> | |
<dict> | |
<key>name</key> | |
<string>punctuation.definition.vector.begin.clojure</string> | |
</dict> | |
</dict> | |
<key>end</key> | |
<string>\]</string> | |
<key>endCaptures</key> | |
<dict> | |
<key>0</key> | |
<dict> | |
<key>name</key> | |
<string>punctuation.definition.vector.end.clojure</string> | |
</dict> | |
</dict> | |
<key>name</key> | |
<string>meta.function.parameters.vector.clojure</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>match</key> | |
<string>\&</string> | |
<key>name</key> | |
<string>keyword.operator.varargs.clojure</string> | |
</dict> | |
<dict> | |
<key>match</key> | |
<string>(:as)(?![a-zA-Z+!\-_?0-9*~#@'`/.$=])</string> | |
<key>name</key> | |
<string>keyword.operator.symbolargs.clojure</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#comment</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#metadata</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#parameters_variable</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#parameters</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#parameters_map</string> | |
</dict> | |
</array> | |
</dict> | |
<key>parameters_map</key> | |
<dict> | |
<key>begin</key> | |
<string>\{</string> | |
<key>beginCaptures</key> | |
<dict> | |
<key>0</key> | |
<dict> | |
<key>name</key> | |
<string>punctuation.definition.map.begin.clojure</string> | |
</dict> | |
</dict> | |
<key>end</key> | |
<string>\}</string> | |
<key>endCaptures</key> | |
<dict> | |
<key>0</key> | |
<dict> | |
<key>name</key> | |
<string>punctuation.definition.map.end.clojure</string> | |
</dict> | |
</dict> | |
<key>name</key> | |
<string>meta.function.parameters.map.clojure</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#parameters_variable</string> | |
</dict> | |
<dict> | |
<key>match</key> | |
<string>(:as|:or|:keys|:strs|:syms)(?![a-zA-Z+!\-_?0-9*~#@'`/.$=])</string> | |
<key>name</key> | |
<string>keyword.operator.symbolargs.clojure</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#parameters</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#parameters_map</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#all</string> | |
</dict> | |
</array> | |
</dict> | |
<key>parameters_variable</key> | |
<dict> | |
<key>begin</key> | |
<string>(?=[a-zA-Z+!\-_?0-9*~@'`/.$=])</string> | |
<key>comment</key> | |
<string>symbol matching TODO:operator number => error ?</string> | |
<key>end</key> | |
<string>(?![a-zA-Z+!\-_?0-9*~#@'`/.$=])</string> | |
<key>name</key> | |
<string>variable.parameter.clojure</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#keyword</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#operator</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#number</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#symbol</string> | |
</dict> | |
</array> | |
</dict> | |
<key>set</key> | |
<dict> | |
<key>begin</key> | |
<string>#{</string> | |
<key>beginCaptures</key> | |
<dict> | |
<key>0</key> | |
<dict> | |
<key>name</key> | |
<string>punctuation.definition.set.begin.clojure</string> | |
</dict> | |
</dict> | |
<key>end</key> | |
<string>}</string> | |
<key>endCaptures</key> | |
<dict> | |
<key>0</key> | |
<dict> | |
<key>name</key> | |
<string>punctuation.definition.set.end.clojure</string> | |
</dict> | |
</dict> | |
<key>name</key> | |
<string>meta.expression.set.clojure</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#all</string> | |
</dict> | |
</array> | |
</dict> | |
<key>sexpr</key> | |
<dict> | |
<key>begin</key> | |
<string>\((?!\))</string> | |
<key>end</key> | |
<string>(?<!\()\)</string> | |
<key>name</key> | |
<string>meta.sexpr.clojure</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#sexpr_special</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#all</string> | |
</dict> | |
</array> | |
</dict> | |
<key>sexpr_special</key> | |
<dict> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>begin</key> | |
<string>(?<=\()\s*(let|loop|doseq|dotimes|binding|for|if-let|when-let|with-local-vars|with-open)\s+(?=\[)</string> | |
<key>beginCaptures</key> | |
<dict> | |
<key>1</key> | |
<dict> | |
<key>name</key> | |
<string>keyword.control.clojure</string> | |
</dict> | |
</dict> | |
<key>end</key> | |
<string>(?=\))</string> | |
<key>name</key> | |
<string>meta.function.let_form.clojure</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#bindings_form</string> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>(?<=\()\s*(def|declare|defstruct|defonce|defmulti)\s+</string> | |
<key>beginCaptures</key> | |
<dict> | |
<key>1</key> | |
<dict> | |
<key>name</key> | |
<string>storage.type.variable.clojure</string> | |
</dict> | |
</dict> | |
<key>end</key> | |
<string>(?=\))</string> | |
<key>name</key> | |
<string>meta.function.def_form.clojure</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#metadata</string> | |
</dict> | |
<dict> | |
<key>match</key> | |
<string>\s*</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#function_name</string> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>(?<=$|.)</string> | |
<key>end</key> | |
<string>(?=\))</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#all</string> | |
</dict> | |
</array> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>(?<=\()\s*(prefer-method)\s+</string> | |
<key>beginCaptures</key> | |
<dict> | |
<key>1</key> | |
<dict> | |
<key>name</key> | |
<string>storage.type.variable.clojure</string> | |
</dict> | |
</dict> | |
<key>end</key> | |
<string>(?=\))</string> | |
<key>name</key> | |
<string>meta.function.def_form.clojure</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#metadata</string> | |
</dict> | |
<dict> | |
<key>match</key> | |
<string>\s*</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#function_name</string> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>(?<=$|.)</string> | |
<key>end</key> | |
<string>(?=\))</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#symbol_java_inherited_class</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#all</string> | |
</dict> | |
</array> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>(?<=\()\s*(instance(\?))\s+</string> | |
<key>beginCaptures</key> | |
<dict> | |
<key>1</key> | |
<dict> | |
<key>name</key> | |
<string>support.function.tester.clojure</string> | |
</dict> | |
<key>2</key> | |
<dict> | |
<key>name</key> | |
<string>keyword.other.mark.clojure</string> | |
</dict> | |
</dict> | |
<key>end</key> | |
<string>(?=\))</string> | |
<key>name</key> | |
<string>meta.function.isInstance_form.clojure</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#symbol_java_class_form_body</string> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>(?<=\()\s*(cast)\s+</string> | |
<key>beginCaptures</key> | |
<dict> | |
<key>1</key> | |
<dict> | |
<key>name</key> | |
<string>support.function.clojure</string> | |
</dict> | |
</dict> | |
<key>end</key> | |
<string>(?=\))</string> | |
<key>name</key> | |
<string>meta.function.cast_form.clojure</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#symbol_java_class_form_body</string> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>(?<=\()\s*((new)\s+|(?=[a-zA-Z][a-zA-Z.]*\.(\s+|$|\))))</string> | |
<key>beginCaptures</key> | |
<dict> | |
<key>2</key> | |
<dict> | |
<key>name</key> | |
<string>keyword.control.clojure</string> | |
</dict> | |
</dict> | |
<key>end</key> | |
<string>(?=\))</string> | |
<key>name</key> | |
<string>meta.function.new_form.clojure</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>begin</key> | |
<string>(?=([a-z]+\.)*[A-Z][a-zA-Z]*(\$[A-Z][a-zA-Z]*)?)</string> | |
<key>end</key> | |
<string>(?![a-zA-Z+!\-_?0-9*~#@'`/.$=])</string> | |
<key>name</key> | |
<string>storage.type.java.clojure</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#symbol</string> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>(?![a-zA-Z+!\-_?0-9*~#@'`/.$=])</string> | |
<key>end</key> | |
<string>(?=\))</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#all</string> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#all</string> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>(?<=\()\s*((\.\.?)\s+(?=([a-z]+\.)*[A-Z][a-zA-Z]*(\$[A-Z][a-zA-Z]*)?))</string> | |
<key>beginCaptures</key> | |
<dict> | |
<key>2</key> | |
<dict> | |
<key>name</key> | |
<string>keyword.control.clojure</string> | |
</dict> | |
</dict> | |
<key>end</key> | |
<string>(?=\))</string> | |
<key>name</key> | |
<string>meta.function.member_access_form.clojure</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>begin</key> | |
<string>(?=[a-zA-Z+!\-_?0-9*~#@'`/.$=])</string> | |
<key>end</key> | |
<string>(?![a-zA-Z+!\-_?0-9*~#@'`/.$=])</string> | |
<key>name</key> | |
<string>storage.type.java.clojure</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#symbol</string> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>(?![a-zA-Z+!\-_?0-9*~#@'`/.$=])</string> | |
<key>end</key> | |
<string>(?=\))</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#all</string> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#all</string> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>(?<=\()\s*(gen-class)\s+</string> | |
<key>beginCaptures</key> | |
<dict> | |
<key>1</key> | |
<dict> | |
<key>name</key> | |
<string>support.function.clojure</string> | |
</dict> | |
</dict> | |
<key>end</key> | |
<string>(?=\))</string> | |
<key>name</key> | |
<string>meta.function.genclass_form.clojure</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#genclass_parameters</string> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>(?<=\()\s*(gen-interface)\s+</string> | |
<key>beginCaptures</key> | |
<dict> | |
<key>1</key> | |
<dict> | |
<key>name</key> | |
<string>support.function.clojure</string> | |
</dict> | |
</dict> | |
<key>end</key> | |
<string>(?=\))</string> | |
<key>name</key> | |
<string>meta.function.geninterface_form.clojure</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#geninterface_parameters</string> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>(?<=\()\s*((catch)\s+)</string> | |
<key>beginCaptures</key> | |
<dict> | |
<key>2</key> | |
<dict> | |
<key>name</key> | |
<string>keyword.control.clojure</string> | |
</dict> | |
</dict> | |
<key>end</key> | |
<string>(?=\))</string> | |
<key>name</key> | |
<string>meta.function.catch_form.clojure</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>begin</key> | |
<string>(?=[a-zA-Z+!\-_?0-9*~#@'`/.$=])</string> | |
<key>end</key> | |
<string>(?![a-zA-Z+!\-_?0-9*~#@'`/.$=])</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#symbol_java_class_form_body</string> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>\s+(?=[a-zA-Z+!\-_?0-9*~#@'`/.$=])</string> | |
<key>end</key> | |
<string>(?![a-zA-Z+!\-_?0-9*~#@'`/.$=])</string> | |
<key>name</key> | |
<string>variable.parameter.clojure</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#symbol</string> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>(?![a-zA-Z+!\-_?0-9*~#@'`/.$=])</string> | |
<key>end</key> | |
<string>(?=\))</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#all</string> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#all</string> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>(?<=\()\s*(((set|swap|compare-and-set)(\!))\s+)</string> | |
<key>beginCaptures</key> | |
<dict> | |
<key>2</key> | |
<dict> | |
<key>name</key> | |
<string>keyword.control.clojure</string> | |
</dict> | |
<key>3</key> | |
<dict> | |
<key>name</key> | |
<string>keyword.other.mark.clojure</string> | |
</dict> | |
</dict> | |
<key>end</key> | |
<string>(?=\))</string> | |
<key>name</key> | |
<string>meta.function.setvar_form.clojure</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>begin</key> | |
<string>(?=[a-zA-Z+!\-_?0-9*~#@'`/.$=])</string> | |
<key>end</key> | |
<string>(?![a-zA-Z+!\-_?0-9*~#@'`/.$=])</string> | |
<key>name</key> | |
<string>variable.parameter.clojure</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#symbol</string> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>(?![a-zA-Z+!\-_?0-9*~#@'`/.$=])</string> | |
<key>end</key> | |
<string>(?=\))</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#all</string> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#all</string> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>(?<=\()\s*(proxy)\s+</string> | |
<key>beginCaptures</key> | |
<dict> | |
<key>1</key> | |
<dict> | |
<key>name</key> | |
<string>keyword.control.clojure</string> | |
</dict> | |
</dict> | |
<key>end</key> | |
<string>(?=\))</string> | |
<key>name</key> | |
<string>meta.function.proxy_form.clojure</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#comment</string> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>(?=\[)</string> | |
<key>end</key> | |
<string>(?=\))</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#comment</string> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>\[</string> | |
<key>end</key> | |
<string>\]</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>begin</key> | |
<string>(?=([a-z]+\.)*[A-Z][a-zA-Z]*)</string> | |
<key>end</key> | |
<string>(?![a-zA-Z.])</string> | |
<key>name</key> | |
<string>entity.other.inherited-class.java.proxy.clojure</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#symbol</string> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#all</string> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>(?<=\])</string> | |
<key>end</key> | |
<string>(?=\))</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#comment</string> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>(?=\[)</string> | |
<key>end</key> | |
<string>(?=\))</string> | |
<key>name</key> | |
<string>meta.function.body.proxy_form.clojure</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#comment</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#parameters</string> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>(?<=\])</string> | |
<key>end</key> | |
<string>(?=\))</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#comment</string> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>\(\s*</string> | |
<key>end</key> | |
<string>\)</string> | |
<key>name</key> | |
<string>meta.function.proxy.method.clojure</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#comment</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#function_name</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#function_body_comment</string> | |
</dict> | |
</array> | |
</dict> | |
</array> | |
</dict> | |
</array> | |
</dict> | |
</array> | |
</dict> | |
</array> | |
</dict> | |
</array> | |
</dict> | |
</array> | |
</dict> | |
<key>string</key> | |
<dict> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>begin</key> | |
<string>"</string> | |
<key>beginCaptures</key> | |
<dict> | |
<key>0</key> | |
<dict> | |
<key>name</key> | |
<string>punctuation.definition.string.begin.clojure</string> | |
</dict> | |
</dict> | |
<key>end</key> | |
<string>"</string> | |
<key>endCaptures</key> | |
<dict> | |
<key>0</key> | |
<dict> | |
<key>name</key> | |
<string>punctuation.definition.string.end.clojure</string> | |
</dict> | |
</dict> | |
<key>name</key> | |
<string>string.quoted.double.clojure</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#string_escape</string> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>match</key> | |
<string>\\(u[0-9a-fA-F]{4}|newline|tab|space|backspace|formfeed|return|[^\s])</string> | |
<key>name</key> | |
<string>constant.character.escape.clojure</string> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>(\:{1,2})(?=[a-zA-Z+!\-_?0-9*/.$=])</string> | |
<key>beginCaptures</key> | |
<dict> | |
<key>1</key> | |
<dict> | |
<key>name</key> | |
<string>keyword.operator.symbole.clojure</string> | |
</dict> | |
</dict> | |
<key>comment</key> | |
<string>. is OK in symbol ?</string> | |
<key>end</key> | |
<string>(?![a-zA-Z+!\-_?0-9*~#@'`/.$=])</string> | |
<key>name</key> | |
<string>constant.string.symbole.clojure</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#symbol</string> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>#"</string> | |
<key>beginCaptures</key> | |
<dict> | |
<key>0</key> | |
<dict> | |
<key>name</key> | |
<string>punctuation.definition.string.begin.clojure</string> | |
</dict> | |
</dict> | |
<key>end</key> | |
<string>"</string> | |
<key>endCaptures</key> | |
<dict> | |
<key>0</key> | |
<dict> | |
<key>name</key> | |
<string>punctuation.definition.string.end.clojure</string> | |
</dict> | |
</dict> | |
<key>name</key> | |
<string>string.regexp.clojure</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>source.regexp.oniguruma</string> | |
</dict> | |
</array> | |
</dict> | |
</array> | |
</dict> | |
<key>string_escape</key> | |
<dict> | |
<key>captures</key> | |
<dict> | |
<key>2</key> | |
<dict> | |
<key>name</key> | |
<string>invalid.illegal.escape.string.clojure</string> | |
</dict> | |
</dict> | |
<key>match</key> | |
<string>\\(u[0-9a-fA-F]{4}|b|t|n|f|r|"|'|\\|[0-3]?[0-7]{1,2}|(.))</string> | |
<key>name</key> | |
<string>constant.character.escape.clojure</string> | |
</dict> | |
<key>symbol</key> | |
<dict> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>match</key> | |
<string>\b[A-Z_]{2,}\b</string> | |
<key>name</key> | |
<string>constant.other.java.clojure</string> | |
</dict> | |
<dict> | |
<key>match</key> | |
<string>(?<![a-zA-Z+!\-_?0-9*])\*[a-z\-]{2,}\*(?![a-zA-Z+!\-_?0-9*])</string> | |
<key>name</key> | |
<string>source.symbol.global.clojure</string> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>(?=[a-zA-Z+!\-_?0-9*=])</string> | |
<key>end</key> | |
<string>(?![a-zA-Z+!\-_?0-9*=])</string> | |
<key>name</key> | |
<string>source.symbol.clojure</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>begin</key> | |
<string>[0-9]</string> | |
<key>end</key> | |
<string>(?![a-zA-Z+!\-_?0-9*=])</string> | |
<key>name</key> | |
<string>invalid.illegal.symbol.clojure</string> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>[a-zA-Z]</string> | |
<key>end</key> | |
<string>([+!\-_?*=#])?(?![a-zA-Z+!\-_?0-9*=])</string> | |
<key>endCaptures</key> | |
<dict> | |
<key>1</key> | |
<dict> | |
<key>name</key> | |
<string>keyword.other.mark.clojure</string> | |
</dict> | |
</dict> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>[+!\-_?*=]</string> | |
<key>end</key> | |
<string>(?![a-zA-Z+!\-_?0-9*=])</string> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>match</key> | |
<string>(?<=[a-zA-Z+!\-_?0-9*])\.(?=[a-zA-Z+!\-_?0-9*])</string> | |
<key>name</key> | |
<string>keyword.operator.classpath.clojure</string> | |
</dict> | |
<dict> | |
<key>match</key> | |
<string>(?<=[a-zA-Z+!\-_?0-9*])(/|\$)(?=[a-zA-Z+!\-_?0-9*])</string> | |
<key>name</key> | |
<string>keyword.operator.qualified.clojure</string> | |
</dict> | |
</array> | |
</dict> | |
<key>symbol_java_class</key> | |
<dict> | |
<key>begin</key> | |
<string>(?=([a-z]+\.)*[A-Z][a-zA-Z]*(\$[A-Z][a-zA-Z]*)?)</string> | |
<key>comment</key> | |
<string>TODO : use it</string> | |
<key>end</key> | |
<string>(?![a-zA-Z.$])</string> | |
<key>name</key> | |
<string>storage.type.java.clojure</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#symbol</string> | |
</dict> | |
</array> | |
</dict> | |
<key>symbol_java_class_form_body</key> | |
<dict> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>begin</key> | |
<string>(?=[a-zA-Z+!\-_?0-9*~#@'`/.$=])</string> | |
<key>end</key> | |
<string>(?![a-zA-Z+!\-_?0-9*~#@'`/.$=])</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#symbol_java_inherited_class</string> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>(?![a-zA-Z+!\-_?0-9*~#@'`/.$=])</string> | |
<key>end</key> | |
<string>(?=\))</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#all</string> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#all</string> | |
</dict> | |
</array> | |
</dict> | |
<key>symbol_java_inherited_class</key> | |
<dict> | |
<key>begin</key> | |
<string>(?=([a-z]+\.)*[A-Z][a-zA-Z]*(\$[A-Z][a-zA-Z]*)?)</string> | |
<key>end</key> | |
<string>(?![a-zA-Z.$])</string> | |
<key>name</key> | |
<string>entity.other.inherited-class.java.clojure</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#symbol</string> | |
</dict> | |
</array> | |
</dict> | |
<key>vector</key> | |
<dict> | |
<key>begin</key> | |
<string>\[(?!\])</string> | |
<key>beginCaptures</key> | |
<dict> | |
<key>0</key> | |
<dict> | |
<key>name</key> | |
<string>punctuation.definition.vector.begin.clojure</string> | |
</dict> | |
</dict> | |
<key>end</key> | |
<string>(?<!\[)\]</string> | |
<key>endCaptures</key> | |
<dict> | |
<key>0</key> | |
<dict> | |
<key>name</key> | |
<string>punctuation.definition.vector.end.clojure</string> | |
</dict> | |
</dict> | |
<key>name</key> | |
<string>meta.expression.vector.clojure</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#all</string> | |
</dict> | |
</array> | |
</dict> | |
</dict> | |
<key>scopeName</key> | |
<string>source.clojure</string> | |
<key>uuid</key> | |
<string>913004BF-D497-4093-ADAA-9E19A019443B</string> | |
</dict> | |
</plist> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment