aboutsummaryrefslogtreecommitdiff
path: root/plugin/syntaxes
diff options
context:
space:
mode:
author_ov4 <ov4@ov4.org>2026-10-21 10:31:09 +0000
committer_ov4 <ov4@ov4.org>2026-10-21 10:31:09 +0000
commitaf6bb061ff447f860c514b60202c3192ceec952b (patch)
tree09cf21eb75b8d7f6b1771c38765341836a2b890c /plugin/syntaxes
parent9939ebe7f0ec25b042c9d83ed651cde0e2ea3a30 (diff)
fix(plugin): recognize literal escapes and C string suffixes
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'plugin/syntaxes')
-rw-r--r--plugin/syntaxes/cie-pseudocode.tmLanguage.json38
1 files changed, 28 insertions, 10 deletions
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
@@ -160,40 +160,58 @@
"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]"
}
]
}