Skip to content

Commit cb5dd6c

Browse files
committed
Improve minifying more redundant escaping in character classes
1 parent d7024e9 commit cb5dd6c

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

src/Providers/CodeActionsProvider.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -203,6 +203,7 @@ const minifyQuery = `;scm
203203
(comment_extended) @comment
204204
(non_capture_group) @non_capture_group
205205
(non_capture_group_extended) @non_capture_group
206+
(character_class (backslash) @backslash_class)
206207
`;
207208

208209
async function optimizeRegex(edit: vscode.WorkspaceEdit, regexNode: Node, uri: vscode.Uri) {
@@ -240,6 +241,17 @@ async function optimizeRegex(edit: vscode.WorkspaceEdit, regexNode: Node, uri: v
240241
case 'comment':
241242
edit.delete(uri, minifyRange);
242243
break;
244+
case 'backslash_class':
245+
if (/^\\\\[ #$'()*+,.89<?ABGKNORXYZ^yz{|}]$/.test(minifyNode.text)) { // MUST be mutually exclusive with the regex below! // Error: Overlapping ranges are not allowed!
246+
edit.delete(
247+
uri,
248+
new vscode.Range(
249+
minifyRange.start,
250+
minifyRange.start.translate(0, 2),
251+
),
252+
);
253+
}
254+
break;
243255
case 'backslash':
244256
const text = minifyNode.text;
245257
switch (text.lastIndexOf('\\')) {

0 commit comments

Comments
 (0)