fileTypes nunjucks nunjs html name Nunjucks patterns begin {% comment %} end {% endcomment %} name comment.block.nunjucks begin {# end #} name comment.line.number-sign.nunjucks begin {{ captures 0 name entity.tag.tagbraces.nunjucks end }} name storage.type.variable.nunjucks patterns include #template_filter begin {%-|{% captures 0 name entity.tag.tagbraces.nunjucks end -%}|%} name storage.type.templatetag.nunjucks patterns include #template_tag include #template_filter begin (<)([a-zA-Z0-9:]++)(?=[^>]*></\2>) beginCaptures 1 name punctuation.definition.tag.begin.html 2 name entity.name.tag.html end (>)(<)(/)(\2)(>) endCaptures 1 name punctuation.definition.tag.end.html 2 name punctuation.definition.tag.begin.html meta.scope.between-tag-pair.html 3 name punctuation.definition.tag.begin.html 4 name entity.name.tag.html 5 name punctuation.definition.tag.end.html name meta.tag.any.html patterns include #tag-stuff begin (<\?)(xml) captures 1 name punctuation.definition.tag.html 2 name entity.name.tag.xml.html end (\?>) name meta.tag.preprocessor.xml.html patterns include #tag-generic-attribute include #string-double-quoted include #string-single-quoted begin <!-- captures 0 name punctuation.definition.comment.html end --\s*> name comment.block.html patterns match -- name invalid.illegal.bad-comments-or-CDATA.html include #embedded-code begin <! captures 0 name punctuation.definition.tag.html end > name meta.tag.sgml.html patterns begin (?i:DOCTYPE) captures 1 name entity.name.tag.doctype.html end (?=>) name meta.tag.sgml.doctype.html patterns match "[^">]*" name string.quoted.double.doctype.identifiers-and-DTDs.html begin \[CDATA\[ end ]](?=>) name constant.other.inline-data.html match (\s*)(?!--|>)\S(\s*) name invalid.illegal.bad-comments-or-CDATA.html include #embedded-code begin (?:^\s+)?(<)((?i:style))\b(?![^>]*/>) captures 1 name punctuation.definition.tag.begin.html 2 name entity.name.tag.style.html 3 name punctuation.definition.tag.html end (</)((?i:style))(>)(?:\s*\n)? name source.css.embedded.html patterns include #tag-stuff begin (>) beginCaptures 1 name punctuation.definition.tag.end.html end (?=</(?i:style)) patterns begin {% comment %} end {% endcomment %} name comment.block.nunjucks begin {# end #} name comment.line.number-sign.nunjucks begin {{ captures 0 name entity.tag.tagbraces.nunjucks end }} name storage.type.variable.nunjucks patterns include #template_filter begin {% captures 0 name entity.tag.tagbraces.nunjucks end %} name storage.type.templatetag.nunjucks patterns include #template_tag include #template_filter include #embedded-code include source.css.nunjucks begin (?:^\s+)?(<)((?i:script))\b(?![^>]*/>) beginCaptures 1 name punctuation.definition.tag.begin.html 2 name entity.name.tag.script.html end (?<=</(script|SCRIPT))(>)(?:\s*\n)? endCaptures 2 name punctuation.definition.tag.html name source.js.embedded.html patterns include #tag-stuff begin (?<!</(?:script|SCRIPT))(>) captures 1 name punctuation.definition.tag.end.html 2 name entity.name.tag.script.html end (</)((?i:script)) patterns begin {% comment %} end {% endcomment %} name comment.block.nunjucks begin {# end #} name comment.line.number-sign.nunjucks begin {{ captures 0 name entity.tag.tagbraces.nunjucks end }} name storage.type.variable.nunjucks patterns include #template_filter begin {% captures 0 name entity.tag.tagbraces.nunjucks end %} name storage.type.templatetag.nunjucks patterns include #template_tag include #template_filter captures 1 name punctuation.definition.comment.js match (//).*?((?=</script)|$\n?) name comment.line.double-slash.js begin /\* captures 0 name punctuation.definition.comment.js end \*/|(?=</script) name comment.block.js include #php include source.js begin (</?)((?i:body|head|html)\b) captures 1 name punctuation.definition.tag.begin.html 2 name entity.name.tag.structure.any.html end (>) endCaptures 1 name punctuation.definition.tag.end.html name meta.tag.structure.any.html patterns include #tag-stuff begin (</?)((?i:address|blockquote|dd|div|dl|dt|fieldset|form|frame|frameset|h1|h2|h3|h4|h5|h6|iframe|noframes|object|ol|p|ul|applet|center|dir|hr|menu|pre)\b) beginCaptures 1 name punctuation.definition.tag.begin.html 2 name entity.name.tag.block.any.html end (>) endCaptures 1 name punctuation.definition.tag.end.html name meta.tag.block.any.html patterns include #tag-stuff begin (</?)((?i:a|abbr|acronym|area|b|base|basefont|bdo|big|br|button|caption|cite|code|col|colgroup|del|dfn|em|font|head|html|i|img|input|ins|isindex|kbd|label|legend|li|link|map|meta|noscript|optgroup|option|param|q|s|samp|script|select|small|span|strike|strong|style|sub|sup|table|tbody|td|textarea|tfoot|th|thead|title|tr|tt|u|var)\b) beginCaptures 1 name punctuation.definition.tag.begin.html 2 name entity.name.tag.inline.any.html end ((?: ?/)?>) endCaptures 1 name punctuation.definition.tag.end.html name meta.tag.inline.any.html patterns include #tag-stuff begin (</?)([a-zA-Z0-9:]+) beginCaptures 1 name punctuation.definition.tag.begin.html 2 name entity.name.tag.other.html end (>) endCaptures 1 name punctuation.definition.tag.end.html name meta.tag.other.html patterns include #tag-stuff include #entities match <> name invalid.illegal.incomplete.html match < name invalid.illegal.bad-angle-bracket.html repository template_filter patterns match (add|addslashes|capfirst|center|cut|date|default|default_if_none|dictsort|dictsortreversed|divisibleby|escape|escapejs|filesizeformat|first|fix_ampersands|floatformat|force_escape|get_digit|iriencode|join|last|length|length_is|linebreaks|linebreaksbr|linenumbers|ljust|lower|make_list|phone2numeric|pluralize|pprint|random|removetags|rjust|safe|safeseq|slice|slugify|stringformat|striptags|time|timesince|timeutil|title|truncatewords|truncatewords_html|unordered_list|upper|urlencode|urlize|urlizetrunc|wordcount|wordwrap|yesno|apnumber|intcomma|intword|naturalday|ordinal|STATIC_PREFIX)\b name keyword.control.filter.nunjucks begin :"|" end " name storage.type.attr.nunjucks begin :\'|\' end \' name storage.type.attr.nunjucks match \| name string.unquoted.filter-pipe.nunjucks match [a-zA-Z0-9_.]+ name string.unquoted.tag-string.nunjucks template_tag patterns match \b(autoescape|endautoescape|block|endblock|blocktrans|endblocktrans|trans|plural|debug|extends|filter|firstof|for|empty|endfor|if|elif|else|endif|include|ifchanged|endifchanged|ifequal|endifequal|ifnotequal|endifnotequal|load|from|low|regroup|ssi|spaceless|endspaceless|templatetag|widthratio|with|endwith|csrf_token|cycle|url|lorem|thumbnail|endthumbnail|get_static_prefix)\b name keyword.control.tag-name.nunjucks match \b(and|or|not|in|by|as)\b name keyword.operator.nunjucks embedded-code patterns include #ruby include #php include #python entities patterns captures 1 name punctuation.definition.entity.html 3 name punctuation.definition.entity.html match (&)([a-zA-Z0-9]+|#[0-9]+|#x[0-9a-fA-F]+)(;) name constant.character.entity.html match & name invalid.illegal.bad-ampersand.html php begin (?=(^\s*)?<\?) end (?!(^\s*)?<\?) patterns include source.php python begin (?:^\s*)<\?python(?!.*\?>) end \?>(?:\s*$\n)? name source.python.embedded.html patterns include source.python ruby patterns begin <%+# captures 0 name punctuation.definition.comment.erb end %> name comment.block.erb begin <%+(?!>)=? captures 0 name punctuation.section.embedded.ruby end -?%> name source.ruby.embedded.html patterns captures 1 name punctuation.definition.comment.ruby match (#).*?(?=-?%>) name comment.line.number-sign.ruby include source.ruby begin <\?r(?!>)=? captures 0 name punctuation.section.embedded.ruby.nitro end -?\?> name source.ruby.nitro.embedded.html patterns captures 1 name punctuation.definition.comment.ruby.nitro match (#).*?(?=-?\?>) name comment.line.number-sign.ruby.nitro include source.ruby string-double-quoted begin " beginCaptures 0 name punctuation.definition.string.begin.html end " endCaptures 0 name punctuation.definition.string.end.html name string.quoted.double.html patterns include #embedded-code include #entities string-single-quoted begin ' beginCaptures 0 name punctuation.definition.string.begin.html end ' endCaptures 0 name punctuation.definition.string.end.html name string.quoted.single.html patterns include #embedded-code include #entities tag-generic-attribute match \b([a-zA-Z\-:]+) name entity.other.attribute-name.html tag-id-attribute begin \b(id)\b\s*(=) captures 1 name entity.other.attribute-name.id.html 2 name punctuation.separator.key-value.html end (?<='|") name meta.attribute-with-value.id.html patterns begin " beginCaptures 0 name punctuation.definition.string.begin.html contentName meta.toc-list.id.html end " endCaptures 0 name punctuation.definition.string.end.html name string.quoted.double.html patterns include #embedded-code include #entities begin ' beginCaptures 0 name punctuation.definition.string.begin.html contentName meta.toc-list.id.html end ' endCaptures 0 name punctuation.definition.string.end.html name string.quoted.single.html patterns include #embedded-code include #entities tag-stuff patterns include #tag-id-attribute include #tag-generic-attribute include #string-double-quoted include #string-single-quoted include #embedded-code scopeName text.html.nunjucks uuid 0AAEDD0E-56AD-4B71-95C8-2FF271DE5B19