diff options
author | Junio C Hamano <gitster@pobox.com> | 2010-02-27 18:56:38 -0800 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2010-03-07 12:00:36 -0800 |
commit | 8b124135a97b593d50a90abcec231552b31c7ade (patch) | |
tree | 174c3351039ccb082ef50f95811d0dfa3128fa5c /color.h | |
parent | c5034673fd92b6278e6c9d55683770ec01fafc89 (diff) | |
download | git-8b124135a97b593d50a90abcec231552b31c7ade.tar.gz |
color: allow multiple attributes
In configuration files (and "git config --color" command line), we
supported one and only one attribute after foreground and background
color. Accept combinations of attributes, e.g.
[diff.color]
old = red reverse bold
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'color.h')
-rw-r--r-- | color.h | 16 |
1 files changed, 14 insertions, 2 deletions
@@ -1,8 +1,20 @@ #ifndef COLOR_H #define COLOR_H -/* "\033[1;38;5;2xx;48;5;2xxm\0" is 23 bytes */ -#define COLOR_MAXLEN 24 +/* 2 + (2 * num_attrs) + 8 + 1 + 8 + 'm' + NUL */ +/* "\033[1;2;4;5;7;38;5;2xx;48;5;2xxm\0" */ +/* + * The maximum length of ANSI color sequence we would generate: + * - leading ESC '[' 2 + * - attr + ';' 2 * 8 (e.g. "1;") + * - fg color + ';' 9 (e.g. "38;5;2xx;") + * - fg color + ';' 9 (e.g. "48;5;2xx;") + * - terminating 'm' NUL 2 + * + * The above overcounts attr (we only use 5 not 8) and one semicolon + * but it is close enough. + */ +#define COLOR_MAXLEN 40 /* * This variable stores the value of color.ui |