Index: tools/vscode/uwaterloo.cforall-0.1.0/syntaxes/cfa.tmLanguage.json
===================================================================
--- tools/vscode/uwaterloo.cforall-0.1.0/syntaxes/cfa.tmLanguage.json	(revision 622b8acf9a4c49afb350ae789dff3137bfa736ce)
+++ tools/vscode/uwaterloo.cforall-0.1.0/syntaxes/cfa.tmLanguage.json	(revision 822e4e5c5d6a59a6619ab98a340576074a90977b)
@@ -230,5 +230,7 @@
 				{"include": "#constant.pointer"},
 				{"include": "#constant.number"},
-				{"include": "#constant.string"}
+				{"include": "#constant.string.single"},
+				{"include": "#constant.string.double"},
+				{"include": "#constant.endline"}
 			],
 			"repository": {
@@ -248,4 +250,38 @@
 						{"name": "constant.language.decimal.cfa", "match": "\\b[\\d][_\\d\\.e\\+]*p"}
 					]
+				},
+				"constant.string.content": {
+					"patterns": [
+						{ "name": "constant.character.escape.cfa" , "match": "\\\\."},
+						{ "name": "constant.other.placeholder.cfa", "match": "%\\+?(\\.(\\d+|\\*))?(hh|h|ll|l|j|z|t|L)?[diuoxXfFeEgGaAcspn%]"}
+					]
+				},
+				"constant.string.double": {
+					"name": "string.quoted.double.cfa",
+					"begin": "\"",
+					"end": "\"",
+					"beginCaptures": {
+						"0": { "name": "punctuation.definition.string.begin.cfa" }
+					},
+					"endCaptures": {
+						"0": { "name": "punctuation.definition.string.end.cfa" }
+					},
+					"patterns": [
+						{ "include": "#constant.string.content"}
+					]
+				},
+				"constant.string.single": {
+					"name": "string.quoted.single.cfa",
+					"begin": "'",
+					"end": "'",
+					"beginCaptures": { "0": { "name": "punctuation.definition.string.begin.cfa" } },
+					"endCaptures"  : { "0": { "name": "punctuation.definition.string.end.cfa"   } },
+					"patterns": [
+						{ "include": "#constant.string.content"}
+					]
+				},
+				"constant.endline": {
+					"name": "constant.character.escape.line-continuation.cfa",
+					"match": "\\\\\\s*(//.*)?"
 				}
 			}
