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/syntaxes/cie-pseudocode.tmLanguage.json | 38 +++++++++++++++++++------- 1 file changed, 28 insertions(+), 10 deletions(-) (limited to 'plugin/syntaxes/cie-pseudocode.tmLanguage.json') diff --git a/plugin/syntaxes/cie-pseudocode.tmLanguage.json b/plugin/syntaxes/cie-pseudocode.tmLanguage.json index d0830a8..cdf175a 100644 --- a/plugin/syntaxes/cie-pseudocode.tmLanguage.json +++ b/plugin/syntaxes/cie-pseudocode.tmLanguage.json @@ -159,41 +159,59 @@ }, "strings": { "patterns": [ - { - "match": "'''", - "name": "string.quoted.single.cie-pseudocode" - }, { "begin": "\"", - "end": "\"|$", + "end": "(\")(C)?|$", "beginCaptures": { "0": { "name": "punctuation.definition.string.begin.cie-pseudocode" } }, "endCaptures": { - "0": { + "1": { "name": "punctuation.definition.string.end.cie-pseudocode" + }, + "2": { + "name": "keyword.other.suffix.literal.user-defined.string.cpp" } }, "name": "string.quoted.double.cie-pseudocode", - "patterns": [] + "patterns": [ + { + "include": "#escapes" + } + ] }, { "begin": "'", - "end": "'|$", + "end": "(')|$", "beginCaptures": { "0": { "name": "punctuation.definition.string.begin.cie-pseudocode" } }, "endCaptures": { - "0": { + "1": { "name": "punctuation.definition.string.end.cie-pseudocode" } }, "name": "string.quoted.single.cie-pseudocode", - "patterns": [] + "patterns": [ + { + "include": "#escapes" + } + ] + } + ] + }, + "escapes": { + "patterns": [ + { + "match": "\\\\(?:['\"?\\\\abfnrtv]|[0-7]{1,3}|x[0-9A-Fa-f]+|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})", + "name": "constant.character.escape" + }, + { + "match": "\\\\[^\\r\\n]" } ] } -- cgit v1.3.1-4-g156e