]> git.ipfire.org Git - thirdparty/jinja.git/commitdiff
Adding basic import statement support
authorKevin <github@kevin-brown.com>
Tue, 21 May 2024 19:25:54 +0000 (15:25 -0400)
committerKevin <github@kevin-brown.com>
Tue, 21 May 2024 19:25:54 +0000 (15:25 -0400)
grammar/JinjaGrammar.g4
grammar/JinjaLexer.g4

index 7ae6e1abe66537cc92858448e7142bc96d17e205..cca5b78ab02af96b9f723ad57a94872e6e3d4ddb 100644 (file)
@@ -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;
index 573d5a9b3c8e86d0c5bed7ffbdcf79fa08a9ba83..37bbc8f4853df78b0b03786e2115f6bfdf0440b2 100644 (file)
@@ -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';