* [PATCH] status: show branchname with a configurable color
@ 2010-11-17 23:40 aga
2010-12-01 22:06 ` Junio C Hamano
0 siblings, 1 reply; 2+ messages in thread
From: aga @ 2010-11-17 23:40 UTC (permalink / raw)
To: git; +Cc: gitster, Aleksi Aalto
From: Aleksi Aalto <aga@iki.fi>
The configuration variable is color.status.branch.
The default color is magenta.
Signed-off-by: Aleksi Aalto <aga@iki.fi>
---
Documentation/config.txt | 15 +++++++--------
builtin/commit.c | 2 ++
t/t7508-status.sh | 2 +-
wt-status.c | 25 ++++++++++++++-----------
wt-status.h | 1 +
5 files changed, 25 insertions(+), 20 deletions(-)
diff --git a/Documentation/config.txt b/Documentation/config.txt
index ba9639c..1dd3669 100644
--- a/Documentation/config.txt
+++ b/Documentation/config.txt
@@ -769,14 +769,13 @@ color.status::
only when the output is to a terminal. Defaults to false.
color.status.<slot>::
- Use customized color for status colorization. `<slot>` is
- one of `header` (the header text of the status message),
- `added` or `updated` (files which are added but not committed),
- `changed` (files which are changed but not added in the index),
- `untracked` (files which are not tracked by git), or
- `nobranch` (the color the 'no branch' warning is shown in, defaulting
- to red). The values of these variables may be specified as in
- color.branch.<slot>.
+ Use customized color for status colorization. `<slot>` is one of
+ `header` (the header text of the status message), `added` or `updated`
+ (files which are added but not committed), `changed` (files which
+ are changed but not added in the index), `untracked` (files which
+ are not tracked by git), `branch` (the current branch) or `nobranch`
+ (the color the 'no branch' warning is shown in, defaulting to red). The
+ values of these variables may be specified as in color.branch.<slot>.
color.ui::
When set to `always`, always use colors in all git commands which
diff --git a/builtin/commit.c b/builtin/commit.c
index 66fdd22..df4d189 100644
--- a/builtin/commit.c
+++ b/builtin/commit.c
@@ -984,6 +984,8 @@ static int parse_status_slot(const char *var, int offset)
{
if (!strcasecmp(var+offset, "header"))
return WT_STATUS_HEADER;
+ if (!strcasecmp(var+offset, "branch"))
+ return WT_STATUS_ONBRANCH;
if (!strcasecmp(var+offset, "updated")
|| !strcasecmp(var+offset, "added"))
return WT_STATUS_UPDATED;
diff --git a/t/t7508-status.sh b/t/t7508-status.sh
index c9300f3..d755e2a 100755
--- a/t/t7508-status.sh
+++ b/t/t7508-status.sh
@@ -386,7 +386,7 @@ test_expect_success 'setup unique colors' '
'
cat >expect <<\EOF
-# On branch master
+# On branch <MAGENTA>master<RESET>
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
diff --git a/wt-status.c b/wt-status.c
index fc2438f..ffbbb8f 100644
--- a/wt-status.c
+++ b/wt-status.c
@@ -13,14 +13,15 @@
#include "submodule.h"
static char default_wt_status_colors[][COLOR_MAXLEN] = {
- GIT_COLOR_NORMAL, /* WT_STATUS_HEADER */
- GIT_COLOR_GREEN, /* WT_STATUS_UPDATED */
- GIT_COLOR_RED, /* WT_STATUS_CHANGED */
- GIT_COLOR_RED, /* WT_STATUS_UNTRACKED */
- GIT_COLOR_RED, /* WT_STATUS_NOBRANCH */
- 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_HEADER */
+ GIT_COLOR_MAGENTA, /* WT_STATUS_ONBRANCH */
+ GIT_COLOR_GREEN, /* WT_STATUS_UPDATED */
+ GIT_COLOR_RED, /* WT_STATUS_CHANGED */
+ GIT_COLOR_RED, /* WT_STATUS_UNTRACKED */
+ GIT_COLOR_RED, /* WT_STATUS_NOBRANCH */
+ GIT_COLOR_RED, /* WT_STATUS_UNMERGED */
+ GIT_COLOR_GREEN, /* WT_STATUS_LOCAL_BRANCH */
+ GIT_COLOR_RED, /* WT_STATUS_REMOTE_BRANCH */
};
static const char *color(int slot, struct wt_status *s)
@@ -625,7 +626,8 @@ static void wt_status_print_tracking(struct wt_status *s)
void wt_status_print(struct wt_status *s)
{
- const char *branch_color = color(WT_STATUS_HEADER, s);
+ const char *branch_color = color(WT_STATUS_ONBRANCH, s);
+ const char *branch_status_color = color(WT_STATUS_HEADER, s);
if (s->branch) {
const char *on_what = "On branch ";
@@ -634,11 +636,12 @@ void wt_status_print(struct wt_status *s)
branch_name += 11;
else if (!strcmp(branch_name, "HEAD")) {
branch_name = "";
- branch_color = color(WT_STATUS_NOBRANCH, s);
+ branch_status_color = color(WT_STATUS_NOBRANCH, s);
on_what = "Not currently on any branch.";
}
color_fprintf(s->fp, color(WT_STATUS_HEADER, s), "# ");
- color_fprintf_ln(s->fp, branch_color, "%s%s", on_what, branch_name);
+ color_fprintf(s->fp, branch_status_color, "%s", on_what);
+ color_fprintf_ln(s->fp, branch_color, "%s", branch_name);
if (!s->is_initial)
wt_status_print_tracking(s);
}
diff --git a/wt-status.h b/wt-status.h
index 9df9c9f..2457f20 100644
--- a/wt-status.h
+++ b/wt-status.h
@@ -7,6 +7,7 @@
enum color_wt_status {
WT_STATUS_HEADER = 0,
+ WT_STATUS_ONBRANCH,
WT_STATUS_UPDATED,
WT_STATUS_CHANGED,
WT_STATUS_UNTRACKED,
--
1.7.3.3.gc2223.dirty
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] status: show branchname with a configurable color
2010-11-17 23:40 [PATCH] status: show branchname with a configurable color aga
@ 2010-12-01 22:06 ` Junio C Hamano
0 siblings, 0 replies; 2+ messages in thread
From: Junio C Hamano @ 2010-12-01 22:06 UTC (permalink / raw)
To: aga; +Cc: git
aga@iki.fi writes:
> color.status.<slot>::
> - Use customized color for status colorization. `<slot>` is
> - one of `header` (the header text of the status message),
> - `added` or `updated` (files which are added but not committed),
> - `changed` (files which are changed but not added in the index),
> - `untracked` (files which are not tracked by git), or
> - `nobranch` (the color the 'no branch' warning is shown in, defaulting
> - to red). The values of these variables may be specified as in
> - color.branch.<slot>.
> + Use customized color for status colorization. `<slot>` is one of
> + `header` (the header text of the status message), `added` or `updated`
> + (files which are added but not committed), `changed` (files which
> + are changed but not added in the index), `untracked` (files which
> + are not tracked by git), `branch` (the current branch) or `nobranch`
> + (the color the 'no branch' warning is shown in, defaulting to red). The
> + values of these variables may be specified as in color.branch.<slot>.
Yuck. Why did you have to re-wrap the paragraph to make diff unreadable?
It also is customary to make the default plain, so that existing users
won't suddenly get a new and funky behaviour.
I'll queue with a slight rearrangement.
Thanks.
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2010-12-01 22:06 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-11-17 23:40 [PATCH] status: show branchname with a configurable color aga
2010-12-01 22:06 ` Junio C Hamano
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).