зеркало из https://github.com/microsoft/git.git
color: support "italic" attribute
We already support bold, underline, and similar attributes. Let's add italic to the mix. According to the Wikipedia page on ANSI colors, this attribute is "not widely supported", but it does seem to work on my xterm. We don't have to bump the maximum color size because we were already over-allocating it (but we do adjust the comment appropriately). Requested-by: Simon Courtois <scourtois@cubyx.fr> Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Родитель
5621068f3d
Коммит
54590a0eda
|
@ -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
|
your terminal supports it, you may also specify 24-bit RGB values as
|
||||||
hex, like `#ff0ab3`.
|
hex, like `#ff0ab3`.
|
||||||
+
|
+
|
||||||
The accepted attributes are `bold`, `dim`, `ul`, `blink`, and `reverse`.
|
The accepted attributes are `bold`, `dim`, `ul`, `blink`, `reverse`, and
|
||||||
The position of any attributes with respect to the colors (before, after,
|
`italic`. The position of any attributes with respect to the colors
|
||||||
or in between), doesn't matter. Specific attributes may be turned off
|
(before, after, or in between), doesn't matter. Specific attributes may
|
||||||
by prefixing them with `no` or `no-` (e.g., `noreverse`, `no-ul`, etc).
|
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
|
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
|
at the beginning of each item in the colored output. So setting
|
||||||
|
|
1
color.c
1
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) }
|
#define ATTR(x, val, neg) { (x), sizeof(x)-1, (val), (neg) }
|
||||||
ATTR("bold", 1, 22),
|
ATTR("bold", 1, 22),
|
||||||
ATTR("dim", 2, 22),
|
ATTR("dim", 2, 22),
|
||||||
|
ATTR("italic", 3, 23),
|
||||||
ATTR("ul", 4, 24),
|
ATTR("ul", 4, 24),
|
||||||
ATTR("blink", 5, 25),
|
ATTR("blink", 5, 25),
|
||||||
ATTR("reverse", 7, 27)
|
ATTR("reverse", 7, 27)
|
||||||
|
|
3
color.h
3
color.h
|
@ -16,7 +16,8 @@ struct strbuf;
|
||||||
*
|
*
|
||||||
* The space for attributes is also slightly overallocated, as
|
* The space for attributes is also slightly overallocated, as
|
||||||
* the negation for some attributes is the same (e.g., nobold and nodim).
|
* 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
|
#define COLOR_MAXLEN 70
|
||||||
|
|
||||||
|
|
|
@ -60,8 +60,9 @@ test_expect_success 'long color specification' '
|
||||||
|
|
||||||
test_expect_success 'absurdly long color specification' '
|
test_expect_success 'absurdly long color specification' '
|
||||||
color \
|
color \
|
||||||
"#ffffff #ffffff bold nobold dim nodim ul noul blink noblink reverse noreverse" \
|
"#ffffff #ffffff bold nobold dim nodim italic noitalic
|
||||||
"[1;2;4;5;7;22;24;25;27;38;2;255;255;255;48;2;255;255;255m"
|
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' '
|
test_expect_success '0-7 are aliases for basic ANSI color names' '
|
||||||
|
|
Загрузка…
Ссылка в новой задаче