From de658515ae1166577441da09fe7624769e263a3e Mon Sep 17 00:00:00 2001 From: Robert Estelle Date: Tue, 26 Oct 2021 01:03:47 +0000 Subject: color: allow colors to be prefixed with "reset" "reset" was previously treated as a standalone special color name representing `\e[m`. Now, it can apply to other color properties, allowing exact specifications without implicit attribute inheritance. For example, "reset green" now renders `\e[;32m`, which is interpreted as "reset everything; then set foreground to green". This means the background and other attributes are also reset to their defaults. Previously, this was impossible to represent in a single color: "reset" could be specified alone, or a color with attributes, but some thing like clearing a background color were impossible. There is a separate change that introduces the "default" color name to assist with that, but even then, the above could only to be represented by explicitly disabling each of the attributes: green default no-bold no-dim no-italic no-ul no-blink no-reverse no-strike Signed-off-by: Robert Estelle Signed-off-by: Junio C Hamano --- color.h | 1 + 1 file changed, 1 insertion(+) (limited to 'color.h') diff --git a/color.h b/color.h index 27e817016b..cfc8f841b2 100644 --- a/color.h +++ b/color.h @@ -6,6 +6,7 @@ struct strbuf; /* * The maximum length of ANSI color sequence we would generate: * - leading ESC '[' 2 + * - reset ';' .................1 * - attr + ';' 2 * num_attr (e.g. "1;") * - no-attr + ';' 3 * num_attr (e.g. "22;") * - fg color + ';' 17 (e.g. "38;2;255;255;255;") -- cgit v1.2.3