Code

grep: Colorize filename, line number, and separator
authorMark Lodato <lodatom@gmail.com>
Sun, 7 Mar 2010 16:52:46 +0000 (11:52 -0500)
committerJunio C Hamano <gitster@pobox.com>
Mon, 8 Mar 2010 08:30:44 +0000 (00:30 -0800)
commit55f638bdc6507b3a2ce03290741f592934afaee7
tree8911c25a414e051bf235e5093e8d7229b0b5a9c6
parent758df17ab07a58e5b0f8effdf2d1b71fe8d79f1d
grep: Colorize filename, line number, and separator

Colorize the filename, line number, and separator in git grep output, as
GNU grep does.  The colors are customizable through color.grep.<slot>.
The default is to only color the separator (in cyan), since this gives
the biggest legibility increase without overwhelming the user with
colors.  GNU grep also defaults cyan for the separator, but defaults to
magenta for the filename and to green for the line number, as well.

There is one difference from GNU grep: When a binary file matches
without -a, GNU grep does not color the <file> in "Binary file <file>
matches", but we do.

Like GNU grep, if --null is given, the null separators are not colored.

For config.txt, use a a sub-list to describe the slots, rather than
a single paragraph with parentheses, since this is much more readable.

Remove the cast to int for `rm_eo - rm_so` since it is not necessary.

Signed-off-by: Mark Lodato <lodatom@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Documentation/config.txt
builtin-grep.c
grep.c
grep.h