Re: [PATCH] git-gui: use a tristate to control the case mode in the searchbar

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Bert Wesarg <bert.wesarg@xxxxxxxxxxxxxx> writes:

>The config is now called gui.search.case and can have the three values:
>no/yes/smart. yes is the default.
>
>It also resets the case detection in smart mode, when the entry field was
>cleared by the use.
>
>Signed-off-by: Bert Wesarg <bert.wesarg@xxxxxxxxxxxxxx>
>---
> lib/search.tcl |   24 +++++++++++++++++-------
> 1 files changed, 17 insertions(+), 7 deletions(-)
>
>diff --git a/lib/search.tcl b/lib/search.tcl
>index 04a316b..ef1e555 100644
>--- a/lib/search.tcl
>+++ b/lib/search.tcl
>@@ -26,11 +26,20 @@ constructor new {i_w i_text args} {
> 	set ctext  $i_text
> 
> 	set default_regexpsearch [is_config_true gui.search.regexp]
>-	set smartcase [is_config_true gui.search.smartcase]
>-	if {$smartcase} {
>+	switch -- [get_config gui.search.case] {
>+	no {
> 		set default_casesensitive 0
>-	} else {
>+		set smartcase 0
>+	}
>+	smart {
>+		set default_casesensitive 0
>+		set smartcase 1
>+	}
>+	yes -
>+	default {
> 		set default_casesensitive 1
>+		set smartcase 0
>+	}
> 	}
> 
> 	set history [list]
>@@ -157,12 +166,10 @@ method _incrsearch {} {
> 	if {[catch {$ctext index anchor}]} {
> 		$ctext mark set anchor [_get_new_anchor $this]
> 	}
>-	if {$smartcase} {
>-		if {[regexp {[[:upper:]]} $searchstring]} {
>+	if {$searchstring ne {}} {
>+		if {$smartcase && [regexp {[[:upper:]]} $searchstring]} {
> 			set casesensitive 1
> 		}
>-	}
>-	if {$searchstring ne {}} {
> 		set here [_do_search $this anchor mlen]
> 		if {$here ne {}} {
> 			$ctext see $here
>@@ -175,6 +182,9 @@ method _incrsearch {} {
> 			#$w.ent configure -background lightpink
> 			$w.ent state pressed
> 		}
>+	} elseif {$smartcase} {
>+		# clearing the field resets the smart case detection
>+		set casesensitive 0
> 	}
> }

Look good to me. Applied.
-- 
Pat Thoyts                            http://www.patthoyts.tk/
PGP fingerprint 2C 6E 98 07 2C 59 C8 97  10 CE 11 E6 04 E0 B9 DD
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]