diff.c: offer config option to control ws handling in move detection
Signed-off-by: Stefan Beller <sbeller@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>maint
parent
ca1f4ae4df
commit
626c0b5d39
|
@ -1122,6 +1122,11 @@ diff.colorMoved::
|
||||||
true the default color mode will be used. When set to false,
|
true the default color mode will be used. When set to false,
|
||||||
moved lines are not colored.
|
moved lines are not colored.
|
||||||
|
|
||||||
|
diff.colorMovedWS::
|
||||||
|
When moved lines are colored using e.g. the `diff.colorMoved` setting,
|
||||||
|
this option controls the `<mode>` how spaces are treated
|
||||||
|
for details of valid modes see '--color-moved-ws' in linkgit:git-diff[1].
|
||||||
|
|
||||||
color.diff.<slot>::
|
color.diff.<slot>::
|
||||||
Use customized color for diff colorization. `<slot>` specifies
|
Use customized color for diff colorization. `<slot>` specifies
|
||||||
which part of the patch to use the specified color, and is one
|
which part of the patch to use the specified color, and is one
|
||||||
|
|
|
@ -294,8 +294,11 @@ dimmed_zebra::
|
||||||
|
|
||||||
--color-moved-ws=<modes>::
|
--color-moved-ws=<modes>::
|
||||||
This configures how white spaces are ignored when performing the
|
This configures how white spaces are ignored when performing the
|
||||||
move detection for `--color-moved`. These modes can be given
|
move detection for `--color-moved`.
|
||||||
as a comma separated list:
|
ifdef::git-diff[]
|
||||||
|
It can be set by the `diff.colorMovedWS` configuration setting.
|
||||||
|
endif::git-diff[]
|
||||||
|
These modes can be given as a comma separated list:
|
||||||
+
|
+
|
||||||
--
|
--
|
||||||
ignore-space-at-eol::
|
ignore-space-at-eol::
|
||||||
|
|
9
diff.c
9
diff.c
|
@ -35,6 +35,7 @@ static int diff_rename_limit_default = 400;
|
||||||
static int diff_suppress_blank_empty;
|
static int diff_suppress_blank_empty;
|
||||||
static int diff_use_color_default = -1;
|
static int diff_use_color_default = -1;
|
||||||
static int diff_color_moved_default;
|
static int diff_color_moved_default;
|
||||||
|
static int diff_color_moved_ws_default;
|
||||||
static int diff_context_default = 3;
|
static int diff_context_default = 3;
|
||||||
static int diff_interhunk_context_default;
|
static int diff_interhunk_context_default;
|
||||||
static const char *diff_word_regex_cfg;
|
static const char *diff_word_regex_cfg;
|
||||||
|
@ -332,6 +333,13 @@ int git_diff_ui_config(const char *var, const char *value, void *cb)
|
||||||
diff_color_moved_default = cm;
|
diff_color_moved_default = cm;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
if (!strcmp(var, "diff.colormovedws")) {
|
||||||
|
int cm = parse_color_moved_ws(value);
|
||||||
|
if (cm < 0)
|
||||||
|
return -1;
|
||||||
|
diff_color_moved_ws_default = cm;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
if (!strcmp(var, "diff.context")) {
|
if (!strcmp(var, "diff.context")) {
|
||||||
diff_context_default = git_config_int(var, value);
|
diff_context_default = git_config_int(var, value);
|
||||||
if (diff_context_default < 0)
|
if (diff_context_default < 0)
|
||||||
|
@ -4327,6 +4335,7 @@ void diff_setup(struct diff_options *options)
|
||||||
}
|
}
|
||||||
|
|
||||||
options->color_moved = diff_color_moved_default;
|
options->color_moved = diff_color_moved_default;
|
||||||
|
options->color_moved_ws_handling = diff_color_moved_ws_default;
|
||||||
}
|
}
|
||||||
|
|
||||||
void diff_setup_done(struct diff_options *options)
|
void diff_setup_done(struct diff_options *options)
|
||||||
|
|
Loading…
Reference in New Issue