Added optional case sensitive searching

This commit is contained in:
Alex Ross
2018-09-10 13:45:29 -07:00
parent 11426bb0d0
commit fed579238a
4 changed files with 24 additions and 8 deletions
+9 -6
View File
@@ -113,18 +113,21 @@ export class SearchHelper implements ISearchHelper {
if (this._terminal._core.buffer.lines.get(y).isWrapped) {
return;
}
const lowerStringLine = this.translateBufferLineToStringWithWrap(y, true).toLowerCase();
const lowerTerm = term.toLowerCase();
let searchIndex = -1;
const stringLIne = this.translateBufferLineToStringWithWrap(y, true);
const searchStringLine = searchOptions.caseSensitive ? stringLIne : stringLIne.toLowerCase();
const searchTerm = searchOptions.caseSensitive ? term : term.toLowerCase();
let searchIndex = searchStringLine.indexOf(searchTerm);
if (searchOptions.regex) {
const searchRegex = RegExp(lowerTerm, 'g');
const foundTerm = searchRegex.exec(lowerStringLine);
const searchRegex = RegExp(searchTerm, 'g');
const foundTerm = searchRegex.exec(searchStringLine);
if (foundTerm && foundTerm[0].length > 0) {
searchIndex = searchRegex.lastIndex - foundTerm[0].length;
term = foundTerm[0];
}
} else {
searchIndex = lowerStringLine.indexOf(lowerTerm);
searchIndex = searchStringLine.indexOf(searchTerm);
}
if (searchIndex >= 0) {