]> git.ipfire.org Git - thirdparty/git.git/commitdiff
color.c: alias RGB colors 8-15 to aixterm colors
authorEyal Soha <shawarmakarma@gmail.com>
Tue, 21 Jan 2020 16:56:23 +0000 (08:56 -0800)
committerJunio C Hamano <gitster@pobox.com>
Tue, 11 Feb 2020 19:19:00 +0000 (11:19 -0800)
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>
color.c
t/t4026-color.sh

diff --git a/color.c b/color.c
index 0c0ec4672f344694bca3f23552831f27db736daf..64f52a4f93a21c4abe5e40e8957ec6115ca46c2a 100644 (file)
--- a/color.c
+++ b/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;
index 78c69de90a2da5c25590cff08b4bbcfadf0da35c..c0b642c1ab03f27dabc58e3b99ba9f8f48bf35d8 100755 (executable)
@@ -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"
 '