mirror of
https://github.com/git/git.git
synced 2024-11-23 18:05:29 +08:00
color.c: alias RGB colors 8-15 to aixterm colors
This results in shorter output, and is _probably_ more portable. There is at least one environment (GitHub Actions) which supports 16-color mode but not 256-color mode. It's possible there are environments which go the other way, but it seems unlikely. Signed-off-by: Eyal Soha <shawarmakarma@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
1751b09a92
commit
c444f032e4
7
color.c
7
color.c
@ -136,11 +136,16 @@ static int parse_color(struct color *out, const char *name, int len)
|
||||
else if (val < 0) {
|
||||
out->type = COLOR_NORMAL;
|
||||
return 0;
|
||||
/* Rewrite low numbers as more-portable standard colors. */
|
||||
/* Rewrite 0-7 as more-portable standard colors. */
|
||||
} else if (val < 8) {
|
||||
out->type = COLOR_ANSI;
|
||||
out->value = val + COLOR_FOREGROUND_ANSI;
|
||||
return 0;
|
||||
/* Rewrite 8-15 as more-portable aixterm colors. */
|
||||
} else if (val < 16) {
|
||||
out->type = COLOR_ANSI;
|
||||
out->value = val - 8 + COLOR_FOREGROUND_BRIGHT_ANSI;
|
||||
return 0;
|
||||
} else if (val < 256) {
|
||||
out->type = COLOR_256;
|
||||
out->value = val;
|
||||
|
@ -82,6 +82,10 @@ test_expect_success '0-7 are aliases for basic ANSI color names' '
|
||||
color "0 7" "[30;47m"
|
||||
'
|
||||
|
||||
test_expect_success '8-15 are aliases for aixterm color names' '
|
||||
color "12 13" "[94;105m"
|
||||
'
|
||||
|
||||
test_expect_success '256 colors' '
|
||||
color "254 bold 255" "[1;38;5;254;48;5;255m"
|
||||
'
|
||||
|
Loading…
Reference in New Issue
Block a user