Skip to content

Commit baf5cf4

Browse files
committed
fixes: #5270 regex case-sensitive should behave like monaco
1 parent ce095b3 commit baf5cf4

File tree

1 file changed

+9
-3
lines changed

1 file changed

+9
-3
lines changed

addons/addon-search/src/SearchAddon.ts

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -499,12 +499,18 @@ export class SearchAddon extends Disposable implements ITerminalAddon , ISearchA
499499
const [stringLine, offsets] = cache;
500500

501501
const offset = this._bufferColsToStringOffset(row, col);
502-
const searchTerm = searchOptions.caseSensitive ? term : term.toLowerCase();
503-
const searchStringLine = searchOptions.caseSensitive ? stringLine : stringLine.toLowerCase();
502+
let searchTerm: string = term;
503+
let searchStringLine: string = stringLine;
504+
if (searchOptions.regex === false){
505+
searchTerm = searchOptions.caseSensitive ? term : term.toLowerCase();
506+
searchStringLine = searchOptions.caseSensitive ? stringLine : stringLine.toLowerCase();
507+
}
504508

505509
let resultIndex = -1;
506510
if (searchOptions.regex) {
507-
const searchRegex = RegExp(searchTerm, 'g');
511+
let regexFlags = 'g';
512+
searchOptions.caseSensitive !== true ? regexFlags+='i':'';
513+
const searchRegex = RegExp(searchTerm, regexFlags);
508514
let foundTerm: RegExpExecArray | null;
509515
if (isReverseSearch) {
510516
// This loop will get the resultIndex of the _last_ regex match in the range 0..offset

0 commit comments

Comments
 (0)