Re: [PATCH] git-gui: support core.whitespace rules in diff view
From: Tor Arvid Lund <hidden>
Date: 2016-06-15 22:49:50
On Thu, Oct 21, 2010 at 1:43 AM, Junio C Hamano [off-list ref] wrote:
Pat Thoyts [off-list ref] writes:quoted
This is a rather more complete implementation of whitespace highlighting according to the core.whitespace setting. The diff view whitespace highlights should match what you see with 'git diff' when color is enabled for all the whitespace rules except cr-at-eol where there is currently a rule to hide these. Suggested-by: Tor Arvid Lund <redacted> Signed-off-by: Pat Thoyts <redacted> ---This might be a very stupid question, but isn't it an easier-to-maintain option to let underlying "git diff" color its output and convert the ANSI coloring to whatever Tcl wants to use, especially in the long run, instead of trying to replicate the logic to check whitespace breakages here?
Hi Pat, and thanks again for doing the Tcl hacking :) I did a quick test (with core.whitespace unset, so the defaults should be used). I wonder if there is a little bug somewhere else in git-gui. If I have committed a line like this: ............Hello world and change it to: ........*Hello world I used '.' to indicate Space, and '*' to indicate Tab, so I changed 4 spaces to one tab character. As I understand space-before-tab, this should render 8 red spaces, 1 white Tab, and then "Hello world". But instead I get 9 white spaces... So the tab gets converted to a space (I verified that it was not my editor that converted it - it really is 8 SP and 1 TAB). If I change it to ***Hello world so that there are no leading spaces, then the Tabs do not get converted. Can you reproduce this? I have applied your patch on top of Junio's master and build on msysgit on Vista 64 (if that matters). Btw, I almost feel bad saying this after you implemented my suggestion, but Junio's suggestion to parse the ANSI escapes seems quite clever, doesn't it? Have a good day. -Tor Arvid-