From: Kevin Date: Wed, 22 May 2024 16:50:21 +0000 (-0400) Subject: Basic support for filter block statement X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=74a488e35ed967d2f7d86d8f48684203f06f38b9;p=thirdparty%2Fjinja.git Basic support for filter block statement --- diff --git a/grammar/jinja.ohm b/grammar/jinja.ohm index 0f4f10d9..5eeae6b2 100644 --- a/grammar/jinja.ohm +++ b/grammar/jinja.ohm @@ -6,7 +6,8 @@ Jinja { = expression* expression - = inlineStatement + = content + | inlineStatement | blockStatement blockStatement @@ -17,6 +18,7 @@ Jinja { blockStatementOpenContent = statement_block + | statement_filter blockStatement_close = statementOpen sp? blockStatementCloseContent sp? statementClose @@ -50,6 +52,9 @@ Jinja { = stringLiteral | variableName + statement_filter + = statementId_filter sp filterExpression + statement_from = statementId_from sp statementImport_file sp statementId_import sp statementFrom_variables (sp importOptions_contextManagement)? @@ -72,19 +77,37 @@ Jinja { | listLiteral | variableName + content + = (~statementOpen any)+ + variableName = identifier + filterExpression + = filter_center + | filter_upper + + filter_center = filterId_center (parenthesis_left sp? filterCenter_parameters? sp? parenthesis_right)? + + filterCenter_parameters = digit+ + + filter_upper = filterId_upper + + filterId_center = "center" + filterId_upper = "upper" + statementOpen = "{%" statementClose = "%}" statementId_block = "block" statementId_extends = "extends" + statementId_filter = "filter" statementId_from = "from" statementId_import = "import" statementId_include = "include" blockStatementId_list = statementId_block + | statementId_filter blockStatementId_end = "end"