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 <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Jeff King committed
Jun 23, 2016 at 13:40 UTC
9dc3515cf005639317fb95492b3157aadf056923
4 files changed
+9
-7
Documentation/config.txt
+3
-2
@@ -160,8 +160,9 @@ Colors may also be given as numbers between 0 and 255; these use ANSI
160
your terminal supports it, you may also specify 24-bit RGB values as
161
hex, like `#ff0ab3`.
162
+
163
-The accepted attributes are `bold`, `dim`, `ul`, `blink`, `reverse`, and
164
-`italic`. The position of any attributes with respect to the colors
163
+The accepted attributes are `bold`, `dim`, `ul`, `blink`, `reverse`,
164
+`italic`, and `strike` (for crossed-out or "strikethrough" letters).
165
+The position of any attributes with respect to the colors
166
(before, after, or in between), doesn't matter. Specific attributes may
167
be turned off by prefixing them with `no` or `no-` (e.g., `noreverse`,
168
`no-ul`, etc).
color.c
+2
-1
@@ -136,7 +136,8 @@ static int parse_attr(const char *name, size_t len)
136
ATTR("italic", 3, 23),
137
ATTR("ul", 4, 24),
138
ATTR("blink", 5, 25),
139
- ATTR("reverse", 7, 27)
139
+ ATTR("reverse", 7, 27),
140
+ ATTR("strike", 9, 29)
141
#undef ATTR
142
};
143
int negate = 0;
color.h
+2
-2
@@ -17,9 +17,9 @@ struct strbuf;
17
* The space for attributes is also slightly overallocated, as
18
* the negation for some attributes is the same (e.g., nobold and nodim).
19
*
20
- * We allocate space for 6 attributes.
20
+ * We allocate space for 7 attributes.
21
*/
22
-#define COLOR_MAXLEN 70
22
+#define COLOR_MAXLEN 75
23
24
/*
25
* IMPORTANT: Due to the way these color codes are emulated on Windows,
t/t4026-color.sh
+2
-2
@@ -61,8 +61,8 @@ test_expect_success 'long color specification' '
61
test_expect_success 'absurdly long color specification' '
62
color \
63
"#ffffff #ffffff bold nobold dim nodim italic noitalic
64
- ul noul blink noblink reverse noreverse" \
65
- "[1;2;3;4;5;7;22;23;24;25;27;38;2;255;255;255;48;2;255;255;255m"
64
+ ul noul blink noblink reverse noreverse strike nostrike" \
65
+ "[1;2;3;4;5;7;9;22;23;24;25;27;29;38;2;255;255;255;48;2;255;255;255m"
66
'
67
68
test_expect_success '0-7 are aliases for basic ANSI color names' '