diff --git a/color.c b/color.c index 809b359a42..9027352ad7 100644 --- a/color.c +++ b/color.c @@ -112,6 +112,7 @@ static int parse_color(struct color *out, const char *name, int len) } else if (val < 8) { out->type = COLOR_ANSI; out->value = val; + return 0; } else if (val < 256) { out->type = COLOR_256; out->value = val; diff --git a/t/t4026-color.sh b/t/t4026-color.sh index 267c43bd95..4d20feacfe 100755 --- a/t/t4026-color.sh +++ b/t/t4026-color.sh @@ -60,6 +60,10 @@ test_expect_success 'absurdly long color specification' ' "[1;2;4;5;7;22;24;25;27;38;2;255;255;255;48;2;255;255;255m" ' +test_expect_success '0-7 are aliases for basic ANSI color names' ' + color "0 7" "[30;47m" +' + test_expect_success '256 colors' ' color "254 bold 255" "[1;38;5;254;48;5;255m" '