diff options
author | Stefan Beller <sbeller@google.com> | 2018-07-18 19:31:56 (GMT) |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2018-07-19 19:02:54 (GMT) |
commit | 626c0b5d395196ddabcf9b9a430db385722689d4 (patch) | |
tree | b1412186de6f09e4a20a76ec9b0d3cfa89c65619 | |
parent | ca1f4ae4dfade677647928d28728a0cad125981d (diff) | |
download | git-626c0b5d395196ddabcf9b9a430db385722689d4.zip git-626c0b5d395196ddabcf9b9a430db385722689d4.tar.gz git-626c0b5d395196ddabcf9b9a430db385722689d4.tar.bz2 |
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>
-rw-r--r-- | Documentation/config.txt | 5 | ||||
-rw-r--r-- | Documentation/diff-options.txt | 7 | ||||
-rw-r--r-- | diff.c | 9 |
3 files changed, 19 insertions, 2 deletions
diff --git a/Documentation/config.txt b/Documentation/config.txt index 2659153..6ca7118 100644 --- a/Documentation/config.txt +++ b/Documentation/config.txt @@ -1122,6 +1122,11 @@ diff.colorMoved:: true the default color mode will be used. When set to false, 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>:: Use customized color for diff colorization. `<slot>` specifies which part of the patch to use the specified color, and is one diff --git a/Documentation/diff-options.txt b/Documentation/diff-options.txt index 143acd9..8da7fed 100644 --- a/Documentation/diff-options.txt +++ b/Documentation/diff-options.txt @@ -294,8 +294,11 @@ dimmed_zebra:: --color-moved-ws=<modes>:: This configures how white spaces are ignored when performing the - move detection for `--color-moved`. These modes can be given - as a comma separated list: + move detection for `--color-moved`. +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:: @@ -35,6 +35,7 @@ static int diff_rename_limit_default = 400; static int diff_suppress_blank_empty; static int diff_use_color_default = -1; static int diff_color_moved_default; +static int diff_color_moved_ws_default; static int diff_context_default = 3; static int diff_interhunk_context_default; 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; 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")) { diff_context_default = git_config_int(var, value); 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_ws_handling = diff_color_moved_ws_default; } void diff_setup_done(struct diff_options *options) |