Created
April 8, 2015 04:45
-
-
Save startswithaj/c57387366e688e071f97 to your computer and use it in GitHub Desktop.
Jade Syntax highlighting angular bindings and controllerAs
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
<!-- Changese on line: 899 and line 1176 --> | |
<!-- ?<=\{\{)(.+)(?=\}\}) matches inside {{}} binding --> | |
<?xml version="1.0" encoding="UTF-8"?> | |
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | |
<plist version="1.0"> | |
<dict> | |
<key>fileTypes</key> | |
<array> | |
<string>jade</string> | |
</array> | |
<key>name</key> | |
<string>Jade</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>comment</key> | |
<string>Doctype declaration.</string> | |
<key>match</key> | |
<string>^(!!!|doctype)(\s*[a-zA-Z0-9-_]+)?</string> | |
<key>name</key> | |
<string>comment.other.doctype.jade</string> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>^(\s*)//</string> | |
<key>comment</key> | |
<string>Buffered (html) comments.</string> | |
<key>end</key> | |
<string>^(?!(\1\s)|\s*$)</string> | |
<key>name</key> | |
<string>string.comment.buffered.block.jade</string> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>^(\s*)//-</string> | |
<key>comment</key> | |
<string>Unbuffered (jade-only) comments.</string> | |
<key>end</key> | |
<string>^(?!(\1\s)|\s*$)</string> | |
<key>name</key> | |
<string>comment.unbuffered.block.jade</string> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>^(\s*)//</string> | |
<key>comment</key> | |
<string>Buffered (html) comments.</string> | |
<key>end</key> | |
<string>^(?!(\1\s)|\s*$)</string> | |
<key>name</key> | |
<string>string.comment.buffered.block.jade</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>captures</key> | |
<dict> | |
<key>1</key> | |
<dict> | |
<key>name</key> | |
<string>invalid.illegal.comment.comment.block.jade</string> | |
</dict> | |
</dict> | |
<key>comment</key> | |
<string>Buffered comments inside buffered comments will generate invalid html.</string> | |
<key>match</key> | |
<string>^\s*(//)(?!-)</string> | |
<key>name</key> | |
<string>string.comment.buffered.block.jade</string> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>^(\s*)(script)(?=[.#(\s])((?![^\n]*type=)|(?=[^\n]*(text|application)/javascript))</string> | |
<key>beginCaptures</key> | |
<dict> | |
<key>2</key> | |
<dict> | |
<key>name</key> | |
<string>entity.name.tag.script.jade</string> | |
</dict> | |
</dict> | |
<key>comment</key> | |
<string>Script tag with JavaScript code.</string> | |
<key>end</key> | |
<string>^(?!(\1\s)|\s*$)</string> | |
<key>name</key> | |
<string>source.script.jade</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>begin</key> | |
<string>\G(?=\()</string> | |
<key>end</key> | |
<string>$</string> | |
<key>name</key> | |
<string>stuff.tag.script.jade</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#tag_attributes</string> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>\G(?=[.#])</string> | |
<key>end</key> | |
<string>$</string> | |
<key>name</key> | |
<string>stuff.tag.script.jade</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#complete_tag</string> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>source.js</string> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>^(\s*)(style)(?=[.#(\s])</string> | |
<key>beginCaptures</key> | |
<dict> | |
<key>2</key> | |
<dict> | |
<key>name</key> | |
<string>entity.name.tag.script.jade</string> | |
</dict> | |
</dict> | |
<key>comment</key> | |
<string>Style tag with CSS code.</string> | |
<key>end</key> | |
<string>^(?!(\1\s)|\s*$)</string> | |
<key>name</key> | |
<string>source.style.jade</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>begin</key> | |
<string>\G(?=\()</string> | |
<key>end</key> | |
<string>$</string> | |
<key>name</key> | |
<string>stuff.tag.style.jade</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#tag_attributes</string> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>\G(?=[.#])</string> | |
<key>end</key> | |
<string>$</string> | |
<key>name</key> | |
<string>stuff.tag.style.jade</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#complete_tag</string> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>source.css</string> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>^(\s*):(markdown)(?=\(|$)$</string> | |
<key>beginCaptures</key> | |
<dict> | |
<key>2</key> | |
<dict> | |
<key>name</key> | |
<string>constant.language.name.markdown.filter.jade</string> | |
</dict> | |
</dict> | |
<key>end</key> | |
<string>^(?!(\1\s)|\s*$)</string> | |
<key>name</key> | |
<string>text.markdown.filter.jade</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#filter_args</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>text.html.markdown</string> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>^(\s*):(sass)(?=\(|$)$</string> | |
<key>beginCaptures</key> | |
<dict> | |
<key>2</key> | |
<dict> | |
<key>name</key> | |
<string>constant.language.name.sass.filter.jade</string> | |
</dict> | |
</dict> | |
<key>end</key> | |
<string>^(?!(\1\s)|\s*$)</string> | |
<key>name</key> | |
<string>source.sass.filter.jade</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#filter_args</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>source.sass</string> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>^(\s*):(less)(?=\(|$)$</string> | |
<key>beginCaptures</key> | |
<dict> | |
<key>2</key> | |
<dict> | |
<key>name</key> | |
<string>constant.language.name.less.filter.jade</string> | |
</dict> | |
</dict> | |
<key>end</key> | |
<string>^(?!(\1\s)|\s*$)</string> | |
<key>name</key> | |
<string>source.less.filter.jade</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#filter_args</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>source.less</string> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>^(\s*):(stylus)(?=\(|$)$</string> | |
<key>beginCaptures</key> | |
<dict> | |
<key>2</key> | |
<dict> | |
<key>name</key> | |
<string>constant.language.name.stylus.filter.jade</string> | |
</dict> | |
</dict> | |
<key>end</key> | |
<string>^(?!(\1\s)|\s*$)</string> | |
<key>name</key> | |
<string>source.stylus.filter.jade</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#filter_args</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>source.stylus</string> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>^(\s*):(coffee(script)?)(?=\(|$)</string> | |
<key>beginCaptures</key> | |
<dict> | |
<key>2</key> | |
<dict> | |
<key>name</key> | |
<string>constant.language.name.coffeescript.filter.jade</string> | |
</dict> | |
</dict> | |
<key>end</key> | |
<string>^(?!(\1\s)|\s*$)</string> | |
<key>name</key> | |
<string>source.coffeescript.filter.jade</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#filter_args</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>source.coffee</string> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>^(\s*)((:(?=.))|(:$))</string> | |
<key>beginCaptures</key> | |
<dict> | |
<key>4</key> | |
<dict> | |
<key>name</key> | |
<string>invalid.illegal.empty.generic.filter.jade</string> | |
</dict> | |
</dict> | |
<key>comment</key> | |
<string>Generic Jade filter.</string> | |
<key>end</key> | |
<string>^(?!(\1\s)|\s*$)</string> | |
<key>name</key> | |
<string>text.generic.filter.jade</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>begin</key> | |
<string>\G(?<=:)(?=.)</string> | |
<key>end</key> | |
<string>$</string> | |
<key>name</key> | |
<string>name.generic.filter.jade</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>match</key> | |
<string>\G\(</string> | |
<key>name</key> | |
<string>invalid.illegal.name.generic.filter.jade</string> | |
</dict> | |
<dict> | |
<key>match</key> | |
<string>\w</string> | |
<key>name</key> | |
<string>constant.language.name.generic.filter.jade</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#filter_args</string> | |
</dict> | |
<dict> | |
<key>match</key> | |
<string>\W</string> | |
<key>name</key> | |
<string>invalid.illegal.name.generic.filter.jade</string> | |
</dict> | |
</array> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>^(\s*)(?=[\w.#].*?\.$)(?=(?:(?:(?:(?:(?:#[\w-]+)|(?:\.[\w-]+))|(?:(?:[#!]\{[^}]*\})|(?:\w(?:(?:[\w:-]+[\w-])|(?:[\w-]*)))))(?:(?:#[\w-]+)|(?:\.[\w-]+)|(?:\((?:[^()\'\"]*(?:(?:\'(?:[^\']|(?:(?<!\\)\\\'))*\')|(?:\"(?:[^\"]|(?:(?<!\\)\\\"))*\")))*[^()]*\))*)*)(?:(?:(?::\s+)|(?<=\)))(?:(?:(?:(?:#[\w-]+)|(?:\.[\w-]+))|(?:(?:[#!]\{[^}]*\})|(?:\w(?:(?:[\w:-]+[\w-])|(?:[\w-]*)))))(?:(?:#[\w-]+)|(?:\.[\w-]+)|(?:\((?:[^()\'\"]*(?:(?:\'(?:[^\']|(?:(?<!\\)\\\'))*\')|(?:\"(?:[^\"]|(?:(?<!\\)\\\"))*\")))*[^()]*\))*)*))*)\.$)(?:(?:(#[\w-]+)|(\.[\w-]+))|((?:[#!]\{[^}]*\})|(?:\w(?:(?:[\w:-]+[\w-])|(?:[\w-]*)))))</string> | |
<key>beginCaptures</key> | |
<dict> | |
<key>2</key> | |
<dict> | |
<key>name</key> | |
<string>constant.id.tag.jade</string> | |
</dict> | |
<key>3</key> | |
<dict> | |
<key>name</key> | |
<string>constant.language.js</string> | |
</dict> | |
<key>4</key> | |
<dict> | |
<key>name</key> | |
<string>entity.name.tag.jade</string> | |
</dict> | |
</dict> | |
<key>comment</key> | |
<string>Generated from dot_block_tag.py</string> | |
<key>end</key> | |
<string>^(?!(\1\s)|\s*$)</string> | |
<key>name</key> | |
<string>text.block.dot.tag.jade</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#tag_attributes</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#complete_tag</string> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>^(?=.)</string> | |
<key>end</key> | |
<string>$</string> | |
<key>name</key> | |
<string>text.block.jade</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#inline_jade</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#embedded_html</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#html_entity</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#interpolated_value</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#interpolated_error</string> | |
</dict> | |
</array> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>^\s*</string> | |
<key>comment</key> | |
<string>All constructs that generally span a single line starting with any number of white-spaces.</string> | |
<key>end</key> | |
<string>$</string> | |
<key>name</key> | |
<string>tag.jade</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#inline_jade</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#blocks_and_includes</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#unbuffered_code</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#mixins</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#flow_control</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#case_conds</string> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>\|</string> | |
<key>comment</key> | |
<string>Tag pipe text line.</string> | |
<key>end</key> | |
<string>$</string> | |
<key>name</key> | |
<string>text.block.pipe.jade</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#inline_jade</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#embedded_html</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#html_entity</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#interpolated_value</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#interpolated_error</string> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#printed_expression</string> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>\G((?=<)|[^\w.#]|(\.[^\w-]))|(#[^\{\w-])</string> | |
<key>comment</key> | |
<string>Line starting with characters incompatible with tag name/id/class is standalone text.</string> | |
<key>end</key> | |
<string>$</string> | |
<key>name</key> | |
<string>text.jade</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#inline_jade</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#embedded_html</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#html_entity</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#interpolated_value</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#interpolated_error</string> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#complete_tag</string> | |
</dict> | |
</array> | |
</dict> | |
</array> | |
<key>repository</key> | |
<dict> | |
<key>blocks_and_includes</key> | |
<dict> | |
<key>captures</key> | |
<dict> | |
<key>1</key> | |
<dict> | |
<key>name</key> | |
<string>storage.type.import.include.jade</string> | |
</dict> | |
<key>4</key> | |
<dict> | |
<key>name</key> | |
<string>variable.control.import.include.jade</string> | |
</dict> | |
</dict> | |
<key>comment</key> | |
<string>Template blocks and includes.</string> | |
<key>match</key> | |
<string>(extends|include|yield|append|prepend|block( (append|prepend))?)\s+(.*)$</string> | |
<key>name</key> | |
<string>meta.first-class.jade</string> | |
</dict> | |
<key>brackets_js</key> | |
<dict> | |
<key>begin</key> | |
<string>\[</string> | |
<key>end</key> | |
<string>\]</string> | |
<key>name</key> | |
<string>js.value.attribute.tag.jade</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#brackets_js</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>source.js</string> | |
</dict> | |
</array> | |
</dict> | |
<key>case_conds</key> | |
<dict> | |
<key>begin</key> | |
<string>(default|when)((\s+|(?=:))|$)</string> | |
<key>captures</key> | |
<dict> | |
<key>1</key> | |
<dict> | |
<key>name</key> | |
<string>storage.type.function.jade</string> | |
</dict> | |
</dict> | |
<key>comment</key> | |
<string>Jade case conditionals.</string> | |
<key>end</key> | |
<string>$</string> | |
<key>name</key> | |
<string>meta.control.flow.jade</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>begin</key> | |
<string>\G(?!:)</string> | |
<key>end</key> | |
<string>(?=:\s+)|$</string> | |
<key>name</key> | |
<string>js.embedded.control.flow.jade</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#case_when_paren</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>source.js</string> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>:\s+</string> | |
<key>end</key> | |
<string>$</string> | |
<key>name</key> | |
<string>tag.case.control.flow.jade</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#complete_tag</string> | |
</dict> | |
</array> | |
</dict> | |
</array> | |
</dict> | |
<key>case_when_paren</key> | |
<dict> | |
<key>begin</key> | |
<string>\(</string> | |
<key>end</key> | |
<string>\)</string> | |
<key>name</key> | |
<string>js.when.control.flow.jade</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#case_when_paren</string> | |
</dict> | |
<dict> | |
<key>match</key> | |
<string>:</string> | |
<key>name</key> | |
<string>invalid.illegal.name.tag.jade</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>source.js</string> | |
</dict> | |
</array> | |
</dict> | |
<key>complete_tag</key> | |
<dict> | |
<key>begin</key> | |
<string>(?=[\w.#])|(:\s*)</string> | |
<key>end</key> | |
<string>(\.?$)|(?=:.)</string> | |
<key>name</key> | |
<string>complete_tag.jade</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#blocks_and_includes</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#unbuffered_code</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#mixins</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#flow_control</string> | |
</dict> | |
<dict> | |
<key>match</key> | |
<string>(?<=:)\w.*$</string> | |
<key>name</key> | |
<string>invalid.illegal.name.tag.jade</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#tag_name</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#tag_id</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#tag_classes</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#tag_attributes</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#tag_mixin_attributes</string> | |
</dict> | |
<dict> | |
<key>captures</key> | |
<dict> | |
<key>2</key> | |
<dict> | |
<key>name</key> | |
<string>invalid.illegal.end.tag.jade</string> | |
</dict> | |
<key>4</key> | |
<dict> | |
<key>name</key> | |
<string>invalid.illegal.end.tag.jade</string> | |
</dict> | |
</dict> | |
<key>match</key> | |
<string>((\.)\s+$)|((:)\s*$)</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#printed_expression</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#tag_text</string> | |
</dict> | |
</array> | |
</dict> | |
<key>embedded_html</key> | |
<dict> | |
<key>begin</key> | |
<string>(?=<[^>]*>)</string> | |
<key>end</key> | |
<string>$|(?=>)</string> | |
<key>name</key> | |
<string>html</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>text.html.basic</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#interpolated_value</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#interpolated_error</string> | |
</dict> | |
</array> | |
</dict> | |
<key>filter_args</key> | |
<dict> | |
<key>begin</key> | |
<string>\G(\()</string> | |
<key>captures</key> | |
<dict> | |
<key>1</key> | |
<dict> | |
<key>name</key> | |
<string>meta.args.filter.jade</string> | |
</dict> | |
<key>2</key> | |
<dict> | |
<key>name</key> | |
<string>invalid.illegal.extra.args.filter.jade</string> | |
</dict> | |
</dict> | |
<key>end</key> | |
<string>(\))(.*?$)</string> | |
<key>name</key> | |
<string>args.filter.jade</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>begin</key> | |
<string>([^\s(),=]+)(=?)</string> | |
<key>beginCaptures</key> | |
<dict> | |
<key>1</key> | |
<dict> | |
<key>name</key> | |
<string>entity.other.attribute-name.tag.jade</string> | |
</dict> | |
<key>2</key> | |
<dict> | |
<key>name</key> | |
<string>punctuation.separator.key-value.jade</string> | |
</dict> | |
</dict> | |
<key>contentName</key> | |
<string>string.value.args.filter.jade</string> | |
<key>end</key> | |
<string>((?=\))|,|$)</string> | |
<key>name</key> | |
<string>attributes.tag.jade</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#filter_args_paren</string> | |
</dict> | |
</array> | |
</dict> | |
</array> | |
</dict> | |
<key>filter_args_paren</key> | |
<dict> | |
<key>begin</key> | |
<string>\(</string> | |
<key>end</key> | |
<string>\)|$</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#filter_args_paren</string> | |
</dict> | |
</array> | |
</dict> | |
<key>flow_control</key> | |
<dict> | |
<key>begin</key> | |
<string>(for|if|else if|else|each|until|while|unless|case)(\s+|$)</string> | |
<key>captures</key> | |
<dict> | |
<key>1</key> | |
<dict> | |
<key>name</key> | |
<string>storage.type.function.jade</string> | |
</dict> | |
</dict> | |
<key>comment</key> | |
<string>Jade control flow.</string> | |
<key>end</key> | |
<string>$</string> | |
<key>name</key> | |
<string>meta.control.flow.jade</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>begin</key> | |
<string></string> | |
<key>end</key> | |
<string>$</string> | |
<key>name</key> | |
<string>js.embedded.control.flow.jade</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>source.js</string> | |
</dict> | |
</array> | |
</dict> | |
</array> | |
</dict> | |
<key>html_entity</key> | |
<dict> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>match</key> | |
<string>(&)([a-zA-Z0-9]+|#[0-9]+|#x[0-9a-fA-F]+)(;)</string> | |
<key>name</key> | |
<string>constant.character.entity.html.text.jade</string> | |
</dict> | |
<dict> | |
<key>match</key> | |
<string>{{([^{}]*)}}</string> | |
<key>name</key> | |
<string>variable.parameter.javascript.embedded.jade</string> | |
</dict> | |
<dict> | |
<key>match</key> | |
<string>[<>&]</string> | |
<key>name</key> | |
<string>invalid.illegal.html_entity.text.jade</string> | |
</dict> | |
</array> | |
</dict> | |
<key>inline_jade</key> | |
<dict> | |
<key>begin</key> | |
<string>(?<!\\)(#\[)</string> | |
<key>captures</key> | |
<dict> | |
<key>1</key> | |
<dict> | |
<key>name</key> | |
<string>entity.name.function.jade</string> | |
</dict> | |
<key>2</key> | |
<dict> | |
<key>name</key> | |
<string>entity.name.function.jade</string> | |
</dict> | |
</dict> | |
<key>end</key> | |
<string>(\])</string> | |
<key>name</key> | |
<string>inline.jade</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#inline_jade</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#mixins</string> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>(?<!\])(?=[\w.#])|(:\s*)</string> | |
<key>end</key> | |
<string>(?=\]|(:.)|=|\s)</string> | |
<key>name</key> | |
<string>tag.inline.jade</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#tag_name</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#tag_id</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#tag_classes</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#tag_attributes</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#tag_mixin_attributes</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#inline_jade</string> | |
</dict> | |
<dict> | |
<key>match</key> | |
<string>\[</string> | |
<key>name</key> | |
<string>invalid.illegal.tag.jade</string> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#unbuffered_code</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#printed_expression</string> | |
</dict> | |
<dict> | |
<key>match</key> | |
<string>\[</string> | |
<key>name</key> | |
<string>invalid.illegal.tag.jade</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#inline_jade_text</string> | |
</dict> | |
</array> | |
</dict> | |
<key>inline_jade_text</key> | |
<dict> | |
<key>begin</key> | |
<string></string> | |
<key>end</key> | |
<string>(?=\])</string> | |
<key>name</key> | |
<string>text.jade</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>#inline_jade_text</string> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#inline_jade</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#embedded_html</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#html_entity</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#interpolated_value</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#interpolated_error</string> | |
</dict> | |
</array> | |
</dict> | |
<key>interpolated_error</key> | |
<dict> | |
<key>match</key> | |
<string>(?<!\\)[#!]\{(?=[^}]*$)</string> | |
<key>name</key> | |
<string>invalid.illegal.tag.jade</string> | |
</dict> | |
<key>interpolated_value</key> | |
<dict> | |
<key>begin</key> | |
<string>(?<!\\)[#!]\{(?=.*?\})</string> | |
<key>end</key> | |
<string>\}</string> | |
<key>name</key> | |
<string>string.interpolated.jade</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>match</key> | |
<string>{</string> | |
<key>name</key> | |
<string>invalid.illegal.tag.jade</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>source.js</string> | |
</dict> | |
</array> | |
</dict> | |
<key>mixins</key> | |
<dict> | |
<key>begin</key> | |
<string>(((mixin\s+)|\+)([\w-]+))\s*</string> | |
<key>beginCaptures</key> | |
<dict> | |
<key>2</key> | |
<dict> | |
<key>name</key> | |
<string>storage.type.function.jade</string> | |
</dict> | |
<key>4</key> | |
<dict> | |
<key>name</key> | |
<string>entity.name.function.jade</string> | |
</dict> | |
</dict> | |
<key>comment</key> | |
<string>Mixin declaration and use, including the new '+' syntax.</string> | |
<key>end</key> | |
<string>(?=\])|$</string> | |
<key>name</key> | |
<string>meta.mixin.jade</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>begin</key> | |
<string></string> | |
<key>end</key> | |
<string>(?=\])|$</string> | |
<key>name</key> | |
<string>args.mixin.jade</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#tag_attribute_value_paren</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#tag_attribute_value_brackets</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#tag_attribute_value_braces</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>source.js</string> | |
</dict> | |
</array> | |
</dict> | |
</array> | |
</dict> | |
<key>printed_expression</key> | |
<dict> | |
<key>begin</key> | |
<string>(!?\=)\s*</string> | |
<key>captures</key> | |
<dict> | |
<key>1</key> | |
<dict> | |
<key>name</key> | |
<string>constant</string> | |
</dict> | |
</dict> | |
<key>end</key> | |
<string>(?=\])|$</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#brackets_js</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>source.js</string> | |
</dict> | |
</array> | |
</dict> | |
<key>string</key> | |
<dict> | |
<key>begin</key> | |
<string>(['"])</string> | |
<key>end</key> | |
<string>(?<!\\)\1</string> | |
<key>name</key> | |
<string>string.quoted.jade</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>match</key> | |
<string>\\((x[0-9a-fA-F]{2})|(u[0-9]{4})|.)</string> | |
<key>name</key> | |
<string>constant.character.quoted.jade</string> | |
</dict> | |
<dict> | |
<key>match</key> | |
<string>\w*Ctrl\.\s*([^\s\"\'}]*)</string> | |
<key>name</key> | |
<string>storage.type.function.jade</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#interpolated_value</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#interpolated_error</string> | |
</dict> | |
</array> | |
</dict> | |
<key>tag_attribute_value_braces</key> | |
<dict> | |
<key>begin</key> | |
<string>\{</string> | |
<key>end</key> | |
<string>\}</string> | |
<key>name</key> | |
<string>js.value.attribute.tag.jade</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#tag_attribute_value_paren</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#tag_attribute_value_brackets</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#tag_attribute_value_braces</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#string</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>source.js</string> | |
</dict> | |
</array> | |
</dict> | |
<key>tag_attribute_value_brackets</key> | |
<dict> | |
<key>begin</key> | |
<string>\[</string> | |
<key>end</key> | |
<string>\]</string> | |
<key>name</key> | |
<string>js.value.attribute.tag.jade</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#tag_attribute_value_paren</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#tag_attribute_value_brackets</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#tag_attribute_value_braces</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#string</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>source.js</string> | |
</dict> | |
</array> | |
</dict> | |
<key>tag_attribute_value_paren</key> | |
<dict> | |
<key>begin</key> | |
<string>\(</string> | |
<key>end</key> | |
<string>\)</string> | |
<key>name</key> | |
<string>js.value.attribute.tag.jade</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#tag_attribute_value_paren</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#tag_attribute_value_brackets</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#tag_attribute_value_braces</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#string</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>source.js</string> | |
</dict> | |
</array> | |
</dict> | |
<key>tag_attributes</key> | |
<dict> | |
<key>begin</key> | |
<string>(\()</string> | |
<key>captures</key> | |
<dict> | |
<key>1</key> | |
<dict> | |
<key>name</key> | |
<string>constant.name.attribute.tag.jade</string> | |
</dict> | |
</dict> | |
<key>end</key> | |
<string>(\))</string> | |
<key>name</key> | |
<string>attributes.tag.jade</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>captures</key> | |
<dict> | |
<key>1</key> | |
<dict> | |
<key>name</key> | |
<string>entity.other.attribute-name.tag.jade</string> | |
</dict> | |
</dict> | |
<key>match</key> | |
<string>([^\s(),=/]+)\s*((?=\))|,|\s+|$)(?!=)</string> | |
<key>name</key> | |
<string>attributes.tag.jade</string> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>([^\s(),=/]*[^\s(),=!/])\s*(!?\=)</string> | |
<key>beginCaptures</key> | |
<dict> | |
<key>1</key> | |
<dict> | |
<key>name</key> | |
<string>entity.other.attribute-name.tag.jade</string> | |
</dict> | |
<key>2</key> | |
<dict> | |
<key>name</key> | |
<string>punctuation.separator.key-value.jade</string> | |
</dict> | |
</dict> | |
<key>end</key> | |
<string>(,|$|(?=\)|((?<![+/*|&=:^~!?<>%-])\s+[^+/*|&=:^~!?<>%-])))</string> | |
<key>name</key> | |
<string>attributes.tag.jade</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#tag_attribute_value_paren</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#tag_attribute_value_brackets</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#tag_attribute_value_braces</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#string</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>source.js</string> | |
</dict> | |
</array> | |
</dict> | |
</array> | |
</dict> | |
<key>tag_classes</key> | |
<dict> | |
<key>match</key> | |
<string>\.[\w-]+</string> | |
<key>name</key> | |
<string>constant.language.js</string> | |
</dict> | |
<key>tag_id</key> | |
<dict> | |
<key>match</key> | |
<string>#[\w-]+</string> | |
<key>name</key> | |
<string>constant.id.tag.jade</string> | |
</dict> | |
<key>tag_mixin_attributes</key> | |
<dict> | |
<key>begin</key> | |
<string>(&attributes\()</string> | |
<key>captures</key> | |
<dict> | |
<key>1</key> | |
<dict> | |
<key>name</key> | |
<string>entity.name.function.jade</string> | |
</dict> | |
</dict> | |
<key>end</key> | |
<string>(\))</string> | |
<key>name</key> | |
<string>attributes.tag.jade</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>match</key> | |
<string>attributes(?=\))</string> | |
<key>name</key> | |
<string>storage.type.keyword.jade</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>source.js</string> | |
</dict> | |
</array> | |
</dict> | |
<key>tag_name</key> | |
<dict> | |
<key>begin</key> | |
<string>([#!]\{(?=.*?\}))|(\w(([\w:-]+[\w-])|([\w-]*)))</string> | |
<key>end</key> | |
<string>(\G(?<!\5[^\w-]))|\}|$</string> | |
<key>name</key> | |
<string>entity.name.tag.jade</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>begin</key> | |
<string>\G(?<=\{)</string> | |
<key>end</key> | |
<string>(?=\})</string> | |
<key>name</key> | |
<string>entity.name.tag.jade</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>match</key> | |
<string>{</string> | |
<key>name</key> | |
<string>invalid.illegal.tag.jade</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>source.js</string> | |
</dict> | |
</array> | |
</dict> | |
</array> | |
</dict> | |
<key>tag_text</key> | |
<dict> | |
<key>begin</key> | |
<string>(?=.)</string> | |
<key>end</key> | |
<string>$</string> | |
<key>name</key> | |
<string>text.jade</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#inline_jade</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#embedded_html</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#html_entity</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#interpolated_value</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#interpolated_error</string> | |
</dict> | |
</array> | |
</dict> | |
<key>unbuffered_code</key> | |
<dict> | |
<key>begin</key> | |
<string>(-|(([a-zA-Z0-9_]+)\s+=))</string> | |
<key>beginCaptures</key> | |
<dict> | |
<key>3</key> | |
<dict> | |
<key>name</key> | |
<string>variable.parameter.javascript.embedded.jade</string> | |
</dict> | |
</dict> | |
<key>comment</key> | |
<string>name = function() {}</string> | |
<key>end</key> | |
<string>(?=\])|$</string> | |
<key>name</key> | |
<string>javascript.embedded.jade</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#brackets_js</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>source.js</string> | |
</dict> | |
</array> | |
</dict> | |
</dict> | |
<key>scopeName</key> | |
<string>source.jade</string> | |
<key>uuid</key> | |
<string>eee6ba25-6ac2-4f7e-9c70-cddf2bd3448b</string> | |
</dict> | |
</plist> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment