mirror of
https://github.com/git/git.git
synced 2025-12-12 20:36:24 +01:00
color: use GIT_COLOR_* instead of numeric constants
Long ago Git's decision to show color for a subsytem was stored in a
tri-state variable: it could be true (1), false (0), or unknown (-1).
But since daa0c3d971 (color: delay auto-color decision until point of
use, 2011-08-17) we want to carry around a new state, "auto", which
bases the decision on the tty-ness of stdout (rather than collapsing
that "auto" state to a true/false immediately).
That commit introduced a set of GIT_COLOR_* defines to represent each
state: UNKNOWN, ALWAYS, NEVER, and AUTO. But it only used the AUTO
value, and left alone code using bare 0/1/-1 values. And of course since
then we've grown many new spots that use those bare values.
Let's switch all of these to use the named constants. That should make
the code a bit easier to read, as it is more obvious that we're
representing a color decision.
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
committed by
Junio C Hamano
parent
e335ff31f7
commit
3c3e9b8303
@@ -42,7 +42,7 @@ static int check_color_config(struct repository *r, const char *var)
|
||||
int ret;
|
||||
|
||||
if (repo_config_get_value(r, var, &value))
|
||||
ret = -1;
|
||||
ret = GIT_COLOR_UNKNOWN;
|
||||
else
|
||||
ret = git_config_colorbool(var, value);
|
||||
|
||||
@@ -51,7 +51,8 @@ static int check_color_config(struct repository *r, const char *var)
|
||||
* the value parsed by git_color_config(), which may not have been
|
||||
* called by the main command.
|
||||
*/
|
||||
if (ret < 0 && !repo_config_get_value(r, "color.ui", &value))
|
||||
if (ret == GIT_COLOR_UNKNOWN &&
|
||||
!repo_config_get_value(r, "color.ui", &value))
|
||||
ret = git_config_colorbool("color.ui", value);
|
||||
|
||||
return want_color(ret);
|
||||
@@ -130,8 +131,8 @@ void clear_add_i_state(struct add_i_state *s)
|
||||
FREE_AND_NULL(s->interactive_diff_filter);
|
||||
FREE_AND_NULL(s->interactive_diff_algorithm);
|
||||
memset(s, 0, sizeof(*s));
|
||||
s->use_color_interactive = -1;
|
||||
s->use_color_diff = -1;
|
||||
s->use_color_interactive = GIT_COLOR_UNKNOWN;
|
||||
s->use_color_diff = GIT_COLOR_UNKNOWN;
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
Reference in New Issue
Block a user