|
3683 | 3683 | } |
3684 | 3684 | } |
3685 | 3685 | function splitBySlash(argString) { |
3686 | | - var slashes = findUnescapedSlashes(argString) || []; |
| 3686 | + return splitBySeparator(argString, '/'); |
| 3687 | + } |
| 3688 | + |
| 3689 | + function findUnescapedSlashes(argString) { |
| 3690 | + return findUnescapedSeparators(argString, '/'); |
| 3691 | + } |
| 3692 | + |
| 3693 | + function splitBySeparator(argString, separator) { |
| 3694 | + var slashes = findUnescapedSeparators(argString, separator) || []; |
3687 | 3695 | if (!slashes.length) return []; |
3688 | 3696 | var tokens = []; |
3689 | 3697 | // in case of strings like foo/bar |
|
3695 | 3703 | return tokens; |
3696 | 3704 | } |
3697 | 3705 |
|
3698 | | - function findUnescapedSlashes(str) { |
| 3706 | + function findUnescapedSeparators(str, separator) { |
| 3707 | + if (!separator) |
| 3708 | + separator = '/'; |
| 3709 | + |
3699 | 3710 | var escapeNextChar = false; |
3700 | 3711 | var slashes = []; |
3701 | 3712 | for (var i = 0; i < str.length; i++) { |
3702 | 3713 | var c = str.charAt(i); |
3703 | | - if (!escapeNextChar && c == '/') { |
| 3714 | + if (!escapeNextChar && c == separator) { |
3704 | 3715 | slashes.push(i); |
3705 | 3716 | } |
3706 | 3717 | escapeNextChar = !escapeNextChar && (c == '\\'); |
|
4566 | 4577 | 'any other getSearchCursor implementation.'); |
4567 | 4578 | } |
4568 | 4579 | var argString = params.argString; |
4569 | | - var tokens = argString ? splitBySlash(argString) : []; |
| 4580 | + var tokens = argString ? splitBySeparator(argString, argString[0]) : []; |
4570 | 4581 | var regexPart, replacePart = '', trailing, flagsPart, count; |
4571 | 4582 | var confirm = false; // Whether to confirm each replace. |
4572 | 4583 | var global = false; // True to replace all instances on a line, false to replace only 1. |
|
4610 | 4621 | global = true; |
4611 | 4622 | flagsPart.replace('g', ''); |
4612 | 4623 | } |
4613 | | - regexPart = regexPart + '/' + flagsPart; |
| 4624 | + regexPart = regexPart.replace(/\//g, "\\/") + '/' + flagsPart; |
4614 | 4625 | } |
4615 | 4626 | } |
4616 | 4627 | if (regexPart) { |
|
0 commit comments