From af6bb061ff447f860c514b60202c3192ceec952b Mon Sep 17 00:00:00 2001 From: _ov4 Date: Wed, 21 Oct 2026 10:31:09 +0000 Subject: fix(plugin): recognize literal escapes and C string suffixes Co-Authored-By: Claude Opus 5.5 --- plugin/AGENTS/ARCH.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'plugin/AGENTS') diff --git a/plugin/AGENTS/ARCH.md b/plugin/AGENTS/ARCH.md index 31c5974..90e9614 100644 --- a/plugin/AGENTS/ARCH.md +++ b/plugin/AGENTS/ARCH.md @@ -82,10 +82,11 @@ only a subset of its syntax: ordinary parentheses. `TYPE Name = C_TYPE("...")` is a single-line alias declaration, so it does not open an indentation block. - The compiler decodes C++17 byte escapes and Unicode escapes in literals; strings - encode Unicode as UTF-8 and CHAR Unicode escapes must be ASCII. The plugin's - grammar and quote masking still ignore escapes and retain legacy `'''` handling; - the compiler now requires an escaped quote character (`'\''`). Neither supports - multiline literal continuation. + encode Unicode as UTF-8 and CHAR Unicode escapes must be ASCII. Highlighting + uses the C++ escape scope and string-suffix scope for adjacent uppercase C. + Grammar and shared quote masking honor escaped quotes and backslashes; quote + characters use `'\''`, with no legacy three-quote special case. Neither + supports multiline literal continuation. - Blocks: IF/THEN/ELSE/ENDIF, WHILE/DO/ENDWHILE, REPEAT/UNTIL, FOR/NEXT, FUNCTION/ENDFUNCTION, PROCEDURE/ENDPROCEDURE, record TYPE/ENDTYPE and TRY/CATCH/ENDTRY. CATCH aligns with TRY and starts another indented body; -- cgit v1.3.1-4-g156e