Skip to content

Commit

Permalink
add -i (built-in): use correct names to load color.diff.* config
Browse files Browse the repository at this point in the history
The builtin version of add-interactive mistakenly loads diff colors from
color.interactive.* instead of color.diff.*. It also accidentally spells
`frag` as `fraginfo`.

Let's fix that.

Note also that we don't respect the historical `diff.color.*`. The perl
version never did, and those have been deprecated since 2007.

Reported-by: Philippe Blain <levraiphilippeblain@gmail.com>
Co-authored-by: Jeff King <peff@peff.net>
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
  • Loading branch information
2 people authored and gitster committed Nov 11, 2020
1 parent c62cd17 commit 25d9e5c
Showing 1 changed file with 13 additions and 10 deletions.
23 changes: 13 additions & 10 deletions add-interactive.c
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,10 @@
#include "prompt.h"

static void init_color(struct repository *r, struct add_i_state *s,
const char *slot_name, char *dst,
const char *section_and_slot, char *dst,
const char *default_color)
{
char *key = xstrfmt("color.interactive.%s", slot_name);
char *key = xstrfmt("color.%s", section_and_slot);
const char *value;

if (!s->use_color)
Expand All @@ -40,17 +40,20 @@ void init_add_i_state(struct add_i_state *s, struct repository *r)
git_config_colorbool("color.interactive", value);
s->use_color = want_color(s->use_color);

init_color(r, s, "header", s->header_color, GIT_COLOR_BOLD);
init_color(r, s, "help", s->help_color, GIT_COLOR_BOLD_RED);
init_color(r, s, "prompt", s->prompt_color, GIT_COLOR_BOLD_BLUE);
init_color(r, s, "error", s->error_color, GIT_COLOR_BOLD_RED);
init_color(r, s, "fraginfo", s->fraginfo_color,
init_color(r, s, "interactive.header", s->header_color, GIT_COLOR_BOLD);
init_color(r, s, "interactive.help", s->help_color, GIT_COLOR_BOLD_RED);
init_color(r, s, "interactive.prompt", s->prompt_color,
GIT_COLOR_BOLD_BLUE);
init_color(r, s, "interactive.error", s->error_color,
GIT_COLOR_BOLD_RED);

init_color(r, s, "diff.frag", s->fraginfo_color,
diff_get_color(s->use_color, DIFF_FRAGINFO));
init_color(r, s, "context", s->context_color,
init_color(r, s, "diff.context", s->context_color,
diff_get_color(s->use_color, DIFF_CONTEXT));
init_color(r, s, "old", s->file_old_color,
init_color(r, s, "diff.old", s->file_old_color,
diff_get_color(s->use_color, DIFF_FILE_OLD));
init_color(r, s, "new", s->file_new_color,
init_color(r, s, "diff.new", s->file_new_color,
diff_get_color(s->use_color, DIFF_FILE_NEW));

strlcpy(s->reset_color,
Expand Down

0 comments on commit 25d9e5c

Please sign in to comment.