From: Chris J Arges Date: Tue, 08 Oct 2013 16:03:01 GMT Subject: Re: [PATCH] blame: add color Message-ID: <52542CB5.3050005@gmail.com> In-Reply-To: On 10/08/2013 10:16 AM, Junio C Hamano wrote: > Chris J Arges writes: > >> Add colorized text for git blame when color.interactive is enabled. > > It does not make any sense to tie this to color.interactive at all, > at least to me. The "check color.blame and if absent fall back to > color.ui", which is the usual pattern, would be more appropriate. > Ok, I wasn't entirely sure of convention, but I could modify it to do this. >> +static char blame_colors[][COLOR_MAXLEN] = { >> + GIT_COLOR_RESET, >> + GIT_COLOR_NORMAL, /* PLAIN */ >> + GIT_COLOR_YELLOW, /* COMMIT */ >> + GIT_COLOR_BOLD, /* NAME */ >> + GIT_COLOR_CYAN, /* LINE */ >> + GIT_COLOR_GREEN, /* TIME */ >> +}; > > Unlike "git grep", where some pieces of a single line are more > interesting (i.e. the exact text matching the pattern given) than > others (i.e. other text on the same line), and "git diff", where > some lines have different meanings from others (i.e. hunk header, > deleted lines, added lines, context lines), the output from "git > blame" is already columnar and it is obvious to the reader of the > output that everything on the leftmost part of all lines is commit > object name, without distraction of extra colours; I do not see much > point in painting the output into vertical stripes of colours. > I mainly did this because it makes it easier for me to see where the different columns start and stop. > It may make more sense to assign one colour to each blame origin > (i.e. pair), to make it clear that first five lines > came from the same origin that is different from the two lines that > follow, etc., showing horizontal stripes of colours. If we were to > go that route, I suspect that it would be too distracting to paint > the whole line (like "git diff" does for added or deleted > lines). Perhaps paint only the commit object name part in different > colors to show which lines form a group that came from the same > origin? The way "git show-branch" paints its output might give an > inspiration. > This could provide a more useful colorization; in addition if something as simple as the line number was colorized it would provide a easy way for me to see where the code column starts. --chris j arges