From 0ada9d56ae41d07860d61a5ee46bbe67d1424d6f Mon Sep 17 00:00:00 2001 From: Li Jin Date: Thu, 19 Feb 2026 15:49:30 +0800 Subject: Fix reserve comment parsing for table block comment lines --- src/yuescript/yue_parser.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/yuescript/yue_parser.cpp b/src/yuescript/yue_parser.cpp index e445945..21f19a3 100644 --- a/src/yuescript/yue_parser.cpp +++ b/src/yuescript/yue_parser.cpp @@ -909,11 +909,12 @@ YueParser::YueParser() { white >> '}' ); - table_block_inner = Seperator >> key_value_line >> *(+space_break >> key_value_line); - TableBlock = +space_break >> advance_match >> ensure(table_block_inner, pop_indent); + table_block_inner = Seperator >> key_value_line >> *((+(plain_space >> line_break) >> key_value_line) | (+space_break >> not_(expr("--")) >> key_value_line)); + TableBlock = ((+(plain_space >> line_break)) | (+space_break >> not_(expr("--")))) >> advance_match >> ensure(table_block_inner, pop_indent); TableBlockIndent = ('*' | '-' >> space_one) >> Seperator >> disable_arg_table_block_rule( space >> key_value_list >> -(space >> ',') >> - -(+space_break >> advance_match >> space >> ensure(key_value_list >> -(space >> ',') >> *(+space_break >> key_value_line), pop_indent))); + -((plain_space >> line_break >> advance_match >> space >> ensure(key_value_list >> -(space >> ',') >> *((+(plain_space >> line_break) >> key_value_line) | (+space_break >> not_(expr("--")) >> key_value_line)), pop_indent)) | + (+space_break >> advance_match >> space >> ensure(key_value_list >> -(space >> ',') >> *(+space_break >> key_value_line), pop_indent)))); ClassMemberList = Seperator >> key_value >> *(space >> ',' >> space >> key_value); class_line = check_indent_match >> space >> (ClassMemberList | Statement) >> -(space >> ','); -- cgit v1.2.3-55-g6feb