forked from spox/ultraviolet
/
html_django.syntax
36 lines (35 loc) · 1.84 KB
/
html_django.syntax
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
---
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