fix findall

This commit is contained in:
nightwing 2014-01-30 20:50:56 +04:00
commit 7a92c174eb

View file

@ -143,20 +143,27 @@ var Search = function() {
if (options.$isMultiLine) {
var len = re.length;
var maxRow = lines.length - len;
for (var row = re.offset || 0; row <= maxRow; row++) {
var prevRange;
outer: for (var row = re.offset || 0; row <= maxRow; row++) {
for (var j = 0; j < len; j++)
if (lines[row + j].search(re[j]) == -1)
break;
continue outer;
var startLine = lines[row];
var line = lines[row + len - 1];
var startIndex = startLine.match(re[0])[0].length;
var startIndex = startLine.length - startLine.match(re[0])[0].length;
var endIndex = line.match(re[len - 1])[0].length;
ranges.push(new Range(
row, startLine.length - startIndex,
row + len - 1, endIndex
if (prevRange && prevRange.end.row === row &&
prevRange.end.column > startIndex
) {
continue;
}
ranges.push(prevRange = new Range(
row, startIndex, row + len - 1, endIndex
));
if (len > 2)
row = row + len - 2;
}
} else {
for (var i = 0; i < lines.length; i++) {