mirror of
https://github.com/git/git.git
synced 2025-12-12 20:36:24 +01:00
want_color: automatically fallback to color.ui
All of the "do we want color" flags default to -1 to
indicate that we don't have any color configured. This value
is handled in one of two ways:
1. In porcelain, we check early on whether the value is
still -1 after reading the config, and set it to the
value of color.ui (which defaults to 0).
2. In plumbing, it stays untouched as -1, and want_color
defaults it to off.
This works fine, but means that every porcelain has to check
and reassign its color flag. Now that want_color gives us a
place to put this check in a single spot, we can do that,
simplifying the calling code.
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
3e1dd17a89
commit
c9bfb95348
7
color.c
7
color.c
@@ -1,7 +1,7 @@
|
||||
#include "cache.h"
|
||||
#include "color.h"
|
||||
|
||||
int git_use_color_default = 0;
|
||||
static int git_use_color_default = 0;
|
||||
int color_stdout_is_tty = -1;
|
||||
|
||||
/*
|
||||
@@ -196,12 +196,15 @@ int want_color(int var)
|
||||
{
|
||||
static int want_auto = -1;
|
||||
|
||||
if (var < 0)
|
||||
var = git_use_color_default;
|
||||
|
||||
if (var == GIT_COLOR_AUTO) {
|
||||
if (want_auto < 0)
|
||||
want_auto = check_auto_color();
|
||||
return want_auto;
|
||||
}
|
||||
return var > 0;
|
||||
return var;
|
||||
}
|
||||
|
||||
int git_color_config(const char *var, const char *value, void *cb)
|
||||
|
||||
Reference in New Issue
Block a user