fixes: #5270 regex case-sensitive should behave like monaco

This commit is contained in:
Anouar Touati
2025-01-06 16:43:03 -05:00
parent ce095b3593
commit baf5cf45c3
+9 -3
View File
@@ -499,12 +499,18 @@ export class SearchAddon extends Disposable implements ITerminalAddon , ISearchA
const [stringLine, offsets] = cache;
const offset = this._bufferColsToStringOffset(row, col);
const searchTerm = searchOptions.caseSensitive ? term : term.toLowerCase();
const searchStringLine = searchOptions.caseSensitive ? stringLine : stringLine.toLowerCase();
let searchTerm: string = term;
let searchStringLine: string = stringLine;
if (searchOptions.regex === false){
searchTerm = searchOptions.caseSensitive ? term : term.toLowerCase();
searchStringLine = searchOptions.caseSensitive ? stringLine : stringLine.toLowerCase();
}
let resultIndex = -1;
if (searchOptions.regex) {
const searchRegex = RegExp(searchTerm, 'g');
let regexFlags = 'g';
searchOptions.caseSensitive !== true ? regexFlags+='i':'';
const searchRegex = RegExp(searchTerm, regexFlags);
let foundTerm: RegExpExecArray | null;
if (isReverseSearch) {
// This loop will get the resultIndex of the _last_ regex match in the range 0..offset