From: MuntasirSZN Date: Thu, 29 Jan 2026 19:03:42 +0000 (+0000) Subject: runtime(tera): update syntax files to support many more tera code X-Git-Tag: v9.1.2114~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b817536b8f35c14bea6366006d44ff6aa2e840b4;p=thirdparty%2Fvim.git runtime(tera): update syntax files to support many more tera code This includes macros, keys etc. which were not highlighted before. closes: #19276 Signed-off-by: Muntasir Mahmud Signed-off-by: Christian Brabandt --- diff --git a/runtime/syntax/tera.vim b/runtime/syntax/tera.vim index 3fcc21df49..90cf5171eb 100644 --- a/runtime/syntax/tera.vim +++ b/runtime/syntax/tera.vim @@ -1,7 +1,7 @@ " Vim syntax file " Language: Tera " Maintainer: Muntasir Mahmud -" Last Change: 2025 Mar 11 +" Last Change: 2026 Jan 29 if exists("b:current_syntax") finish @@ -31,20 +31,20 @@ else endif " Tera comment blocks: {# comment #} -syn region teraCommentBlock start="{#" end="#}" contains=@Spell +syn region teraCommentBlock start="{#-?" end="-?#}" contains=@Spell " Tera statements: {% if condition %} -syn region teraStatement start="{%" end="%}" contains=teraKeyword,teraString,teraNumber,teraFunction,teraBoolean,teraFilter,teraOperator +syn region teraStatement start="{%-?" end="-?%}" contains=teraKeyword,teraString,teraNumber,teraFunction,teraBoolean,teraFilter,teraOperator,teraIdentifier,teraTest,teraNamespace,teraProperty,teraBracket,teraArgument " Tera expressions: {{ variable }} -syn region teraExpression start="{{" end="}}" contains=teraString,teraNumber,teraFunction,teraBoolean,teraFilter,teraOperator,teraIdentifier +syn region teraExpression start="{{-?" end="-?}}" contains=teraString,teraNumber,teraFunction,teraBoolean,teraFilter,teraOperator,teraIdentifier,teraTest,teraNamespace,teraProperty,teraBracket " Special handling for raw blocks - content inside shouldn't be processed -syn region teraRawBlock start="{% raw %}" end="{% endraw %}" contains=TOP,teraCommentBlock,teraStatement,teraExpression +syn region teraRawBlock start="{%-\?\s*raw\s*-%}\?" end="{%-\?\s*endraw\s*-%}\?" contains=TOP,teraCommentBlock,teraStatement,teraExpression " Control structure keywords syn keyword teraKeyword contained if else elif endif for endfor in macro endmacro -syn keyword teraKeyword contained block endblock extends include import set endset +syn keyword teraKeyword contained block endblock extends include import set endset set_global syn keyword teraKeyword contained break continue filter endfilter raw endraw " Identifiers - define before operators for correct priority @@ -70,6 +70,25 @@ syn match teraNumber contained "\<\d\+\.\d\+\>" " Boolean values syn keyword teraBoolean contained true false +" Special variables (loop, __tera_context) +syn keyword teraSpecialVariable contained loop __tera_context + +" 'is' test patterns: 'is not test_name' or 'is test_name' +syn match teraTest contained "\" + +" Namespace function calls: namespace::function() +syn match teraNamespace contained "\<\w\+::" + +" Property/member access: .property or ["key"] or [variable] +syn match teraProperty contained "\.\w\+" +syn region teraBracket contained start="\[" end="\]" contains=teraString,teraIdentifier,teraNumber,teraOperator + +" Backtick strings for raw content +syn region teraString contained start="`" skip="\\`" end="`" contains=@Spell + +" String escape sequences +syn match teraStringEscape contained "\\." + " Highlighting links hi def link teraCommentBlock Comment hi def link teraKeyword Statement @@ -77,8 +96,14 @@ hi def link teraOperator Operator hi def link teraFunction Function hi def link teraIdentifier Identifier hi def link teraString String +hi def link teraStringEscape SpecialChar hi def link teraNumber Number hi def link teraBoolean Boolean +hi def link teraSpecialVariable Special +hi def link teraTest Keyword +hi def link teraNamespace Function +hi def link teraProperty Identifier +hi def link teraBracket Operator hi def link teraFilter Function hi def link teraStatement Statement hi def link teraExpression Statement diff --git a/runtime/syntax/testdir/dumps/tera_01.dump b/runtime/syntax/testdir/dumps/tera_01.dump index e0f3cbdcd8..227b5a8043 100644 --- a/runtime/syntax/testdir/dumps/tera_01.dump +++ b/runtime/syntax/testdir/dumps/tera_01.dump @@ -13,8 +13,8 @@ |<+0#00e0e07&|/|h+0#af5f00255&|e|a|d|>+0#00e0e07&| +0#0000000&@67 |<+0#00e0e07&|b+0#af5f00255&|o|d|y|>+0#00e0e07&| +0#0000000&@68 @4|<+0#00e0e07&|d+0#af5f00255&|i|v| +0#00e0e07&|c+0#00e0003&|l|a|s@1|=+0#00e0e07&|"+0#e000002&|c|o|n|t|a|i|n|e|r|"|>+0#00e0e07&| +0#0000000&@47 -@8|{+0#0000e05&|#| |H|e|a|d|e|r| |S|e|c|t|i|o|n| |w|i|t|h| |v|a|r|i|a|b|l|e| |i|n|t|e|r|p|o|l|a|t|i|o|n| |#|}| +0#0000000&@18 +@8|{|#| |H|e|a|d|e|r| |S|e|c|t|i|o|n| |w|i|t|h| |v|a|r|i|a|b|l|e| |i|n|t|e|r|p|o|l|a|t|i|o|n| |#|}| @18 @8|<+0#00e0e07&|h+0#af5f00255&|e|a|d|e|r|>+0#00e0e07&| +0#0000000&@58 @12|<+0#00e0e07&|h+0#af5f00255&|1|>+0#00e0e07&|{+0#e000e06&@1| |h|e|a|d|e|r|_|t|e|x|t| ||| |u|p@1|e|r| |}@1|<+0#00e0e07&|/|h+0#af5f00255&|1|>+0#00e0e07&| +0#0000000&@28 -@12|{+0#af5f00255&|%| |i|f| |s|u|b|h|e|a|d|e|r| |%|}| +0#0000000&@44 +@12|{|%| |i|f| |s|u|b|h|e|a|d|e|r| |%|}| @44 @57|1|9|,|9| @10|8|%| diff --git a/runtime/syntax/testdir/dumps/tera_02.dump b/runtime/syntax/testdir/dumps/tera_02.dump index 374fadb2ae..beac56aaa9 100644 --- a/runtime/syntax/testdir/dumps/tera_02.dump +++ b/runtime/syntax/testdir/dumps/tera_02.dump @@ -1,20 +1,20 @@ -| +0&#ffffff0@11|{+0#af5f00255&|%| |i|f| |s|u|b|h|e|a|d|e|r| |%|}| +0#0000000&@44 +| +0&#ffffff0@11|{|%| |i|f| |s|u|b|h|e|a|d|e|r| |%|}| @44 @16|<+0#00e0e07&|h+0#af5f00255&|2|>+0#00e0e07&|{+0#e000e06&@1| |s|u|b|h|e|a|d|e|r| |}@1|<+0#00e0e07&|/|h+0#af5f00255&|2|>+0#00e0e07&| +0#0000000&@34 -@12|{+0#af5f00255&|%| |e|n|d|i|f| |%|}| +0#0000000&@51 +@12|{|%| |e|n|d|i|f| |%|}| @51 @8|<+0#00e0e07&|/|h+0#af5f00255&|e|a|d|e|r|>+0#00e0e07&| +0#0000000&@57 @75 -@8>{+0#0000e05&|#| |N|a|v|i|g|a|t|i|o|n| |e|x|a|m|p|l|e| |w|i|t|h| |f|o|r| |l|o@1|p| |#|}| +0#0000000&@28 +@8>{|#| |N|a|v|i|g|a|t|i|o|n| |e|x|a|m|p|l|e| |w|i|t|h| |f|o|r| |l|o@1|p| |#|}| @28 @8|<+0#00e0e07&|n+0#af5f00255&|a|v|>+0#00e0e07&| +0#0000000&@61 @12|<+0#00e0e07&|u+0#af5f00255&|l|>+0#00e0e07&| +0#0000000&@58 -@16|{+0#af5f00255&|%| |f|o|r| |i|t|e|m| |i|n| |n|a|v|i|g|a|t|i|o|n| |%|}| +0#0000000&@30 +@16|{|%| |f|o|r| |i|t|e|m| |i|n| |n|a|v|i|g|a|t|i|o|n| |%|}| @30 @20|<+0#00e0e07&|l+0#af5f00255&|i| +0#00e0e07&|c+0#00e0003&|l|a|s@1|=+0#00e0e07&|"+0#e000002&|{@1| |l|o@1|p|.|i|n|d|e|x|0| |=@1| |c|u|r@1|e|n|t|_|p|a|g|e| |?| |'|a|c|t|i|v|e|'| |:| |'@1| |}@1|"|>+0#00e0e07&| +0#0000000&@67 @24|<+0#00e0e07&|a+0#af5f00255&| +0#00e0e07&|h+0#00e0003&|r|e|f|=+0#00e0e07&|"+0#e000002&|{@1| |i|t|e|m|.|u|r|l| |}@1|"|>+0#00e0e07&|{+8#e000e06&@1| |i|t|e|m|.|t|i|t|l|e| |}@1|<+0#00e0e07&|/|a+0#af5f00255&|>+0#00e0e07&| +0#0000000&@5 @20|<+0#00e0e07&|/|l+0#af5f00255&|i|>+0#00e0e07&| +0#0000000&@49 -@16|{+0#af5f00255&|%| |e|n|d|f|o|r| |%|}| +0#0000000&@46 +@16|{|%| |e|n|d|f|o|r| |%|}| @46 @12|<+0#00e0e07&|/|u+0#af5f00255&|l|>+0#00e0e07&| +0#0000000&@57 @8|<+0#00e0e07&|/|n+0#af5f00255&|a|v|>+0#00e0e07&| +0#0000000&@60 @75 -@8|{+0#0000e05&|#| |M|a|i|n| |c|o|n|t|e|n|t| |s|e|c|t|i|o|n| |w|i|t|h| |v|a|r|i|o|u|s| |t|e|m|p|l|a|t|e| |f|e|a|t|u|r|e|s| |#|}| +0#0000000&@9 +@8|{|#| |M|a|i|n| |c|o|n|t|e|n|t| |s|e|c|t|i|o|n| |w|i|t|h| |v|a|r|i|o|u|s| |t|e|m|p|l|a|t|e| |f|e|a|t|u|r|e|s| |#|}| @9 @8|<+0#00e0e07&|m+0#af5f00255&|a|i|n|>+0#00e0e07&| +0#0000000&@60 @57|3|7|,|9| @9|2|1|%| diff --git a/runtime/syntax/testdir/dumps/tera_03.dump b/runtime/syntax/testdir/dumps/tera_03.dump index 2e84203898..3364a1e303 100644 --- a/runtime/syntax/testdir/dumps/tera_03.dump +++ b/runtime/syntax/testdir/dumps/tera_03.dump @@ -1,20 +1,20 @@ | +0&#ffffff0@7|<+0#00e0e07&|m+0#af5f00255&|a|i|n|>+0#00e0e07&| +0#0000000&@60 -@12|{+0#0000e05&|#| |C|o|n|d|i|t|i|o|n|a|l|s| |#|}| +0#0000000&@44 -@12|{+0#af5f00255&|%| |i|f| |u|s|e|r| |%|}| +0#0000000&@49 +@12|{|#| |C|o|n|d|i|t|i|o|n|a|l|s| |#|}| @44 +@12|{|%| |i|f| |u|s|e|r| |%|}| @49 @16|<+0#00e0e07&|s+0#af5f00255&|e|c|t|i|o|n| +0#00e0e07&|c+0#00e0003&|l|a|s@1|=+0#00e0e07&|"+0#e000002&|w|e|l|c|o|m|e|"|>+0#00e0e07&| +0#0000000&@33 @20|<+0#00e0e07&|h+0#af5f00255&|2|>+0#00e0e07&|W+0#e000e06&|e|l|c|o|m|e| |b|a|c|k|,| |{@1| |u|s|e|r|.|n|a|m|e| |}@1|!|<+0#00e0e07&|/|h+0#af5f00255&|2|>+0#00e0e07&| +0#0000000&@15 -@20><+0#00e0e07&|p+0#af5f00255&|>+0#00e0e07&|L+0#0000000&|a|s|t| |l|o|g|i|n|:| |{+0#af5f00255&@1| |u+0#00e0e07&|s|e|r|.+0#af5f00255&|l+0#00e0e07&|a|s|t|_|l|o|g|i|n| +0#af5f00255&||+0#00e0e07&| |d|a|t|e|(+0#af5f00255&|f+0#00e0e07&|o|r|m|a|t|=+0#af5f00255&|"+0#e000002&|%|Y|-|%|m|- -|%|d|"|)+0#af5f00255&| |}@1|<+0#00e0e07&|/|p+0#af5f00255&|>+0#00e0e07&| +0#0000000&@63 +@20><+0#00e0e07&|p+0#af5f00255&|>+0#00e0e07&|L+0#0000000&|a|s|t| |l|o|g|i|n|:| |{@1| |u|s|e|r|.|l|a|s|t|_|l|o|g|i|n| ||| |d|a|t|e|(|f|o|r|m|a|t|=|"|%|Y|-|%|m|- +|%|d|"|)| |}@1|<+0#00e0e07&|/|p+0#af5f00255&|>+0#00e0e07&| +0#0000000&@63 @16|<+0#00e0e07&|/|s+0#af5f00255&|e|c|t|i|o|n|>+0#00e0e07&| +0#0000000&@48 -@12|{+0#af5f00255&|%| |e|l|i|f| |v|i|s|i|t|o|r|_|c|o|u|n|t| |>| |0+0#e000002&| +0#af5f00255&|%|}| +0#0000000&@34 +@12|{|%| |e|l|i|f| |v|i|s|i|t|o|r|_|c|o|u|n|t| |>+0#ffffff16#ff404010| +0#0000000#ffffff0|0| |%|}| @34 @16|<+0#00e0e07&|s+0#af5f00255&|e|c|t|i|o|n| +0#00e0e07&|c+0#00e0003&|l|a|s@1|=+0#00e0e07&|"+0#e000002&|w|e|l|c|o|m|e|"|>+0#00e0e07&| +0#0000000&@33 @20|<+0#00e0e07&|h+0#af5f00255&|2|>+0#00e0e07&|W+0#e000e06&|e|l|c|o|m|e|,| |v|i|s|i|t|o|r|!|<+0#00e0e07&|/|h+0#af5f00255&|2|>+0#00e0e07&| +0#0000000&@28 -@20|<+0#00e0e07&|p+0#af5f00255&|>+0#00e0e07&|Y+0#0000000&|o|u| |a|r|e| |v|i|s|i|t|o|r| |n|u|m|b|e|r| |{+0#af5f00255&@1| |v+0#00e0e07&|i|s|i|t|o|r|_|c|o|u|n|t| +0#af5f00255&|}@1|<+0#00e0e07&|/|p+0#af5f00255&|>+0#00e0e07&| +0#0000000&@5 +@20|<+0#00e0e07&|p+0#af5f00255&|>+0#00e0e07&|Y+0#0000000&|o|u| |a|r|e| |v|i|s|i|t|o|r| |n|u|m|b|e|r| |{@1| |v|i|s|i|t|o|r|_|c|o|u|n|t| |}@1|<+0#00e0e07&|/|p+0#af5f00255&|>+0#00e0e07&| +0#0000000&@5 @16|<+0#00e0e07&|/|s+0#af5f00255&|e|c|t|i|o|n|>+0#00e0e07&| +0#0000000&@48 -@12|{+0#af5f00255&|%| |e|l|s|e| |%|}| +0#0000000&@52 +@12|{|%| |e|l|s|e| |%|}| @52 @16|<+0#00e0e07&|s+0#af5f00255&|e|c|t|i|o|n| +0#00e0e07&|c+0#00e0003&|l|a|s@1|=+0#00e0e07&|"+0#e000002&|w|e|l|c|o|m|e|"|>+0#00e0e07&| +0#0000000&@33 @20|<+0#00e0e07&|h+0#af5f00255&|2|>+0#00e0e07&|W+0#e000e06&|e|l|c|o|m|e| |t|o| |o|u|r| |s|i|t|e|!|<+0#00e0e07&|/|h+0#af5f00255&|2|>+0#00e0e07&| +0#0000000&@25 @16|<+0#00e0e07&|/|s+0#af5f00255&|e|c|t|i|o|n|>+0#00e0e07&| +0#0000000&@48 -@12|{+0#af5f00255&|%| |e|n|d|i|f| |%|}| +0#0000000&@51 +@12|{|%| |e|n|d|i|f| |%|}| @51 @75 @57|5|4|,|2|1| @8|3|2|%| diff --git a/runtime/syntax/testdir/dumps/tera_04.dump b/runtime/syntax/testdir/dumps/tera_04.dump index 18fc2f3871..3e8f503285 100644 --- a/runtime/syntax/testdir/dumps/tera_04.dump +++ b/runtime/syntax/testdir/dumps/tera_04.dump @@ -1,20 +1,20 @@ | +0&#ffffff0@74 -@12|{+0#0000e05&|#| |M|a|c|r|o| |d|e|f|i|n|i|t|i|o|n| |a|n|d| |u|s|a|g|e| |#|}| +0#0000000&@30 -@12|{+0#af5f00255&|%| |m|a|c|r|o| |r+0#00e0e07&|e|n|d|e|r|_|i|t|e|m|(+0#af5f00255&|i|t|e|m|,| |f|e|a|t|u|r|e|d|=|f+0#e000002&|a|l|s|e|)+0#af5f00255&| |%|}| +0#0000000&@17 +@12|{|#| |M|a|c|r|o| |d|e|f|i|n|i|t|i|o|n| |a|n|d| |u|s|a|g|e| |#|}| @30 +@12|{|%| |m|a|c|r|o| |r|e|n|d|e|r|_|i|t|e|m|(|i|t|e|m|,| |f|e|a|t|u|r|e|d|=|f|a|l|s|e|)| |%|}| @17 @16|<+0#00e0e07&|d+0#af5f00255&|i|v| +0#00e0e07&|c+0#00e0003&|l|a|s@1|=+0#00e0e07&|"+0#e000002&|i|t|e|m| |{@1| |f|e|a|t|u|r|e|d| |?| |'|f|e|a|t|u|r|e|d|'| |:| |'@1| |}@1|"|>+0#00e0e07&| +0#0000000&@7 @20|<+0#00e0e07&|h+0#af5f00255&|3|>+0#00e0e07&|{+0#e000e06&@1| |i|t|e|m|.|t|i|t|l|e| |}@1|<+0#00e0e07&|/|h+0#af5f00255&|3|>+0#00e0e07&| +0#0000000&@29 -@20><+0#00e0e07&|p+0#af5f00255&|>+0#00e0e07&|{+0#af5f00255&@1| |i+0#00e0e07&|t|e|m|.+0#af5f00255&|d+0#00e0e07&|e|s|c|r|i|p|t|i|o|n| +0#af5f00255&||+0#00e0e07&| |t|r|u|n|c|a|t|e|(+0#af5f00255&|l+0#00e0e07&|e|n|g|t|h|=+0#af5f00255&|1+0#e000002&|0@1|)+0#af5f00255&| |}@1|<+0#00e0e07&|/|p+0#af5f00255&|>+0#00e0e07&| +0#0000000&@2 -@20|{+0#af5f00255&|%| |i|f| |i|t|e|m|.|t|a|g|s| |%|}| +0#0000000&@36 +@20><+0#00e0e07&|p+0#af5f00255&|>+0#00e0e07&|{+0#0000000&@1| |i|t|e|m|.|d|e|s|c|r|i|p|t|i|o|n| ||| |t|r|u|n|c|a|t|e|(|l|e|n|g|t|h|=|1|0@1|)| |}@1|<+0#00e0e07&|/|p+0#af5f00255&|>+0#00e0e07&| +0#0000000&@2 +@20|{|%| |i|f| |i|t|e|m|.|t|a|g|s| |%|}| @36 @24|<+0#00e0e07&|d+0#af5f00255&|i|v| +0#00e0e07&|c+0#00e0003&|l|a|s@1|=+0#00e0e07&|"+0#e000002&|t|a|g|s|"|>+0#00e0e07&| +0#0000000&@32 -@28|{+0#af5f00255&|%| |f|o|r| |t|a|g| |i|n| |i|t|e|m|.|t|a|g|s| |%|}| +0#0000000&@20 -@32|<+0#00e0e07&|s+0#af5f00255&|p|a|n| +0#00e0e07&|c+0#00e0003&|l|a|s@1|=+0#00e0e07&|"+0#e000002&|t|a|g|"|>+0#00e0e07&|{+0#af5f00255&@1| |t+0#00e0e07&|a|g| +0#af5f00255&|}@1|<+0#00e0e07&|/|s+0#af5f00255&|p|a|n|>+0#00e0e07&| +0#0000000&@8 -@28|{+0#af5f00255&|%| |e|n|d|f|o|r| |%|}| +0#0000000&@34 +@28|{|%| |f|o|r| |t|a|g| |i|n| |i|t|e|m|.|t|a|g|s| |%|}| @20 +@32|<+0#00e0e07&|s+0#af5f00255&|p|a|n| +0#00e0e07&|c+0#00e0003&|l|a|s@1|=+0#00e0e07&|"+0#e000002&|t|a|g|"|>+0#00e0e07&|{+0#0000000&@1| |t|a|g| |}@1|<+0#00e0e07&|/|s+0#af5f00255&|p|a|n|>+0#00e0e07&| +0#0000000&@8 +@28|{|%| |e|n|d|f|o|r| |%|}| @34 @24|<+0#00e0e07&|/|d+0#af5f00255&|i|v|>+0#00e0e07&| +0#0000000&@44 -@20|{+0#af5f00255&|%| |e|n|d|i|f| |%|}| +0#0000000&@43 +@20|{|%| |e|n|d|i|f| |%|}| @43 @16|<+0#00e0e07&|/|d+0#af5f00255&|i|v|>+0#00e0e07&| +0#0000000&@52 -@12|{+0#af5f00255&|%| |e|n|d|m|a|c|r|o| |r|e|n|d|e|r|_|i|t|e|m| |%|}| +0#0000000&@36 +@12|{|%| |e|n|d|m|a|c|r|o| |r|e|n|d|e|r|_|i|t|e|m| |%|}| @36 @75 -@12|{+0#0000e05&|#| |I|t|e|m|s| |s|e|c|t|i|o|n| |w|i|t|h| |m|a|c|r|o| |u|s|a|g|e| |#|}| +0#0000000&@26 +@12|{|#| |I|t|e|m|s| |s|e|c|t|i|o|n| |w|i|t|h| |m|a|c|r|o| |u|s|a|g|e| |#|}| @26 @12|<+0#00e0e07&|s+0#af5f00255&|e|c|t|i|o|n| +0#00e0e07&|c+0#00e0003&|l|a|s@1|=+0#00e0e07&|"+0#e000002&|i|t|e|m|s|"|>+0#00e0e07&| +0#0000000&@39 @16|<+0#00e0e07&|h+0#af5f00255&|2|>+0#00e0e07&|I+0#e000e06&|t|e|m|s| |(|{@1| |i|t|e|m|s| ||| |l|e|n|g|t|h| |}@1|)|<+0#00e0e07&|/|h+0#af5f00255&|2|>+0#00e0e07&| +0#0000000&@21 @57|7|1|,|2|1| @8|4@1|%| diff --git a/runtime/syntax/testdir/dumps/tera_05.dump b/runtime/syntax/testdir/dumps/tera_05.dump index 8c8eb2112e..ccbf0682a0 100644 --- a/runtime/syntax/testdir/dumps/tera_05.dump +++ b/runtime/syntax/testdir/dumps/tera_05.dump @@ -1,16 +1,16 @@ | +0&#ffffff0@15|<+0#00e0e07&|h+0#af5f00255&|2|>+0#00e0e07&|I+0#e000e06&|t|e|m|s| |(|{@1| |i|t|e|m|s| ||| |l|e|n|g|t|h| |}@1|)|<+0#00e0e07&|/|h+0#af5f00255&|2|>+0#00e0e07&| +0#0000000&@21 @75 -@16|{+0#af5f00255&|%| |f|o|r| |i|t|e|m| |i|n| |i|t|e|m|s| |%|}| +0#0000000&@35 -@20|{+0#af5f00255&@1| |s+0#00e0e07&|e|l|f|:+0#af5f00255&@1|r+0#00e0e07&|e|n|d|e|r|_|i|t|e|m|(+0#af5f00255&|i+0#00e0e07&|t|e|m|=+0#af5f00255&|i+0#00e0e07&|t|e|m|,+0#af5f00255&| |f+0#00e0e07&|e|a|t|u|r|e|d|=+0#af5f00255&|i+0#00e0e07&|t|e|m|.+0#af5f00255&|i+0#00e0e07&|d| +0#af5f00255&|=@1| |f+0#00e0e07&|e|a -|t|u|r|e|d|_|i|d|)+0#af5f00255&| |}@1| +0#0000000&@62 +@16|{|%| |f|o|r| |i|t|e|m| |i|n| |i|t|e|m|s| |%|}| @35 +@20|{@1| |s|e|l|f|:@1|r|e|n|d|e|r|_|i|t|e|m|(|i|t|e|m|=|i|t|e|m|,| |f|e|a|t|u|r|e|d|=|i|t|e|m|.|i|d| |=@1| |f|e|a +|t|u|r|e|d|_|i|d|)| |}@1| @62 > @74 -@20|{+0#af5f00255&|%| |i|f| |n|o|t| |l|o@1|p|.|l|a|s|t| |%|}| +0#0000000&@32 +@20|{|%| |i|f| |n|o|t| |l|o@1|p|.|l|a|s|t| |%|}| @32 @24|<+0#00e0e07&|h+0#af5f00255&|r|>+0#00e0e07&| +0#0000000&@46 -@20|{+0#af5f00255&|%| |e|n|d|i|f| |%|}| +0#0000000&@43 -@16|{+0#af5f00255&|%| |e|n|d|f|o|r| |%|}| +0#0000000&@46 +@20|{|%| |e|n|d|i|f| |%|}| @43 +@16|{|%| |e|n|d|f|o|r| |%|}| @46 @12|<+0#00e0e07&|/|s+0#af5f00255&|e|c|t|i|o|n|>+0#00e0e07&| +0#0000000&@52 @75 -@12|{+0#0000e05&|#| |R|a|w| |c|o|n|t|e|n|t| |t|h|a|t| |s|h|o|u|l|d|n|'|t| |b|e| |p|r|o|c|e|s@1|e|d| |#|}| +0#0000000&@17 +@12|{|#| |R|a|w| |c|o|n|t|e|n|t| |t|h|a|t| |s|h|o|u|l|d|n|'|t| |b|e| |p|r|o|c|e|s@1|e|d| |#|}| @17 @12|{|%| |r|a|w| |%|}| @53 @16|<+0#00e0e07&|d+0#af5f00255&|i|v| +0#00e0e07&|c+0#00e0003&|l|a|s@1|=+0#00e0e07&|"+0#e000002&|e|x|a|m|p|l|e|"|>+0#00e0e07&| +0#0000000&@37 @20|T|h|e| |s|y|n|t|a|x| |{@1| |v|a|r|i|a|b|l|e| |}@1| |w|i|l@1| |n|o|t| |b|e| |p|r|o|c|e|s@1|e|d| |i|n| |r|a|w| diff --git a/runtime/syntax/testdir/dumps/tera_06.dump b/runtime/syntax/testdir/dumps/tera_06.dump index 5bcafc951e..e8e7bb41dd 100644 --- a/runtime/syntax/testdir/dumps/tera_06.dump +++ b/runtime/syntax/testdir/dumps/tera_06.dump @@ -1,20 +1,20 @@ | +0&#ffffff0@15|<+0#00e0e07&|/|d+0#af5f00255&|i|v|>+0#00e0e07&| +0#0000000&@52 @12|{|%| |e|n|d|r|a|w| |%|}| @50 @75 -@12|{+0#0000e05&|#| |I|n|c|l|u|d|e|s| |#|}| +0#0000000&@48 -@12|{+0#af5f00255&|%| |i|n|c|l|u|d|e| |"+0#e000002&|p|a|r|t|i|a|l|s|/|f|o@1|t|e|r|.|t|e|r|a|"| +0#af5f00255&|%|}| +0#0000000&@26 +@12|{|#| |I|n|c|l|u|d|e|s| |#|}| @48 +@12|{|%| |i|n|c|l|u|d|e| |"|p|a|r|t|i|a|l|s|/|f|o@1|t|e|r|.|t|e|r|a|"| |%|}| @26 > @74 -@12|{+0#0000e05&|#| |I|n|h|e|r|i|t|a|n|c|e| |e|x|a|m|p|l|e| |#|}| +0#0000000&@37 -@12|{+0#af5f00255&|%| |b|l|o|c|k| |c|o|n|t|e|n|t| |%|}| +0#0000000&@43 +@12|{|#| |I|n|h|e|r|i|t|a|n|c|e| |e|x|a|m|p|l|e| |#|}| @37 +@12|{|%| |b|l|o|c|k| |c|o|n|t|e|n|t| |%|}| @43 @16|<+0#00e0e07&|p+0#af5f00255&|>+0#00e0e07&|T+0#0000000&|h|i|s| |i|s| |t|h|e| |d|e|f|a|u|l|t| |c|o|n|t|e|n|t|.|<+0#00e0e07&|/|p+0#af5f00255&|>+0#00e0e07&| +0#0000000&@23 -@12|{+0#af5f00255&|%| |e|n|d|b|l|o|c|k| |c|o|n|t|e|n|t| |%|}| +0#0000000&@40 +@12|{|%| |e|n|d|b|l|o|c|k| |c|o|n|t|e|n|t| |%|}| @40 @75 -@12|{+0#0000e05&|#| |S|e|t| |v|a|r|i|a|b|l|e|s| |#|}| +0#0000000&@43 -@12|{+0#af5f00255&|%| |s|e|t| |t|e|x|t|_|c|o|l|o|r| |=| |d|a|r|k|_|m|o|d|e| |?| |"+0#e000002&|#|f@2|"| +0#af5f00255&|:| |"+0#e000002&|#|3@2|"| +0#af5f00255&|%|}| +0#0000000&@12 -@12|{+0#af5f00255&|%| |s|e|t| |i|t|e|m|s|_|c|o|u|n|t| |=| |i|t|e|m|s| ||+0#00e0e07&| |l|e|n|g|t|h| +0#af5f00255&|%|}| +0#0000000&@24 +@12|{|#| |S|e|t| |v|a|r|i|a|b|l|e|s| |#|}| @43 +@12|{|%| |s|e|t| |t|e|x|t|_|c|o|l|o|r| |=| |d|a|r|k|_|m|o|d|e| |?| |"|#|f@2|"| |:| |"|#|3@2|"| |%|}| @12 +@12|{|%| |s|e|t| |i|t|e|m|s|_|c|o|u|n|t| |=| |i|t|e|m|s| ||| |l|e|n|g|t|h| |%|}| @24 @75 @12|<+0#00e0e07&|d+0#af5f00255&|i|v| +0#00e0e07&|s+0#00e0003&|t|y|l|e|=+0#00e0e07&|"+0#e000002&|c|o|l|o|r|:| |{@1| |t|e|x|t|_|c|o|l|o|r| |}@1|"|>+0#00e0e07&| +0#0000000&@25 -@16|W|e| |h|a|v|e| |{+0#af5f00255&@1| |i+0#00e0e07&|t|e|m|s|_|c|o|u|n|t| +0#af5f00255&|}@1| +0#0000000&|i|t|e|m|s|.| @26 +@16|W|e| |h|a|v|e| |{@1| |i|t|e|m|s|_|c|o|u|n|t| |}@1| |i|t|e|m|s|.| @26 @12|<+0#00e0e07&|/|d+0#af5f00255&|i|v|>+0#00e0e07&| +0#0000000&@56 @75 @57|1|0|5|,|0|-|1| @6|6|7|%| diff --git a/runtime/syntax/testdir/dumps/tera_07.dump b/runtime/syntax/testdir/dumps/tera_07.dump index b20c1614d1..c71c67937c 100644 --- a/runtime/syntax/testdir/dumps/tera_07.dump +++ b/runtime/syntax/testdir/dumps/tera_07.dump @@ -1,20 +1,20 @@ | +0&#ffffff0@74 -@12|{+0#0000e05&|#| |F|i|l|t|e|r|s| |w|i|t|h| |c|o|m|p|l|e|x| |e|x|p|r|e|s@1|i|o|n|s| |#|}| +0#0000000&@24 -@12|<+0#00e0e07&|p+0#af5f00255&|>+0#00e0e07&|{+0#af5f00255&@1| |"+0#e000002&|H|e|l@1|o|,| |"| +0#af5f00255&|~| |u+0#00e0e07&|s|e|r|.+0#af5f00255&|n+0#00e0e07&|a|m|e| +0#af5f00255&||+0#00e0e07&| |d|e|f|a|u|l|t|(+0#af5f00255&|v+0#00e0e07&|a|l|u|e|=+0#af5f00255&|"+0#e000002&|G|u|e|s|t|"|)+0#af5f00255&| ||+0#00e0e07&| |u|p@1|e|r| +0#af5f00255&|}@1 +@12|{|#| |F|i|l|t|e|r|s| |w|i|t|h| |c|o|m|p|l|e|x| |e|x|p|r|e|s@1|i|o|n|s| |#|}| @24 +@12|<+0#00e0e07&|p+0#af5f00255&|>+0#00e0e07&|{+0#0000000&@1| |"|H|e|l@1|o|,| |"| |~| |u|s|e|r|.|n|a|m|e| ||| |d|e|f|a|u|l|t|(|v|a|l|u|e|=|"|G|u|e|s|t|"|)| ||| |u|p@1|e|r| |}@1 |<+0#00e0e07&|/|p+0#af5f00255&|>+0#00e0e07&| +0#0000000&@70 -@12|<+0#00e0e07&|p+0#af5f00255&|>+0#00e0e07&|{+0#af5f00255&@1| |i+0#00e0e07&|t|e|m|s| +0#af5f00255&||+0#00e0e07&| |f|i|l|t|e|r|(+0#af5f00255&|a+0#00e0e07&|t@1|r|i|b|u|t|e|=+0#af5f00255&|"+0#e000002&|f|e|a|t|u|r|e|d|"|,+0#af5f00255&| |v+0#00e0e07&|a|l|u|e|=+0#af5f00255&|t+0#e000002&|r|u|e|)+0#af5f00255&| ||+0#00e0e07&| |l|e|n|g|t|h -| +0#af5f00255&|}@1| +0#0000000&|f|e|a|t|u|r|e|d| |i|t|e|m|s|<+0#00e0e07&|/|p+0#af5f00255&|>+0#00e0e07&| +0#0000000&@52 +@12|<+0#00e0e07&|p+0#af5f00255&|>+0#00e0e07&|{+0#0000000&@1| |i|t|e|m|s| ||| |f|i|l|t|e|r|(|a|t@1|r|i|b|u|t|e|=|"|f|e|a|t|u|r|e|d|"|,| |v|a|l|u|e|=|t|r|u|e|)| ||| |l|e|n|g|t|h +| |}@1| |f|e|a|t|u|r|e|d| |i|t|e|m|s|<+0#00e0e07&|/|p+0#af5f00255&|>+0#00e0e07&| +0#0000000&@52 > @74 -@12|{+0#0000e05&|#| |W|i|t|h| |s|t|a|t|e|m|e|n|t| |#|}| +0#0000000&@42 -@12|{+0#af5f00255&|%| |w|i|t|h| |%|}| +0#0000000&@52 -@16|{+0#af5f00255&|%| |s|e|t| |l|o|c|a|l|_|v|a|r| |=| |"+0#e000002&|O|n|l|y| |v|i|s|i|b|l|e| |i|n| |t|h|i|s| |s|c|o|p|e|"| +0#af5f00255&|%|}| +0#0000000&@8 -@16|<+0#00e0e07&|p+0#af5f00255&|>+0#00e0e07&|{+0#af5f00255&@1| |l+0#00e0e07&|o|c|a|l|_|v|a|r| +0#af5f00255&|}@1|<+0#00e0e07&|/|p+0#af5f00255&|>+0#00e0e07&| +0#0000000&@36 -@12|{+0#af5f00255&|%| |e|n|d|w|i|t|h| |%|}| +0#0000000&@49 +@12|{|#| |W|i|t|h| |s|t|a|t|e|m|e|n|t| |#|}| @42 +@12|{|%| |w|i|t|h| |%|}| @52 +@16|{|%| |s|e|t| |l|o|c|a|l|_|v|a|r| |=| |"|O|n|l|y| |v|i|s|i|b|l|e| |i|n| |t|h|i|s| |s|c|o|p|e|"| |%|}| @8 +@16|<+0#00e0e07&|p+0#af5f00255&|>+0#00e0e07&|{+0#0000000&@1| |l|o|c|a|l|_|v|a|r| |}@1|<+0#00e0e07&|/|p+0#af5f00255&|>+0#00e0e07&| +0#0000000&@36 +@12|{|%| |e|n|d|w|i|t|h| |%|}| @49 @75 -@12|{+0#0000e05&|#| |M|a|t|h|e|m|a|t|i|c|a|l| |o|p|e|r|a|t|i|o|n|s| |#|}| +0#0000000&@33 +@12|{|#| |M|a|t|h|e|m|a|t|i|c|a|l| |o|p|e|r|a|t|i|o|n|s| |#|}| @33 @12|<+0#00e0e07&|d+0#af5f00255&|i|v| +0#00e0e07&|c+0#00e0003&|l|a|s@1|=+0#00e0e07&|"+0#e000002&|m|a|t|h|"|>+0#00e0e07&| +0#0000000&@44 -@16|<+0#00e0e07&|p+0#af5f00255&|>+0#00e0e07&|P+0#0000000&|r|i|c|e|:| |$|{+0#af5f00255&@1| |p+0#00e0e07&|r|i|c|e| +0#af5f00255&|}@1|<+0#00e0e07&|/|p+0#af5f00255&|>+0#00e0e07&| +0#0000000&@32 -@16|<+0#00e0e07&|p+0#af5f00255&|>+0#00e0e07&|T+0#0000000&|a|x| |(|{+0#af5f00255&@1| |t+0#00e0e07&|a|x|_|r|a|t|e| +0#af5f00255&|*| |1+0#e000002&|0@1| +0#af5f00255&|}@1|%+0#0000000&|)|:| |$|{+0#af5f00255&@1| |p+0#00e0e07&|r|i|c|e| +0#af5f00255&|*| |t+0#00e0e07&|a|x|_|r|a|t|e| +0#af5f00255&|}@1|<+0#00e0e07&|/|p+0#af5f00255&|>+0#00e0e07& -| +0#0000000&@15|<+0#00e0e07&|p+0#af5f00255&|>+0#00e0e07&|T+0#0000000&|o|t|a|l|:| |$|{+0#af5f00255&@1| |p+0#00e0e07&|r|i|c|e| +0#af5f00255&|*| |(|1+0#e000002&| +0#af5f00255&|+| |t+0#00e0e07&|a|x|_|r|a|t|e|)+0#af5f00255&| |}@1|<+0#00e0e07&|/|p+0#af5f00255&|>+0#00e0e07&| +0#0000000&@15 +@16|<+0#00e0e07&|p+0#af5f00255&|>+0#00e0e07&|P+0#0000000&|r|i|c|e|:| |$|{@1| |p|r|i|c|e| |}@1|<+0#00e0e07&|/|p+0#af5f00255&|>+0#00e0e07&| +0#0000000&@32 +@16|<+0#00e0e07&|p+0#af5f00255&|>+0#00e0e07&|T+0#0000000&|a|x| |(|{@1| |t|a|x|_|r|a|t|e| |*| |1|0@1| |}@1|%|)|:| |$|{@1| |p|r|i|c|e| |*| |t|a|x|_|r|a|t|e| |}@1|<+0#00e0e07&|/|p+0#af5f00255&|>+0#00e0e07& +| +0#0000000&@15|<+0#00e0e07&|p+0#af5f00255&|>+0#00e0e07&|T+0#0000000&|o|t|a|l|:| |$|{@1| |p|r|i|c|e| |*| |(|1| |+| |t|a|x|_|r|a|t|e|)| |}@1|<+0#00e0e07&|/|p+0#af5f00255&|>+0#00e0e07&| +0#0000000&@15 @12|<+0#00e0e07&|/|d+0#af5f00255&|i|v|>+0#00e0e07&| +0#0000000&@56 @57|1|2@1|,|0|-|1| @6|7|9|%| diff --git a/runtime/syntax/testdir/dumps/tera_08.dump b/runtime/syntax/testdir/dumps/tera_08.dump index 0ae5c1bdf2..dc36821549 100644 --- a/runtime/syntax/testdir/dumps/tera_08.dump +++ b/runtime/syntax/testdir/dumps/tera_08.dump @@ -1,20 +1,20 @@ | +0&#ffffff0@11|<+0#00e0e07&|/|d+0#af5f00255&|i|v|>+0#00e0e07&| +0#0000000&@56 @75 -@12|{+0#0000e05&|#| |B|o@1|l|e|a|n| |o|p|e|r|a|t|i|o|n|s| |#|}| +0#0000000&@38 -@12|{+0#af5f00255&|%| |i|f| |u|s|e|r| |a|n|d| |u|s|e|r|.|i|s|_|a|d|m|i|n| |o|r| |s|u|p|e|r|_|u|s|e|r| |%|}| +0#0000000&@17 +@12|{|#| |B|o@1|l|e|a|n| |o|p|e|r|a|t|i|o|n|s| |#|}| @38 +@12|{|%| |i|f| |u|s|e|r| |a|n|d| |u|s|e|r|.|i|s|_|a|d|m|i|n| |o|r| |s|u|p|e|r|_|u|s|e|r| |%|}| @17 @16|<+0#00e0e07&|d+0#af5f00255&|i|v| +0#00e0e07&|c+0#00e0003&|l|a|s@1|=+0#00e0e07&|"+0#e000002&|a|d|m|i|n|-|p|a|n|e|l|"|>+0#00e0e07&|A+0#0000000&|d|m|i|n| |p|a|n|e|l|<+0#00e0e07&|/|d+0#af5f00255&|i|v|>+0#00e0e07&| +0#0000000&@16 -@12>{+0#af5f00255&|%| |e|n|d|i|f| |%|}| +0#0000000&@51 +@12>{|%| |e|n|d|i|f| |%|}| @51 @8|<+0#00e0e07&|/|m+0#af5f00255&|a|i|n|>+0#00e0e07&| +0#0000000&@59 @75 -@8|{+0#0000e05&|#| |F|o@1|t|e|r| |s|e|c|t|i|o|n| |w|i|t|h| |f|i|l|t|e|r|s| |a|n|d| |i|n|c|l|u|d|e|s| |#|}| +0#0000000&@20 +@8|{|#| |F|o@1|t|e|r| |s|e|c|t|i|o|n| |w|i|t|h| |f|i|l|t|e|r|s| |a|n|d| |i|n|c|l|u|d|e|s| |#|}| @20 @8|<+0#00e0e07&|f+0#af5f00255&|o@1|t|e|r|>+0#00e0e07&| +0#0000000&@58 -@12|<+0#00e0e07&|p+0#af5f00255&|>+0#00e0e07&|&+0#e000e06&|c|o|p|y|;| +0#0000000&|{+0#af5f00255&@1| |c+0#00e0e07&|u|r@1|e|n|t|_|y|e|a|r| +0#af5f00255&|}@1| +0#0000000&|{+0#af5f00255&@1| |c+0#00e0e07&|o|m|p|a|n|y|_|n|a|m|e| +0#af5f00255&||+0#00e0e07&| |d|e|f|a|u|l|t|(+0#af5f00255&|v+0#00e0e07&|a|l|u|e|=+0#af5f00255&|"+0#e000002&|O -|u|r| |C|o|m|p|a|n|y|"|)+0#af5f00255&| |}@1|<+0#00e0e07&|/|p+0#af5f00255&|>+0#00e0e07&| +0#0000000&@55 +@12|<+0#00e0e07&|p+0#af5f00255&|>+0#00e0e07&|&+0#e000e06&|c|o|p|y|;| +0#0000000&|{@1| |c|u|r@1|e|n|t|_|y|e|a|r| |}@1| |{@1| |c|o|m|p|a|n|y|_|n|a|m|e| ||| |d|e|f|a|u|l|t|(|v|a|l|u|e|=|"|O +|u|r| |C|o|m|p|a|n|y|"|)| |}@1|<+0#00e0e07&|/|p+0#af5f00255&|>+0#00e0e07&| +0#0000000&@55 @75 -@12|{+0#af5f00255&|%| |i|f| |d|e|b|u|g| |%|}| +0#0000000&@48 +@12|{|%| |i|f| |d|e|b|u|g| |%|}| @48 @16|<+0#00e0e07&|d+0#af5f00255&|i|v| +0#00e0e07&|c+0#00e0003&|l|a|s@1|=+0#00e0e07&|"+0#e000002&|d|e|b|u|g|-|i|n|f|o|"|>+0#00e0e07&| +0#0000000&@34 -@20|<+0#00e0e07&|p+0#af5f00255&|>+0#00e0e07&|R+0#0000000&|e|n|d|e|r| |t|i|m|e|:| |{+0#af5f00255&@1| |r+0#00e0e07&|e|n|d|e|r|_|t|i|m|e| +0#af5f00255&|}@1|m+0#0000000&|s|<+0#00e0e07&|/|p+0#af5f00255&|>+0#00e0e07&| +0#0000000&@15 -@20|<+0#00e0e07&|p+0#af5f00255&|>+0#00e0e07&|T+0#0000000&|e|m|p|l|a|t|e| |v|e|r|s|i|o|n|:| |{+0#af5f00255&@1| |v+0#00e0e07&|e|r|s|i|o|n| +0#af5f00255&|}@1|<+0#00e0e07&|/|p+0#af5f00255&|>+0#00e0e07&| +0#0000000&@16 +@20|<+0#00e0e07&|p+0#af5f00255&|>+0#00e0e07&|R+0#0000000&|e|n|d|e|r| |t|i|m|e|:| |{@1| |r|e|n|d|e|r|_|t|i|m|e| |}@1|m|s|<+0#00e0e07&|/|p+0#af5f00255&|>+0#00e0e07&| +0#0000000&@15 +@20|<+0#00e0e07&|p+0#af5f00255&|>+0#00e0e07&|T+0#0000000&|e|m|p|l|a|t|e| |v|e|r|s|i|o|n|:| |{@1| |v|e|r|s|i|o|n| |}@1|<+0#00e0e07&|/|p+0#af5f00255&|>+0#00e0e07&| +0#0000000&@16 @16|<+0#00e0e07&|/|d+0#af5f00255&|i|v|>+0#00e0e07&| +0#0000000&@52 -@12|{+0#af5f00255&|%| |e|n|d|i|f| |%|}| +0#0000000&@51 +@12|{|%| |e|n|d|i|f| |%|}| @51 @57|1|3|9|,|1|3| @7|9|0|%| diff --git a/runtime/syntax/testdir/dumps/tera_09.dump b/runtime/syntax/testdir/dumps/tera_09.dump index d3d11ee93a..d1a53e4ede 100644 --- a/runtime/syntax/testdir/dumps/tera_09.dump +++ b/runtime/syntax/testdir/dumps/tera_09.dump @@ -1,4 +1,4 @@ -| +0&#ffffff0@11|{+0#af5f00255&|%| |e|n|d|i|f| |%|}| +0#0000000&@51 +| +0&#ffffff0@11|{|%| |e|n|d|i|f| |%|}| @51 @8|<+0#00e0e07&|/|f+0#af5f00255&|o@1|t|e|r|>+0#00e0e07&| +0#0000000&@57 @4|<+0#00e0e07&|/|d+0#af5f00255&|i|v|>+0#00e0e07&| +0#0000000&@64 @75