Re: [PATCH] git-gui: support for underline styles

Subsystems: library code, the rest

4 messages, 2 authors, 2016-06-15 · open the first message on its own page

Re: [PATCH] git-gui: support for underline styles

From: Pat Thoyts <hidden>
Date: 2016-06-15 22:50:04

Suggested-by: Bert Wesarg <redacted>
Signed-off-by: Pat Thoyts <redacted>
---

I left underline out because I reckon it would just make text harder to
read on a gui display. It seems like the option would only be useful on
monochrome terminals.

If we do want to support underlines in the diff view window then we can
have a different tag rather than replicating each color to get a
underlined version of the same color.
Something like the following should do it:


 git-gui.sh   |    1 +
 lib/diff.tcl |    2 +-
 2 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/git-gui.sh b/git-gui.sh
index d3acf0d..137cd72 100755
--- a/git-gui.sh
+++ b/git-gui.sh
@@ -3330,6 +3330,7 @@ foreach {n c} {0 black 1 red4 2 green4 3 yellow4 4 blue4 5 magenta4 6 cyan4 7 gr
 	$ui_diff tag configure clri3$n -background $c
 }
 $ui_diff tag configure clr1 -font font_diffbold
+$ui_diff tag configure clr4 -underline 1
 
 $ui_diff tag conf d_cr -elide true
 $ui_diff tag conf d_@ -font font_diffbold
