blockStatementOpenContent
= statement_block
| statement_filter
+ | statement_setBlock
blockStatement_close
= statementOpen sp? blockStatementCloseContent sp? statementClose
| listLiteral
| variableName
+ statement_setBlock
+ = statementId_set sp variableName (sp verticalBar sp filterExpression)*
+
content
= (~statementOpen any)+
filterExpression
= filter_center
| filter_upper
+ | filter_wordWrap
filter_center = filterId_center (parenthesis_left sp? filterCenter_parameters? sp? parenthesis_right)?
filterCenter_parameters = digit+
filter_upper = filterId_upper
+ filter_wordWrap = filterId_wordWrap
filterId_center = "center"
filterId_upper = "upper"
+ filterId_wordWrap = "wordwrap"
statementOpen = "{%"
statementClose = "%}"
statementId_from = "from"
statementId_import = "import"
statementId_include = "include"
+ statementId_set = "set"
blockStatementId_list
= statementId_block
| statementId_filter
+ | statementId_set
blockStatementId_end = "end"
quote_single = "'"
quote_double = "\""
comma = ","
+ equals = "="
+ verticalBar = "|"
bracket_left = "["
bracket_right = "]"