Index: src/sdk/editorconfigurationdlg.cpp
===================================================================
--- src/sdk/editorconfigurationdlg.cpp (revision 3186)
+++ src/sdk/editorconfigurationdlg.cpp (working copy)
@@ -122,6 +122,7 @@
XRCCTRL(*this, "chkTabIndents", wxCheckBox)->SetValue(cfg->ReadBool(_T("/tab_indents"), true));
XRCCTRL(*this, "chkBackspaceUnindents", wxCheckBox)->SetValue(cfg->ReadBool(_T("/backspace_unindents"), true));
XRCCTRL(*this, "chkWordWrap", wxCheckBox)->SetValue(cfg->ReadBool(_T("/word_wrap"), false));
+ XRCCTRL(*this, "chkPosixRegex", wxCheckBox)->SetValue(cfg->ReadBool(_T("/use_posix_style_regexes"), false));
XRCCTRL(*this, "chkShowLineNumbers", wxCheckBox)->SetValue(cfg->ReadBool(_T("/show_line_numbers"), true));
XRCCTRL(*this, "chkHighlightCaretLine", wxCheckBox)->SetValue(cfg->ReadBool(_T("/highlight_caret_line"), false));
XRCCTRL(*this, "spnTabSize", wxSpinCtrl)->SetValue(cfg->ReadInt(_T("/tab_size"), 4));
@@ -835,12 +836,16 @@
cfg->Write(_T("/tab_indents"), XRCCTRL(*this, "chkTabIndents", wxCheckBox)->GetValue());
cfg->Write(_T("/backspace_unindents"), XRCCTRL(*this, "chkBackspaceUnindents", wxCheckBox)->GetValue());
cfg->Write(_T("/word_wrap"), XRCCTRL(*this, "chkWordWrap", wxCheckBox)->GetValue());
+ cfg->Write(_T("/use_posix_style_regexes"),XRCCTRL(*this, "chkPosixRegex", wxCheckBox)->GetValue());
+
cfg->Write(_T("/show_line_numbers"), XRCCTRL(*this, "chkShowLineNumbers", wxCheckBox)->GetValue());
cfg->Write(_T("/highlight_caret_line"), XRCCTRL(*this, "chkHighlightCaretLine", wxCheckBox)->GetValue());
cfg->Write(_T("/tab_size"), XRCCTRL(*this, "spnTabSize", wxSpinCtrl)->GetValue());
cfg->Write(_T("/view_whitespace"), XRCCTRL(*this, "cmbViewWS", wxComboBox)->GetSelection());
cfg->Write(_T("/tab_text_relative"), XRCCTRL(*this, "rbTabText", wxRadioBox)->GetSelection() ? true : false);
+ // find & replace, regex searches
+
//caret
cfg->Write(_T("/caret/width"), XRCCTRL(*this, "spnCaretWidth", wxSpinCtrl)->GetValue());
cfg->Write(_T("/caret/colour"), XRCCTRL(*this, "btnCaretColour", wxButton)->GetBackgroundColour());
Index: src/sdk/editormanager.cpp
===================================================================
--- src/sdk/editormanager.cpp (revision 3186)
+++ src/sdk/editormanager.cpp (working copy)
@@ -1423,7 +1423,11 @@
if (data->matchCase)
flags |= wxSCI_FIND_MATCHCASE;
if (data->regEx)
+ {
flags |= wxSCI_FIND_REGEXP;
+ if (Manager::Get()->GetConfigManager(_T("editor"))->ReadBool(_T("/use_posix_style_regexes"), false))
+ flags |= wxSCI_FIND_POSIX;
+ }
control->BeginUndoAction();
int pos = -1;
@@ -1658,7 +1662,11 @@
if (data->matchCase)
flags |= wxSCI_FIND_MATCHCASE;
if (data->regEx)
+ {
flags |= wxSCI_FIND_REGEXP;
+ if (Manager::Get()->GetConfigManager(_T("editor"))->ReadBool(_T("/use_posix_style_regexes"), false))
+ flags |= wxSCI_FIND_POSIX;
+ }
bool replace = false;
bool confirm = true;
@@ -1884,7 +1892,11 @@
if (data->matchCase)
flags |= wxSCI_FIND_MATCHCASE;
if (data->regEx)
+ {
flags |= wxSCI_FIND_REGEXP;
+ if (Manager::Get()->GetConfigManager(_T("editor"))->ReadBool(_T("/use_posix_style_regexes"), false))
+ flags |= wxSCI_FIND_POSIX;
+ }
int pos = -1;
// avoid infinite loop when wrapping search around, eventually crashing WinLogon O.O
Index: src/sdk/resources/editor_configuration.xrc
===================================================================
--- src/sdk/resources/editor_configuration.xrc (revision 3186)
+++ src/sdk/resources/editor_configuration.xrc (working copy)
@@ -308,6 +308,12 @@
</object>
<object class="sizeritem">
<flag>wxALIGN_LEFT|wxALIGN_TOP</flag>
+ <object class="wxCheckBox" name="chkPosixRegex">
+ <label>Use POSIX style for RegEx searches</label>
+ </object>
+ </object>
+ <object class="sizeritem">
+ <flag>wxALIGN_LEFT|wxALIGN_TOP</flag>
<object class="wxCheckBox" name="chkShowLineNumbers">
<label>Show line numbers</label>
</object>