diff --git a/lib/diff.tcl b/lib/diff.tcl
index 0579fa6..203ab07 100644
--- a/lib/diff.tcl
+++ b/lib/diff.tcl
@@ -473,7 +473,7 @@ proc read_diff {fd cont_info} {
 			set prefix clr
 			foreach style [split $colbegin ";"] {
 				if {$style eq "7"} {append prefix i; continue}
-				if {$style < 30 || $style > 47} {continue}
+				if {$style != 4 && ($style < 30 || $style > 47)} {continue}
 				set a "$mark linestart + $posbegin chars"
 				set b "$mark linestart + $posend chars"
 				catch {$ui_diff tag add $prefix$style $a $b}
-- 
1.7.3.1.msysgit.0

Re: [PATCH] git-gui: support for underline styles

From: Bert Wesarg <hidden>
Date: 2016-06-15 22:50:04

On Fri, Nov 19, 2010 at 11:00, Pat Thoyts
[off-list ref] wrote:
Suggested-by: Bert Wesarg <redacted>
Signed-off-by: Pat Thoyts <redacted>
---

I left underline out because I reckon it would just make text harder to
read on a gui display. It seems like the option would only be useful on
monochrome terminals.

If we do want to support underlines in the diff view window then we can
have a different tag rather than replicating each color to get a
underlined version of the same color.
Something like the following should do it:
Thanks for this simple implementation. My only concern left is the
ordering. If we have '\033[7;4;30m' than we end up using 'clri4' as
tag, which does not exists. I suspect that git does not produce such
unordered attributes. But for clarity I would suggest to keep my lsort
around the split command.

Bert
quoted hunk

 git-gui.sh   |    1 +
 lib/diff.tcl |    2 +-
 2 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/git-gui.sh b/git-gui.sh
index d3acf0d..137cd72 100755
--- a/git-gui.sh
+++ b/git-gui.sh
@@ -3330,6 +3330,7 @@ foreach {n c} {0 black 1 red4 2 green4 3 yellow4 4 blue4 5 magenta4 6 cyan4 7 gr
       $ui_diff tag configure clri3$n -background $c
 }
 $ui_diff tag configure clr1 -font font_diffbold
+$ui_diff tag configure clr4 -underline 1

 $ui_diff tag conf d_cr -elide true
 $ui_diff tag conf d_@ -font font_diffbold
diff --git a/lib/diff.tcl b/lib/diff.tcl
index 0579fa6..203ab07 100644
--- a/lib/diff.tcl
+++ b/lib/diff.tcl
@@ -473,7 +473,7 @@ proc read_diff {fd cont_info} {
                       set prefix clr
                       foreach style [split $colbegin ";"] {
                               if {$style eq "7"} {append prefix i; continue}
-                               if {$style < 30 || $style > 47} {continue}
+                               if {$style != 4 && ($style < 30 || $style > 47)} {continue}
                               set a "$mark linestart + $posbegin chars"
                               set b "$mark linestart + $posend chars"
                               catch {$ui_diff tag add $prefix$style $a $b}
--
1.7.3.1.msysgit.0

Re: [PATCH] git-gui: support for underline styles

From: Bert Wesarg <hidden>
Date: 2016-06-15 22:50:40

On Fri, Nov 19, 2010 at 11:00, Pat Thoyts
[off-list ref] wrote:
Suggested-by: Bert Wesarg <redacted>
Signed-off-by: Pat Thoyts <redacted>
---

I left underline out because I reckon it would just make text harder to
read on a gui display. It seems like the option would only be useful on
monochrome terminals.

If we do want to support underlines in the diff view window then we can
have a different tag rather than replicating each color to get a
underlined version of the same color.
Something like the following should do it:
I miss this in git-gui.git.

Thanks,
Bert
quoted hunk

 git-gui.sh   |    1 +
 lib/diff.tcl |    2 +-
 2 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/git-gui.sh b/git-gui.sh
index d3acf0d..137cd72 100755
--- a/git-gui.sh
+++ b/git-gui.sh
@@ -3330,6 +3330,7 @@ foreach {n c} {0 black 1 red4 2 green4 3 yellow4 4 blue4 5 magenta4 6 cyan4 7 gr
       $ui_diff tag configure clri3$n -background $c
 }
 $ui_diff tag configure clr1 -font font_diffbold
+$ui_diff tag configure clr4 -underline 1

 $ui_diff tag conf d_cr -elide true
 $ui_diff tag conf d_@ -font font_diffbold
diff --git a/lib/diff.tcl b/lib/diff.tcl
index 0579fa6..203ab07 100644
--- a/lib/diff.tcl
+++ b/lib/diff.tcl
@@ -473,7 +473,7 @@ proc read_diff {fd cont_info} {
                       set prefix clr
                       foreach style [split $colbegin ";"] {
                               if {$style eq "7"} {append prefix i; continue}
-                               if {$style < 30 || $style > 47} {continue}
+                               if {$style != 4 && ($style < 30 || $style > 47)} {continue}
                               set a "$mark linestart + $posbegin chars"
                               set b "$mark linestart + $posend chars"
                               catch {$ui_diff tag add $prefix$style $a $b}
--
1.7.3.1.msysgit.0

[PATCH 1/2] git-gui: support for underline styles

From: Bert Wesarg <hidden>
Date: 2016-06-15 22:50:56

From: Pat Thoyts <redacted>

From: Pat Thoyts <redacted>

Suggested-by: Bert Wesarg <redacted>
Signed-off-by: Pat Thoyts <redacted>
Signed-off-by: Bert Wesarg <redacted>
---

I left underline out because I reckon it would just make text harder to
read on a gui display. It seems like the option would only be useful on
monochrome terminals.

If we do want to support underlines in the diff view window then we can
have a different tag rather than replicating each color to get a
underlined version of the same color.
Something like the following should do it:
---
 git-gui.sh   |    1 +
 lib/diff.tcl |    2 +-
 2 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/git-gui.sh b/git-gui.sh
index fd6a43d..d5c1535 100755
--- a/git-gui.sh
+++ b/git-gui.sh
@@ -3361,6 +3361,7 @@ foreach {n c} {0 black 1 red4 2 green4 3 yellow4 4 blue4 5 magenta4 6 cyan4 7 gr
 	$ui_diff tag configure clri3$n -background $c
 }
 $ui_diff tag configure clr1 -font font_diffbold
+$ui_diff tag configure clr4 -underline 1
 
 $ui_diff tag conf d_info -foreground blue -font font_diffbold
 
diff --git a/lib/diff.tcl b/lib/diff.tcl
index cf8a95e..39e4d90 100644
--- a/lib/diff.tcl
+++ b/lib/diff.tcl
@@ -504,7 +504,7 @@ proc read_diff {fd conflict_size cont_info} {
 			set prefix clr
 			foreach style [split $colbegin ";"] {
 				if {$style eq "7"} {append prefix i; continue}
-				if {$style < 30 || $style > 47} {continue}
+				if {$style != 4 && ($style < 30 || $style > 47)} {continue}
 				set a "$mark linestart + $posbegin chars"
 				set b "$mark linestart + $posend chars"
 				catch {$ui_diff tag add $prefix$style $a $b}
-- 
1.7.4.1.1319.ga04f7.dirty
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help