---
name: HTML (Django)
fileTypes: []
scopeName: text.html.django
uuid: F4B0A70C-ECF6-4660-BC26-785216E3CF02
foldingStartMarker: "(<(?i:(head|table|tr|div|style|script|ul|ol|form|dl))\\b.*?>|{%
(block|comment|filter|for|if|ifchanged|ifequal|ifnotequal))"
patterns:
- include: text.html.basic
comment: Since html is valid in Django templates include the html patterns
- name: comment.block.django.template
begin: "{% comment %}"
end: "{% endcomment %}"
- name: variable.other.django.template
begin: "{{"
end: "}}"
- name: meta.scope.django.template.tag
captures:
'1':
name: entity.other.django.tagbraces
begin: "({%)"
end: "(%})"
patterns:
- name: keyword.control.django.template
match: "\\b(block|endblock|blocktrans|endblocktrans|plural|debug|extends|filter|firstof|for|endfor|if|include|else|endif|ifchanged|endifchanged|ifequal|endifequal|ifnotequal|endifnotequal|load|now|regroup|ssi|spaceless|templatetag|widthratio)\\b"
- name: keyword.operator.django.template
match: "\\b(and|or|not|in|by|as)\\b"
- name: support.function.filter.django
match: "\\|(add|addslashes|capfirst|center|cut|date|default|default_if_none|dictsort|dictsortreversed|divisibleby|escape|filesizeformat|first|fix_ampersands|floatformat|get_digit|join|length|length_is|linebreaks|linebreaksbr|linenumbers|ljust|lower|make_list|phone2numeric|pluralize|pprint|random|removetags|rjust|slice|slugify|stringformat|striptags|time|timesince|title|truncatewords|unordered_list|upper|urlencode|urlize|urlizetrunc|wordcount|wordwrap|yesno)\\b"
- name: string.other.django.template.tag
begin: "'|\""
end: "'|\""
- name: string.unquoted.django.template.tag
match: "[a-zA-Z_]+"
foldingStopMarker: "((?i:(head|table|tr|div|style|script|ul|ol|form|dl))>|{% (endblock|endblocktrans|endcomment|endfilter|endfor|endif|endifchanged|endifequal|endifnotequal)
%})"
keyEquivalent: "^~D"