From: Kevin Date: Tue, 21 May 2024 19:25:54 +0000 (-0400) Subject: Adding basic import statement support X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=249d551e5e36b87159093aefa69c0f6bcce0b015;p=thirdparty%2Fjinja.git Adding basic import statement support --- diff --git a/grammar/JinjaGrammar.g4 b/grammar/JinjaGrammar.g4 index 7ae6e1ab..cca5b78a 100644 --- a/grammar/JinjaGrammar.g4 +++ b/grammar/JinjaGrammar.g4 @@ -25,7 +25,7 @@ list_literal_value variable_name : IDENTIFIER; -statement_include_template_list +statement_include_template : STRING_LITERAL | list_literal | variable_name @@ -38,11 +38,20 @@ statement_include_context statement_include : STATEMENT_ID_INCLUDE - (SP statement_include_template_list) + (SP statement_include_template) (SP STATEMENT_INCLUDE_IGNORE_MISSING)? (SP statement_include_context)? ; +statement_import_file + : STRING_LITERAL + | variable_name + ; + +statement_import + : STATEMENT_ID_IMPORT SP statement_import_file SP STATEMENT_ID_IMPORT_AS SP variable_name + ; + block_statement_id : STATEMENT_ID_BLOCK | STATEMENT_ID_SET @@ -64,6 +73,7 @@ block_statement_start_content inline_statement_content : statement_include + | statement_import ; inline_statement : STATEMENT_OPEN inline_statement_content STATEMENT_CLOSE; diff --git a/grammar/JinjaLexer.g4 b/grammar/JinjaLexer.g4 index 573d5a9b..37bbc8f4 100644 --- a/grammar/JinjaLexer.g4 +++ b/grammar/JinjaLexer.g4 @@ -84,6 +84,8 @@ STATEMENT_ID_INCLUDE : 'include'; STATEMENT_ID_RAW : 'raw'; STATEMENT_ID_SET : 'set'; +STATEMENT_ID_IMPORT_AS : 'as'; + STATEMENT_INCLUDE_IGNORE_MISSING : 'ignore missing'; STATEMENT_INCLUDE_WITH_CONTEXT : 'with context'; STATEMENT_INCLUDE_WITHOUT_CONTEXT : 'without context';