refine blocks detection
This commit is contained in:
@@ -233,6 +233,9 @@ export class EftlParser {
|
||||
case TokenType.VALUE_OF:
|
||||
case TokenType.SIZE_OF:
|
||||
case TokenType.HEADER:
|
||||
if (!token.value.endsWith('/]')) {
|
||||
this.pushBlock(token);
|
||||
}
|
||||
this.advance();
|
||||
break;
|
||||
|
||||
@@ -249,6 +252,9 @@ export class EftlParser {
|
||||
}
|
||||
|
||||
private pushBlock(token: Token): void {
|
||||
if (token.value.endsWith('/]')) {
|
||||
return; // It's self-closing, don't push to stack
|
||||
}
|
||||
this.blockStack.push({ type: token.type, token });
|
||||
}
|
||||
|
||||
@@ -295,6 +301,9 @@ export class EftlParser {
|
||||
[TokenType.TRIM_OPEN]: '[/TRIM]',
|
||||
[TokenType.CONTAINS_OPEN]: '[/CONTAINS]',
|
||||
[TokenType.FORMAT_OPEN]: '[/FORMAT]',
|
||||
[TokenType.VALUE_OF]: '[/VALUE_OF]',
|
||||
[TokenType.SIZE_OF]: '[/SIZE_OF]',
|
||||
[TokenType.HEADER]: '[/HEADER]',
|
||||
[TokenType.EXPR_OPEN]: '%]',
|
||||
[TokenType.EXPR_OUTPUT_OPEN]: '%]',
|
||||
[TokenType.COMMENT_OPEN]: '--]'
|
||||
|
||||
Reference in New Issue
Block a user