Bert Wesarg <bert.wesarg@xxxxxxxxxxxxxx> writes: >This adds highlight support for the diff3 conflict style. > >The common pre-image will be reversed to --, because it has been removed >and either replaced with our or their side. > >Signed-off-by: Bert Wesarg <bert.wesarg@xxxxxxxxxxxxxx> > >--- > git-gui/git-gui.sh | 3 +++ > git-gui/lib/diff.tcl | 10 ++++++++++ > 2 files changed, 13 insertions(+), 0 deletions(-) > >diff --git a/git-gui/git-gui.sh b/git-gui/git-gui.sh >index 38362fa..0134438 100755 >--- a/git-gui/git-gui.sh >+++ b/git-gui/git-gui.sh >@@ -3354,6 +3354,9 @@ $ui_diff tag conf d_s- \ > $ui_diff tag conf d< \ > -foreground orange \ > -font font_diffbold >+$ui_diff tag conf d| \ >+ -foreground orange \ >+ -font font_diffbold > $ui_diff tag conf d= \ > -foreground orange \ > -font font_diffbold >diff --git a/git-gui/lib/diff.tcl b/git-gui/lib/diff.tcl >index d4e2ce3..ccd4c70 100644 >--- a/git-gui/lib/diff.tcl >+++ b/git-gui/lib/diff.tcl >@@ -339,6 +339,7 @@ proc start_show_diff {cont_info {add_opts {}}} { > } > > set ::current_diff_inheader 1 >+ set ::in_conflict_pre_image 0 > fconfigure $fd \ > -blocking 0 \ > -encoding [get_path_encoding $path] \ >@@ -420,6 +421,15 @@ proc read_diff {fd conflict_size cont_info} { > set is_conflict_diff 1 > set line [string replace $line 0 1 { }] > set tags d$op >+ set ::in_conflict_pre_image 0 >+ } elseif {[regexp {^\+\+\|{$conflict_size}(?: |$)} $line]} { >+ set is_conflict_diff 1 >+ set line [string replace $line 0 1 { }] >+ set tags d| >+ set ::in_conflict_pre_image 1 >+ } elseif ($::in_conflict_pre_image) { >+ set line [string replace $line 0 1 {--}] >+ set tags d_-- > } else { > set tags d_++ > } This has the same issue as the last patch with variable substitution into the regexp. Replaced the regexp expression with [regexp "^\\+\\+\\|{$conflict_size}(?: |\$)" $line] I configured a test repository with 'merge.conflictstyle diff3' and could test this. Looks fine. -- 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