diff --git a/grammar.js b/grammar.js index 7dfac1c..f8465dc 100644 --- a/grammar.js +++ b/grammar.js @@ -120,7 +120,7 @@ org_grammar = { caseInsensitive(':properties:'), repeat1($._nl), repeat(seq($.property, repeat1($._nl))), - caseInsensitive(':end:'), + prec.dynamic(1, caseInsensitive(':end:')), $._eol, ), diff --git a/src/grammar.json b/src/grammar.json index 1de9644..6569687 100644 --- a/src/grammar.json +++ b/src/grammar.json @@ -410,13 +410,17 @@ } }, { - "type": "ALIAS", + "type": "PREC_DYNAMIC", + "value": 1, "content": { - "type": "PATTERN", - "value": ":[Ee][Nn][Dd]:" - }, - "named": false, - "value": ":end:" + "type": "ALIAS", + "content": { + "type": "PATTERN", + "value": ":[Ee][Nn][Dd]:" + }, + "named": false, + "value": ":end:" + } }, { "type": "SYMBOL", diff --git a/src/parser.c b/src/parser.c index 2a4f999..70b185b 100644 --- a/src/parser.c +++ b/src/parser.c @@ -49463,8 +49463,8 @@ static const TSParseActionEntry ts_parse_actions[] = { [607] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_dynamic_block, 5, .production_id = 23), [609] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_dynamic_block, 7, .production_id = 34), [611] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_dynamic_block, 7, .production_id = 34), - [613] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_property_drawer, 4), - [615] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_property_drawer, 4), + [613] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_property_drawer, 4, .dynamic_precedence = 1), + [615] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_property_drawer, 4, .dynamic_precedence = 1), [617] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block, 7, .production_id = 30), [619] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 7, .production_id = 30), [621] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_drawer, 7, .dynamic_precedence = 1, .production_id = 33), @@ -49485,8 +49485,8 @@ static const TSParseActionEntry ts_parse_actions[] = { [651] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_dynamic_block, 6, .production_id = 28), [653] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_dynamic_block, 6, .production_id = 29), [655] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_dynamic_block, 6, .production_id = 29), - [657] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_property_drawer, 5), - [659] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_property_drawer, 5), + [657] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_property_drawer, 5, .dynamic_precedence = 1), + [659] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_property_drawer, 5, .dynamic_precedence = 1), [661] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__directive_list, 2, .production_id = 5), SHIFT_REPEAT(599), [664] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_directive, 4, .production_id = 13), [666] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_directive, 4, .production_id = 13),