--- a/QScintilla/SearchReplaceWidget.py Tue Mar 05 18:59:19 2019 +0100 +++ b/QScintilla/SearchReplaceWidget.py Tue Mar 05 19:00:06 2019 +0100 @@ -119,6 +119,9 @@ <td>This matches 1 or more times. For example, <code>Sa+m</code> matches <code>Sam</code>, <code>Saam</code>, <code>Saaam</code> and so on.</td></tr> </table> +<p>When using the Extended (C++11) regular expression mode more features are +available, generally similar to regular expression support in JavaScript. See +the documentation of your C++ runtime for details on what is supported.<p> """ ) self.setWhatsThis(whatsThis) @@ -439,6 +442,10 @@ indexTo = -1 if self.ui.selectionCheckBox.isChecked(): lineFrom, indexFrom, lineTo, indexTo = self.__selectionBoundary() + posixMode = (Preferences.getEditor("SearchRegexpMode") == 0 and + self.ui.regexpCheckBox.isChecked()) + cxx11Mode = (Preferences.getEditor("SearchRegexpMode") == 1 and + self.ui.regexpCheckBox.isChecked()) aw.clearSearchIndicators() ok = aw.findFirstTarget( @@ -446,7 +453,8 @@ self.ui.regexpCheckBox.isChecked(), self.ui.caseCheckBox.isChecked(), self.ui.wordCheckBox.isChecked(), - lineFrom, indexFrom, lineTo, indexTo) + lineFrom, indexFrom, lineTo, indexTo, + posix=posixMode, cxx11=cxx11Mode) while ok: tgtPos, tgtLen = aw.getFoundTarget() if tgtLen == 0: @@ -541,6 +549,10 @@ index = indexTo if ok: + posixMode = (Preferences.getEditor("SearchRegexpMode") == 0 and + self.ui.regexpCheckBox.isChecked()) + cxx11Mode = (Preferences.getEditor("SearchRegexpMode") == 1 and + self.ui.regexpCheckBox.isChecked()) ok = aw.findFirst( txt, self.ui.regexpCheckBox.isChecked(), @@ -549,7 +561,8 @@ self.ui.wrapCheckBox.isChecked(), not backwards, line, index, - posix=self.ui.regexpCheckBox.isChecked()) + posix=posixMode, + cxx11=cxx11Mode) if ok and self.ui.selectionCheckBox.isChecked(): lineFrom, indexFrom, lineTo, indexTo = aw.getSelection() @@ -601,7 +614,8 @@ self.ui.wrapCheckBox.isChecked(), not backwards, line, index, - posix=self.ui.regexpCheckBox.isChecked()) + posix=posixMode, + cxx11=cxx11Mode) if ok: lineFrom, indexFrom, lineTo, indexTo = \ aw.getSelection() @@ -628,7 +642,8 @@ self.ui.wrapCheckBox.isChecked(), not backwards, line, index, - posix=self.ui.regexpCheckBox.isChecked()) + posix=posixMode, + cxx11=cxx11Mode) if ok: lineFrom, indexFrom, lineTo, indexTo = \ aw.getSelection() @@ -840,13 +855,18 @@ else: line = 0 index = 0 + posixMode = (Preferences.getEditor("SearchRegexpMode") == 0 and + self.ui.regexpCheckBox.isChecked()) + cxx11Mode = (Preferences.getEditor("SearchRegexpMode") == 1 and + self.ui.regexpCheckBox.isChecked()) ok = aw.findFirst( ftxt, self.ui.regexpCheckBox.isChecked(), self.ui.caseCheckBox.isChecked(), self.ui.wordCheckBox.isChecked(), False, True, line, index, - posix=self.ui.regexpCheckBox.isChecked()) + posix=posixMode, + cxx11=cxx11Mode) if ok and self.ui.selectionCheckBox.isChecked(): lineFrom, indexFrom, lineTo, indexTo = aw.getSelection() @@ -886,7 +906,8 @@ self.ui.caseCheckBox.isChecked(), self.ui.wordCheckBox.isChecked(), False, True, line, index, - posix=self.ui.regexpCheckBox.isChecked()) + posix=posixMode, + cxx11=cxx11Mode) if ok: lineFrom, indexFrom, lineTo, indexTo = \ aw.getSelection()