From e9144d5555133a76addb4829dca0e7a9684e1ed4 Mon Sep 17 00:00:00 2001 From: Bert Wesarg Date: Fri, 14 Oct 2011 10:14:51 +0200 Subject: [PATCH] git-gui: add regexp search mode to the searchbar It's off by default, but can be enabled via the config gui.search.regexp. Signed-off-by: Bert Wesarg Signed-off-by: Pat Thoyts --- lib/search.tcl | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/lib/search.tcl b/lib/search.tcl index 461c66d1a0..9268ec325b 100644 --- a/lib/search.tcl +++ b/lib/search.tcl @@ -7,6 +7,8 @@ field w field ctext field searchstring {} +field regexpsearch +field default_regexpsearch field casesensitive field default_casesensitive field searchdirn -forwards @@ -19,6 +21,7 @@ constructor new {i_w i_text args} { set w $i_w set ctext $i_text + set default_regexpsearch [is_config_true gui.search.regexp] if {[is_config_true gui.search.smartcase]} { set default_casesensitive 0 } else { @@ -30,10 +33,13 @@ constructor new {i_w i_text args} { entry $w.ent -textvariable ${__this}::searchstring -background lightgreen ${NS}::button $w.bn -text [mc Next] -command [cb find_next] ${NS}::button $w.bp -text [mc Prev] -command [cb find_prev] - ${NS}::checkbutton $w.cs -text [mc Case-Sensitive] \ + ${NS}::checkbutton $w.re -text [mc RegExp] \ + -variable ${__this}::regexpsearch -command [cb _incrsearch] + ${NS}::checkbutton $w.cs -text [mc Case] \ -variable ${__this}::casesensitive -command [cb _incrsearch] pack $w.l -side left pack $w.cs -side right + pack $w.re -side right pack $w.bp -side right pack $w.bn -side right pack $w.ent -side left -expand 1 -fill x @@ -52,6 +58,7 @@ constructor new {i_w i_text args} { method show {} { if {![visible $this]} { grid $w + set regexpsearch $default_regexpsearch set casesensitive $default_casesensitive } focus -force $w.ent @@ -106,6 +113,9 @@ method _do_search {start {mlenvar {}} {dir {}} {endbound {}}} { upvar $mlenvar mlen lappend cmd -count mlen } + if {$regexpsearch} { + lappend cmd -regexp + } if {!$casesensitive} { lappend cmd -nocase } -- 2.11.4.GIT