diff options
| author | Li Jin <dragon-fly@qq.com> | 2026-02-19 15:49:30 +0800 |
|---|---|---|
| committer | Li Jin <dragon-fly@qq.com> | 2026-02-19 15:49:30 +0800 |
| commit | 0ada9d56ae41d07860d61a5ee46bbe67d1424d6f (patch) | |
| tree | ebb5c6942ee57729b855328b071388d3c1101c52 /src | |
| parent | 6437b10cd35a55a5a223f98973209cb48f6cfb02 (diff) | |
| download | yuescript-0ada9d56ae41d07860d61a5ee46bbe67d1424d6f.tar.gz yuescript-0ada9d56ae41d07860d61a5ee46bbe67d1424d6f.tar.bz2 yuescript-0ada9d56ae41d07860d61a5ee46bbe67d1424d6f.zip | |
Fix reserve comment parsing for table block comment lines
Diffstat (limited to 'src')
| -rw-r--r-- | src/yuescript/yue_parser.cpp | 7 |
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 >> ','); |
