1
0
Эх сурвалжийг харах

Fix bug with highlighting of C++ raw string literals (#4436)

* Fix bug with highlighting of C++ raw string literals

* Update to today's monaco-editor-core

* Continue generating `string.raw.end` tokens

---------

Co-authored-by: Alex Dima <alexdima@microsoft.com>
Jeremy Rifkin 1 жил өмнө
parent
commit
92f21bfb5b

+ 7 - 7
package-lock.json

@@ -25,7 +25,7 @@
 				"jsdom": "^19.0.0",
 				"jsonc-parser": "^3.0.0",
 				"mocha": "^9.2.0",
-				"monaco-editor-core": "0.48.0-dev-20240319",
+				"monaco-editor-core": "0.48.0-dev-20240320",
 				"parcel": "^2.7.0",
 				"pin-github-action": "^1.8.0",
 				"playwright": "^1.32.2",
@@ -5388,9 +5388,9 @@
 			"dev": true
 		},
 		"node_modules/monaco-editor-core": {
-			"version": "0.48.0-dev-20240319",
-			"resolved": "https://registry.npmjs.org/monaco-editor-core/-/monaco-editor-core-0.48.0-dev-20240319.tgz",
-			"integrity": "sha512-w8QasiJcJY/XPHPqtqj1+aokHrFIFBYuKOOABFT9vDmTEp/0euMxARhwc0R1VvtQ1hSFVKb0CQq6X1kMdgvbbQ==",
+			"version": "0.48.0-dev-20240320",
+			"resolved": "https://registry.npmjs.org/monaco-editor-core/-/monaco-editor-core-0.48.0-dev-20240320.tgz",
+			"integrity": "sha512-fXS0Bt39Qv9C10Cuuf0ZvgcK8LhN+fP+27sDfjILEQCUVRa4pDAtvZOny2BiiPqsmOINch8UVNSZtH7+Af3ngQ==",
 			"dev": true
 		},
 		"node_modules/mri": {
@@ -11144,9 +11144,9 @@
 			}
 		},
 		"monaco-editor-core": {
-			"version": "0.48.0-dev-20240319",
-			"resolved": "https://registry.npmjs.org/monaco-editor-core/-/monaco-editor-core-0.48.0-dev-20240319.tgz",
-			"integrity": "sha512-w8QasiJcJY/XPHPqtqj1+aokHrFIFBYuKOOABFT9vDmTEp/0euMxARhwc0R1VvtQ1hSFVKb0CQq6X1kMdgvbbQ==",
+			"version": "0.48.0-dev-20240320",
+			"resolved": "https://registry.npmjs.org/monaco-editor-core/-/monaco-editor-core-0.48.0-dev-20240320.tgz",
+			"integrity": "sha512-fXS0Bt39Qv9C10Cuuf0ZvgcK8LhN+fP+27sDfjILEQCUVRa4pDAtvZOny2BiiPqsmOINch8UVNSZtH7+Af3ngQ==",
 			"dev": true
 		},
 		"mri": {

+ 1 - 1
package.json

@@ -52,7 +52,7 @@
 		"jsdom": "^19.0.0",
 		"jsonc-parser": "^3.0.0",
 		"mocha": "^9.2.0",
-		"monaco-editor-core": "0.48.0-dev-20240319",
+		"monaco-editor-core": "0.48.0-dev-20240320",
 		"parcel": "^2.7.0",
 		"pin-github-action": "^1.8.0",
 		"playwright": "^1.32.2",

+ 3 - 15
src/basic-languages/cpp/cpp.ts

@@ -378,21 +378,9 @@ export const language = <languages.IMonarchLanguage>{
 		],
 
 		raw: [
-			[
-				/(.*)(\))(?:([^ ()\\\t"]*))(\")/,
-				{
-					cases: {
-						'$3==$S2': [
-							'string.raw',
-							'string.raw.end',
-							'string.raw.end',
-							{ token: 'string.raw.end', next: '@pop' }
-						],
-						'@default': ['string.raw', 'string.raw', 'string.raw', 'string.raw']
-					}
-				}
-			],
-			[/.*/, 'string.raw']
+			[/[^)]+/, 'string.raw'],
+			[/\)$S2\"/, { token: 'string.raw.end', next: '@pop' }],
+			[/\)/, 'string.raw']
 		],
 
 		annotation: [