From a62a610db2757ed93776aec43160200d9f9919f7 Mon Sep 17 00:00:00 2001 From: Samuel Sieg Date: Fri, 5 Jul 2024 08:24:23 +0200 Subject: [PATCH 1/2] Fix nesting with multiple attributes --- grammar.js | 2 +- src/grammar.json | 2 +- src/parser.c | 736 ++++++++++++++++++++-------------------- test/corpus/nesting.txt | 20 ++ 4 files changed, 390 insertions(+), 370 deletions(-) diff --git a/grammar.js b/grammar.js index cbc0ff0..2da946e 100644 --- a/grammar.js +++ b/grammar.js @@ -190,7 +190,7 @@ module.exports = grammar({ optional($._text_nested) ), - _element_rest_text: $ => token(prec(-3, /[^ \t][^\n]*/)), + _element_rest_text: $ => token(prec(-3, /[^ =\t][^\n]*/)), // From css grammar https://github.com/tree-sitter/tree-sitter-css/blob/master/grammar.js // Originally: /\A(#{keys}+)((?:\p{Word}|-|\/\d+|:(\w|-)+)*)/ diff --git a/src/grammar.json b/src/grammar.json index 72cc4af..48b9c43 100644 --- a/src/grammar.json +++ b/src/grammar.json @@ -1080,7 +1080,7 @@ "value": -3, "content": { "type": "PATTERN", - "value": "[^ \\t][^\\n]*" + "value": "[^ =\\t][^\\n]*" } } }, diff --git a/src/parser.c b/src/parser.c index 2bd362f..d966fed 100644 --- a/src/parser.c +++ b/src/parser.c @@ -1741,7 +1741,8 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { case 54: if (lookahead == '\t' || lookahead == ' ') ADVANCE(260); - if (lookahead != 0) ADVANCE(209); + if (lookahead != 0 && + lookahead != '=') ADVANCE(209); END_STATE(); case 55: if (lookahead == '-' || @@ -3155,7 +3156,7 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [113] = {.lex_state = 54, .external_lex_state = 4}, [114] = {.lex_state = 2, .external_lex_state = 5}, [115] = {.lex_state = 54, .external_lex_state = 4}, - [116] = {.lex_state = 54, .external_lex_state = 4}, + [116] = {.lex_state = 14, .external_lex_state = 4}, [117] = {.lex_state = 2, .external_lex_state = 5}, [118] = {.lex_state = 2, .external_lex_state = 5}, [119] = {.lex_state = 1}, @@ -3171,16 +3172,16 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [129] = {.lex_state = 2, .external_lex_state = 5}, [130] = {.lex_state = 6}, [131] = {.lex_state = 2, .external_lex_state = 5}, - [132] = {.lex_state = 54, .external_lex_state = 4}, + [132] = {.lex_state = 14, .external_lex_state = 4}, [133] = {.lex_state = 16, .external_lex_state = 4}, [134] = {.lex_state = 0, .external_lex_state = 4}, - [135] = {.lex_state = 54, .external_lex_state = 4}, + [135] = {.lex_state = 14, .external_lex_state = 4}, [136] = {.lex_state = 0, .external_lex_state = 4}, [137] = {.lex_state = 0, .external_lex_state = 4}, [138] = {.lex_state = 7}, - [139] = {.lex_state = 54, .external_lex_state = 4}, - [140] = {.lex_state = 54, .external_lex_state = 4}, - [141] = {.lex_state = 54, .external_lex_state = 4}, + [139] = {.lex_state = 14, .external_lex_state = 4}, + [140] = {.lex_state = 14, .external_lex_state = 4}, + [141] = {.lex_state = 14, .external_lex_state = 4}, [142] = {.lex_state = 0, .external_lex_state = 4}, [143] = {.lex_state = 0, .external_lex_state = 4}, [144] = {.lex_state = 0, .external_lex_state = 4}, @@ -3192,7 +3193,7 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [150] = {.lex_state = 0, .external_lex_state = 4}, [151] = {.lex_state = 0, .external_lex_state = 4}, [152] = {.lex_state = 0, .external_lex_state = 4}, - [153] = {.lex_state = 54, .external_lex_state = 4}, + [153] = {.lex_state = 14, .external_lex_state = 4}, [154] = {.lex_state = 1}, [155] = {.lex_state = 1}, [156] = {.lex_state = 1}, @@ -6197,11 +6198,11 @@ static const uint16_t ts_small_parse_table[] = { sym_output_modifier_trailing_whitespace, sym_output_modifier_legacy_trailing_whitespace, [3788] = 5, + ACTIONS(439), 1, + sym__element_rest_text, ACTIONS(443), 1, sym__block_start, ACTIONS(506), 1, - sym__element_rest_text, - ACTIONS(508), 1, sym__space, STATE(241), 1, sym__text_nested, @@ -6209,9 +6210,9 @@ static const uint16_t ts_small_parse_table[] = { sym__block_end, sym__line_separator, [3805] = 4, - ACTIONS(510), 1, + ACTIONS(508), 1, sym_attr_assignment, - ACTIONS(512), 1, + ACTIONS(510), 1, sym_attr_assignment_noescape, ACTIONS(490), 2, anon_sym_STAR, @@ -6222,13 +6223,13 @@ static const uint16_t ts_small_parse_table[] = { [3820] = 5, ACTIONS(443), 1, sym__block_start, - ACTIONS(514), 1, + ACTIONS(512), 1, sym__element_rest_text, - ACTIONS(516), 1, + ACTIONS(514), 1, sym__space, STATE(208), 1, sym__text_nested, - ACTIONS(518), 2, + ACTIONS(516), 2, sym__block_end, sym__line_separator, [3837] = 5, @@ -6256,7 +6257,7 @@ static const uint16_t ts_small_parse_table[] = { sym__attr_delimited_splat_s, sym_attr_boolean, [3871] = 3, - ACTIONS(520), 1, + ACTIONS(518), 1, sym_ruby, STATE(118), 2, aux_sym__output_modifiers, @@ -6300,13 +6301,13 @@ static const uint16_t ts_small_parse_table[] = { sym__block_end, sym__line_separator, [3931] = 4, - ACTIONS(522), 1, + ACTIONS(520), 1, anon_sym_RBRACK, - ACTIONS(524), 1, + ACTIONS(522), 1, sym__html_comment_condition, STATE(276), 1, sym_html_comment_condition, - ACTIONS(526), 3, + ACTIONS(524), 3, sym__block_start, sym__block_end, sym__line_separator, @@ -6317,15 +6318,15 @@ static const uint16_t ts_small_parse_table[] = { sym__block, STATE(255), 1, sym_nested, - ACTIONS(528), 2, + ACTIONS(526), 2, sym__block_end, sym__line_separator, [3960] = 3, - ACTIONS(530), 1, + ACTIONS(528), 1, sym__element_rest_text, STATE(135), 1, aux_sym_element_text_repeat1, - ACTIONS(533), 3, + ACTIONS(531), 3, sym__block_start, sym__block_end, sym__line_separator, @@ -6336,7 +6337,7 @@ static const uint16_t ts_small_parse_table[] = { sym_nested, STATE(250), 1, sym__block, - ACTIONS(535), 2, + ACTIONS(533), 2, sym__block_end, sym__line_separator, [3986] = 4, @@ -6346,11 +6347,11 @@ static const uint16_t ts_small_parse_table[] = { sym_nested, STATE(250), 1, sym__block, - ACTIONS(537), 2, + ACTIONS(535), 2, sym__block_end, sym__line_separator, [4000] = 1, - ACTIONS(539), 5, + ACTIONS(537), 5, anon_sym_LPAREN, anon_sym_LBRACK, anon_sym_LBRACE, @@ -6359,39 +6360,39 @@ static const uint16_t ts_small_parse_table[] = { [4008] = 4, ACTIONS(443), 1, sym__block_start, - ACTIONS(541), 1, + ACTIONS(539), 1, sym__element_rest_text, STATE(215), 1, sym__text_nested, - ACTIONS(543), 2, + ACTIONS(541), 2, sym__block_end, sym__line_separator, [4022] = 4, ACTIONS(443), 1, sym__block_start, - ACTIONS(514), 1, + ACTIONS(512), 1, sym__element_rest_text, STATE(208), 1, sym__text_nested, - ACTIONS(518), 2, + ACTIONS(516), 2, sym__block_end, sym__line_separator, [4036] = 4, + ACTIONS(439), 1, + sym__element_rest_text, ACTIONS(443), 1, sym__block_start, - ACTIONS(506), 1, - sym__element_rest_text, STATE(241), 1, sym__text_nested, ACTIONS(445), 2, sym__block_end, sym__line_separator, [4050] = 4, - ACTIONS(545), 1, + ACTIONS(543), 1, sym__block_start, - ACTIONS(547), 1, + ACTIONS(545), 1, sym__block_end, - ACTIONS(549), 1, + ACTIONS(547), 1, sym__line_separator, STATE(150), 2, sym__text_nested, @@ -6403,15 +6404,15 @@ static const uint16_t ts_small_parse_table[] = { sym__block, STATE(253), 1, sym_nested, - ACTIONS(551), 2, + ACTIONS(549), 2, sym__block_end, sym__line_separator, [4078] = 4, - ACTIONS(545), 1, + ACTIONS(543), 1, sym__block_start, - ACTIONS(553), 1, + ACTIONS(551), 1, sym__block_end, - ACTIONS(555), 1, + ACTIONS(553), 1, sym__line_separator, STATE(149), 2, sym__text_nested, @@ -6423,7 +6424,7 @@ static const uint16_t ts_small_parse_table[] = { sym_nested, STATE(250), 1, sym__block, - ACTIONS(557), 2, + ACTIONS(555), 2, sym__block_end, sym__line_separator, [4106] = 4, @@ -6433,7 +6434,7 @@ static const uint16_t ts_small_parse_table[] = { sym__block, STATE(265), 1, sym_nested, - ACTIONS(559), 2, + ACTIONS(557), 2, sym__block_end, sym__line_separator, [4120] = 4, @@ -6443,35 +6444,35 @@ static const uint16_t ts_small_parse_table[] = { sym__block, STATE(260), 1, sym_nested, - ACTIONS(561), 2, + ACTIONS(559), 2, sym__block_end, sym__line_separator, [4134] = 4, - ACTIONS(563), 1, + ACTIONS(561), 1, sym__block_start, - ACTIONS(566), 1, + ACTIONS(564), 1, sym__block_end, - ACTIONS(568), 1, + ACTIONS(566), 1, sym__line_separator, STATE(148), 2, sym__text_nested, aux_sym__text_nested_repeat1, [4148] = 4, - ACTIONS(545), 1, + ACTIONS(543), 1, sym__block_start, - ACTIONS(571), 1, + ACTIONS(569), 1, sym__block_end, - ACTIONS(573), 1, + ACTIONS(571), 1, sym__line_separator, STATE(148), 2, sym__text_nested, aux_sym__text_nested_repeat1, [4162] = 4, - ACTIONS(545), 1, + ACTIONS(543), 1, sym__block_start, - ACTIONS(575), 1, + ACTIONS(573), 1, sym__block_end, - ACTIONS(577), 1, + ACTIONS(575), 1, sym__line_separator, STATE(148), 2, sym__text_nested, @@ -6483,7 +6484,7 @@ static const uint16_t ts_small_parse_table[] = { sym_nested, STATE(250), 1, sym__block, - ACTIONS(579), 2, + ACTIONS(577), 2, sym__block_end, sym__line_separator, [4190] = 4, @@ -6493,46 +6494,46 @@ static const uint16_t ts_small_parse_table[] = { sym_nested, STATE(250), 1, sym__block, - ACTIONS(581), 2, + ACTIONS(579), 2, sym__block_end, sym__line_separator, [4204] = 4, ACTIONS(443), 1, sym__block_start, - ACTIONS(583), 1, + ACTIONS(581), 1, sym__element_rest_text, STATE(230), 1, sym__text_nested, - ACTIONS(585), 2, + ACTIONS(583), 2, sym__block_end, sym__line_separator, [4218] = 2, - ACTIONS(589), 1, + ACTIONS(587), 1, sym__attr_name, - ACTIONS(587), 3, + ACTIONS(585), 3, anon_sym_STAR, anon_sym_RBRACK, sym__space_or_newline, [4227] = 2, - ACTIONS(593), 1, + ACTIONS(591), 1, sym__attr_name, - ACTIONS(591), 3, + ACTIONS(589), 3, anon_sym_STAR, anon_sym_RPAREN, sym__space_or_newline, [4236] = 2, - ACTIONS(597), 1, + ACTIONS(595), 1, sym__attr_name, - ACTIONS(595), 3, + ACTIONS(593), 3, anon_sym_STAR, anon_sym_RBRACK, sym__space_or_newline, [4245] = 3, - ACTIONS(599), 1, + ACTIONS(597), 1, sym__text_line, STATE(259), 1, sym__text, - ACTIONS(601), 2, + ACTIONS(599), 2, sym__block_end, sym__line_separator, [4256] = 3, @@ -6540,7 +6541,7 @@ static const uint16_t ts_small_parse_table[] = { sym__block_start, STATE(208), 1, sym__text_nested, - ACTIONS(518), 2, + ACTIONS(516), 2, sym__block_end, sym__line_separator, [4267] = 3, @@ -6548,34 +6549,34 @@ static const uint16_t ts_small_parse_table[] = { sym__block_start, STATE(263), 1, sym__text_nested, - ACTIONS(603), 2, + ACTIONS(601), 2, sym__block_end, sym__line_separator, [4278] = 2, - ACTIONS(607), 1, + ACTIONS(605), 1, sym__attr_name, - ACTIONS(605), 3, + ACTIONS(603), 3, anon_sym_STAR, anon_sym_RPAREN, sym__space_or_newline, [4287] = 2, - ACTIONS(611), 1, + ACTIONS(609), 1, sym__attr_name, - ACTIONS(609), 3, + ACTIONS(607), 3, anon_sym_STAR, anon_sym_RPAREN, sym__space_or_newline, [4296] = 2, - ACTIONS(615), 1, + ACTIONS(613), 1, sym__attr_name, - ACTIONS(613), 3, + ACTIONS(611), 3, anon_sym_STAR, anon_sym_RBRACK, sym__space_or_newline, [4305] = 2, - ACTIONS(619), 1, + ACTIONS(617), 1, sym__attr_name, - ACTIONS(617), 3, + ACTIONS(615), 3, anon_sym_STAR, anon_sym_RBRACK, sym__space_or_newline, @@ -6584,20 +6585,20 @@ static const uint16_t ts_small_parse_table[] = { sym__block_start, STATE(235), 1, sym__text_nested, - ACTIONS(621), 2, + ACTIONS(619), 2, sym__block_end, sym__line_separator, [4325] = 2, - ACTIONS(625), 1, + ACTIONS(623), 1, sym__attr_name, - ACTIONS(623), 3, + ACTIONS(621), 3, anon_sym_STAR, anon_sym_RBRACE, sym__space_or_newline, [4334] = 2, - ACTIONS(629), 1, + ACTIONS(627), 1, sym__attr_name, - ACTIONS(627), 3, + ACTIONS(625), 3, anon_sym_STAR, anon_sym_RBRACE, sym__space_or_newline, @@ -6615,7 +6616,7 @@ static const uint16_t ts_small_parse_table[] = { sym__block_start, STATE(264), 1, sym__text_nested, - ACTIONS(631), 2, + ACTIONS(629), 2, sym__block_end, sym__line_separator, [4367] = 3, @@ -6623,20 +6624,20 @@ static const uint16_t ts_small_parse_table[] = { sym__block_start, STATE(215), 1, sym__text_nested, - ACTIONS(543), 2, + ACTIONS(541), 2, sym__block_end, sym__line_separator, [4378] = 2, - ACTIONS(635), 1, + ACTIONS(633), 1, sym__attr_name, - ACTIONS(633), 3, + ACTIONS(631), 3, anon_sym_STAR, anon_sym_RPAREN, sym__space_or_newline, [4387] = 2, - ACTIONS(639), 1, + ACTIONS(637), 1, sym__attr_name, - ACTIONS(637), 3, + ACTIONS(635), 3, anon_sym_STAR, anon_sym_RBRACE, sym__space_or_newline, @@ -6654,13 +6655,13 @@ static const uint16_t ts_small_parse_table[] = { sym__block_start, STATE(266), 1, sym__text_nested, - ACTIONS(641), 2, + ACTIONS(639), 2, sym__block_end, sym__line_separator, [4420] = 2, - ACTIONS(643), 1, + ACTIONS(641), 1, anon_sym_RBRACK, - ACTIONS(645), 3, + ACTIONS(643), 3, sym__block_start, sym__block_end, sym__line_separator, @@ -6677,27 +6678,27 @@ static const uint16_t ts_small_parse_table[] = { sym__block_start, STATE(230), 1, sym__text_nested, - ACTIONS(585), 2, + ACTIONS(583), 2, sym__block_end, sym__line_separator, [4451] = 2, - ACTIONS(649), 1, + ACTIONS(647), 1, sym__attr_name, - ACTIONS(647), 3, + ACTIONS(645), 3, anon_sym_STAR, anon_sym_RBRACE, sym__space_or_newline, [4460] = 2, - ACTIONS(653), 1, + ACTIONS(651), 1, sym__attr_name, - ACTIONS(651), 3, + ACTIONS(649), 3, anon_sym_STAR, anon_sym_RBRACE, sym__space_or_newline, [4469] = 2, - ACTIONS(657), 1, + ACTIONS(655), 1, sym__attr_name, - ACTIONS(655), 3, + ACTIONS(653), 3, anon_sym_STAR, anon_sym_RBRACE, sym__space_or_newline, @@ -6730,9 +6731,9 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_COLON, sym__space, [4514] = 2, - ACTIONS(661), 1, + ACTIONS(659), 1, sym__attr_name, - ACTIONS(659), 3, + ACTIONS(657), 3, anon_sym_STAR, anon_sym_RPAREN, sym__space_or_newline, @@ -6743,16 +6744,16 @@ static const uint16_t ts_small_parse_table[] = { sym_output_modifier_trailing_whitespace, sym_output_modifier_legacy_trailing_whitespace, [4530] = 2, - ACTIONS(665), 1, + ACTIONS(663), 1, sym__attr_name, - ACTIONS(663), 3, + ACTIONS(661), 3, anon_sym_STAR, anon_sym_RPAREN, sym__space_or_newline, [4539] = 2, - ACTIONS(669), 1, + ACTIONS(667), 1, sym__attr_name, - ACTIONS(667), 3, + ACTIONS(665), 3, anon_sym_STAR, anon_sym_RBRACK, sym__space_or_newline, @@ -6761,118 +6762,118 @@ static const uint16_t ts_small_parse_table[] = { sym__block_start, STATE(239), 1, sym__text_nested, - ACTIONS(671), 2, + ACTIONS(669), 2, sym__block_end, sym__line_separator, [4559] = 2, - ACTIONS(675), 1, + ACTIONS(673), 1, sym__attr_name, - ACTIONS(673), 3, + ACTIONS(671), 3, anon_sym_STAR, anon_sym_RBRACK, sym__space_or_newline, [4568] = 1, - ACTIONS(677), 3, + ACTIONS(675), 3, sym__block_start, sym__block_end, sym__line_separator, [4574] = 1, - ACTIONS(679), 3, + ACTIONS(677), 3, sym__block_start, sym__block_end, sym__line_separator, [4580] = 1, - ACTIONS(566), 3, + ACTIONS(564), 3, sym__block_start, sym__block_end, sym__line_separator, [4586] = 3, - ACTIONS(681), 1, + ACTIONS(679), 1, sym__block_end, - ACTIONS(683), 1, + ACTIONS(681), 1, sym__line_separator, STATE(193), 1, aux_sym__block_repeat1, [4596] = 2, - ACTIONS(686), 1, + ACTIONS(684), 1, sym_doctype_xml_encoding, - ACTIONS(688), 2, + ACTIONS(686), 2, sym__block_end, sym__line_separator, [4604] = 3, - ACTIONS(690), 1, + ACTIONS(688), 1, sym_attr_value_quoted, - ACTIONS(692), 1, + ACTIONS(690), 1, sym__attr_value_ruby, STATE(180), 1, sym__attr_value, [4614] = 1, - ACTIONS(694), 3, + ACTIONS(692), 3, sym__block_start, sym__block_end, sym__line_separator, [4620] = 3, - ACTIONS(696), 1, + ACTIONS(694), 1, sym__block_end, - ACTIONS(698), 1, + ACTIONS(696), 1, sym__line_separator, STATE(199), 1, aux_sym__block_repeat1, [4630] = 3, ACTIONS(37), 1, sym__block_end, - ACTIONS(700), 1, + ACTIONS(698), 1, sym__line_separator, STATE(193), 1, aux_sym__block_repeat1, [4640] = 3, ACTIONS(39), 1, sym__block_end, - ACTIONS(702), 1, + ACTIONS(700), 1, sym__line_separator, STATE(193), 1, aux_sym__block_repeat1, [4650] = 3, - ACTIONS(704), 1, + ACTIONS(702), 1, sym__block_end, - ACTIONS(706), 1, + ACTIONS(704), 1, sym__line_separator, STATE(198), 1, aux_sym__block_repeat1, [4660] = 3, - ACTIONS(708), 1, + ACTIONS(706), 1, sym_attr_value_quoted, - ACTIONS(710), 1, + ACTIONS(708), 1, sym__attr_value_ruby, STATE(39), 1, sym__attr_value, [4670] = 3, - ACTIONS(712), 1, + ACTIONS(710), 1, sym_attr_value_quoted, - ACTIONS(714), 1, + ACTIONS(712), 1, sym__attr_value_ruby_b, STATE(177), 1, sym__attr_delimited_value_b, [4680] = 3, - ACTIONS(716), 1, + ACTIONS(714), 1, sym_attr_value_quoted, - ACTIONS(718), 1, + ACTIONS(716), 1, sym__attr_value_ruby_s, STATE(156), 1, sym__attr_delimited_value_s, [4690] = 3, - ACTIONS(720), 1, + ACTIONS(718), 1, sym_attr_value_quoted, - ACTIONS(722), 1, + ACTIONS(720), 1, sym__attr_value_ruby_p, STATE(170), 1, sym__attr_delimited_value_p, [4700] = 1, - ACTIONS(724), 2, + ACTIONS(722), 2, sym__block_end, sym__line_separator, [4705] = 1, - ACTIONS(726), 2, + ACTIONS(724), 2, sym__block_end, sym__line_separator, [4710] = 1, @@ -6880,15 +6881,15 @@ static const uint16_t ts_small_parse_table[] = { sym__block_end, sym__line_separator, [4715] = 1, - ACTIONS(585), 2, + ACTIONS(583), 2, sym__block_end, sym__line_separator, [4720] = 1, - ACTIONS(728), 2, + ACTIONS(726), 2, sym__block_end, sym__line_separator, [4725] = 1, - ACTIONS(730), 2, + ACTIONS(728), 2, sym__block_end, sym__line_separator, [4730] = 1, @@ -6900,50 +6901,50 @@ static const uint16_t ts_small_parse_table[] = { sym__block_end, sym__line_separator, [4740] = 2, - ACTIONS(732), 1, + ACTIONS(730), 1, sym_attr_assignment, - ACTIONS(734), 1, + ACTIONS(732), 1, sym_attr_assignment_noescape, [4747] = 1, ACTIONS(189), 2, sym__block_end, sym__line_separator, [4752] = 1, - ACTIONS(621), 2, + ACTIONS(619), 2, sym__block_end, sym__line_separator, [4757] = 2, - ACTIONS(736), 1, + ACTIONS(734), 1, sym_attr_assignment, - ACTIONS(738), 1, + ACTIONS(736), 1, sym_attr_assignment_noescape, [4764] = 1, ACTIONS(445), 2, sym__block_end, sym__line_separator, [4769] = 1, - ACTIONS(740), 2, + ACTIONS(738), 2, sym__block_end, sym__line_separator, [4774] = 1, - ACTIONS(742), 2, + ACTIONS(740), 2, sym__block_end, sym__line_separator, [4779] = 2, - ACTIONS(744), 1, + ACTIONS(742), 1, sym__text_line, - ACTIONS(746), 1, + ACTIONS(744), 1, sym__block_end, [4786] = 1, ACTIONS(274), 2, sym__block_end, sym__line_separator, [4791] = 1, - ACTIONS(748), 2, + ACTIONS(746), 2, sym__block_end, sym__line_separator, [4796] = 1, - ACTIONS(694), 2, + ACTIONS(692), 2, sym__block_end, sym__line_separator, [4801] = 1, @@ -6951,37 +6952,37 @@ static const uint16_t ts_small_parse_table[] = { sym__block_end, sym__line_separator, [4806] = 2, - ACTIONS(744), 1, + ACTIONS(742), 1, sym__text_line, - ACTIONS(750), 1, + ACTIONS(748), 1, sym__block_end, [4813] = 1, - ACTIONS(752), 2, + ACTIONS(750), 2, sym__block_end, sym__line_separator, [4818] = 1, - ACTIONS(754), 2, + ACTIONS(752), 2, sym__block_end, sym__line_separator, [4823] = 1, - ACTIONS(756), 2, + ACTIONS(754), 2, sym__block_end, sym__line_separator, [4828] = 1, - ACTIONS(758), 2, + ACTIONS(756), 2, sym__block_end, sym__line_separator, [4833] = 1, - ACTIONS(671), 2, + ACTIONS(669), 2, sym__block_end, sym__line_separator, [4838] = 2, - ACTIONS(571), 1, + ACTIONS(569), 1, sym__block_end, - ACTIONS(744), 1, + ACTIONS(742), 1, sym__text_line, [4845] = 1, - ACTIONS(760), 2, + ACTIONS(758), 2, sym__block_end, sym__line_separator, [4850] = 1, @@ -6989,39 +6990,39 @@ static const uint16_t ts_small_parse_table[] = { sym__block_end, sym__line_separator, [4855] = 1, - ACTIONS(762), 2, + ACTIONS(760), 2, sym__block_end, sym__line_separator, [4860] = 1, - ACTIONS(764), 2, + ACTIONS(762), 2, sym__block_end, sym__line_separator, [4865] = 1, - ACTIONS(766), 2, + ACTIONS(764), 2, sym__block_end, sym__line_separator, [4870] = 1, - ACTIONS(677), 2, + ACTIONS(675), 2, sym__block_end, sym__line_separator, [4875] = 1, - ACTIONS(518), 2, + ACTIONS(516), 2, sym__block_end, sym__line_separator, [4880] = 1, - ACTIONS(768), 2, + ACTIONS(766), 2, sym__block_end, sym__line_separator, [4885] = 1, - ACTIONS(770), 2, + ACTIONS(768), 2, sym__block_end, sym__line_separator, [4890] = 1, - ACTIONS(543), 2, + ACTIONS(541), 2, sym__block_end, sym__line_separator, [4895] = 1, - ACTIONS(772), 2, + ACTIONS(770), 2, sym__block_end, sym__line_separator, [4900] = 1, @@ -7034,28 +7035,28 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(174), 1, anon_sym_EQ_EQ, [4912] = 1, - ACTIONS(681), 2, + ACTIONS(679), 2, sym__block_end, sym__line_separator, [4917] = 2, - ACTIONS(575), 1, + ACTIONS(573), 1, sym__block_end, - ACTIONS(744), 1, + ACTIONS(742), 1, sym__text_line, [4924] = 1, - ACTIONS(774), 2, + ACTIONS(772), 2, sym__block_end, sym__line_separator, [4929] = 1, - ACTIONS(776), 2, + ACTIONS(774), 2, sym__block_end, sym__line_separator, [4934] = 1, - ACTIONS(778), 2, + ACTIONS(776), 2, sym__block_end, sym__line_separator, [4939] = 1, - ACTIONS(780), 2, + ACTIONS(778), 2, sym__block_end, sym__line_separator, [4944] = 1, @@ -7063,23 +7064,23 @@ static const uint16_t ts_small_parse_table[] = { sym__block_end, sym__line_separator, [4949] = 1, - ACTIONS(679), 2, + ACTIONS(677), 2, sym__block_end, sym__line_separator, [4954] = 1, - ACTIONS(782), 2, + ACTIONS(780), 2, sym__block_end, sym__line_separator, [4959] = 1, - ACTIONS(784), 2, + ACTIONS(782), 2, sym__block_end, sym__line_separator, [4964] = 1, - ACTIONS(786), 2, + ACTIONS(784), 2, sym__block_end, sym__line_separator, [4969] = 1, - ACTIONS(788), 2, + ACTIONS(786), 2, sym__block_end, sym__line_separator, [4974] = 1, @@ -7087,19 +7088,19 @@ static const uint16_t ts_small_parse_table[] = { sym__block_end, sym__line_separator, [4979] = 1, - ACTIONS(790), 2, + ACTIONS(788), 2, sym__block_end, sym__line_separator, [4984] = 1, - ACTIONS(792), 2, + ACTIONS(790), 2, sym__block_end, sym__line_separator, [4989] = 1, - ACTIONS(794), 2, + ACTIONS(792), 2, sym__block_end, sym__line_separator, [4994] = 1, - ACTIONS(796), 2, + ACTIONS(794), 2, sym__block_end, sym__line_separator, [4999] = 1, @@ -7107,27 +7108,27 @@ static const uint16_t ts_small_parse_table[] = { sym__block_end, sym__line_separator, [5004] = 1, - ACTIONS(798), 2, + ACTIONS(796), 2, sym__block_end, sym__line_separator, [5009] = 1, - ACTIONS(800), 2, + ACTIONS(798), 2, sym__block_end, sym__line_separator, [5014] = 1, - ACTIONS(802), 2, + ACTIONS(800), 2, sym__block_end, sym__line_separator, [5019] = 1, - ACTIONS(804), 2, + ACTIONS(802), 2, sym__block_end, sym__line_separator, [5024] = 1, - ACTIONS(806), 2, + ACTIONS(804), 2, sym__block_end, sym__line_separator, [5029] = 1, - ACTIONS(808), 2, + ACTIONS(806), 2, sym__block_end, sym__line_separator, [5034] = 1, @@ -7135,7 +7136,7 @@ static const uint16_t ts_small_parse_table[] = { sym__block_end, sym__line_separator, [5039] = 1, - ACTIONS(810), 1, + ACTIONS(808), 1, sym__attr_value_ruby_p, [5043] = 1, ACTIONS(246), 1, @@ -7150,22 +7151,22 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(280), 1, anon_sym_COLON, [5059] = 1, - ACTIONS(812), 1, + ACTIONS(810), 1, sym__text_line, [5063] = 1, - ACTIONS(814), 1, + ACTIONS(812), 1, anon_sym_RBRACK, [5067] = 1, - ACTIONS(776), 1, + ACTIONS(774), 1, ts_builtin_sym_end, [5071] = 1, - ACTIONS(816), 1, + ACTIONS(814), 1, anon_sym_COLON, [5075] = 1, - ACTIONS(818), 1, + ACTIONS(816), 1, sym__attr_value_ruby, [5079] = 1, - ACTIONS(820), 1, + ACTIONS(818), 1, ts_builtin_sym_end, [5083] = 1, ACTIONS(258), 1, @@ -7177,7 +7178,7 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(254), 1, anon_sym_COLON, [5095] = 1, - ACTIONS(772), 1, + ACTIONS(770), 1, ts_builtin_sym_end, [5099] = 1, ACTIONS(308), 1, @@ -7198,37 +7199,37 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(300), 1, anon_sym_COLON, [5123] = 1, - ACTIONS(744), 1, + ACTIONS(742), 1, sym__text_line, [5127] = 1, - ACTIONS(822), 1, + ACTIONS(820), 1, sym__attr_value_ruby_s, [5131] = 1, - ACTIONS(788), 1, + ACTIONS(786), 1, ts_builtin_sym_end, [5135] = 1, - ACTIONS(824), 1, + ACTIONS(822), 1, sym_ruby, [5139] = 1, - ACTIONS(826), 1, + ACTIONS(824), 1, sym__space, [5143] = 1, - ACTIONS(828), 1, + ACTIONS(826), 1, sym_css_identifier, [5147] = 1, - ACTIONS(830), 1, + ACTIONS(828), 1, sym_css_identifier, [5151] = 1, - ACTIONS(832), 1, + ACTIONS(830), 1, sym__attr_value_ruby_b, [5155] = 1, - ACTIONS(834), 1, + ACTIONS(832), 1, ts_builtin_sym_end, [5159] = 1, - ACTIONS(836), 1, + ACTIONS(834), 1, sym__text_line, [5163] = 1, - ACTIONS(838), 1, + ACTIONS(836), 1, sym__attr_value_ruby, }; @@ -7747,7 +7748,7 @@ static const TSParseActionEntry ts_parse_actions[] = { [433] = {.entry = {.count = 1, .reusable = true}}, SHIFT(111), [435] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attr_name, 1, 0, 0), [437] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attr_name, 1, 0, 0), - [439] = {.entry = {.count = 1, .reusable = false}}, SHIFT(169), + [439] = {.entry = {.count = 1, .reusable = true}}, SHIFT(169), [441] = {.entry = {.count = 1, .reusable = false}}, SHIFT(139), [443] = {.entry = {.count = 1, .reusable = true}}, SHIFT(275), [445] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_element_text, 2, 0, 0), @@ -7779,171 +7780,170 @@ static const TSParseActionEntry ts_parse_actions[] = { [500] = {.entry = {.count = 1, .reusable = true}}, SHIFT(203), [502] = {.entry = {.count = 1, .reusable = true}}, SHIFT(137), [504] = {.entry = {.count = 1, .reusable = true}}, SHIFT(136), - [506] = {.entry = {.count = 1, .reusable = true}}, SHIFT(169), - [508] = {.entry = {.count = 1, .reusable = true}}, SHIFT(139), - [510] = {.entry = {.count = 1, .reusable = false}}, SHIFT(202), - [512] = {.entry = {.count = 1, .reusable = true}}, SHIFT(202), - [514] = {.entry = {.count = 1, .reusable = true}}, SHIFT(176), - [516] = {.entry = {.count = 1, .reusable = true}}, SHIFT(153), - [518] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_embedded_engine, 3, 0, 0), - [520] = {.entry = {.count = 1, .reusable = true}}, SHIFT(152), - [522] = {.entry = {.count = 1, .reusable = true}}, SHIFT(146), - [524] = {.entry = {.count = 1, .reusable = true}}, SHIFT(174), - [526] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__html_comment_conditional_incomplete, 1, 0, 0), - [528] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ruby_block_output_noescape, 3, 0, 0), - [530] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_element_text_repeat1, 2, 0, 0), SHIFT_REPEAT(135), - [533] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_element_text_repeat1, 2, 0, 0), - [535] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ruby_block_output_noescape, 2, 0, 0), - [537] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ruby_block_output, 2, 0, 0), - [539] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_embedded_engine_name, 1, 0, 0), - [541] = {.entry = {.count = 1, .reusable = true}}, SHIFT(164), - [543] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_element_text, 3, 0, 0), - [545] = {.entry = {.count = 1, .reusable = true}}, SHIFT(300), - [547] = {.entry = {.count = 1, .reusable = true}}, SHIFT(252), - [549] = {.entry = {.count = 1, .reusable = true}}, SHIFT(246), - [551] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_html_comment_conditional, 3, 0, 0), - [553] = {.entry = {.count = 1, .reusable = true}}, SHIFT(191), - [555] = {.entry = {.count = 1, .reusable = true}}, SHIFT(231), - [557] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ruby_block_control, 2, 0, 0), - [559] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_html_comment_conditional, 2, 0, 0), - [561] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ruby_block_output, 3, 0, 0), - [563] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__text_nested_repeat1, 2, 0, 0), SHIFT_REPEAT(300), - [566] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__text_nested_repeat1, 2, 0, 0), - [568] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__text_nested_repeat1, 2, 0, 0), SHIFT_REPEAT(291), - [571] = {.entry = {.count = 1, .reusable = true}}, SHIFT(196), - [573] = {.entry = {.count = 1, .reusable = true}}, SHIFT(220), - [575] = {.entry = {.count = 1, .reusable = true}}, SHIFT(223), - [577] = {.entry = {.count = 1, .reusable = true}}, SHIFT(225), - [579] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ruby_block_output, 4, 0, 0), - [581] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ruby_block_output_noescape, 4, 0, 0), - [583] = {.entry = {.count = 1, .reusable = true}}, SHIFT(188), - [585] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_embedded_engine, 4, 0, 0), - [587] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__attr_delimited_splat_s, 2, 0, 0), - [589] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__attr_delimited_splat_s, 2, 0, 0), - [591] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__attr_delimited_value_p, 1, 0, 14), - [593] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__attr_delimited_value_p, 1, 0, 14), - [595] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__attr_delimited_s, 3, 0, 15), - [597] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__attr_delimited_s, 3, 0, 15), - [599] = {.entry = {.count = 1, .reusable = true}}, SHIFT(173), - [601] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_verbatim_text, 1, 0, 0), - [603] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_html_comment, 1, 0, 0), - [605] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__attr_delimited_splat_p, 2, 0, 0), - [607] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__attr_delimited_splat_p, 2, 0, 0), - [609] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__attrs_delimited_p_repeat1, 2, 0, 11), - [611] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__attrs_delimited_p_repeat1, 2, 0, 11), - [613] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__attr_delimited_value_s, 1, 0, 14), - [615] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__attr_delimited_value_s, 1, 0, 14), - [617] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__attrs_delimited_s_repeat1, 2, 0, 11), - [619] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__attrs_delimited_s_repeat1, 2, 0, 11), - [621] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_element_text, 4, 0, 0), - [623] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__attr_delimited_splat_b, 2, 0, 0), - [625] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__attr_delimited_splat_b, 2, 0, 0), - [627] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__attrs_delimited_b_repeat1, 2, 0, 11), - [629] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__attrs_delimited_b_repeat1, 2, 0, 11), - [631] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_code_comment, 1, 0, 0), - [633] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__attr_delimited_p, 3, 0, 15), - [635] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__attr_delimited_p, 3, 0, 15), - [637] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__attr_delimited_b, 1, 0, 0), - [639] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__attr_delimited_b, 1, 0, 0), - [641] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__text, 1, 0, 0), - [643] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_html_comment_condition, 1, 0, 0), - [645] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__html_comment_conditional_incomplete, 2, 0, 0), - [647] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__attr_delimited_b, 3, 0, 15), - [649] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__attr_delimited_b, 3, 0, 15), - [651] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__attrs_delimited_b_repeat1, 1, 0, 6), - [653] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__attrs_delimited_b_repeat1, 1, 0, 6), - [655] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__attr_delimited_value_b, 1, 0, 14), - [657] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__attr_delimited_value_b, 1, 0, 14), - [659] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__attr_delimited_p, 1, 0, 0), - [661] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__attr_delimited_p, 1, 0, 0), - [663] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__attrs_delimited_p_repeat1, 1, 0, 6), - [665] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__attrs_delimited_p_repeat1, 1, 0, 6), - [667] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__attr_delimited_s, 1, 0, 0), - [669] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__attr_delimited_s, 1, 0, 0), - [671] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_embedded_engine, 5, 0, 0), - [673] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__attrs_delimited_s_repeat1, 1, 0, 6), - [675] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__attrs_delimited_s_repeat1, 1, 0, 6), - [677] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__text_nested, 5, 0, 0), - [679] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__text_nested, 3, 0, 0), - [681] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__block_repeat1, 2, 0, 0), - [683] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__block_repeat1, 2, 0, 0), SHIFT_REPEAT(8), - [686] = {.entry = {.count = 1, .reusable = true}}, SHIFT(261), - [688] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__doctype_xml, 1, 0, 0), - [690] = {.entry = {.count = 1, .reusable = true}}, SHIFT(180), - [692] = {.entry = {.count = 1, .reusable = true}}, SHIFT(181), - [694] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__text_nested, 4, 0, 0), - [696] = {.entry = {.count = 1, .reusable = true}}, SHIFT(242), - [698] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), - [700] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2), - [702] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5), - [704] = {.entry = {.count = 1, .reusable = true}}, SHIFT(284), - [706] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3), - [708] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), - [710] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38), - [712] = {.entry = {.count = 1, .reusable = true}}, SHIFT(177), - [714] = {.entry = {.count = 1, .reusable = true}}, SHIFT(179), - [716] = {.entry = {.count = 1, .reusable = true}}, SHIFT(156), - [718] = {.entry = {.count = 1, .reusable = true}}, SHIFT(162), - [720] = {.entry = {.count = 1, .reusable = true}}, SHIFT(170), - [722] = {.entry = {.count = 1, .reusable = true}}, SHIFT(155), - [724] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ruby_block_output, 5, 0, 16), - [726] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__nested_inline_expansion, 2, 0, 0), - [728] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_doctype_xhtml, 1, 0, 0), - [730] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_doctype_html5, 1, 0, 0), - [732] = {.entry = {.count = 1, .reusable = false}}, SHIFT(201), - [734] = {.entry = {.count = 1, .reusable = true}}, SHIFT(201), - [736] = {.entry = {.count = 1, .reusable = false}}, SHIFT(195), - [738] = {.entry = {.count = 1, .reusable = true}}, SHIFT(195), - [740] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_element, 5, 0, 7), - [742] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_element, 5, 0, 3), - [744] = {.entry = {.count = 1, .reusable = true}}, SHIFT(192), - [746] = {.entry = {.count = 1, .reusable = true}}, SHIFT(190), - [748] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_element, 5, 0, 8), - [750] = {.entry = {.count = 1, .reusable = true}}, SHIFT(237), - [752] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_element, 4, 0, 5), - [754] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_doctype, 3, 0, 0), - [756] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ruby_block_output_noescape, 5, 0, 16), - [758] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_element, 5, 0, 10), - [760] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ruby_block_control, 3, 0, 9), - [762] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ruby_block_output, 3, 0, 9), - [764] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_element_text, 5, 0, 0), - [766] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_element, 6, 0, 12), - [768] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_embedded_engine, 6, 0, 0), - [770] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ruby_block_output_noescape, 3, 0, 9), - [772] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__block, 3, 0, 0), - [774] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__line, 1, 0, 0), - [776] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__block, 4, 0, 0), - [778] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__ruby_block, 1, 0, 0), - [780] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_nested, 1, 0, 0), - [782] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_html_comment_conditional, 4, 0, 13), - [784] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_element, 4, 0, 2), - [786] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ruby_block_output_noescape, 4, 0, 13), - [788] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__block, 5, 0, 0), - [790] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_nested_inline, 1, 0, 0), - [792] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_verbatim_text, 2, 0, 0), - [794] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ruby_block_output, 4, 0, 13), - [796] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__doctype_xml, 2, 0, 0), - [798] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_html_comment, 2, 0, 0), - [800] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_code_comment, 2, 0, 0), - [802] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_html_comment_conditional, 3, 0, 9), - [804] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__text, 2, 0, 0), - [806] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_element, 4, 0, 1), - [808] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_element, 4, 0, 4), - [810] = {.entry = {.count = 1, .reusable = true}}, SHIFT(160), - [812] = {.entry = {.count = 1, .reusable = true}}, SHIFT(142), - [814] = {.entry = {.count = 1, .reusable = true}}, SHIFT(143), - [816] = {.entry = {.count = 1, .reusable = true}}, SHIFT(126), - [818] = {.entry = {.count = 1, .reusable = true}}, SHIFT(183), - [820] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), - [822] = {.entry = {.count = 1, .reusable = true}}, SHIFT(154), - [824] = {.entry = {.count = 1, .reusable = true}}, SHIFT(145), - [826] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37), - [828] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20), - [830] = {.entry = {.count = 1, .reusable = true}}, SHIFT(21), - [832] = {.entry = {.count = 1, .reusable = true}}, SHIFT(165), - [834] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1, 0, 0), - [836] = {.entry = {.count = 1, .reusable = true}}, SHIFT(144), - [838] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40), + [506] = {.entry = {.count = 1, .reusable = true}}, SHIFT(139), + [508] = {.entry = {.count = 1, .reusable = false}}, SHIFT(202), + [510] = {.entry = {.count = 1, .reusable = true}}, SHIFT(202), + [512] = {.entry = {.count = 1, .reusable = true}}, SHIFT(176), + [514] = {.entry = {.count = 1, .reusable = true}}, SHIFT(153), + [516] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_embedded_engine, 3, 0, 0), + [518] = {.entry = {.count = 1, .reusable = true}}, SHIFT(152), + [520] = {.entry = {.count = 1, .reusable = true}}, SHIFT(146), + [522] = {.entry = {.count = 1, .reusable = true}}, SHIFT(174), + [524] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__html_comment_conditional_incomplete, 1, 0, 0), + [526] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ruby_block_output_noescape, 3, 0, 0), + [528] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_element_text_repeat1, 2, 0, 0), SHIFT_REPEAT(135), + [531] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_element_text_repeat1, 2, 0, 0), + [533] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ruby_block_output_noescape, 2, 0, 0), + [535] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ruby_block_output, 2, 0, 0), + [537] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_embedded_engine_name, 1, 0, 0), + [539] = {.entry = {.count = 1, .reusable = true}}, SHIFT(164), + [541] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_element_text, 3, 0, 0), + [543] = {.entry = {.count = 1, .reusable = true}}, SHIFT(300), + [545] = {.entry = {.count = 1, .reusable = true}}, SHIFT(252), + [547] = {.entry = {.count = 1, .reusable = true}}, SHIFT(246), + [549] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_html_comment_conditional, 3, 0, 0), + [551] = {.entry = {.count = 1, .reusable = true}}, SHIFT(191), + [553] = {.entry = {.count = 1, .reusable = true}}, SHIFT(231), + [555] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ruby_block_control, 2, 0, 0), + [557] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_html_comment_conditional, 2, 0, 0), + [559] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ruby_block_output, 3, 0, 0), + [561] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__text_nested_repeat1, 2, 0, 0), SHIFT_REPEAT(300), + [564] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__text_nested_repeat1, 2, 0, 0), + [566] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__text_nested_repeat1, 2, 0, 0), SHIFT_REPEAT(291), + [569] = {.entry = {.count = 1, .reusable = true}}, SHIFT(196), + [571] = {.entry = {.count = 1, .reusable = true}}, SHIFT(220), + [573] = {.entry = {.count = 1, .reusable = true}}, SHIFT(223), + [575] = {.entry = {.count = 1, .reusable = true}}, SHIFT(225), + [577] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ruby_block_output, 4, 0, 0), + [579] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ruby_block_output_noescape, 4, 0, 0), + [581] = {.entry = {.count = 1, .reusable = true}}, SHIFT(188), + [583] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_embedded_engine, 4, 0, 0), + [585] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__attr_delimited_splat_s, 2, 0, 0), + [587] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__attr_delimited_splat_s, 2, 0, 0), + [589] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__attr_delimited_value_p, 1, 0, 14), + [591] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__attr_delimited_value_p, 1, 0, 14), + [593] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__attr_delimited_s, 3, 0, 15), + [595] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__attr_delimited_s, 3, 0, 15), + [597] = {.entry = {.count = 1, .reusable = true}}, SHIFT(173), + [599] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_verbatim_text, 1, 0, 0), + [601] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_html_comment, 1, 0, 0), + [603] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__attr_delimited_splat_p, 2, 0, 0), + [605] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__attr_delimited_splat_p, 2, 0, 0), + [607] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__attrs_delimited_p_repeat1, 2, 0, 11), + [609] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__attrs_delimited_p_repeat1, 2, 0, 11), + [611] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__attr_delimited_value_s, 1, 0, 14), + [613] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__attr_delimited_value_s, 1, 0, 14), + [615] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__attrs_delimited_s_repeat1, 2, 0, 11), + [617] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__attrs_delimited_s_repeat1, 2, 0, 11), + [619] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_element_text, 4, 0, 0), + [621] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__attr_delimited_splat_b, 2, 0, 0), + [623] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__attr_delimited_splat_b, 2, 0, 0), + [625] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__attrs_delimited_b_repeat1, 2, 0, 11), + [627] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__attrs_delimited_b_repeat1, 2, 0, 11), + [629] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_code_comment, 1, 0, 0), + [631] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__attr_delimited_p, 3, 0, 15), + [633] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__attr_delimited_p, 3, 0, 15), + [635] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__attr_delimited_b, 1, 0, 0), + [637] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__attr_delimited_b, 1, 0, 0), + [639] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__text, 1, 0, 0), + [641] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_html_comment_condition, 1, 0, 0), + [643] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__html_comment_conditional_incomplete, 2, 0, 0), + [645] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__attr_delimited_b, 3, 0, 15), + [647] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__attr_delimited_b, 3, 0, 15), + [649] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__attrs_delimited_b_repeat1, 1, 0, 6), + [651] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__attrs_delimited_b_repeat1, 1, 0, 6), + [653] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__attr_delimited_value_b, 1, 0, 14), + [655] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__attr_delimited_value_b, 1, 0, 14), + [657] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__attr_delimited_p, 1, 0, 0), + [659] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__attr_delimited_p, 1, 0, 0), + [661] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__attrs_delimited_p_repeat1, 1, 0, 6), + [663] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__attrs_delimited_p_repeat1, 1, 0, 6), + [665] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__attr_delimited_s, 1, 0, 0), + [667] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__attr_delimited_s, 1, 0, 0), + [669] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_embedded_engine, 5, 0, 0), + [671] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__attrs_delimited_s_repeat1, 1, 0, 6), + [673] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__attrs_delimited_s_repeat1, 1, 0, 6), + [675] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__text_nested, 5, 0, 0), + [677] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__text_nested, 3, 0, 0), + [679] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__block_repeat1, 2, 0, 0), + [681] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__block_repeat1, 2, 0, 0), SHIFT_REPEAT(8), + [684] = {.entry = {.count = 1, .reusable = true}}, SHIFT(261), + [686] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__doctype_xml, 1, 0, 0), + [688] = {.entry = {.count = 1, .reusable = true}}, SHIFT(180), + [690] = {.entry = {.count = 1, .reusable = true}}, SHIFT(181), + [692] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__text_nested, 4, 0, 0), + [694] = {.entry = {.count = 1, .reusable = true}}, SHIFT(242), + [696] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), + [698] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2), + [700] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5), + [702] = {.entry = {.count = 1, .reusable = true}}, SHIFT(284), + [704] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3), + [706] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), + [708] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38), + [710] = {.entry = {.count = 1, .reusable = true}}, SHIFT(177), + [712] = {.entry = {.count = 1, .reusable = true}}, SHIFT(179), + [714] = {.entry = {.count = 1, .reusable = true}}, SHIFT(156), + [716] = {.entry = {.count = 1, .reusable = true}}, SHIFT(162), + [718] = {.entry = {.count = 1, .reusable = true}}, SHIFT(170), + [720] = {.entry = {.count = 1, .reusable = true}}, SHIFT(155), + [722] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ruby_block_output, 5, 0, 16), + [724] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__nested_inline_expansion, 2, 0, 0), + [726] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_doctype_xhtml, 1, 0, 0), + [728] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_doctype_html5, 1, 0, 0), + [730] = {.entry = {.count = 1, .reusable = false}}, SHIFT(201), + [732] = {.entry = {.count = 1, .reusable = true}}, SHIFT(201), + [734] = {.entry = {.count = 1, .reusable = false}}, SHIFT(195), + [736] = {.entry = {.count = 1, .reusable = true}}, SHIFT(195), + [738] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_element, 5, 0, 7), + [740] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_element, 5, 0, 3), + [742] = {.entry = {.count = 1, .reusable = true}}, SHIFT(192), + [744] = {.entry = {.count = 1, .reusable = true}}, SHIFT(190), + [746] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_element, 5, 0, 8), + [748] = {.entry = {.count = 1, .reusable = true}}, SHIFT(237), + [750] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_element, 4, 0, 5), + [752] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_doctype, 3, 0, 0), + [754] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ruby_block_output_noescape, 5, 0, 16), + [756] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_element, 5, 0, 10), + [758] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ruby_block_control, 3, 0, 9), + [760] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ruby_block_output, 3, 0, 9), + [762] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_element_text, 5, 0, 0), + [764] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_element, 6, 0, 12), + [766] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_embedded_engine, 6, 0, 0), + [768] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ruby_block_output_noescape, 3, 0, 9), + [770] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__block, 3, 0, 0), + [772] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__line, 1, 0, 0), + [774] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__block, 4, 0, 0), + [776] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__ruby_block, 1, 0, 0), + [778] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_nested, 1, 0, 0), + [780] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_html_comment_conditional, 4, 0, 13), + [782] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_element, 4, 0, 2), + [784] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ruby_block_output_noescape, 4, 0, 13), + [786] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__block, 5, 0, 0), + [788] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_nested_inline, 1, 0, 0), + [790] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_verbatim_text, 2, 0, 0), + [792] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ruby_block_output, 4, 0, 13), + [794] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__doctype_xml, 2, 0, 0), + [796] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_html_comment, 2, 0, 0), + [798] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_code_comment, 2, 0, 0), + [800] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_html_comment_conditional, 3, 0, 9), + [802] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__text, 2, 0, 0), + [804] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_element, 4, 0, 1), + [806] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_element, 4, 0, 4), + [808] = {.entry = {.count = 1, .reusable = true}}, SHIFT(160), + [810] = {.entry = {.count = 1, .reusable = true}}, SHIFT(142), + [812] = {.entry = {.count = 1, .reusable = true}}, SHIFT(143), + [814] = {.entry = {.count = 1, .reusable = true}}, SHIFT(126), + [816] = {.entry = {.count = 1, .reusable = true}}, SHIFT(183), + [818] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), + [820] = {.entry = {.count = 1, .reusable = true}}, SHIFT(154), + [822] = {.entry = {.count = 1, .reusable = true}}, SHIFT(145), + [824] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37), + [826] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20), + [828] = {.entry = {.count = 1, .reusable = true}}, SHIFT(21), + [830] = {.entry = {.count = 1, .reusable = true}}, SHIFT(165), + [832] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1, 0, 0), + [834] = {.entry = {.count = 1, .reusable = true}}, SHIFT(144), + [836] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40), }; enum ts_external_scanner_symbol_identifiers { diff --git a/test/corpus/nesting.txt b/test/corpus/nesting.txt index 4acaa02..896a756 100644 --- a/test/corpus/nesting.txt +++ b/test/corpus/nesting.txt @@ -36,6 +36,26 @@ span (element (tag_name))))) +======================= +Nesting with attributes +======================= + +div foo='value1' bar='value2' baz='value3' + div +----- + +(source_file + (element + (tag_name) + (attrs + (attr (attr_name) (attr_assignment) (attr_value_quoted)) + (attr (attr_name) (attr_assignment) (attr_value_quoted)) + (attr (attr_name) (attr_assignment) (attr_value_quoted))) + (nested + (element + (tag_name))) + )) + ================================ Element nesting with empty lines ================================ From a1effaf7db63b2ce1534fc090fd5e4d2a67ed93f Mon Sep 17 00:00:00 2001 From: Samuel Sieg Date: Fri, 5 Jul 2024 14:31:20 +0200 Subject: [PATCH 2/2] Update parser.c --- src/parser.c | 728 +++++++++++++++++++++++++-------------------------- 1 file changed, 364 insertions(+), 364 deletions(-) diff --git a/src/parser.c b/src/parser.c index 6220af2..e36fe93 100644 --- a/src/parser.c +++ b/src/parser.c @@ -1765,7 +1765,8 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { case 54: if (lookahead == '\t' || lookahead == ' ') ADVANCE(261); - if (lookahead != 0) ADVANCE(209); + if (lookahead != 0 && + lookahead != '=') ADVANCE(209); END_STATE(); case 55: if (lookahead == '-' || @@ -3194,7 +3195,7 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [117] = {.lex_state = 3, .external_lex_state = 5}, [118] = {.lex_state = 3, .external_lex_state = 5}, [119] = {.lex_state = 7}, - [120] = {.lex_state = 54, .external_lex_state = 4}, + [120] = {.lex_state = 14, .external_lex_state = 4}, [121] = {.lex_state = 3, .external_lex_state = 5}, [122] = {.lex_state = 3, .external_lex_state = 5}, [123] = {.lex_state = 54, .external_lex_state = 4}, @@ -3208,13 +3209,13 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [131] = {.lex_state = 16, .external_lex_state = 4}, [132] = {.lex_state = 3, .external_lex_state = 5}, [133] = {.lex_state = 3, .external_lex_state = 5}, - [134] = {.lex_state = 54, .external_lex_state = 4}, + [134] = {.lex_state = 14, .external_lex_state = 4}, [135] = {.lex_state = 0, .external_lex_state = 4}, - [136] = {.lex_state = 54, .external_lex_state = 4}, + [136] = {.lex_state = 14, .external_lex_state = 4}, [137] = {.lex_state = 8}, [138] = {.lex_state = 0, .external_lex_state = 4}, - [139] = {.lex_state = 54, .external_lex_state = 4}, - [140] = {.lex_state = 54, .external_lex_state = 4}, + [139] = {.lex_state = 14, .external_lex_state = 4}, + [140] = {.lex_state = 14, .external_lex_state = 4}, [141] = {.lex_state = 0, .external_lex_state = 4}, [142] = {.lex_state = 0, .external_lex_state = 4}, [143] = {.lex_state = 0, .external_lex_state = 4}, @@ -3225,9 +3226,9 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [148] = {.lex_state = 0, .external_lex_state = 4}, [149] = {.lex_state = 0, .external_lex_state = 4}, [150] = {.lex_state = 0, .external_lex_state = 4}, - [151] = {.lex_state = 54, .external_lex_state = 4}, + [151] = {.lex_state = 14, .external_lex_state = 4}, [152] = {.lex_state = 0, .external_lex_state = 4}, - [153] = {.lex_state = 54, .external_lex_state = 4}, + [153] = {.lex_state = 14, .external_lex_state = 4}, [154] = {.lex_state = 0, .external_lex_state = 4}, [155] = {.lex_state = 1}, [156] = {.lex_state = 0, .external_lex_state = 4}, @@ -6259,11 +6260,11 @@ static const uint16_t ts_small_parse_table[] = { sym__attr_name, sym__space_or_newline, [3821] = 5, + ACTIONS(445), 1, + sym__element_rest_text, ACTIONS(449), 1, sym__block_start, ACTIONS(510), 1, - sym__element_rest_text, - ACTIONS(512), 1, sym__space, STATE(241), 1, sym__text_nested, @@ -6285,9 +6286,9 @@ static const uint16_t ts_small_parse_table[] = { [3855] = 5, ACTIONS(449), 1, sym__block_start, - ACTIONS(514), 1, + ACTIONS(512), 1, sym__element_rest_text, - ACTIONS(516), 1, + ACTIONS(514), 1, sym__space, STATE(219), 1, sym__text_nested, @@ -6295,7 +6296,7 @@ static const uint16_t ts_small_parse_table[] = { sym__block_end, sym__line_separator, [3872] = 3, - ACTIONS(518), 1, + ACTIONS(516), 1, sym_ruby, STATE(118), 2, aux_sym__output_modifiers, @@ -6305,7 +6306,7 @@ static const uint16_t ts_small_parse_table[] = { sym_output_modifier_trailing_whitespace, sym_output_modifier_legacy_trailing_whitespace, [3885] = 3, - ACTIONS(520), 1, + ACTIONS(518), 1, sym_ruby, STATE(118), 2, aux_sym__output_modifiers, @@ -6317,23 +6318,23 @@ static const uint16_t ts_small_parse_table[] = { [3898] = 5, ACTIONS(449), 1, sym__block_start, - ACTIONS(522), 1, + ACTIONS(520), 1, sym__element_rest_text, - ACTIONS(524), 1, + ACTIONS(522), 1, sym__space, STATE(238), 1, sym__text_nested, - ACTIONS(526), 2, + ACTIONS(524), 2, sym__block_end, sym__line_separator, [3915] = 4, - ACTIONS(528), 1, + ACTIONS(526), 1, anon_sym_RBRACK, - ACTIONS(530), 1, + ACTIONS(528), 1, sym__html_comment_condition, STATE(277), 1, sym_html_comment_condition, - ACTIONS(532), 3, + ACTIONS(530), 3, sym__block_start, sym__block_end, sym__line_separator, @@ -6370,37 +6371,37 @@ static const uint16_t ts_small_parse_table[] = { sym__block_end, sym__line_separator, [3973] = 4, - ACTIONS(534), 1, + ACTIONS(532), 1, sym__block_start, - ACTIONS(536), 1, + ACTIONS(534), 1, sym__block_end, - ACTIONS(538), 1, + ACTIONS(536), 1, sym__line_separator, STATE(146), 2, sym__text_nested, aux_sym__text_nested_repeat1, [3987] = 3, - ACTIONS(540), 1, + ACTIONS(538), 1, sym__element_rest_text, STATE(136), 1, aux_sym_element_text_repeat1, - ACTIONS(543), 3, + ACTIONS(541), 3, sym__block_start, sym__block_end, sym__line_separator, [3999] = 1, - ACTIONS(545), 5, + ACTIONS(543), 5, anon_sym_LPAREN, anon_sym_LBRACK, anon_sym_LBRACE, anon_sym_COLON, sym__space, [4007] = 4, - ACTIONS(547), 1, + ACTIONS(545), 1, sym__block_start, - ACTIONS(550), 1, + ACTIONS(548), 1, sym__block_end, - ACTIONS(552), 1, + ACTIONS(550), 1, sym__line_separator, STATE(138), 2, sym__text_nested, @@ -6408,11 +6409,11 @@ static const uint16_t ts_small_parse_table[] = { [4021] = 4, ACTIONS(449), 1, sym__block_start, - ACTIONS(555), 1, + ACTIONS(553), 1, sym__element_rest_text, STATE(217), 1, sym__text_nested, - ACTIONS(557), 2, + ACTIONS(555), 2, sym__block_end, sym__line_separator, [4035] = 4, @@ -6426,11 +6427,11 @@ static const uint16_t ts_small_parse_table[] = { sym__block_end, sym__line_separator, [4049] = 4, - ACTIONS(534), 1, + ACTIONS(532), 1, sym__block_start, - ACTIONS(559), 1, + ACTIONS(557), 1, sym__block_end, - ACTIONS(561), 1, + ACTIONS(559), 1, sym__line_separator, STATE(145), 2, sym__text_nested, @@ -6442,7 +6443,7 @@ static const uint16_t ts_small_parse_table[] = { sym__block, STATE(255), 1, sym_nested, - ACTIONS(563), 2, + ACTIONS(561), 2, sym__block_end, sym__line_separator, [4077] = 4, @@ -6452,7 +6453,7 @@ static const uint16_t ts_small_parse_table[] = { sym__block, STATE(267), 1, sym_nested, - ACTIONS(565), 2, + ACTIONS(563), 2, sym__block_end, sym__line_separator, [4091] = 4, @@ -6462,25 +6463,25 @@ static const uint16_t ts_small_parse_table[] = { sym__block, STATE(260), 1, sym_nested, - ACTIONS(567), 2, + ACTIONS(565), 2, sym__block_end, sym__line_separator, [4105] = 4, - ACTIONS(534), 1, + ACTIONS(532), 1, sym__block_start, - ACTIONS(569), 1, + ACTIONS(567), 1, sym__block_end, - ACTIONS(571), 1, + ACTIONS(569), 1, sym__line_separator, STATE(138), 2, sym__text_nested, aux_sym__text_nested_repeat1, [4119] = 4, - ACTIONS(534), 1, + ACTIONS(532), 1, sym__block_start, - ACTIONS(573), 1, + ACTIONS(571), 1, sym__block_end, - ACTIONS(575), 1, + ACTIONS(573), 1, sym__line_separator, STATE(138), 2, sym__text_nested, @@ -6492,7 +6493,7 @@ static const uint16_t ts_small_parse_table[] = { sym__block, STATE(261), 1, sym_nested, - ACTIONS(577), 2, + ACTIONS(575), 2, sym__block_end, sym__line_separator, [4147] = 4, @@ -6502,7 +6503,7 @@ static const uint16_t ts_small_parse_table[] = { sym_nested, STATE(251), 1, sym__block, - ACTIONS(579), 2, + ACTIONS(577), 2, sym__block_end, sym__line_separator, [4161] = 4, @@ -6512,7 +6513,7 @@ static const uint16_t ts_small_parse_table[] = { sym_nested, STATE(251), 1, sym__block, - ACTIONS(581), 2, + ACTIONS(579), 2, sym__block_end, sym__line_separator, [4175] = 4, @@ -6522,14 +6523,14 @@ static const uint16_t ts_small_parse_table[] = { sym_nested, STATE(251), 1, sym__block, - ACTIONS(583), 2, + ACTIONS(581), 2, sym__block_end, sym__line_separator, [4189] = 4, + ACTIONS(445), 1, + sym__element_rest_text, ACTIONS(449), 1, sym__block_start, - ACTIONS(510), 1, - sym__element_rest_text, STATE(241), 1, sym__text_nested, ACTIONS(451), 2, @@ -6542,17 +6543,17 @@ static const uint16_t ts_small_parse_table[] = { sym_nested, STATE(251), 1, sym__block, - ACTIONS(585), 2, + ACTIONS(583), 2, sym__block_end, sym__line_separator, [4217] = 4, ACTIONS(449), 1, sym__block_start, - ACTIONS(587), 1, + ACTIONS(585), 1, sym__element_rest_text, STATE(230), 1, sym__text_nested, - ACTIONS(589), 2, + ACTIONS(587), 2, sym__block_end, sym__line_separator, [4231] = 4, @@ -6562,13 +6563,13 @@ static const uint16_t ts_small_parse_table[] = { sym_nested, STATE(251), 1, sym__block, - ACTIONS(591), 2, + ACTIONS(589), 2, sym__block_end, sym__line_separator, [4245] = 2, - ACTIONS(595), 1, + ACTIONS(593), 1, sym__attr_name, - ACTIONS(593), 3, + ACTIONS(591), 3, anon_sym_STAR, anon_sym_RBRACK, sym__space_or_newline, @@ -6581,45 +6582,45 @@ static const uint16_t ts_small_parse_table[] = { sym__block_end, sym__line_separator, [4265] = 2, - ACTIONS(599), 1, + ACTIONS(597), 1, sym__attr_name, - ACTIONS(597), 3, + ACTIONS(595), 3, anon_sym_STAR, anon_sym_RPAREN, sym__space_or_newline, [4274] = 2, - ACTIONS(603), 1, + ACTIONS(601), 1, sym__attr_name, - ACTIONS(601), 3, + ACTIONS(599), 3, anon_sym_STAR, anon_sym_RPAREN, sym__space_or_newline, [4283] = 2, - ACTIONS(607), 1, + ACTIONS(605), 1, sym__attr_name, - ACTIONS(605), 3, + ACTIONS(603), 3, anon_sym_STAR, anon_sym_RBRACK, sym__space_or_newline, [4292] = 2, - ACTIONS(611), 1, + ACTIONS(609), 1, sym__attr_name, - ACTIONS(609), 3, + ACTIONS(607), 3, anon_sym_STAR, anon_sym_RBRACE, sym__space_or_newline, [4301] = 3, - ACTIONS(613), 1, + ACTIONS(611), 1, sym__text_line, STATE(259), 1, sym__text, - ACTIONS(615), 2, + ACTIONS(613), 2, sym__block_end, sym__line_separator, [4312] = 2, - ACTIONS(619), 1, + ACTIONS(617), 1, sym__attr_name, - ACTIONS(617), 3, + ACTIONS(615), 3, anon_sym_STAR, anon_sym_RBRACK, sym__space_or_newline, @@ -6628,27 +6629,27 @@ static const uint16_t ts_small_parse_table[] = { sym__block_start, STATE(263), 1, sym__text_nested, - ACTIONS(621), 2, + ACTIONS(619), 2, sym__block_end, sym__line_separator, [4332] = 2, - ACTIONS(625), 1, + ACTIONS(623), 1, sym__attr_name, - ACTIONS(623), 3, + ACTIONS(621), 3, anon_sym_STAR, anon_sym_RBRACK, sym__space_or_newline, [4341] = 2, - ACTIONS(629), 1, + ACTIONS(627), 1, sym__attr_name, - ACTIONS(627), 3, + ACTIONS(625), 3, anon_sym_STAR, anon_sym_RBRACE, sym__space_or_newline, [4350] = 2, - ACTIONS(633), 1, + ACTIONS(631), 1, sym__attr_name, - ACTIONS(631), 3, + ACTIONS(629), 3, anon_sym_STAR, anon_sym_RBRACE, sym__space_or_newline, @@ -6666,7 +6667,7 @@ static const uint16_t ts_small_parse_table[] = { sym__block_start, STATE(264), 1, sym__text_nested, - ACTIONS(635), 2, + ACTIONS(633), 2, sym__block_end, sym__line_separator, [4383] = 3, @@ -6674,20 +6675,20 @@ static const uint16_t ts_small_parse_table[] = { sym__block_start, STATE(217), 1, sym__text_nested, - ACTIONS(557), 2, + ACTIONS(555), 2, sym__block_end, sym__line_separator, [4394] = 2, - ACTIONS(639), 1, + ACTIONS(637), 1, sym__attr_name, - ACTIONS(637), 3, + ACTIONS(635), 3, anon_sym_STAR, anon_sym_RBRACE, sym__space_or_newline, [4403] = 2, - ACTIONS(643), 1, + ACTIONS(641), 1, sym__attr_name, - ACTIONS(641), 3, + ACTIONS(639), 3, anon_sym_STAR, anon_sym_RPAREN, sym__space_or_newline, @@ -6705,20 +6706,20 @@ static const uint16_t ts_small_parse_table[] = { sym__block_start, STATE(247), 1, sym__text_nested, - ACTIONS(645), 2, + ACTIONS(643), 2, sym__block_end, sym__line_separator, [4436] = 2, - ACTIONS(649), 1, + ACTIONS(647), 1, sym__attr_name, - ACTIONS(647), 3, + ACTIONS(645), 3, anon_sym_STAR, anon_sym_RPAREN, sym__space_or_newline, [4445] = 2, - ACTIONS(651), 1, + ACTIONS(649), 1, anon_sym_RBRACK, - ACTIONS(653), 3, + ACTIONS(651), 3, sym__block_start, sym__block_end, sym__line_separator, @@ -6727,7 +6728,7 @@ static const uint16_t ts_small_parse_table[] = { sym__block_start, STATE(230), 1, sym__text_nested, - ACTIONS(589), 2, + ACTIONS(587), 2, sym__block_end, sym__line_separator, [4465] = 3, @@ -6743,20 +6744,20 @@ static const uint16_t ts_small_parse_table[] = { sym__block_start, STATE(235), 1, sym__text_nested, - ACTIONS(655), 2, + ACTIONS(653), 2, sym__block_end, sym__line_separator, [4487] = 2, - ACTIONS(659), 1, + ACTIONS(657), 1, sym__attr_name, - ACTIONS(657), 3, + ACTIONS(655), 3, anon_sym_STAR, anon_sym_RBRACE, sym__space_or_newline, [4496] = 2, - ACTIONS(663), 1, + ACTIONS(661), 1, sym__attr_name, - ACTIONS(661), 3, + ACTIONS(659), 3, anon_sym_STAR, anon_sym_RBRACE, sym__space_or_newline, @@ -6779,7 +6780,7 @@ static const uint16_t ts_small_parse_table[] = { sym__block_start, STATE(239), 1, sym__text_nested, - ACTIONS(665), 2, + ACTIONS(663), 2, sym__block_end, sym__line_separator, [4534] = 2, @@ -6797,16 +6798,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_COLON, sym__space, [4552] = 2, - ACTIONS(669), 1, + ACTIONS(667), 1, sym__attr_name, - ACTIONS(667), 3, + ACTIONS(665), 3, anon_sym_STAR, anon_sym_RPAREN, sym__space_or_newline, [4561] = 2, - ACTIONS(673), 1, + ACTIONS(671), 1, sym__attr_name, - ACTIONS(671), 3, + ACTIONS(669), 3, anon_sym_STAR, anon_sym_RPAREN, sym__space_or_newline, @@ -6817,125 +6818,125 @@ static const uint16_t ts_small_parse_table[] = { sym_output_modifier_trailing_whitespace, sym_output_modifier_legacy_trailing_whitespace, [4577] = 2, - ACTIONS(677), 1, + ACTIONS(675), 1, sym__attr_name, - ACTIONS(675), 3, + ACTIONS(673), 3, anon_sym_STAR, anon_sym_RBRACK, sym__space_or_newline, [4586] = 2, - ACTIONS(681), 1, + ACTIONS(679), 1, sym__attr_name, - ACTIONS(679), 3, + ACTIONS(677), 3, anon_sym_STAR, anon_sym_RBRACK, sym__space_or_newline, [4595] = 1, - ACTIONS(683), 3, + ACTIONS(681), 3, sym__block_start, sym__block_end, sym__line_separator, [4601] = 1, - ACTIONS(550), 3, + ACTIONS(548), 3, sym__block_start, sym__block_end, sym__line_separator, [4607] = 1, - ACTIONS(685), 3, + ACTIONS(683), 3, sym__block_start, sym__block_end, sym__line_separator, [4613] = 1, - ACTIONS(687), 3, + ACTIONS(685), 3, sym__block_start, sym__block_end, sym__line_separator, [4619] = 3, - ACTIONS(689), 1, + ACTIONS(687), 1, sym__block_end, - ACTIONS(691), 1, + ACTIONS(689), 1, sym__line_separator, STATE(197), 1, aux_sym__block_repeat1, [4629] = 3, ACTIONS(35), 1, sym__block_end, - ACTIONS(693), 1, + ACTIONS(691), 1, sym__line_separator, STATE(199), 1, aux_sym__block_repeat1, [4639] = 3, ACTIONS(37), 1, sym__block_end, - ACTIONS(695), 1, + ACTIONS(693), 1, sym__line_separator, STATE(199), 1, aux_sym__block_repeat1, [4649] = 2, - ACTIONS(697), 1, + ACTIONS(695), 1, sym_doctype_xml_encoding, - ACTIONS(699), 2, + ACTIONS(697), 2, sym__block_end, sym__line_separator, [4657] = 3, - ACTIONS(701), 1, + ACTIONS(699), 1, sym__block_end, - ACTIONS(703), 1, + ACTIONS(701), 1, sym__line_separator, STATE(199), 1, aux_sym__block_repeat1, [4667] = 3, - ACTIONS(706), 1, + ACTIONS(704), 1, sym__block_end, - ACTIONS(708), 1, + ACTIONS(706), 1, sym__line_separator, STATE(196), 1, aux_sym__block_repeat1, [4677] = 3, - ACTIONS(710), 1, + ACTIONS(708), 1, sym_attr_value_quoted, - ACTIONS(712), 1, + ACTIONS(710), 1, sym__attr_value_ruby, STATE(41), 1, sym__attr_value, [4687] = 3, - ACTIONS(714), 1, + ACTIONS(712), 1, sym_attr_value_quoted, - ACTIONS(716), 1, + ACTIONS(714), 1, sym__attr_value_ruby_b, STATE(179), 1, sym__attr_delimited_value_b, [4697] = 3, - ACTIONS(718), 1, + ACTIONS(716), 1, sym_attr_value_quoted, - ACTIONS(720), 1, + ACTIONS(718), 1, sym__attr_value_ruby_s, STATE(162), 1, sym__attr_delimited_value_s, [4707] = 3, - ACTIONS(722), 1, + ACTIONS(720), 1, sym_attr_value_quoted, - ACTIONS(724), 1, + ACTIONS(722), 1, sym__attr_value_ruby, STATE(181), 1, sym__attr_value, [4717] = 3, - ACTIONS(726), 1, + ACTIONS(724), 1, sym_attr_value_quoted, - ACTIONS(728), 1, + ACTIONS(726), 1, sym__attr_value_ruby_p, STATE(171), 1, sym__attr_delimited_value_p, [4727] = 1, - ACTIONS(730), 2, + ACTIONS(728), 2, sym__block_end, sym__line_separator, [4732] = 1, - ACTIONS(683), 2, + ACTIONS(681), 2, sym__block_end, sym__line_separator, [4737] = 1, - ACTIONS(732), 2, + ACTIONS(730), 2, sym__block_end, sym__line_separator, [4742] = 1, @@ -6943,15 +6944,15 @@ static const uint16_t ts_small_parse_table[] = { sym__block_end, sym__line_separator, [4747] = 1, - ACTIONS(589), 2, + ACTIONS(587), 2, sym__block_end, sym__line_separator, [4752] = 1, - ACTIONS(734), 2, + ACTIONS(732), 2, sym__block_end, sym__line_separator, [4757] = 1, - ACTIONS(736), 2, + ACTIONS(734), 2, sym__block_end, sym__line_separator, [4762] = 1, @@ -6963,33 +6964,33 @@ static const uint16_t ts_small_parse_table[] = { sym__block_end, sym__line_separator, [4772] = 2, - ACTIONS(738), 1, + ACTIONS(736), 1, sym_attr_assignment, - ACTIONS(740), 1, + ACTIONS(738), 1, sym_attr_assignment_noescape, [4779] = 1, ACTIONS(184), 2, sym__block_end, sym__line_separator, [4784] = 1, - ACTIONS(655), 2, + ACTIONS(653), 2, sym__block_end, sym__line_separator, [4789] = 2, - ACTIONS(742), 1, + ACTIONS(740), 1, sym_attr_assignment, - ACTIONS(744), 1, + ACTIONS(742), 1, sym_attr_assignment_noescape, [4796] = 1, ACTIONS(451), 2, sym__block_end, sym__line_separator, [4801] = 1, - ACTIONS(746), 2, + ACTIONS(744), 2, sym__block_end, sym__line_separator, [4806] = 1, - ACTIONS(748), 2, + ACTIONS(746), 2, sym__block_end, sym__line_separator, [4811] = 1, @@ -6997,25 +6998,25 @@ static const uint16_t ts_small_parse_table[] = { sym__block_end, sym__line_separator, [4816] = 1, - ACTIONS(750), 2, + ACTIONS(748), 2, sym__block_end, sym__line_separator, [4821] = 1, - ACTIONS(685), 2, + ACTIONS(683), 2, sym__block_end, sym__line_separator, [4826] = 2, - ACTIONS(752), 1, + ACTIONS(750), 1, sym__text_line, - ACTIONS(754), 1, + ACTIONS(752), 1, sym__block_end, [4833] = 2, - ACTIONS(752), 1, + ACTIONS(750), 1, sym__text_line, - ACTIONS(756), 1, + ACTIONS(754), 1, sym__block_end, [4840] = 1, - ACTIONS(758), 2, + ACTIONS(756), 2, sym__block_end, sym__line_separator, [4845] = 1, @@ -7023,19 +7024,19 @@ static const uint16_t ts_small_parse_table[] = { sym__block_end, sym__line_separator, [4850] = 1, - ACTIONS(760), 2, + ACTIONS(758), 2, sym__block_end, sym__line_separator, [4855] = 1, - ACTIONS(665), 2, + ACTIONS(663), 2, sym__block_end, sym__line_separator, [4860] = 1, - ACTIONS(762), 2, + ACTIONS(760), 2, sym__block_end, sym__line_separator, [4865] = 1, - ACTIONS(764), 2, + ACTIONS(762), 2, sym__block_end, sym__line_separator, [4870] = 1, @@ -7043,20 +7044,20 @@ static const uint16_t ts_small_parse_table[] = { sym__block_end, sym__line_separator, [4875] = 2, - ACTIONS(573), 1, + ACTIONS(571), 1, sym__block_end, - ACTIONS(752), 1, + ACTIONS(750), 1, sym__text_line, [4882] = 1, - ACTIONS(766), 2, + ACTIONS(764), 2, sym__block_end, sym__line_separator, [4887] = 1, - ACTIONS(768), 2, + ACTIONS(766), 2, sym__block_end, sym__line_separator, [4892] = 1, - ACTIONS(687), 2, + ACTIONS(685), 2, sym__block_end, sym__line_separator, [4897] = 1, @@ -7064,19 +7065,19 @@ static const uint16_t ts_small_parse_table[] = { sym__block_end, sym__line_separator, [4902] = 1, - ACTIONS(770), 2, + ACTIONS(768), 2, sym__block_end, sym__line_separator, [4907] = 1, - ACTIONS(772), 2, + ACTIONS(770), 2, sym__block_end, sym__line_separator, [4912] = 1, - ACTIONS(557), 2, + ACTIONS(555), 2, sym__block_end, sym__line_separator, [4917] = 1, - ACTIONS(774), 2, + ACTIONS(772), 2, sym__block_end, sym__line_separator, [4922] = 1, @@ -7089,40 +7090,40 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(180), 1, anon_sym_EQ_EQ, [4934] = 1, - ACTIONS(701), 2, + ACTIONS(699), 2, sym__block_end, sym__line_separator, [4939] = 1, - ACTIONS(776), 2, + ACTIONS(774), 2, sym__block_end, sym__line_separator, [4944] = 1, - ACTIONS(778), 2, + ACTIONS(776), 2, sym__block_end, sym__line_separator, [4949] = 1, - ACTIONS(780), 2, + ACTIONS(778), 2, sym__block_end, sym__line_separator, [4954] = 1, - ACTIONS(782), 2, + ACTIONS(780), 2, sym__block_end, sym__line_separator, [4959] = 1, - ACTIONS(784), 2, + ACTIONS(782), 2, sym__block_end, sym__line_separator, [4964] = 1, - ACTIONS(786), 2, + ACTIONS(784), 2, sym__block_end, sym__line_separator, [4969] = 2, - ACTIONS(569), 1, + ACTIONS(567), 1, sym__block_end, - ACTIONS(752), 1, + ACTIONS(750), 1, sym__text_line, [4976] = 1, - ACTIONS(788), 2, + ACTIONS(786), 2, sym__block_end, sym__line_separator, [4981] = 1, @@ -7130,11 +7131,11 @@ static const uint16_t ts_small_parse_table[] = { sym__block_end, sym__line_separator, [4986] = 1, - ACTIONS(790), 2, + ACTIONS(788), 2, sym__block_end, sym__line_separator, [4991] = 1, - ACTIONS(792), 2, + ACTIONS(790), 2, sym__block_end, sym__line_separator, [4996] = 1, @@ -7142,35 +7143,35 @@ static const uint16_t ts_small_parse_table[] = { sym__block_end, sym__line_separator, [5001] = 1, - ACTIONS(794), 2, + ACTIONS(792), 2, sym__block_end, sym__line_separator, [5006] = 1, - ACTIONS(796), 2, + ACTIONS(794), 2, sym__block_end, sym__line_separator, [5011] = 1, - ACTIONS(798), 2, + ACTIONS(796), 2, sym__block_end, sym__line_separator, [5016] = 1, - ACTIONS(800), 2, + ACTIONS(798), 2, sym__block_end, sym__line_separator, [5021] = 1, - ACTIONS(802), 2, + ACTIONS(800), 2, sym__block_end, sym__line_separator, [5026] = 1, - ACTIONS(804), 2, + ACTIONS(802), 2, sym__block_end, sym__line_separator, [5031] = 1, - ACTIONS(806), 2, + ACTIONS(804), 2, sym__block_end, sym__line_separator, [5036] = 1, - ACTIONS(808), 2, + ACTIONS(806), 2, sym__block_end, sym__line_separator, [5041] = 1, @@ -7178,15 +7179,15 @@ static const uint16_t ts_small_parse_table[] = { sym__block_end, sym__line_separator, [5046] = 1, - ACTIONS(810), 2, + ACTIONS(808), 2, sym__block_end, sym__line_separator, [5051] = 1, - ACTIONS(812), 2, + ACTIONS(810), 2, sym__block_end, sym__line_separator, [5056] = 1, - ACTIONS(814), 2, + ACTIONS(812), 2, sym__block_end, sym__line_separator, [5061] = 1, @@ -7200,7 +7201,7 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(282), 1, anon_sym_COLON, [5074] = 1, - ACTIONS(774), 1, + ACTIONS(772), 1, ts_builtin_sym_end, [5078] = 1, ACTIONS(294), 1, @@ -7209,22 +7210,22 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(278), 1, anon_sym_COLON, [5086] = 1, - ACTIONS(816), 1, + ACTIONS(814), 1, sym__text_line, [5090] = 1, - ACTIONS(818), 1, + ACTIONS(816), 1, anon_sym_RBRACK, [5094] = 1, - ACTIONS(780), 1, + ACTIONS(778), 1, ts_builtin_sym_end, [5098] = 1, - ACTIONS(820), 1, + ACTIONS(818), 1, sym__attr_value_ruby, [5102] = 1, ACTIONS(270), 1, anon_sym_COLON, [5106] = 1, - ACTIONS(822), 1, + ACTIONS(820), 1, ts_builtin_sym_end, [5110] = 1, ACTIONS(286), 1, @@ -7233,13 +7234,13 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(252), 1, anon_sym_COLON, [5118] = 1, - ACTIONS(824), 1, + ACTIONS(822), 1, sym__attr_value_ruby_p, [5122] = 1, ACTIONS(298), 1, anon_sym_COLON, [5126] = 1, - ACTIONS(826), 1, + ACTIONS(824), 1, anon_sym_COLON, [5130] = 1, ACTIONS(290), 1, @@ -7257,34 +7258,34 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(264), 1, anon_sym_COLON, [5150] = 1, - ACTIONS(752), 1, + ACTIONS(750), 1, sym__text_line, [5154] = 1, - ACTIONS(828), 1, + ACTIONS(826), 1, sym__attr_value_ruby_s, [5158] = 1, - ACTIONS(792), 1, + ACTIONS(790), 1, ts_builtin_sym_end, [5162] = 1, - ACTIONS(830), 1, + ACTIONS(828), 1, sym_ruby, [5166] = 1, - ACTIONS(832), 1, + ACTIONS(830), 1, sym__space, [5170] = 1, - ACTIONS(834), 1, + ACTIONS(832), 1, sym_css_identifier, [5174] = 1, - ACTIONS(836), 1, + ACTIONS(834), 1, sym__attr_value_ruby_b, [5178] = 1, - ACTIONS(838), 1, + ACTIONS(836), 1, ts_builtin_sym_end, [5182] = 1, - ACTIONS(840), 1, + ACTIONS(838), 1, sym__text_line, [5186] = 1, - ACTIONS(842), 1, + ACTIONS(840), 1, sym__attr_value_ruby, }; @@ -7806,7 +7807,7 @@ static const TSParseActionEntry ts_parse_actions[] = { [438] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__attrs_delimited_s_repeat1, 2, 0, 0), SHIFT_REPEAT(126), [441] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attr_name, 1, 0, 0), [443] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attr_name, 1, 0, 0), - [445] = {.entry = {.count = 1, .reusable = false}}, SHIFT(169), + [445] = {.entry = {.count = 1, .reusable = true}}, SHIFT(169), [447] = {.entry = {.count = 1, .reusable = false}}, SHIFT(139), [449] = {.entry = {.count = 1, .reusable = true}}, SHIFT(276), [451] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_element_text, 2, 0, 0), @@ -7837,171 +7838,170 @@ static const TSParseActionEntry ts_parse_actions[] = { [504] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_embedded_engine, 3, 0, 0), [506] = {.entry = {.count = 1, .reusable = false}}, SHIFT(203), [508] = {.entry = {.count = 1, .reusable = true}}, SHIFT(203), - [510] = {.entry = {.count = 1, .reusable = true}}, SHIFT(169), - [512] = {.entry = {.count = 1, .reusable = true}}, SHIFT(139), - [514] = {.entry = {.count = 1, .reusable = true}}, SHIFT(177), - [516] = {.entry = {.count = 1, .reusable = true}}, SHIFT(151), - [518] = {.entry = {.count = 1, .reusable = true}}, SHIFT(149), - [520] = {.entry = {.count = 1, .reusable = true}}, SHIFT(150), - [522] = {.entry = {.count = 1, .reusable = true}}, SHIFT(156), - [524] = {.entry = {.count = 1, .reusable = true}}, SHIFT(140), - [526] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_embedded_engine, 2, 0, 0), - [528] = {.entry = {.count = 1, .reusable = true}}, SHIFT(143), - [530] = {.entry = {.count = 1, .reusable = true}}, SHIFT(175), - [532] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__html_comment_conditional_incomplete, 1, 0, 0), - [534] = {.entry = {.count = 1, .reusable = true}}, SHIFT(300), - [536] = {.entry = {.count = 1, .reusable = true}}, SHIFT(191), - [538] = {.entry = {.count = 1, .reusable = true}}, SHIFT(234), - [540] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_element_text_repeat1, 2, 0, 0), SHIFT_REPEAT(136), - [543] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_element_text_repeat1, 2, 0, 0), - [545] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_embedded_engine_name, 1, 0, 0), - [547] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__text_nested_repeat1, 2, 0, 0), SHIFT_REPEAT(300), - [550] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__text_nested_repeat1, 2, 0, 0), - [552] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__text_nested_repeat1, 2, 0, 0), SHIFT_REPEAT(292), - [555] = {.entry = {.count = 1, .reusable = true}}, SHIFT(178), - [557] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_element_text, 3, 0, 0), - [559] = {.entry = {.count = 1, .reusable = true}}, SHIFT(207), - [561] = {.entry = {.count = 1, .reusable = true}}, SHIFT(252), - [563] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_html_comment_conditional, 3, 0, 0), - [565] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_html_comment_conditional, 2, 0, 0), - [567] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ruby_block_output_noescape, 3, 0, 0), - [569] = {.entry = {.count = 1, .reusable = true}}, SHIFT(224), - [571] = {.entry = {.count = 1, .reusable = true}}, SHIFT(225), - [573] = {.entry = {.count = 1, .reusable = true}}, SHIFT(193), - [575] = {.entry = {.count = 1, .reusable = true}}, SHIFT(226), - [577] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ruby_block_output, 3, 0, 0), - [579] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ruby_block_output_noescape, 2, 0, 0), - [581] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ruby_block_output, 4, 0, 0), - [583] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ruby_block_output_noescape, 4, 0, 0), - [585] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ruby_block_output, 2, 0, 0), - [587] = {.entry = {.count = 1, .reusable = true}}, SHIFT(183), - [589] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_embedded_engine, 4, 0, 0), - [591] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ruby_block_control, 2, 0, 0), - [593] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__attr_delimited_splat_s, 2, 0, 0), - [595] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__attr_delimited_splat_s, 2, 0, 0), - [597] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__attr_delimited_splat_p, 2, 0, 0), - [599] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__attr_delimited_splat_p, 2, 0, 0), - [601] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__attrs_delimited_p_repeat1, 2, 0, 11), - [603] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__attrs_delimited_p_repeat1, 2, 0, 11), - [605] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__attrs_delimited_s_repeat1, 2, 0, 11), - [607] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__attrs_delimited_s_repeat1, 2, 0, 11), - [609] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__attr_delimited_b, 1, 0, 0), - [611] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__attr_delimited_b, 1, 0, 0), - [613] = {.entry = {.count = 1, .reusable = true}}, SHIFT(173), - [615] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_verbatim_text, 1, 0, 0), - [617] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__attr_delimited_s, 3, 0, 15), - [619] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__attr_delimited_s, 3, 0, 15), - [621] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_html_comment, 1, 0, 0), - [623] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__attr_delimited_value_s, 1, 0, 14), - [625] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__attr_delimited_value_s, 1, 0, 14), - [627] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__attr_delimited_splat_b, 2, 0, 0), - [629] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__attr_delimited_splat_b, 2, 0, 0), - [631] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__attrs_delimited_b_repeat1, 2, 0, 11), - [633] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__attrs_delimited_b_repeat1, 2, 0, 11), - [635] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_code_comment, 1, 0, 0), - [637] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__attrs_delimited_b_repeat1, 1, 0, 6), - [639] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__attrs_delimited_b_repeat1, 1, 0, 6), - [641] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__attr_delimited_p, 3, 0, 15), - [643] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__attr_delimited_p, 3, 0, 15), - [645] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__text, 1, 0, 0), - [647] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__attr_delimited_value_p, 1, 0, 14), - [649] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__attr_delimited_value_p, 1, 0, 14), - [651] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_html_comment_condition, 1, 0, 0), - [653] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__html_comment_conditional_incomplete, 2, 0, 0), - [655] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_element_text, 4, 0, 0), - [657] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__attr_delimited_b, 3, 0, 15), - [659] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__attr_delimited_b, 3, 0, 15), - [661] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__attr_delimited_value_b, 1, 0, 14), - [663] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__attr_delimited_value_b, 1, 0, 14), - [665] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_embedded_engine, 5, 0, 0), - [667] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__attr_delimited_p, 1, 0, 0), - [669] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__attr_delimited_p, 1, 0, 0), - [671] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__attrs_delimited_p_repeat1, 1, 0, 6), - [673] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__attrs_delimited_p_repeat1, 1, 0, 6), - [675] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__attr_delimited_s, 1, 0, 0), - [677] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__attr_delimited_s, 1, 0, 0), - [679] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__attrs_delimited_s_repeat1, 1, 0, 6), - [681] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__attrs_delimited_s_repeat1, 1, 0, 6), - [683] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__text_nested, 3, 0, 0), - [685] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__text_nested, 4, 0, 0), - [687] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__text_nested, 5, 0, 0), - [689] = {.entry = {.count = 1, .reusable = true}}, SHIFT(242), - [691] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3), - [693] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), - [695] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5), - [697] = {.entry = {.count = 1, .reusable = true}}, SHIFT(262), - [699] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__doctype_xml, 1, 0, 0), - [701] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__block_repeat1, 2, 0, 0), - [703] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__block_repeat1, 2, 0, 0), SHIFT_REPEAT(8), - [706] = {.entry = {.count = 1, .reusable = true}}, SHIFT(273), - [708] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2), - [710] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41), - [712] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42), - [714] = {.entry = {.count = 1, .reusable = true}}, SHIFT(179), - [716] = {.entry = {.count = 1, .reusable = true}}, SHIFT(180), - [718] = {.entry = {.count = 1, .reusable = true}}, SHIFT(162), - [720] = {.entry = {.count = 1, .reusable = true}}, SHIFT(164), - [722] = {.entry = {.count = 1, .reusable = true}}, SHIFT(181), - [724] = {.entry = {.count = 1, .reusable = true}}, SHIFT(182), - [726] = {.entry = {.count = 1, .reusable = true}}, SHIFT(171), - [728] = {.entry = {.count = 1, .reusable = true}}, SHIFT(174), - [730] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ruby_block_output_noescape, 5, 0, 16), - [732] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_doctype, 3, 0, 0), - [734] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_doctype_xhtml, 1, 0, 0), - [736] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_doctype_html5, 1, 0, 0), - [738] = {.entry = {.count = 1, .reusable = false}}, SHIFT(201), - [740] = {.entry = {.count = 1, .reusable = true}}, SHIFT(201), - [742] = {.entry = {.count = 1, .reusable = false}}, SHIFT(204), - [744] = {.entry = {.count = 1, .reusable = true}}, SHIFT(204), - [746] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_element, 5, 0, 7), - [748] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_element, 5, 0, 3), - [750] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_element, 5, 0, 8), - [752] = {.entry = {.count = 1, .reusable = true}}, SHIFT(192), - [754] = {.entry = {.count = 1, .reusable = true}}, SHIFT(237), - [756] = {.entry = {.count = 1, .reusable = true}}, SHIFT(194), - [758] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ruby_block_output, 5, 0, 16), - [760] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_element, 5, 0, 10), - [762] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_element, 4, 0, 5), - [764] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ruby_block_control, 3, 0, 9), - [766] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_element_text, 5, 0, 0), - [768] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_element, 6, 0, 12), - [770] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_embedded_engine, 6, 0, 0), - [772] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ruby_block_output, 3, 0, 9), - [774] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__block, 3, 0, 0), - [776] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ruby_block_output_noescape, 3, 0, 9), - [778] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__text, 2, 0, 0), - [780] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__block, 4, 0, 0), - [782] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__line, 1, 0, 0), - [784] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__ruby_block, 1, 0, 0), - [786] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_nested, 1, 0, 0), - [788] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_element, 4, 0, 2), - [790] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_html_comment_conditional, 4, 0, 13), - [792] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__block, 5, 0, 0), - [794] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_nested_inline, 1, 0, 0), - [796] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_verbatim_text, 2, 0, 0), - [798] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ruby_block_output_noescape, 4, 0, 13), - [800] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ruby_block_output, 4, 0, 13), - [802] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__doctype_xml, 2, 0, 0), - [804] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_html_comment, 2, 0, 0), - [806] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_code_comment, 2, 0, 0), - [808] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_element, 4, 0, 4), - [810] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_html_comment_conditional, 3, 0, 9), - [812] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__nested_inline_expansion, 2, 0, 0), - [814] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_element, 4, 0, 1), - [816] = {.entry = {.count = 1, .reusable = true}}, SHIFT(141), - [818] = {.entry = {.count = 1, .reusable = true}}, SHIFT(142), - [820] = {.entry = {.count = 1, .reusable = true}}, SHIFT(185), - [822] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), - [824] = {.entry = {.count = 1, .reusable = true}}, SHIFT(157), - [826] = {.entry = {.count = 1, .reusable = true}}, SHIFT(123), - [828] = {.entry = {.count = 1, .reusable = true}}, SHIFT(155), - [830] = {.entry = {.count = 1, .reusable = true}}, SHIFT(154), - [832] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38), - [834] = {.entry = {.count = 1, .reusable = true}}, SHIFT(21), - [836] = {.entry = {.count = 1, .reusable = true}}, SHIFT(165), - [838] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1, 0, 0), - [840] = {.entry = {.count = 1, .reusable = true}}, SHIFT(135), - [842] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40), + [510] = {.entry = {.count = 1, .reusable = true}}, SHIFT(139), + [512] = {.entry = {.count = 1, .reusable = true}}, SHIFT(177), + [514] = {.entry = {.count = 1, .reusable = true}}, SHIFT(151), + [516] = {.entry = {.count = 1, .reusable = true}}, SHIFT(149), + [518] = {.entry = {.count = 1, .reusable = true}}, SHIFT(150), + [520] = {.entry = {.count = 1, .reusable = true}}, SHIFT(156), + [522] = {.entry = {.count = 1, .reusable = true}}, SHIFT(140), + [524] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_embedded_engine, 2, 0, 0), + [526] = {.entry = {.count = 1, .reusable = true}}, SHIFT(143), + [528] = {.entry = {.count = 1, .reusable = true}}, SHIFT(175), + [530] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__html_comment_conditional_incomplete, 1, 0, 0), + [532] = {.entry = {.count = 1, .reusable = true}}, SHIFT(300), + [534] = {.entry = {.count = 1, .reusable = true}}, SHIFT(191), + [536] = {.entry = {.count = 1, .reusable = true}}, SHIFT(234), + [538] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_element_text_repeat1, 2, 0, 0), SHIFT_REPEAT(136), + [541] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_element_text_repeat1, 2, 0, 0), + [543] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_embedded_engine_name, 1, 0, 0), + [545] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__text_nested_repeat1, 2, 0, 0), SHIFT_REPEAT(300), + [548] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__text_nested_repeat1, 2, 0, 0), + [550] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__text_nested_repeat1, 2, 0, 0), SHIFT_REPEAT(292), + [553] = {.entry = {.count = 1, .reusable = true}}, SHIFT(178), + [555] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_element_text, 3, 0, 0), + [557] = {.entry = {.count = 1, .reusable = true}}, SHIFT(207), + [559] = {.entry = {.count = 1, .reusable = true}}, SHIFT(252), + [561] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_html_comment_conditional, 3, 0, 0), + [563] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_html_comment_conditional, 2, 0, 0), + [565] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ruby_block_output_noescape, 3, 0, 0), + [567] = {.entry = {.count = 1, .reusable = true}}, SHIFT(224), + [569] = {.entry = {.count = 1, .reusable = true}}, SHIFT(225), + [571] = {.entry = {.count = 1, .reusable = true}}, SHIFT(193), + [573] = {.entry = {.count = 1, .reusable = true}}, SHIFT(226), + [575] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ruby_block_output, 3, 0, 0), + [577] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ruby_block_output_noescape, 2, 0, 0), + [579] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ruby_block_output, 4, 0, 0), + [581] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ruby_block_output_noescape, 4, 0, 0), + [583] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ruby_block_output, 2, 0, 0), + [585] = {.entry = {.count = 1, .reusable = true}}, SHIFT(183), + [587] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_embedded_engine, 4, 0, 0), + [589] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ruby_block_control, 2, 0, 0), + [591] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__attr_delimited_splat_s, 2, 0, 0), + [593] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__attr_delimited_splat_s, 2, 0, 0), + [595] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__attr_delimited_splat_p, 2, 0, 0), + [597] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__attr_delimited_splat_p, 2, 0, 0), + [599] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__attrs_delimited_p_repeat1, 2, 0, 11), + [601] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__attrs_delimited_p_repeat1, 2, 0, 11), + [603] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__attrs_delimited_s_repeat1, 2, 0, 11), + [605] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__attrs_delimited_s_repeat1, 2, 0, 11), + [607] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__attr_delimited_b, 1, 0, 0), + [609] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__attr_delimited_b, 1, 0, 0), + [611] = {.entry = {.count = 1, .reusable = true}}, SHIFT(173), + [613] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_verbatim_text, 1, 0, 0), + [615] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__attr_delimited_s, 3, 0, 15), + [617] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__attr_delimited_s, 3, 0, 15), + [619] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_html_comment, 1, 0, 0), + [621] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__attr_delimited_value_s, 1, 0, 14), + [623] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__attr_delimited_value_s, 1, 0, 14), + [625] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__attr_delimited_splat_b, 2, 0, 0), + [627] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__attr_delimited_splat_b, 2, 0, 0), + [629] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__attrs_delimited_b_repeat1, 2, 0, 11), + [631] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__attrs_delimited_b_repeat1, 2, 0, 11), + [633] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_code_comment, 1, 0, 0), + [635] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__attrs_delimited_b_repeat1, 1, 0, 6), + [637] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__attrs_delimited_b_repeat1, 1, 0, 6), + [639] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__attr_delimited_p, 3, 0, 15), + [641] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__attr_delimited_p, 3, 0, 15), + [643] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__text, 1, 0, 0), + [645] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__attr_delimited_value_p, 1, 0, 14), + [647] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__attr_delimited_value_p, 1, 0, 14), + [649] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_html_comment_condition, 1, 0, 0), + [651] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__html_comment_conditional_incomplete, 2, 0, 0), + [653] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_element_text, 4, 0, 0), + [655] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__attr_delimited_b, 3, 0, 15), + [657] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__attr_delimited_b, 3, 0, 15), + [659] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__attr_delimited_value_b, 1, 0, 14), + [661] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__attr_delimited_value_b, 1, 0, 14), + [663] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_embedded_engine, 5, 0, 0), + [665] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__attr_delimited_p, 1, 0, 0), + [667] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__attr_delimited_p, 1, 0, 0), + [669] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__attrs_delimited_p_repeat1, 1, 0, 6), + [671] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__attrs_delimited_p_repeat1, 1, 0, 6), + [673] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__attr_delimited_s, 1, 0, 0), + [675] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__attr_delimited_s, 1, 0, 0), + [677] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__attrs_delimited_s_repeat1, 1, 0, 6), + [679] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__attrs_delimited_s_repeat1, 1, 0, 6), + [681] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__text_nested, 3, 0, 0), + [683] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__text_nested, 4, 0, 0), + [685] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__text_nested, 5, 0, 0), + [687] = {.entry = {.count = 1, .reusable = true}}, SHIFT(242), + [689] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3), + [691] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), + [693] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5), + [695] = {.entry = {.count = 1, .reusable = true}}, SHIFT(262), + [697] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__doctype_xml, 1, 0, 0), + [699] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__block_repeat1, 2, 0, 0), + [701] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__block_repeat1, 2, 0, 0), SHIFT_REPEAT(8), + [704] = {.entry = {.count = 1, .reusable = true}}, SHIFT(273), + [706] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2), + [708] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41), + [710] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42), + [712] = {.entry = {.count = 1, .reusable = true}}, SHIFT(179), + [714] = {.entry = {.count = 1, .reusable = true}}, SHIFT(180), + [716] = {.entry = {.count = 1, .reusable = true}}, SHIFT(162), + [718] = {.entry = {.count = 1, .reusable = true}}, SHIFT(164), + [720] = {.entry = {.count = 1, .reusable = true}}, SHIFT(181), + [722] = {.entry = {.count = 1, .reusable = true}}, SHIFT(182), + [724] = {.entry = {.count = 1, .reusable = true}}, SHIFT(171), + [726] = {.entry = {.count = 1, .reusable = true}}, SHIFT(174), + [728] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ruby_block_output_noescape, 5, 0, 16), + [730] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_doctype, 3, 0, 0), + [732] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_doctype_xhtml, 1, 0, 0), + [734] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_doctype_html5, 1, 0, 0), + [736] = {.entry = {.count = 1, .reusable = false}}, SHIFT(201), + [738] = {.entry = {.count = 1, .reusable = true}}, SHIFT(201), + [740] = {.entry = {.count = 1, .reusable = false}}, SHIFT(204), + [742] = {.entry = {.count = 1, .reusable = true}}, SHIFT(204), + [744] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_element, 5, 0, 7), + [746] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_element, 5, 0, 3), + [748] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_element, 5, 0, 8), + [750] = {.entry = {.count = 1, .reusable = true}}, SHIFT(192), + [752] = {.entry = {.count = 1, .reusable = true}}, SHIFT(237), + [754] = {.entry = {.count = 1, .reusable = true}}, SHIFT(194), + [756] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ruby_block_output, 5, 0, 16), + [758] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_element, 5, 0, 10), + [760] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_element, 4, 0, 5), + [762] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ruby_block_control, 3, 0, 9), + [764] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_element_text, 5, 0, 0), + [766] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_element, 6, 0, 12), + [768] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_embedded_engine, 6, 0, 0), + [770] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ruby_block_output, 3, 0, 9), + [772] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__block, 3, 0, 0), + [774] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ruby_block_output_noescape, 3, 0, 9), + [776] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__text, 2, 0, 0), + [778] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__block, 4, 0, 0), + [780] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__line, 1, 0, 0), + [782] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__ruby_block, 1, 0, 0), + [784] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_nested, 1, 0, 0), + [786] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_element, 4, 0, 2), + [788] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_html_comment_conditional, 4, 0, 13), + [790] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__block, 5, 0, 0), + [792] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_nested_inline, 1, 0, 0), + [794] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_verbatim_text, 2, 0, 0), + [796] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ruby_block_output_noescape, 4, 0, 13), + [798] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ruby_block_output, 4, 0, 13), + [800] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__doctype_xml, 2, 0, 0), + [802] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_html_comment, 2, 0, 0), + [804] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_code_comment, 2, 0, 0), + [806] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_element, 4, 0, 4), + [808] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_html_comment_conditional, 3, 0, 9), + [810] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__nested_inline_expansion, 2, 0, 0), + [812] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_element, 4, 0, 1), + [814] = {.entry = {.count = 1, .reusable = true}}, SHIFT(141), + [816] = {.entry = {.count = 1, .reusable = true}}, SHIFT(142), + [818] = {.entry = {.count = 1, .reusable = true}}, SHIFT(185), + [820] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), + [822] = {.entry = {.count = 1, .reusable = true}}, SHIFT(157), + [824] = {.entry = {.count = 1, .reusable = true}}, SHIFT(123), + [826] = {.entry = {.count = 1, .reusable = true}}, SHIFT(155), + [828] = {.entry = {.count = 1, .reusable = true}}, SHIFT(154), + [830] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38), + [832] = {.entry = {.count = 1, .reusable = true}}, SHIFT(21), + [834] = {.entry = {.count = 1, .reusable = true}}, SHIFT(165), + [836] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1, 0, 0), + [838] = {.entry = {.count = 1, .reusable = true}}, SHIFT(135), + [840] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40), }; enum ts_external_scanner_symbol_identifiers {