Skip to content

color fixes and configurable diff-highlight

Jeff King git 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest7 patches 12 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/7docs: describe ANSI 256-color modeDocumentation/config.txt+4 -00 replies
2/7config: fix parsing of "git config --get-color some.key -1"builtin/config.c+13 -140 replies
3/7t4026: test "normal" colort/t4026-color.sh+8 -02 replies
4/7parse_color: refactor color storagecolor.c+106 -326 replies
5/7parse_color: support 24-bit RGB valuesDocumentation/config.txt color.c color.h +1 more+37 -53 replies
6/7parse_color: recognize "no$foo" to clear the $foo attributeDocumentation/config.txt color.c color.h +1 more+20 -61 reply
7/7diff-highlight: allow configurable colorscontrib/diff-highlight/README contrib/diff-highlight/diff-highlight+90 -130 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [PATCH 0/7] color fixes and configurable diff-highlight
Quoted 4 lines · Scott Baker

It's 2014, most terminals are at least 256 colors. I'm fine if the defaults are 16 colors (that's safest), but it would be really cool if we could have an option for:

Quoted 8 lines

line add color
line remove color
word add color
word remove color

I would then configure appropriate colors from the 256 color palette. I think the Github style diffs which include the lines/words that are changed are very readable and make dealing with diffs easier.

I thought I'd just procrastinate for an hour by doing this, but somehow it turned into a 7-patch series.

The first few are actual fixes I noticed along the way.

Patches 4 and 5 support RGB-mode, which works on XTerm, at least (we This is probably excessive over 256-color mode (which we already supported), but I find the resulting color specifications significantly easier to understand (quick, what's ANSI color 137?).

Patch 6 implements negative attributes (like "nobold"). This is probably not all that useful for normal git color specs, but is required for diff-highlight, which wants to leave some attributes untouched.

Patch 7 is the part you actually asked for. :)

[1/7]: docs: describe ANSI 256-color mode
[2/7]: config: fix parsing of "git config --get-color some.key -1" [3/7]: t4026: test "normal" color
[4/7]: parse_color: refactor color storage
[5/7]: parse_color: support 24-bit RGB values
[6/7]: parse_color: recognize "no$foo" to clear the $foo attribute [7/7]: diff-highlight: allow configurable colors

-Peff