eslint-plugin-regexp
Advanced tools
Comparing version
@@ -85,5 +85,3 @@ "use strict"; | ||
} | ||
yield fixer.insertTextBeforeRange(targetRange, utils_1.fixerApplyEscape((isNeedEscape(next, moveTarget) | ||
? "\\" | ||
: "") + next.raw, node)); | ||
yield fixer.insertTextBeforeRange(targetRange, utils_1.fixerApplyEscape(escapeRaw(next, moveTarget), node)); | ||
yield fixer.removeRange(nextRange); | ||
@@ -180,12 +178,18 @@ }, | ||
}); | ||
function isNeedEscape(next, target) { | ||
if (!next.raw.startsWith("-")) { | ||
return false; | ||
function escapeRaw(node, target) { | ||
let raw = node.raw; | ||
if (raw.startsWith("-")) { | ||
const parent = target.parent; | ||
const prev = parent.elements[parent.elements.indexOf(target) - 1]; | ||
if (prev && | ||
(prev.type === "Character" || prev.type === "CharacterSet")) { | ||
raw = `\\${raw}`; | ||
} | ||
} | ||
const parent = target.parent; | ||
const prev = parent.elements[parent.elements.indexOf(target) - 1]; | ||
if (!prev || (prev.type !== "Character" && prev.type !== "CharacterSet")) { | ||
return false; | ||
if (target.raw.startsWith("-")) { | ||
if (node.type === "Character" || node.type === "CharacterSet") { | ||
raw = `${raw}\\`; | ||
} | ||
} | ||
return true; | ||
return raw; | ||
} |
{ | ||
"name": "eslint-plugin-regexp", | ||
"version": "0.4.2", | ||
"version": "0.4.3", | ||
"description": "ESLint plugin for finding RegExp mistakes and RegExp style guide violations.", | ||
@@ -5,0 +5,0 @@ "main": "dist/index.js", |
232422
0.03%5702
0.07%