mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-02-11 02:32:35 -05:00
Merge VS Code 1.21 source code (#1067)
* Initial VS Code 1.21 file copy with patches * A few more merges * Post npm install * Fix batch of build breaks * Fix more build breaks * Fix more build errors * Fix more build breaks * Runtime fixes 1 * Get connection dialog working with some todos * Fix a few packaging issues * Copy several node_modules to package build to fix loader issues * Fix breaks from master * A few more fixes * Make tests pass * First pass of license header updates * Second pass of license header updates * Fix restore dialog issues * Remove add additional themes menu items * fix select box issues where the list doesn't show up * formatting * Fix editor dispose issue * Copy over node modules to correct location on all platforms
This commit is contained in:
@@ -7,7 +7,7 @@
|
||||
import * as strings from 'vs/base/common/strings';
|
||||
import { Position } from 'vs/editor/common/core/position';
|
||||
import { Range } from 'vs/editor/common/core/range';
|
||||
import { FindMatch, EndOfLinePreference } from 'vs/editor/common/editorCommon';
|
||||
import { FindMatch, EndOfLinePreference } from 'vs/editor/common/model';
|
||||
import { CharCode } from 'vs/base/common/charCode';
|
||||
import { TextModel } from 'vs/editor/common/model/textModel';
|
||||
import { getMapForWordSeparators, WordCharacterClassifier, WordCharacterClass } from 'vs/editor/common/controller/wordCharacterClassifier';
|
||||
@@ -136,6 +136,23 @@ export class TextModelSearch {
|
||||
}
|
||||
|
||||
if (searchData.regex.multiline) {
|
||||
if (searchData.regex.source === '\\n') {
|
||||
// Fast path for searching for EOL
|
||||
let result: FindMatch[] = [], resultLen = 0;
|
||||
for (let lineNumber = 1, lineCount = model.getLineCount(); lineNumber < lineCount; lineNumber++) {
|
||||
const range = new Range(lineNumber, model.getLineMaxColumn(lineNumber), lineNumber + 1, 1);
|
||||
if (captureMatches) {
|
||||
result[resultLen++] = new FindMatch(range, null);
|
||||
} else {
|
||||
result[resultLen++] = new FindMatch(range, ['\n']);
|
||||
}
|
||||
|
||||
if (resultLen >= limitResultCount) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
return this._doFindMatchesMultiline(model, searchRange, new Searcher(searchData.wordSeparators, searchData.regex), captureMatches, limitResultCount);
|
||||
}
|
||||
return this._doFindMatchesLineByLine(model, searchRange, searchData, captureMatches, limitResultCount);
|
||||
|
||||
Reference in New Issue
Block a user