diff --git a/Documentation/config.txt b/Documentation/config.txt index 93ecd728ab..cea3835c8f 100644 --- a/Documentation/config.txt +++ b/Documentation/config.txt @@ -160,10 +160,11 @@ Colors may also be given as numbers between 0 and 255; these use ANSI your terminal supports it, you may also specify 24-bit RGB values as hex, like `#ff0ab3`. + -The accepted attributes are `bold`, `dim`, `ul`, `blink`, and `reverse`. -The position of any attributes with respect to the colors (before, after, -or in between), doesn't matter. Specific attributes may be turned off -by prefixing them with `no` or `no-` (e.g., `noreverse`, `no-ul`, etc). +The accepted attributes are `bold`, `dim`, `ul`, `blink`, `reverse`, and +`italic`. The position of any attributes with respect to the colors +(before, after, or in between), doesn't matter. Specific attributes may +be turned off by prefixing them with `no` or `no-` (e.g., `noreverse`, +`no-ul`, etc). + For git's pre-defined color slots, the attributes are meant to be reset at the beginning of each item in the colored output. So setting diff --git a/color.c b/color.c index a22d835842..b6933a16fe 100644 --- a/color.c +++ b/color.c @@ -133,6 +133,7 @@ static int parse_attr(const char *name, size_t len) #define ATTR(x, val, neg) { (x), sizeof(x)-1, (val), (neg) } ATTR("bold", 1, 22), ATTR("dim", 2, 22), + ATTR("italic", 3, 23), ATTR("ul", 4, 24), ATTR("blink", 5, 25), ATTR("reverse", 7, 27) diff --git a/color.h b/color.h index 2d0507ff7e..e6f82cc3eb 100644 --- a/color.h +++ b/color.h @@ -16,7 +16,8 @@ struct strbuf; * * The space for attributes is also slightly overallocated, as * the negation for some attributes is the same (e.g., nobold and nodim). - * We also allocate space for 6 attributes (even though we have only 5). + * + * We allocate space for 6 attributes. */ #define COLOR_MAXLEN 70 diff --git a/t/t4026-color.sh b/t/t4026-color.sh index 2065752ff9..13690f7c31 100755 --- a/t/t4026-color.sh +++ b/t/t4026-color.sh @@ -60,8 +60,9 @@ test_expect_success 'long color specification' ' test_expect_success 'absurdly long color specification' ' color \ - "#ffffff #ffffff bold nobold dim nodim ul noul blink noblink reverse noreverse" \ - "[1;2;4;5;7;22;24;25;27;38;2;255;255;255;48;2;255;255;255m" + "#ffffff #ffffff bold nobold dim nodim italic noitalic + ul noul blink noblink reverse noreverse" \ + "[1;2;3;4;5;7;22;23;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' '