Add a shim to move a comment extra into a body node

This commit is contained in:
Andrew Hlynskyi
2023-04-08 06:55:22 +03:00
committed by Michael Hoffmann
parent b8fcca985c
commit 9903dc0b57
2 changed files with 14 additions and 4 deletions

View File

@@ -25,6 +25,7 @@ module.exports = function make_grammar(dialect) {
$.template_directive_start,
$.template_directive_end,
$.heredoc_identifier,
$._shim,
],
extras: $ => [
@@ -36,10 +37,13 @@ module.exports = function make_grammar(dialect) {
// also allow objects to handle .tfvars in json format
config_file: $ => optional(choice($.body, $.object)),
body: $ => repeat1(
choice(
$.attribute,
$.block,
body: $ => seq(
optional($._shim),
repeat1(
choice(
$.attribute,
$.block,
),
),
),

View File

@@ -20,6 +20,7 @@ enum TokenType {
TEMPLATE_DIRECTIVE_START,
TEMPLATE_DIRECTIVE_END,
HEREDOC_IDENTIFIER,
SHIM,
};
enum ContextType {
@@ -96,6 +97,11 @@ public:
if (lexer->lookahead == '\0') {
return false;
}
if (valid_symbols[SHIM]) {
if (lexer->lookahead != '}') {
return accept_inplace(lexer, SHIM);
}
}
// manage quoted context
if (valid_symbols[QUOTED_TEMPLATE_START] && !in_quoted_context() &&
lexer->lookahead == '"') {