Re: [PATCH] blame: add color
- From
- Chris J Arges <christopherarges@gmail.com>
- Date
- Oct 8, 2013, 16:03 UTC
- Message-ID
- <52542CB5.3050005@gmail.com>
- In-Reply-To
- <xmqqob6zn67d.fsf@gitster.dls.corp.google.com>
On 10/08/2013 10:16 AM, Junio C Hamano wrote:
Show 8 quoted lines
> Chris J Arges <christopherarges@gmail.com> 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.
Show 19 quoted lines
>> +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.
Show 11 quoted lines
> It may make more sense to assign one colour to each blame origin > (i.e. <commit, path> 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