Skip to content

Commit 3c822e4

Browse files
committed
Fix regexp escapes
1 parent 85510f6 commit 3c822e4

File tree

3 files changed

+49
-25
lines changed

3 files changed

+49
-25
lines changed

syntaxes/regexp.tmLanguage.json

Lines changed: 18 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@
5656
"match": "[$_[:alpha:]][$_[:alnum:]]*",
5757
"name": "variable.other.regexp.json"
5858
},
59-
{ "include": "source.json.embedded#stringcontent" }
59+
{ "include": "#escapes" }
6060
]
6161
},
6262
{
@@ -125,15 +125,17 @@
125125
"name": "variable.other.constant.character-class.range.regexp.json"
126126
},
127127
{
128-
"match": "(?:(\\\\{2}(?>[0-7]{3}|x\\h{2}|u\\h{4}))|(\\\\{2}c[A-Z])|(\\\\{4}|\\\\{1,2}[^\\\\wWsSdD])|.)-(?:(\\\\{2}(?:[0-7]{3}|x\\h{2}|u\\h{4}))|(\\\\{2}c[A-Z])|(\\\\{4}|\\\\{1,2}[^\\\\wWsSdD])|[^]\"])",
128+
"match": "(?:(\\\\{2}(?>[0-7]{3}|x\\h{2}|u\\h{4}))|(\\\\{2}c[A-Za-z])|(\\\\{3})\\\\|(\\\\{1,2})[^\\\\wWsSdD]|.)-(?:(\\\\{2}(?:[0-7]{3}|x\\h{2}|u\\h{4}))|(\\\\{2}c[A-Za-z])|(\\\\{3})\\\\|(\\\\{1,2})[^\\\\wWsSdD]|[^]\"])",
129129
"captures": {
130130
"0": { "name": "support.class.range.regex.json" },
131131
"1": { "name": "constant.character.numeric.regexp.json" },
132132
"2": { "name": "constant.character.control.regexp.json" },
133133
"3": { "name": "constant.character.escape.backslash.regexp.json" },
134-
"4": { "name": "constant.character.numeric.regexp.json" },
135-
"5": { "name": "constant.character.control.regexp.json" },
136-
"6": { "name": "constant.character.escape.backslash.regexp.json" }
134+
"4": { "name": "constant.character.escape.backslash.regexp.json" },
135+
"5": { "name": "constant.character.numeric.regexp.json" },
136+
"6": { "name": "constant.character.control.regexp.json" },
137+
"7": { "name": "constant.character.escape.backslash.regexp.json" },
138+
"8": { "name": "constant.character.escape.backslash.regexp.json" }
137139
},
138140
"name": "constant.other.character-class.range.regexp.json"
139141
},
@@ -170,7 +172,7 @@
170172
"match": "(\\\\{2})[^\\\\\"]",
171173
"captures": { "1": { "name": "constant.character.escape.backslash.regex.regexp.json" } }
172174
},
173-
{ "include": "source.json.embedded#stringcontent" }
175+
{ "include": "#escapes" }
174176
]
175177
},
176178
"unicode": {
@@ -196,10 +198,19 @@
196198
"match": "[a-zA-Z_]+",
197199
"name": "variable.other.constant.regexp.json"
198200
},
199-
{ "include": "source.json.embedded#stringcontent" }
201+
{ "include": "#escapes" }
200202
]
201203
}
202204
]
205+
},
206+
"escapes": {
207+
"patterns": [
208+
{
209+
"match": "(\\\\)[\"/]",
210+
"captures": { "1": { "name": "constant.character.escape.json.comments" } }
211+
},
212+
{ "include": "source.json.comments.embedded#stringcontent" }
213+
]
203214
}
204215
}
205216
}

