QScintilla/SearchReplaceWidget.py

changeset 6841
43af1e698c9d
parent 6645
ad476851d7e0
--- 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()

eric ide

mercurial