1455 строки
32 KiB
Plaintext
1455 строки
32 KiB
Plaintext
<?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>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>meta.tag.sgml.doctype.html</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*)-$</string>
|
|
<key>comment</key>
|
|
<string>Unbuffered code block.</string>
|
|
<key>end</key>
|
|
<string>^(?!(\1\s)|\s*$)</string>
|
|
<key>name</key>
|
|
<string>source.js</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>source.js</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>meta.tag.other</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)((\.$)|(?=[.#(].*\.$))</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>meta.tag.other</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*):(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>#tag_attributes</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>#tag_attributes</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>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#tag_attributes</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>#tag_attributes</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>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>#tag_attributes</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>meta.tag.other 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>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>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>#mixin_definition</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#mixin_call</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.#])</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>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</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>#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>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>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>#mixin_call</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>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>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>#mixin_call</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>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>js_braces</key>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>\{</string>
|
|
<key>end</key>
|
|
<string>\}</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#js_braces</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>source.js</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>js_brackets</key>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>\[</string>
|
|
<key>end</key>
|
|
<string>\]</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#js_brackets</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>source.js</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>js_parens</key>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>\(</string>
|
|
<key>end</key>
|
|
<string>\)</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#js_parens</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>source.js</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>mixin_call</key>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>((?:mixin\s+)|\+)([\w-]+)</string>
|
|
<key>beginCaptures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>storage.type.function.jade</string>
|
|
</dict>
|
|
<key>2</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>meta.tag.other entity.name.function.jade</string>
|
|
</dict>
|
|
</dict>
|
|
<key>end</key>
|
|
<string>(?!\()|$</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>#js_parens</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#string</string>
|
|
</dict>
|
|
<dict>
|
|
<key>captures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>meta.tag.other entity.other.attribute-name.tag.jade</string>
|
|
</dict>
|
|
</dict>
|
|
<key>match</key>
|
|
<string>([^\s(),=/]+)\s*=\s*</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>source.js</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#tag_attributes</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>mixin_definition</key>
|
|
<dict>
|
|
<key>captures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>storage.type.function.jade</string>
|
|
</dict>
|
|
<key>2</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>meta.tag.other entity.name.function.jade</string>
|
|
</dict>
|
|
<key>3</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.parameters.begin.js</string>
|
|
</dict>
|
|
<key>4</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>variable.parameter.function.js</string>
|
|
</dict>
|
|
<key>5</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.parameters.begin.js</string>
|
|
</dict>
|
|
</dict>
|
|
<key>match</key>
|
|
<string>(mixin\s+)([\w-]+)(?:(\()\s*((?:[a-zA-Z_]\w*\s*)(?:,\s*[a-zA-Z_]\w*\s*)*)(\)))?$</string>
|
|
</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>name</key>
|
|
<string>source.js</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#js_brackets</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>include</key>
|
|
<string>#interpolated_value</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#interpolated_error</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>tag_attribute_name</key>
|
|
<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*</string>
|
|
</dict>
|
|
<key>tag_attribute_name_paren</key>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>\(\s*</string>
|
|
<key>end</key>
|
|
<string>\)</string>
|
|
<key>name</key>
|
|
<string>entity.other.attribute-name.tag.jade</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#tag_attribute_name_paren</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#tag_attribute_name</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>tag_attributes</key>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>(\(\s*)</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>meta.tag.other</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#tag_attribute_name_paren</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#tag_attribute_name</string>
|
|
</dict>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>!(?!=)</string>
|
|
<key>name</key>
|
|
<string>invalid.illegal.tag.jade</string>
|
|
</dict>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>=\s*</string>
|
|
<key>end</key>
|
|
<string>$|(?=,|(?:\s+[^!%&*-+~|<>:?/])|\))</string>
|
|
<key>name</key>
|
|
<string>attribute_value</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#string</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#js_parens</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#js_brackets</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#js_braces</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>source.js</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>(?<=[%&*-+~|<>:?/])\s+</string>
|
|
<key>end</key>
|
|
<string>$|(?=,|(?:\s+[^!%&*-+~|<>:?/])|\))</string>
|
|
<key>name</key>
|
|
<string>attribute_value2</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#string</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#js_parens</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#js_brackets</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#js_braces</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>source.js</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>tag_classes</key>
|
|
<dict>
|
|
<key>captures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>invalid.illegal.tag.jade</string>
|
|
</dict>
|
|
</dict>
|
|
<key>match</key>
|
|
<string>\.([^\w-])?[\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>meta.tag.other</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>meta.tag.other 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>meta.tag.other 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>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>source.js</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#js_brackets</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>source.js</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
</dict>
|
|
<key>scopeName</key>
|
|
<string>text.jade</string>
|
|
<key>uuid</key>
|
|
<string>eee6ba25-6ac2-4f7e-9c70-cddf2bd3448b</string>
|
|
</dict>
|
|
</plist> |