syntaxes/tests/JSON/package.json.snap

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1220,17 +1220,21 @@
12201220
# ^ source.json.embedded meta.structure.dictionary.json .meta.embedded.contributes. meta.structure.dictionary.value.json meta.structure.dictionary.json .meta.embedded.languages. meta.structure.dictionary.value.json meta.structure.array.json meta.structure.dictionary.json .meta.embedded.firstLine. meta.structure.dictionary.value.json string.quoted.double.json punctuation.definition.string.begin.json
12211221
# ^ source.json.embedded meta.structure.dictionary.json .meta.embedded.contributes. meta.structure.dictionary.value.json meta.structure.dictionary.json .meta.embedded.languages. meta.structure.dictionary.value.json meta.structure.array.json meta.structure.dictionary.json .meta.embedded.firstLine. meta.structure.dictionary.value.json string.quoted.double.json meta.embedded.json.regexp string.regexp.json
12221222
# ^ source.json.embedded meta.structure.dictionary.json .meta.embedded.contributes. meta.structure.dictionary.value.json meta.structure.dictionary.json .meta.embedded.languages. meta.structure.dictionary.value.json meta.structure.array.json meta.structure.dictionary.json .meta.embedded.firstLine. meta.structure.dictionary.value.json string.quoted.double.json meta.embedded.json.regexp string.regexp.json meta.embedded.group.regexp.json punctuation.definition.group.regexp.json
1223-
# ^^ source.json.embedded meta.structure.dictionary.json .meta.embedded.contributes. meta.structure.dictionary.value.json meta.structure.dictionary.json .meta.embedded.languages. meta.structure.dictionary.value.json meta.structure.array.json meta.structure.dictionary.json .meta.embedded.firstLine. meta.structure.dictionary.value.json string.quoted.double.json meta.embedded.json.regexp string.regexp.json meta.embedded.group.regexp.json string.regexp.json constant.character.escape.json
1223+
# ^ source.json.embedded meta.structure.dictionary.json .meta.embedded.contributes. meta.structure.dictionary.value.json meta.structure.dictionary.json .meta.embedded.languages. meta.structure.dictionary.value.json meta.structure.array.json meta.structure.dictionary.json .meta.embedded.firstLine. meta.structure.dictionary.value.json string.quoted.double.json meta.embedded.json.regexp string.regexp.json meta.embedded.group.regexp.json string.regexp.json constant.character.escape.json.comments
1224+
# ^ source.json.embedded meta.structure.dictionary.json .meta.embedded.contributes. meta.structure.dictionary.value.json meta.structure.dictionary.json .meta.embedded.languages. meta.structure.dictionary.value.json meta.structure.array.json meta.structure.dictionary.json .meta.embedded.firstLine. meta.structure.dictionary.value.json string.quoted.double.json meta.embedded.json.regexp string.regexp.json meta.embedded.group.regexp.json string.regexp.json
12241225
# ^^^^^^^^^ source.json.embedded meta.structure.dictionary.json .meta.embedded.contributes. meta.structure.dictionary.value.json meta.structure.dictionary.json .meta.embedded.languages. meta.structure.dictionary.value.json meta.structure.array.json meta.structure.dictionary.json .meta.embedded.firstLine. meta.structure.dictionary.value.json string.quoted.double.json meta.embedded.json.regexp string.regexp.json meta.embedded.group.regexp.json string.regexp.json
1225-
# ^^ source.json.embedded meta.structure.dictionary.json .meta.embedded.contributes. meta.structure.dictionary.value.json meta.structure.dictionary.json .meta.embedded.languages. meta.structure.dictionary.value.json meta.structure.array.json meta.structure.dictionary.json .meta.embedded.firstLine. meta.structure.dictionary.value.json string.quoted.double.json meta.embedded.json.regexp string.regexp.json meta.embedded.group.regexp.json string.regexp.json constant.character.escape.json
1226+
# ^ source.json.embedded meta.structure.dictionary.json .meta.embedded.contributes. meta.structure.dictionary.value.json meta.structure.dictionary.json .meta.embedded.languages. meta.structure.dictionary.value.json meta.structure.array.json meta.structure.dictionary.json .meta.embedded.firstLine. meta.structure.dictionary.value.json string.quoted.double.json meta.embedded.json.regexp string.regexp.json meta.embedded.group.regexp.json string.regexp.json constant.character.escape.json.comments
1227+
# ^ source.json.embedded meta.structure.dictionary.json .meta.embedded.contributes. meta.structure.dictionary.value.json meta.structure.dictionary.json .meta.embedded.languages. meta.structure.dictionary.value.json meta.structure.array.json meta.structure.dictionary.json .meta.embedded.firstLine. meta.structure.dictionary.value.json string.quoted.double.json meta.embedded.json.regexp string.regexp.json meta.embedded.group.regexp.json string.regexp.json
12261228
# ^ source.json.embedded meta.structure.dictionary.json .meta.embedded.contributes. meta.structure.dictionary.value.json meta.structure.dictionary.json .meta.embedded.languages. meta.structure.dictionary.value.json meta.structure.array.json meta.structure.dictionary.json .meta.embedded.firstLine. meta.structure.dictionary.value.json string.quoted.double.json meta.embedded.json.regexp string.regexp.json meta.embedded.group.regexp.json string.regexp.json keyword.operator.or.regexp.json
1227-
# ^^ source.json.embedded meta.structure.dictionary.json .meta.embedded.contributes. meta.structure.dictionary.value.json meta.structure.dictionary.json .meta.embedded.languages. meta.structure.dictionary.value.json meta.structure.array.json meta.structure.dictionary.json .meta.embedded.firstLine. meta.structure.dictionary.value.json string.quoted.double.json meta.embedded.json.regexp string.regexp.json meta.embedded.group.regexp.json string.regexp.json constant.character.escape.json
1229+
# ^ source.json.embedded meta.structure.dictionary.json .meta.embedded.contributes. meta.structure.dictionary.value.json meta.structure.dictionary.json .meta.embedded.languages. meta.structure.dictionary.value.json meta.structure.array.json meta.structure.dictionary.json .meta.embedded.firstLine. meta.structure.dictionary.value.json string.quoted.double.json meta.embedded.json.regexp string.regexp.json meta.embedded.group.regexp.json string.regexp.json constant.character.escape.json.comments
1230+
# ^ source.json.embedded meta.structure.dictionary.json .meta.embedded.contributes. meta.structure.dictionary.value.json meta.structure.dictionary.json .meta.embedded.languages. meta.structure.dictionary.value.json meta.structure.array.json meta.structure.dictionary.json .meta.embedded.firstLine. meta.structure.dictionary.value.json string.quoted.double.json meta.embedded.json.regexp string.regexp.json meta.embedded.group.regexp.json string.regexp.json
12281231
# ^ source.json.embedded meta.structure.dictionary.json .meta.embedded.contributes. meta.structure.dictionary.value.json meta.structure.dictionary.json .meta.embedded.languages. meta.structure.dictionary.value.json meta.structure.array.json meta.structure.dictionary.json .meta.embedded.firstLine. meta.structure.dictionary.value.json string.quoted.double.json meta.embedded.json.regexp string.regexp.json meta.embedded.group.regexp.json string.regexp.json meta.embedded.group.regexp.json punctuation.definition.group.regexp.json
12291232
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.json.embedded meta.structure.dictionary.json .meta.embedded.contributes. meta.structure.dictionary.value.json meta.structure.dictionary.json .meta.embedded.languages. meta.structure.dictionary.value.json meta.structure.array.json meta.structure.dictionary.json .meta.embedded.firstLine. meta.structure.dictionary.value.json string.quoted.double.json meta.embedded.json.regexp string.regexp.json meta.embedded.group.regexp.json string.regexp.json meta.embedded.group.regexp.json string.regexp.json
12301233
# ^ source.json.embedded meta.structure.dictionary.json .meta.embedded.contributes. meta.structure.dictionary.value.json meta.structure.dictionary.json .meta.embedded.languages. meta.structure.dictionary.value.json meta.structure.array.json meta.structure.dictionary.json .meta.embedded.firstLine. meta.structure.dictionary.value.json string.quoted.double.json meta.embedded.json.regexp string.regexp.json meta.embedded.group.regexp.json string.regexp.json meta.embedded.group.regexp.json string.regexp.json keyword.operator.or.regexp.json
12311234
# ^^^^^^^^^ source.json.embedded meta.structure.dictionary.json .meta.embedded.contributes. meta.structure.dictionary.value.json meta.structure.dictionary.json .meta.embedded.languages. meta.structure.dictionary.value.json meta.structure.array.json meta.structure.dictionary.json .meta.embedded.firstLine. meta.structure.dictionary.value.json string.quoted.double.json meta.embedded.json.regexp string.regexp.json meta.embedded.group.regexp.json string.regexp.json meta.embedded.group.regexp.json string.regexp.json
12321235
# ^ source.json.embedded meta.structure.dictionary.json .meta.embedded.contributes. meta.structure.dictionary.value.json meta.structure.dictionary.json .meta.embedded.languages. meta.structure.dictionary.value.json meta.structure.array.json meta.structure.dictionary.json .meta.embedded.firstLine. meta.structure.dictionary.value.json string.quoted.double.json meta.embedded.json.regexp string.regexp.json meta.embedded.group.regexp.json string.regexp.json meta.embedded.group.regexp.json punctuation.definition.group.regexp.json
1233-
# ^^ source.json.embedded meta.structure.dictionary.json .meta.embedded.contributes. meta.structure.dictionary.value.json meta.structure.dictionary.json .meta.embedded.languages. meta.structure.dictionary.value.json meta.structure.array.json meta.structure.dictionary.json .meta.embedded.firstLine. meta.structure.dictionary.value.json string.quoted.double.json meta.embedded.json.regexp string.regexp.json meta.embedded.group.regexp.json string.regexp.json constant.character.escape.json
1236+
# ^ source.json.embedded meta.structure.dictionary.json .meta.embedded.contributes. meta.structure.dictionary.value.json meta.structure.dictionary.json .meta.embedded.languages. meta.structure.dictionary.value.json meta.structure.array.json meta.structure.dictionary.json .meta.embedded.firstLine. meta.structure.dictionary.value.json string.quoted.double.json meta.embedded.json.regexp string.regexp.json meta.embedded.group.regexp.json string.regexp.json constant.character.escape.json.comments
1237+
# ^ source.json.embedded meta.structure.dictionary.json .meta.embedded.contributes. meta.structure.dictionary.value.json meta.structure.dictionary.json .meta.embedded.languages. meta.structure.dictionary.value.json meta.structure.array.json meta.structure.dictionary.json .meta.embedded.firstLine. meta.structure.dictionary.value.json string.quoted.double.json meta.embedded.json.regexp string.regexp.json meta.embedded.group.regexp.json string.regexp.json
12341238
# ^ source.json.embedded meta.structure.dictionary.json .meta.embedded.contributes. meta.structure.dictionary.value.json meta.structure.dictionary.json .meta.embedded.languages. meta.structure.dictionary.value.json meta.structure.array.json meta.structure.dictionary.json .meta.embedded.firstLine. meta.structure.dictionary.value.json string.quoted.double.json meta.embedded.json.regexp string.regexp.json meta.embedded.group.regexp.json string.regexp.json
12351239
# ^^ source.json.embedded meta.structure.dictionary.json .meta.embedded.contributes. meta.structure.dictionary.value.json meta.structure.dictionary.json .meta.embedded.languages. meta.structure.dictionary.value.json meta.structure.array.json meta.structure.dictionary.json .meta.embedded.firstLine. meta.structure.dictionary.value.json string.quoted.double.json meta.embedded.json.regexp string.regexp.json meta.embedded.group.regexp.json string.regexp.json constant.character.escape.backslash.regex.regexp.json
12361240
# ^ source.json.embedded meta.structure.dictionary.json .meta.embedded.contributes. meta.structure.dictionary.value.json meta.structure.dictionary.json .meta.embedded.languages. meta.structure.dictionary.value.json meta.structure.array.json meta.structure.dictionary.json .meta.embedded.firstLine. meta.structure.dictionary.value.json string.quoted.double.json meta.embedded.json.regexp string.regexp.json meta.embedded.group.regexp.json string.regexp.json

0 commit comments

Comments
 (0)