summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff King <peff@peff.net>2016-06-23 17:40:16 (GMT)
committerJunio C Hamano <gitster@pobox.com>2016-06-23 18:32:51 (GMT)
commit9dc3515cf005639317fb95492b3157aadf056923 (patch)
tree2225ac4d85a5ac5f93434edd70fad8a27f715ea1
parent54590a0eda10ecfdc39398d662ab3f663491067e (diff)
downloadgit-9dc3515cf005639317fb95492b3157aadf056923.zip
git-9dc3515cf005639317fb95492b3157aadf056923.tar.gz
git-9dc3515cf005639317fb95492b3157aadf056923.tar.bz2
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>
-rw-r--r--Documentation/config.txt5
-rw-r--r--color.c3
-rw-r--r--color.h4
-rwxr-xr-xt/t4026-color.sh4
4 files changed, 9 insertions, 7 deletions
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' '