Skip to content

Commit 9e20641

Browse files
authored
Merge pull request #5279 from AnouarTouati/fixing-#5270
Fixes: #5270 regex case-sensitive should behave like monaco
2 parents ffc6125 + 3c790ff commit 9e20641

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

addons/addon-search/src/SearchAddon.ts

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -499,12 +499,16 @@ 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 = term;
503+
let searchStringLine = stringLine;
504+
if (!searchOptions.regex) {
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+
const searchRegex = RegExp(searchTerm, searchOptions.caseSensitive ? 'g' : 'gi');
508512
let foundTerm: RegExpExecArray | null;
509513
if (isReverseSearch) {
510514
// This loop will get the resultIndex of the _last_ regex match in the range 0..offset

0 commit comments

Comments
 (0)