From 9dc3515cf005639317fb95492b3157aadf056923 Mon Sep 17 00:00:00 2001 From: Jeff King Date: Thu, 23 Jun 2016 13:40:16 -0400 Subject: color: support strike-through attribute This is the only remaining attribute that is commonly supported (at least by xterm) that we don't support. Let's add it for completeness. Signed-off-by: Jeff King Signed-off-by: Junio C Hamano diff --git a/Documentation/config.txt b/Documentation/config.txt index cea3835..6882e70 100644 --- a/Documentation/config.txt +++ b/Documentation/config.txt @@ -160,8 +160,9 @@ 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`, `reverse`, and -`italic`. The position of any attributes with respect to the colors +The accepted attributes are `bold`, `dim`, `ul`, `blink`, `reverse`, +`italic`, and `strike` (for crossed-out or "strikethrough" letters). +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). diff --git a/color.c b/color.c index b6933a1..a5b6581 100644 --- a/color.c +++ b/color.c @@ -136,7 +136,8 @@ static int parse_attr(const char *name, size_t len) ATTR("italic", 3, 23), ATTR("ul", 4, 24), ATTR("blink", 5, 25), - ATTR("reverse", 7, 27) + ATTR("reverse", 7, 27), + ATTR("strike", 9, 29) #undef ATTR }; int negate = 0; diff --git a/color.h b/color.h index e6f82cc..2af1019 100644 --- a/color.h +++ b/color.h @@ -17,9 +17,9 @@ 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 allocate space for 6 attributes. + * We allocate space for 7 attributes. */ -#define COLOR_MAXLEN 70 +#define COLOR_MAXLEN 75 /* * IMPORTANT: Due to the way these color codes are emulated on Windows, diff --git a/t/t4026-color.sh b/t/t4026-color.sh index 13690f7..ec78c5e 100755 --- a/t/t4026-color.sh +++ b/t/t4026-color.sh @@ -61,8 +61,8 @@ test_expect_success 'long color specification' ' test_expect_success 'absurdly long color specification' ' color \ "#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" + ul noul blink noblink reverse noreverse strike nostrike" \ + "[1;2;3;4;5;7;9;22;23;24;25;27;29;38;2;255;255;255;48;2;255;255;255m" ' test_expect_success '0-7 are aliases for basic ANSI color names' ' -- cgit v0.10.2-6-g49f6