add -i (built-in): use correct names to load color.diff.* config
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>
Johannes Schindelin committed
Nov 11, 2020 at 12:28 UTC
25d9e5ccba3fbcdb4109b6b2b2a7e721b0af6d77
1 file changed
+13
-10
add-interactive.c
+13
-10
@@ -12,10 +12,10 @@
12
#include "prompt.h"
13
14
static void init_color(struct repository *r, struct add_i_state *s,
15
- const char *slot_name, char *dst,
15
+ const char *section_and_slot, char *dst,
16
const char *default_color)
17
{
18
- char *key = xstrfmt("color.interactive.%s", slot_name);
18
+ char *key = xstrfmt("color.%s", section_and_slot);
19
const char *value;
20
21
if (!s->use_color)
@@ -40,17 +40,20 @@ void init_add_i_state(struct add_i_state *s, struct repository *r)
40
git_config_colorbool("color.interactive", value);
41
s->use_color = want_color(s->use_color);
42
43
- init_color(r, s, "header", s->header_color, GIT_COLOR_BOLD);
44
- init_color(r, s, "help", s->help_color, GIT_COLOR_BOLD_RED);
45
- init_color(r, s, "prompt", s->prompt_color, GIT_COLOR_BOLD_BLUE);
46
- init_color(r, s, "error", s->error_color, GIT_COLOR_BOLD_RED);
47
- init_color(r, s, "fraginfo", s->fraginfo_color,
43
+ init_color(r, s, "interactive.header", s->header_color, GIT_COLOR_BOLD);
44
+ init_color(r, s, "interactive.help", s->help_color, GIT_COLOR_BOLD_RED);
45
+ init_color(r, s, "interactive.prompt", s->prompt_color,
46
+ GIT_COLOR_BOLD_BLUE);
47
+ init_color(r, s, "interactive.error", s->error_color,
48
+ GIT_COLOR_BOLD_RED);
49
+
50
+ init_color(r, s, "diff.frag", s->fraginfo_color,
51
diff_get_color(s->use_color, DIFF_FRAGINFO));
49
- init_color(r, s, "context", s->context_color,
52
+ init_color(r, s, "diff.context", s->context_color,
53
diff_get_color(s->use_color, DIFF_CONTEXT));
51
- init_color(r, s, "old", s->file_old_color,
54
+ init_color(r, s, "diff.old", s->file_old_color,
55
diff_get_color(s->use_color, DIFF_FILE_OLD));
53
- init_color(r, s, "new", s->file_new_color,
56
+ init_color(r, s, "diff.new", s->file_new_color,
57
diff_get_color(s->use_color, DIFF_FILE_NEW));
58
59
strlcpy(s->reset_color,