Browse Source

Merge branch 'dm/color-palette'

* dm/color-palette:
  Share color list between graph and show-branch
maint
Junio C Hamano 14 years ago
parent
commit
29dba37f1f
  1. 16
      builtin/show-branch.c
  2. 22
      color.c
  3. 3
      color.h
  4. 23
      graph.c

16
builtin/show-branch.c

@ -12,16 +12,6 @@ static const char* show_branch_usage[] = {
}; };


static int showbranch_use_color = -1; static int showbranch_use_color = -1;
static char column_colors[][COLOR_MAXLEN] = {
GIT_COLOR_RED,
GIT_COLOR_GREEN,
GIT_COLOR_YELLOW,
GIT_COLOR_BLUE,
GIT_COLOR_MAGENTA,
GIT_COLOR_CYAN,
};

#define COLUMN_COLORS_MAX (ARRAY_SIZE(column_colors))


static int default_num; static int default_num;
static int default_alloc; static int default_alloc;
@ -37,7 +27,7 @@ static const char **default_arg;
static const char *get_color_code(int idx) static const char *get_color_code(int idx)
{ {
if (showbranch_use_color) if (showbranch_use_color)
return column_colors[idx]; return column_colors_ansi[idx % column_colors_ansi_max];
return ""; return "";
} }


@ -892,7 +882,7 @@ int cmd_show_branch(int ac, const char **av, const char *prefix)
for (j = 0; j < i; j++) for (j = 0; j < i; j++)
putchar(' '); putchar(' ');
printf("%s%c%s [%s] ", printf("%s%c%s [%s] ",
get_color_code(i % COLUMN_COLORS_MAX), get_color_code(i),
is_head ? '*' : '!', is_head ? '*' : '!',
get_color_reset_code(), ref_name[i]); get_color_reset_code(), ref_name[i]);
} }
@ -954,7 +944,7 @@ int cmd_show_branch(int ac, const char **av, const char *prefix)
else else
mark = '+'; mark = '+';
printf("%s%c%s", printf("%s%c%s",
get_color_code(i % COLUMN_COLORS_MAX), get_color_code(i),
mark, get_color_reset_code()); mark, get_color_reset_code());
} }
putchar(' '); putchar(' ');

22
color.c

@ -3,6 +3,28 @@


int git_use_color_default = 0; int git_use_color_default = 0;


/*
* The list of available column colors.
*/
const char *column_colors_ansi[] = {
GIT_COLOR_RED,
GIT_COLOR_GREEN,
GIT_COLOR_YELLOW,
GIT_COLOR_BLUE,
GIT_COLOR_MAGENTA,
GIT_COLOR_CYAN,
GIT_COLOR_BOLD_RED,
GIT_COLOR_BOLD_GREEN,
GIT_COLOR_BOLD_YELLOW,
GIT_COLOR_BOLD_BLUE,
GIT_COLOR_BOLD_MAGENTA,
GIT_COLOR_BOLD_CYAN,
GIT_COLOR_RESET,
};

/* Ignore the RESET at the end when giving the size */
const int column_colors_ansi_max = ARRAY_SIZE(column_colors_ansi) - 1;

static int parse_color(const char *name, int len) static int parse_color(const char *name, int len)
{ {
static const char * const color_names[] = { static const char * const color_names[] = {

3
color.h

@ -53,6 +53,9 @@ struct strbuf;
*/ */
extern int git_use_color_default; extern int git_use_color_default;


/* A default list of colors to use for commit graphs and show-branch output */
extern const char *column_colors_ansi[];
extern const int column_colors_ansi_max;


/* /*
* Use this instead of git_default_config if you need the value of color.ui. * Use this instead of git_default_config if you need the value of color.ui.

23
graph.c

@ -59,27 +59,6 @@ enum graph_state {
GRAPH_COLLAPSING GRAPH_COLLAPSING
}; };


/*
* The list of available column colors.
*/
static const char *column_colors_ansi[] = {
GIT_COLOR_RED,
GIT_COLOR_GREEN,
GIT_COLOR_YELLOW,
GIT_COLOR_BLUE,
GIT_COLOR_MAGENTA,
GIT_COLOR_CYAN,
GIT_COLOR_BOLD_RED,
GIT_COLOR_BOLD_GREEN,
GIT_COLOR_BOLD_YELLOW,
GIT_COLOR_BOLD_BLUE,
GIT_COLOR_BOLD_MAGENTA,
GIT_COLOR_BOLD_CYAN,
GIT_COLOR_RESET,
};

#define COLUMN_COLORS_ANSI_MAX (ARRAY_SIZE(column_colors_ansi) - 1)

static const char **column_colors; static const char **column_colors;
static unsigned short column_colors_max; static unsigned short column_colors_max;


@ -228,7 +207,7 @@ struct git_graph *graph_init(struct rev_info *opt)


if (!column_colors) if (!column_colors)
graph_set_column_colors(column_colors_ansi, graph_set_column_colors(column_colors_ansi,
COLUMN_COLORS_ANSI_MAX); column_colors_ansi_max);


graph->commit = NULL; graph->commit = NULL;
graph->revs = opt; graph->revs = opt;

Loading…
Cancel
Save