aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLi Jin <dragon-fly@qq.com>2026-02-19 15:49:30 +0800
committerLi Jin <dragon-fly@qq.com>2026-02-19 15:49:30 +0800
commit0ada9d56ae41d07860d61a5ee46bbe67d1424d6f (patch)
treeebb5c6942ee57729b855328b071388d3c1101c52
parent6437b10cd35a55a5a223f98973209cb48f6cfb02 (diff)
downloadyuescript-0ada9d56ae41d07860d61a5ee46bbe67d1424d6f.tar.gz
yuescript-0ada9d56ae41d07860d61a5ee46bbe67d1424d6f.tar.bz2
yuescript-0ada9d56ae41d07860d61a5ee46bbe67d1424d6f.zip
Fix reserve comment parsing for table block comment lines
-rw-r--r--src/yuescript/yue_parser.cpp7
1 files changed, 4 insertions, 3 deletions
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() {
909 white >> '}' 909 white >> '}'
910 ); 910 );
911 911
912 table_block_inner = Seperator >> key_value_line >> *(+space_break >> key_value_line); 912 table_block_inner = Seperator >> key_value_line >> *((+(plain_space >> line_break) >> key_value_line) | (+space_break >> not_(expr("--")) >> key_value_line));
913 TableBlock = +space_break >> advance_match >> ensure(table_block_inner, pop_indent); 913 TableBlock = ((+(plain_space >> line_break)) | (+space_break >> not_(expr("--")))) >> advance_match >> ensure(table_block_inner, pop_indent);
914 TableBlockIndent = ('*' | '-' >> space_one) >> Seperator >> disable_arg_table_block_rule( 914 TableBlockIndent = ('*' | '-' >> space_one) >> Seperator >> disable_arg_table_block_rule(
915 space >> key_value_list >> -(space >> ',') >> 915 space >> key_value_list >> -(space >> ',') >>
916 -(+space_break >> advance_match >> space >> ensure(key_value_list >> -(space >> ',') >> *(+space_break >> key_value_line), pop_indent))); 916 -((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)) |
917 (+space_break >> advance_match >> space >> ensure(key_value_list >> -(space >> ',') >> *(+space_break >> key_value_line), pop_indent))));
917 918
918 ClassMemberList = Seperator >> key_value >> *(space >> ',' >> space >> key_value); 919 ClassMemberList = Seperator >> key_value >> *(space >> ',' >> space >> key_value);
919 class_line = check_indent_match >> space >> (ClassMemberList | Statement) >> -(space >> ','); 920 class_line = check_indent_match >> space >> (ClassMemberList | Statement) >> -(space >> ',');