Last active
December 1, 2015 02:43
-
-
Save selfsame/4e56db234a88590bd640 to your computer and use it in GitHub Desktop.
This file contains hidden or 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
| # [PackageDev] target_format: plist, ext: tmLanguage | |
| --- | |
| name: Clojure | |
| scopeName: source.clojure | |
| fileTypes: [xyz, cljs, clj, cljc] | |
| uuid: -5584466320959560-558446636-69771 | |
| patterns: | |
| - include: '#all' | |
| repository: | |
| anything: | |
| name: anything | |
| patterns: | |
| - name: nonbracket | |
| match: ([^\(\)\[\]]*) | |
| - include: '#comment_list' | |
| - include: '#comment_vector' | |
| comment_list: | |
| name: comment_list | |
| begin: (\() | |
| end: (\)) | |
| patterns: | |
| - include: '#anything' | |
| comment_vector: | |
| name: comment_vector | |
| begin: (\[) | |
| end: (\]) | |
| patterns: | |
| - include: '#anything' | |
| comment: | |
| name: comment.line.clojure | |
| patterns: | |
| - name: comment.line.clojure | |
| match: ;.*$\n? | |
| - name: comment.macro.clojure | |
| begin: \(comment | |
| end: \) | |
| contentName: comment.form.clojure | |
| patterns: | |
| - include: '#anything' | |
| all: | |
| patterns: | |
| - include: '#comment' | |
| - include: '#expr' | |
| expr: | |
| patterns: | |
| - include: '#string_escape' | |
| - include: '#string' | |
| - include: '#repl_prompt' | |
| - include: '#regex' | |
| - include: '#sexpr' | |
| - include: '#special_form' | |
| - include: '#argument_literal' | |
| - include: '#number' | |
| - include: '#qualified_symbol' | |
| - include: '#keyword' | |
| - include: '#symbol' | |
| sexpr: | |
| name: meta.sexpr.clojure | |
| patterns: | |
| - include: '#list' | |
| - include: '#vec' | |
| list: | |
| name: meta.sexpr.list.clojure | |
| begin: (\()(?!\)) | |
| end: (?<!\()(\)) | |
| beginCaptures: | |
| '0': {name: entity.sequence.start} | |
| endCaptures: | |
| '0': {name: entity.sequence.end} | |
| patterns: | |
| - include: '#all' | |
| vec: | |
| name: meta.vec.clojure | |
| begin: (\[)(?!\]) | |
| end: (?<!\[)(\]) | |
| beginCaptures: | |
| '0': {name: entity.sequence.start} | |
| endCaptures: | |
| '1': {name: entity.sequence.end} | |
| patterns: | |
| - include: '#all' | |
| number: | |
| patterns: | |
| - include: '#float' | |
| - include: '#ratio' | |
| - include: '#integer' | |
| float: | |
| name: float | |
| match: (\-?[0-9]+\.[0-9]+) | |
| ratio: | |
| name: ratio | |
| match: (0|\-?[1-9][0-9]*)\/(0|\-?[1-9][0-9]*) | |
| integer: | |
| name: integer | |
| match: (0|\-?[1-9][0-9]*) | |
| special_form: | |
| name: meta.special_form.clojure | |
| patterns: | |
| - name: meta.specialized.clojure | |
| match: ([`~'@](?<c>[^\(\)\[\]{};#%\^~`'":@\s\/\\])(\g<c>|[0-9#%'])*) | |
| - name: meta.specialized.clojure | |
| begin: (\() | |
| end: (\)) | |
| patterns: | |
| - include: '#all' | |
| special: | |
| name: meta.special.clojure | |
| match: ([\`\~\'\@]) | |
| deref: | |
| name: meta.deref.clojure | |
| match: ([\@]) | |
| keyword: | |
| name: meta.keyword.clojure | |
| patterns: | |
| - include: '#qualified_keyword' | |
| - include: '#unqualified_keyword' | |
| qualified_keyword: | |
| name: meta.keyword.qualified.clojure | |
| begin: (\:\:) | |
| end: (?=\W) | |
| patterns: | |
| - include: '#symbol' | |
| unqualified_keyword: | |
| name: meta.keyword.unqualified.clojure | |
| begin: (:[^:]) | |
| end: ()\b | |
| patterns: | |
| - include: '#qualified_symbol' | |
| - include: '#symbol' | |
| qualified_symbol: | |
| name: symbol.qualified | |
| match: (?<c>[^\(\)\[\]{};#%\^~`'":@\s\/\\])(?<sym>\g<c>|[0-9#%'\.])*\/\g<sym>+ | |
| symbol: | |
| name: symbol | |
| match: (?<c>[^\(\)\[\]{};#%\^~`'":@\s\/\\])(\g<c>|[0-9#%'])* | |
| argument_literal: | |
| name: meta.lambda.argument | |
| match: (%(&|([1-9][0-9]*))) | |
| repl_prompt: | |
| name: meta.symbol.repl_prompt | |
| match: ([\n]|^)((?<c>[^\(\)\[\]{};#%\^~`'":@\s\/\\])+►) | |
| regex: | |
| patterns: | |
| - name: string.quoted.regex.clojure | |
| begin: '#"' | |
| end: '"' | |
| patterns: | |
| - include: '#string_escape' | |
| string: | |
| patterns: | |
| - name: string.quoted.double.clojure | |
| begin: '"' | |
| end: '"' | |
| patterns: | |
| - include: '#string_escape' | |
| string_escape: | |
| name: constant.character.escape.clojure | |
| match: \\(.) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment