diff --git a/src/utils/patches.ts b/src/utils/patches.ts index b212e6241..6b59786ed 100644 --- a/src/utils/patches.ts +++ b/src/utils/patches.ts @@ -40,7 +40,11 @@ export function canonicalizeMatch(match: T): T { return partialCanon as T; } - const canonSource = partialCanon.replaceAll("\\i", String.raw`(?:[A-Za-z_$][\w$]*)`); + const canonSource = partialCanon.replaceAll(/(\\*)\\i/g, (match, leadingEscapes) => + leadingEscapes.length % 2 === 0 + ? `${leadingEscapes}${String.raw`(?:[A-Za-z_$][\w$]*)`}` + : match.slice(1) + ); const canonRegex = new RegExp(canonSource, match.flags); canonRegex.toString = match.toString.bind(match);