diff options
author | Jeff King <peff@peff.net> | 2010-12-09 12:27:08 -0500 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2010-12-10 12:59:52 -0800 |
commit | 148135fc24dce1e61cfd7fcedea4210095099e78 (patch) | |
tree | b3fa5923cb325d677aeb12db1406d606c6b24b8a /wt-status.c | |
parent | 1d282327d7354dd3a1caefa4af06562aa816710d (diff) | |
download | git-148135fc24dce1e61cfd7fcedea4210095099e78.tar.gz |
default color.status.branch to "same as header"
This gives it the same behavior as we had prior to 1d28232
(status: show branchname with a configurable color).
To do this we need the concept of a "NIL" color, which is
provided by color.[ch]. The implementation is very simple;
in particular, there are no precautions taken against code
accidentally printing the NIL. This should be fine in
practice because:
1. You can't input a NIL color in the config, so it must
come from the in-code defaults. Which means it is up
the client code to handle the NILs it defines.
2. If we do ever print a NIL, it will be obvious what the
problem is, and the bug can be fixed.
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'wt-status.c')
-rw-r--r-- | wt-status.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/wt-status.c b/wt-status.c index 19c9cb1d23..ffe86b9802 100644 --- a/wt-status.c +++ b/wt-status.c @@ -21,12 +21,15 @@ static char default_wt_status_colors[][COLOR_MAXLEN] = { GIT_COLOR_RED, /* WT_STATUS_UNMERGED */ GIT_COLOR_GREEN, /* WT_STATUS_LOCAL_BRANCH */ GIT_COLOR_RED, /* WT_STATUS_REMOTE_BRANCH */ - GIT_COLOR_NORMAL, /* WT_STATUS_ONBRANCH */ + GIT_COLOR_NIL, /* WT_STATUS_ONBRANCH */ }; static const char *color(int slot, struct wt_status *s) { - return s->use_color > 0 ? s->color_palette[slot] : ""; + const char *c = s->use_color > 0 ? s->color_palette[slot] : ""; + if (slot == WT_STATUS_ONBRANCH && color_is_nil(c)) + c = s->color_palette[WT_STATUS_HEADER]; + return c; } void wt_status_prepare(struct wt_status *s) |