{ "$schema": "https://tree-sitter.github.io/tree-sitter/assets/schemas/grammar.schema.json", "name": "django", "word": "identifier", "rules": { "template": { "type": "REPEAT1", "content": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "template_tag" }, { "type": "SYMBOL", "name": "content" } ] } }, "content": { "type": "PATTERN", "value": "(?:[^\\{]|\\{[^\\{#%}])+" }, "template_tag": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "template_block_groups" }, { "type": "SYMBOL", "name": "template_variable" }, { "type": "SYMBOL", "name": "template_comment" } ] }, "filtered_value": { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "value" }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "IMMEDIATE_TOKEN", "content": { "type": "STRING", "value": "|" } }, { "type": "SYMBOL", "name": "filter_expression" } ] }, { "type": "BLANK" } ] } ] }, "filter_expression": { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "filter" }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "IMMEDIATE_TOKEN", "content": { "type": "STRING", "value": "|" } }, { "type": "SYMBOL", "name": "filter" } ] } } ] }, "value": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "literal" }, { "type": "SYMBOL", "name": "variable_attribute" } ] }, "literal": { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "number" }, { "type": "SYMBOL", "name": "string" } ] }, { "type": "SYMBOL", "name": "_after_literal" } ] }, "number": { "type": "PATTERN", "value": "[-+]?(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][0-9]+)?" }, "string": { "type": "PATTERN", "value": "\"(?:[^\"\\\\]|\\\\[^\\n])*\"|'(?:[^'\\\\]|\\\\[^\\n])*'" }, "attribute": { "type": "PATTERN", "value": "[a-zA-Z0-9_]+(?:\\.[a-zA-Z0-9_]+)*" }, "variable_attribute": { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "identifier" }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "IMMEDIATE_TOKEN", "content": { "type": "STRING", "value": "." } }, { "type": "SYMBOL", "name": "attribute" } ] }, { "type": "BLANK" } ] } ] }, "identifier": { "type": "PATTERN", "value": "[a-zA-Z][a-zA-Z0-9_]*" }, "binaryOperator": { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "_before_and" }, { "type": "STRING", "value": "and" } ] }, { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "_before_or" }, { "type": "STRING", "value": "or" } ] }, { "type": "STRING", "value": "==" }, { "type": "STRING", "value": "!=" }, { "type": "STRING", "value": "<" }, { "type": "STRING", "value": ">" }, { "type": "STRING", "value": "<=" }, { "type": "STRING", "value": ">=" }, { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "_before_in" }, { "type": "STRING", "value": "in" } ] }, { "type": "PREC", "value": 1, "content": { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "_before_not" }, { "type": "STRING", "value": "not" }, { "type": "STRING", "value": "in" } ] } }, { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "_before_is" }, { "type": "STRING", "value": "is" } ] }, { "type": "PREC", "value": 1, "content": { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "_before_is" }, { "type": "STRING", "value": "is" }, { "type": "STRING", "value": "not" } ] } } ] }, "predicate": { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "_before_not" }, { "type": "STRING", "value": "not" } ] }, { "type": "BLANK" } ] }, { "type": "SYMBOL", "name": "filtered_value" }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "binaryOperator" }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "_before_not" }, { "type": "STRING", "value": "not" } ] }, { "type": "BLANK" } ] }, { "type": "SYMBOL", "name": "filtered_value" } ] } } ] }, "template_variable": { "type": "SEQ", "members": [ { "type": "STRING", "value": "{{" }, { "type": "SYMBOL", "name": "filtered_value" }, { "type": "STRING", "value": "}}" } ] }, "template_comment": { "type": "SEQ", "members": [ { "type": "STRING", "value": "{#" }, { "type": "PATTERN", "value": "(?:[^#]|#[^}])*" }, { "type": "STRING", "value": "#}" } ] }, "template_block_groups": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "autoescape_group" }, { "type": "SYMBOL", "name": "block_group" }, { "type": "SYMBOL", "name": "comment_group" }, { "type": "SYMBOL", "name": "csrf_token" }, { "type": "SYMBOL", "name": "cycle" }, { "type": "SYMBOL", "name": "debug" }, { "type": "SYMBOL", "name": "extends" }, { "type": "SYMBOL", "name": "filter_group" }, { "type": "SYMBOL", "name": "firstof" }, { "type": "SYMBOL", "name": "for_group" }, { "type": "SYMBOL", "name": "if_group" }, { "type": "SYMBOL", "name": "ifchanged_group" }, { "type": "SYMBOL", "name": "include" }, { "type": "SYMBOL", "name": "load" }, { "type": "SYMBOL", "name": "lorem" }, { "type": "SYMBOL", "name": "now" }, { "type": "SYMBOL", "name": "partial" }, { "type": "SYMBOL", "name": "partialdef_group" }, { "type": "SYMBOL", "name": "query_string" }, { "type": "SYMBOL", "name": "regroup" }, { "type": "SYMBOL", "name": "reset_cycle" }, { "type": "SYMBOL", "name": "spaceless_group" }, { "type": "SYMBOL", "name": "template_tag_block" }, { "type": "SYMBOL", "name": "url_block" }, { "type": "SYMBOL", "name": "verbatim_group" }, { "type": "SYMBOL", "name": "width_ratio" }, { "type": "SYMBOL", "name": "with_group" } ] }, "filter": { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "STRING", "value": "add:" }, { "type": "SYMBOL", "name": "value" } ] }, { "type": "STRING", "value": "addslashes" }, { "type": "STRING", "value": "capfirst" }, { "type": "SEQ", "members": [ { "type": "STRING", "value": "center:" }, { "type": "SYMBOL", "name": "value" } ] }, { "type": "SEQ", "members": [ { "type": "STRING", "value": "cut:" }, { "type": "SYMBOL", "name": "value" } ] }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "STRING", "value": "date:" }, { "type": "SYMBOL", "name": "value" } ] }, { "type": "STRING", "value": "date" } ] }, { "type": "SEQ", "members": [ { "type": "STRING", "value": "default:" }, { "type": "SYMBOL", "name": "value" } ] }, { "type": "SEQ", "members": [ { "type": "STRING", "value": "default_if_none:" }, { "type": "SYMBOL", "name": "value" } ] }, { "type": "SEQ", "members": [ { "type": "STRING", "value": "dictsort:" }, { "type": "SYMBOL", "name": "value" } ] }, { "type": "SEQ", "members": [ { "type": "STRING", "value": "dictsortreversed:" }, { "type": "SYMBOL", "name": "value" } ] }, { "type": "SEQ", "members": [ { "type": "STRING", "value": "divisibleby:" }, { "type": "SYMBOL", "name": "value" } ] }, { "type": "STRING", "value": "escape" }, { "type": "STRING", "value": "escapejs" }, { "type": "STRING", "value": "filesizeformat" }, { "type": "STRING", "value": "first" }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "STRING", "value": "floatformat:" }, { "type": "SYMBOL", "name": "value" } ] }, { "type": "STRING", "value": "floatformat" } ] }, { "type": "STRING", "value": "force_escape" }, { "type": "SEQ", "members": [ { "type": "STRING", "value": "get_digit:" }, { "type": "SYMBOL", "name": "value" } ] }, { "type": "STRING", "value": "iriencode" }, { "type": "SEQ", "members": [ { "type": "STRING", "value": "join:" }, { "type": "SYMBOL", "name": "value" } ] }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "STRING", "value": "json_script:" }, { "type": "SYMBOL", "name": "value" } ] }, { "type": "STRING", "value": "json_script" } ] }, { "type": "STRING", "value": "last" }, { "type": "STRING", "value": "length" }, { "type": "SEQ", "members": [ { "type": "STRING", "value": "length_is:" }, { "type": "SYMBOL", "name": "value" } ] }, { "type": "STRING", "value": "linebreaks" }, { "type": "STRING", "value": "linebreaksbr" }, { "type": "STRING", "value": "linenumbers" }, { "type": "SEQ", "members": [ { "type": "STRING", "value": "ljust:" }, { "type": "SYMBOL", "name": "value" } ] }, { "type": "STRING", "value": "lower" }, { "type": "STRING", "value": "make_list" }, { "type": "STRING", "value": "phone2numeric" }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "STRING", "value": "pluralize:" }, { "type": "SYMBOL", "name": "value" } ] }, { "type": "STRING", "value": "pluralize" } ] }, { "type": "STRING", "value": "pprint" }, { "type": "STRING", "value": "random" }, { "type": "SEQ", "members": [ { "type": "STRING", "value": "rjust:" }, { "type": "SYMBOL", "name": "value" } ] }, { "type": "STRING", "value": "safe" }, { "type": "STRING", "value": "safeseq" }, { "type": "SEQ", "members": [ { "type": "STRING", "value": "slice:" }, { "type": "SYMBOL", "name": "value" } ] }, { "type": "STRING", "value": "slugify" }, { "type": "SEQ", "members": [ { "type": "STRING", "value": "stringformat:" }, { "type": "SYMBOL", "name": "value" } ] }, { "type": "STRING", "value": "striptags" }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "STRING", "value": "time:" }, { "type": "SYMBOL", "name": "value" } ] }, { "type": "STRING", "value": "time" } ] }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "STRING", "value": "timesince:" }, { "type": "SYMBOL", "name": "value" } ] }, { "type": "STRING", "value": "timesince" } ] }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "STRING", "value": "timeuntil:" }, { "type": "SYMBOL", "name": "value" } ] }, { "type": "STRING", "value": "timeuntil" } ] }, { "type": "STRING", "value": "title" }, { "type": "SEQ", "members": [ { "type": "STRING", "value": "truncatechars:" }, { "type": "SYMBOL", "name": "value" } ] }, { "type": "SEQ", "members": [ { "type": "STRING", "value": "truncatechars_html:" }, { "type": "SYMBOL", "name": "value" } ] }, { "type": "SEQ", "members": [ { "type": "STRING", "value": "truncatewords:" }, { "type": "SYMBOL", "name": "value" } ] }, { "type": "SEQ", "members": [ { "type": "STRING", "value": "truncatewords_html:" }, { "type": "SYMBOL", "name": "value" } ] }, { "type": "STRING", "value": "unordered_list" }, { "type": "STRING", "value": "upper" }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "STRING", "value": "urlencode:" }, { "type": "SYMBOL", "name": "value" } ] }, { "type": "STRING", "value": "urlencode" } ] }, { "type": "STRING", "value": "urlize" }, { "type": "SEQ", "members": [ { "type": "STRING", "value": "urlizetrunc:" }, { "type": "SYMBOL", "name": "value" } ] }, { "type": "STRING", "value": "wordcount" }, { "type": "SEQ", "members": [ { "type": "STRING", "value": "wordwrap:" }, { "type": "SYMBOL", "name": "value" } ] }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "STRING", "value": "yesno:" }, { "type": "SYMBOL", "name": "value" } ] }, { "type": "STRING", "value": "yesno" } ] } ] }, "autoescape_group": { "type": "SEQ", "members": [ { "type": "SEQ", "members": [ { "type": "STRING", "value": "{%" }, { "type": "FIELD", "name": "tag", "content": { "type": "STRING", "value": "autoescape" } }, { "type": "CHOICE", "members": [ { "type": "STRING", "value": "on" }, { "type": "STRING", "value": "off" } ] }, { "type": "STRING", "value": "%}" } ] }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "template" }, { "type": "BLANK" } ] }, { "type": "SEQ", "members": [ { "type": "STRING", "value": "{%" }, { "type": "FIELD", "name": "tag", "content": { "type": "STRING", "value": "endautoescape" } }, { "type": "STRING", "value": "%}" } ] } ] }, "block_group": { "type": "SEQ", "members": [ { "type": "SEQ", "members": [ { "type": "STRING", "value": "{%" }, { "type": "FIELD", "name": "tag", "content": { "type": "STRING", "value": "block" } }, { "type": "FIELD", "name": "name", "content": { "type": "SYMBOL", "name": "push_block" } }, { "type": "STRING", "value": "%}" } ] }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "template" }, { "type": "BLANK" } ] }, { "type": "SEQ", "members": [ { "type": "STRING", "value": "{%" }, { "type": "FIELD", "name": "tag", "content": { "type": "STRING", "value": "endblock" } }, { "type": "SYMBOL", "name": "pop_block" }, { "type": "STRING", "value": "%}" } ] } ] }, "comment_group": { "type": "SEQ", "members": [ { "type": "SEQ", "members": [ { "type": "STRING", "value": "{%" }, { "type": "FIELD", "name": "tag", "content": { "type": "STRING", "value": "comment" } }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "string" }, { "type": "BLANK" } ] }, { "type": "STRING", "value": "%}" } ] }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "comment_content" }, { "type": "BLANK" } ] }, { "type": "SEQ", "members": [ { "type": "STRING", "value": "{%" }, { "type": "FIELD", "name": "tag", "content": { "type": "STRING", "value": "endcomment" } }, { "type": "STRING", "value": "%}" } ] } ] }, "csrf_token": { "type": "SEQ", "members": [ { "type": "STRING", "value": "{%" }, { "type": "FIELD", "name": "tag", "content": { "type": "STRING", "value": "csrf_token" } }, { "type": "STRING", "value": "%}" } ] }, "cycle": { "type": "SEQ", "members": [ { "type": "STRING", "value": "{%" }, { "type": "FIELD", "name": "tag", "content": { "type": "STRING", "value": "cycle" } }, { "type": "REPEAT1", "content": { "type": "SYMBOL", "name": "filtered_value" } }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "_before_as" }, { "type": "STRING", "value": "as" }, { "type": "FIELD", "name": "variable", "content": { "type": "SYMBOL", "name": "identifier" } }, { "type": "CHOICE", "members": [ { "type": "STRING", "value": "silent" }, { "type": "BLANK" } ] } ] }, { "type": "BLANK" } ] }, { "type": "STRING", "value": "%}" } ] }, "debug": { "type": "SEQ", "members": [ { "type": "STRING", "value": "{%" }, { "type": "FIELD", "name": "tag", "content": { "type": "STRING", "value": "debug" } }, { "type": "STRING", "value": "%}" } ] }, "extends": { "type": "SEQ", "members": [ { "type": "STRING", "value": "{%" }, { "type": "FIELD", "name": "tag", "content": { "type": "STRING", "value": "extends" } }, { "type": "SYMBOL", "name": "filtered_value" }, { "type": "STRING", "value": "%}" } ] }, "filter_group": { "type": "SEQ", "members": [ { "type": "SEQ", "members": [ { "type": "STRING", "value": "{%" }, { "type": "FIELD", "name": "tag", "content": { "type": "STRING", "value": "filter" } }, { "type": "SYMBOL", "name": "filter_expression" }, { "type": "STRING", "value": "%}" } ] }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "template" }, { "type": "BLANK" } ] }, { "type": "SEQ", "members": [ { "type": "STRING", "value": "{%" }, { "type": "FIELD", "name": "tag", "content": { "type": "STRING", "value": "endfilter" } }, { "type": "STRING", "value": "%}" } ] } ] }, "firstof": { "type": "SEQ", "members": [ { "type": "STRING", "value": "{%" }, { "type": "FIELD", "name": "tag", "content": { "type": "STRING", "value": "firstof" } }, { "type": "REPEAT1", "content": { "type": "SYMBOL", "name": "filtered_value" } }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "_before_as" }, { "type": "STRING", "value": "as" }, { "type": "SYMBOL", "name": "identifier" } ] }, { "type": "BLANK" } ] }, { "type": "STRING", "value": "%}" } ] }, "for_scope": { "type": "PREC_LEFT", "value": 0, "content": { "type": "SEQ", "members": [ { "type": "SEQ", "members": [ { "type": "STRING", "value": "{%" }, { "type": "FIELD", "name": "tag", "content": { "type": "STRING", "value": "for" } }, { "type": "FIELD", "name": "variable", "content": { "type": "SYMBOL", "name": "identifier" } }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "," }, { "type": "FIELD", "name": "variable", "content": { "type": "SYMBOL", "name": "identifier" } } ] } }, { "type": "STRING", "value": "in" }, { "type": "SYMBOL", "name": "filtered_value" }, { "type": "STRING", "value": "%}" } ] }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "template" }, { "type": "BLANK" } ] } ] } }, "for_group": { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "for_scope" }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "SEQ", "members": [ { "type": "STRING", "value": "{%" }, { "type": "FIELD", "name": "tag", "content": { "type": "STRING", "value": "empty" } }, { "type": "STRING", "value": "%}" } ] }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "template" }, { "type": "BLANK" } ] } ] }, { "type": "BLANK" } ] }, { "type": "SEQ", "members": [ { "type": "STRING", "value": "{%" }, { "type": "FIELD", "name": "tag", "content": { "type": "STRING", "value": "endfor" } }, { "type": "STRING", "value": "%}" } ] } ] }, "if_group": { "type": "SEQ", "members": [ { "type": "SEQ", "members": [ { "type": "STRING", "value": "{%" }, { "type": "FIELD", "name": "tag", "content": { "type": "STRING", "value": "if" } }, { "type": "SYMBOL", "name": "predicate" }, { "type": "STRING", "value": "%}" } ] }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "template" }, { "type": "BLANK" } ] }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "SEQ", "members": [ { "type": "STRING", "value": "{%" }, { "type": "FIELD", "name": "tag", "content": { "type": "STRING", "value": "elif" } }, { "type": "SYMBOL", "name": "predicate" }, { "type": "STRING", "value": "%}" } ] }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "template" }, { "type": "BLANK" } ] } ] } }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "SEQ", "members": [ { "type": "STRING", "value": "{%" }, { "type": "FIELD", "name": "tag", "content": { "type": "STRING", "value": "else" } }, { "type": "STRING", "value": "%}" } ] }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "template" }, { "type": "BLANK" } ] } ] }, { "type": "BLANK" } ] }, { "type": "SEQ", "members": [ { "type": "STRING", "value": "{%" }, { "type": "FIELD", "name": "tag", "content": { "type": "STRING", "value": "endif" } }, { "type": "STRING", "value": "%}" } ] } ] }, "ifchanged_group": { "type": "SEQ", "members": [ { "type": "SEQ", "members": [ { "type": "STRING", "value": "{%" }, { "type": "FIELD", "name": "tag", "content": { "type": "STRING", "value": "ifchanged" } }, { "type": "REPEAT", "content": { "type": "SYMBOL", "name": "filtered_value" } }, { "type": "STRING", "value": "%}" } ] }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "template" }, { "type": "BLANK" } ] }, { "type": "SEQ", "members": [ { "type": "STRING", "value": "{%" }, { "type": "FIELD", "name": "tag", "content": { "type": "STRING", "value": "endifchanged" } }, { "type": "STRING", "value": "%}" } ] } ] }, "include": { "type": "SEQ", "members": [ { "type": "STRING", "value": "{%" }, { "type": "FIELD", "name": "tag", "content": { "type": "STRING", "value": "include" } }, { "type": "SYMBOL", "name": "filtered_value" }, { "type": "STRING", "value": "%}" } ] }, "library": { "type": "PREC", "value": -1, "content": { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "identifier" }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "IMMEDIATE_TOKEN", "content": { "type": "STRING", "value": "." } }, { "type": "SYMBOL", "name": "identifier" } ] }, { "type": "BLANK" } ] } ] } }, "load": { "type": "SEQ", "members": [ { "type": "STRING", "value": "{%" }, { "type": "FIELD", "name": "tag", "content": { "type": "STRING", "value": "load" } }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "REPEAT1", "content": { "type": "SYMBOL", "name": "identifier" } }, { "type": "STRING", "value": "from" }, { "type": "SYMBOL", "name": "library" } ] }, { "type": "REPEAT1", "content": { "type": "SYMBOL", "name": "library" } } ] }, { "type": "STRING", "value": "%}" } ] }, "lorem": { "type": "SEQ", "members": [ { "type": "STRING", "value": "{%" }, { "type": "FIELD", "name": "tag", "content": { "type": "STRING", "value": "lorem" } }, { "type": "SYMBOL", "name": "filtered_value" }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "_before_w" }, { "type": "STRING", "value": "w" } ] }, { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "_before_p" }, { "type": "STRING", "value": "p" } ] }, { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "_before_b" }, { "type": "STRING", "value": "b" } ] } ] }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "_before_random" }, { "type": "STRING", "value": "random" } ] }, { "type": "BLANK" } ] }, { "type": "STRING", "value": "%}" } ] }, "now": { "type": "SEQ", "members": [ { "type": "STRING", "value": "{%" }, { "type": "FIELD", "name": "tag", "content": { "type": "STRING", "value": "now" } }, { "type": "SYMBOL", "name": "string" }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "_before_as" }, { "type": "STRING", "value": "as" }, { "type": "FIELD", "name": "name", "content": { "type": "SYMBOL", "name": "identifier" } } ] }, { "type": "BLANK" } ] }, { "type": "STRING", "value": "%}" } ] }, "partial": { "type": "SEQ", "members": [ { "type": "STRING", "value": "{%" }, { "type": "FIELD", "name": "tag", "content": { "type": "STRING", "value": "partial" } }, { "type": "SYMBOL", "name": "identifier" }, { "type": "STRING", "value": "%}" } ] }, "partialdef_group": { "type": "SEQ", "members": [ { "type": "SEQ", "members": [ { "type": "STRING", "value": "{%" }, { "type": "FIELD", "name": "tag", "content": { "type": "STRING", "value": "partialdef" } }, { "type": "SYMBOL", "name": "push_partial" }, { "type": "CHOICE", "members": [ { "type": "STRING", "value": "inline" }, { "type": "BLANK" } ] }, { "type": "STRING", "value": "%}" } ] }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "template" }, { "type": "BLANK" } ] }, { "type": "SEQ", "members": [ { "type": "STRING", "value": "{%" }, { "type": "FIELD", "name": "tag", "content": { "type": "STRING", "value": "endpartialdef" } }, { "type": "SYMBOL", "name": "pop_partial" }, { "type": "STRING", "value": "%}" } ] } ] }, "query_string": { "type": "SEQ", "members": [ { "type": "STRING", "value": "{%" }, { "type": "FIELD", "name": "tag", "content": { "type": "STRING", "value": "querystring" } }, { "type": "REPEAT", "content": { "type": "SYMBOL", "name": "identifier" } }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "identifier" }, { "type": "STRING", "value": "=" }, { "type": "SYMBOL", "name": "filtered_value" } ] } }, { "type": "STRING", "value": "%}" } ] }, "regroup": { "type": "SEQ", "members": [ { "type": "STRING", "value": "{%" }, { "type": "FIELD", "name": "tag", "content": { "type": "STRING", "value": "regroup" } }, { "type": "SYMBOL", "name": "filtered_value" }, { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "_before_by" }, { "type": "STRING", "value": "by" } ] }, { "type": "SYMBOL", "name": "attribute" }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "_before_as" }, { "type": "STRING", "value": "as" }, { "type": "FIELD", "name": "variable", "content": { "type": "SYMBOL", "name": "identifier" } } ] }, { "type": "BLANK" } ] }, { "type": "STRING", "value": "%}" } ] }, "reset_cycle": { "type": "SEQ", "members": [ { "type": "STRING", "value": "{%" }, { "type": "FIELD", "name": "tag", "content": { "type": "STRING", "value": "resetcycle" } }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "identifier" }, { "type": "BLANK" } ] }, { "type": "STRING", "value": "%}" } ] }, "spaceless_group": { "type": "SEQ", "members": [ { "type": "SEQ", "members": [ { "type": "STRING", "value": "{%" }, { "type": "FIELD", "name": "tag", "content": { "type": "STRING", "value": "spaceless" } }, { "type": "STRING", "value": "%}" } ] }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "template" }, { "type": "BLANK" } ] }, { "type": "SEQ", "members": [ { "type": "STRING", "value": "{%" }, { "type": "FIELD", "name": "tag", "content": { "type": "STRING", "value": "endspaceless" } }, { "type": "STRING", "value": "%}" } ] } ] }, "template_tag_block": { "type": "SEQ", "members": [ { "type": "STRING", "value": "{%" }, { "type": "FIELD", "name": "tag", "content": { "type": "STRING", "value": "templatetag" } }, { "type": "CHOICE", "members": [ { "type": "STRING", "value": "openblock" }, { "type": "STRING", "value": "closeblock" }, { "type": "STRING", "value": "openvariable" }, { "type": "STRING", "value": "closevariable" }, { "type": "STRING", "value": "openbrace" }, { "type": "STRING", "value": "closebrace" }, { "type": "STRING", "value": "opencomment" }, { "type": "STRING", "value": "closecomment" } ] }, { "type": "STRING", "value": "%}" } ] }, "url_block": { "type": "SEQ", "members": [ { "type": "STRING", "value": "{%" }, { "type": "FIELD", "name": "tag", "content": { "type": "STRING", "value": "url" } }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "string" }, { "type": "SYMBOL", "name": "identifier" } ] }, { "type": "CHOICE", "members": [ { "type": "CHOICE", "members": [ { "type": "REPEAT1", "content": { "type": "SYMBOL", "name": "filtered_value" } }, { "type": "REPEAT1", "content": { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "identifier" }, { "type": "STRING", "value": "=" }, { "type": "SYMBOL", "name": "filtered_value" } ] } } ] }, { "type": "BLANK" } ] }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "_before_as" }, { "type": "STRING", "value": "as" }, { "type": "FIELD", "name": "variable", "content": { "type": "SYMBOL", "name": "identifier" } } ] }, { "type": "BLANK" } ] }, { "type": "STRING", "value": "%}" } ] }, "verbatim_group": { "type": "SEQ", "members": [ { "type": "SEQ", "members": [ { "type": "STRING", "value": "{%" }, { "type": "FIELD", "name": "tag", "content": { "type": "STRING", "value": "verbatim" } }, { "type": "SYMBOL", "name": "push_verbatim" }, { "type": "STRING", "value": "%}" } ] }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "verbatim_content" }, { "type": "BLANK" } ] }, { "type": "SEQ", "members": [ { "type": "STRING", "value": "{%" }, { "type": "FIELD", "name": "tag", "content": { "type": "STRING", "value": "endverbatim" } }, { "type": "SYMBOL", "name": "pop_verbatim" }, { "type": "STRING", "value": "%}" } ] } ] }, "width_ratio": { "type": "SEQ", "members": [ { "type": "STRING", "value": "{%" }, { "type": "FIELD", "name": "tag", "content": { "type": "STRING", "value": "widthratio" } }, { "type": "SYMBOL", "name": "filtered_value" }, { "type": "SYMBOL", "name": "filtered_value" }, { "type": "SYMBOL", "name": "filtered_value" }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "_before_as" }, { "type": "STRING", "value": "as" }, { "type": "FIELD", "name": "variable", "content": { "type": "SYMBOL", "name": "identifier" } } ] }, { "type": "BLANK" } ] }, { "type": "STRING", "value": "%}" } ] }, "with_group": { "type": "SEQ", "members": [ { "type": "SEQ", "members": [ { "type": "STRING", "value": "{%" }, { "type": "FIELD", "name": "tag", "content": { "type": "STRING", "value": "with" } }, { "type": "REPEAT1", "content": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "variable", "content": { "type": "SYMBOL", "name": "identifier" } }, { "type": "STRING", "value": "=" }, { "type": "SYMBOL", "name": "filtered_value" } ] } }, { "type": "STRING", "value": "%}" } ] }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "template" }, { "type": "BLANK" } ] }, { "type": "SEQ", "members": [ { "type": "STRING", "value": "{%" }, { "type": "FIELD", "name": "tag", "content": { "type": "STRING", "value": "endwith" } }, { "type": "STRING", "value": "%}" } ] } ] } }, "extras": [ { "type": "PATTERN", "value": "[ \\t]" } ], "conflicts": [ [ "template" ] ], "precedences": [], "externals": [ { "type": "SYMBOL", "name": "matcher_error" }, { "type": "SYMBOL", "name": "pop_block" }, { "type": "SYMBOL", "name": "pop_partial" }, { "type": "SYMBOL", "name": "pop_verbatim" }, { "type": "SYMBOL", "name": "push_block" }, { "type": "SYMBOL", "name": "push_partial" }, { "type": "SYMBOL", "name": "push_verbatim" }, { "type": "SYMBOL", "name": "verbatim_content" }, { "type": "SYMBOL", "name": "comment_content" }, { "type": "SYMBOL", "name": "_before_and" }, { "type": "SYMBOL", "name": "_before_as" }, { "type": "SYMBOL", "name": "_before_b" }, { "type": "SYMBOL", "name": "_before_by" }, { "type": "SYMBOL", "name": "_before_in" }, { "type": "SYMBOL", "name": "_before_is" }, { "type": "SYMBOL", "name": "_before_not" }, { "type": "SYMBOL", "name": "_before_or" }, { "type": "SYMBOL", "name": "_before_p" }, { "type": "SYMBOL", "name": "_before_random" }, { "type": "SYMBOL", "name": "_before_w" }, { "type": "SYMBOL", "name": "_after_literal" } ], "inline": [], "supertypes": [ "template_tag", "template_block_groups" ], "reserved": { "global": [ { "type": "STRING", "value": "not" }, { "type": "STRING", "value": "if" }, { "type": "STRING", "value": "in" }, { "type": "STRING", "value": "is" }, { "type": "STRING", "value": "as" }, { "type": "STRING", "value": "for" }, { "type": "STRING", "value": "from" } ] } }