v2: * on top of the new hashmap patches[3]. It compiles when put on older versions of the hashmap series, as the hashmap compare function just swapped void pointers in the definition. * better documentation, Thanks Simon! ... If there are fewer than 3 adjacent moved lines, they are not marked up as moved, but the regular colors 'color.diff.{old,new}' will be used. ... * clarified the compare function (casting the return to unsigned char, such that 0-255 is from the string, -1 indicated EOF. Adapted the checks for that. Thanks, Stefan [3] https://public-inbox.org/git/20170630191407.5381-1-sbeller@xxxxxxxxxx/ v1: Reroll of sb/diff-color-moved, applies on top of the hashmap patches[1]. * Supports different whitespace modes correctly now (and has a test for trivial white space changes) * The fixups[2] have been squashed. Thanks, Stefan [1] https://public-inbox.org/git/20170629235336.28460-1-sbeller@xxxxxxxxxx/ [2] https://public-inbox.org/git/20170628005651.8110-1-sbeller@xxxxxxxxxx/ Stefan Beller (25): diff.c: readability fix diff.c: move line ending check into emit_hunk_header diff.c: factor out diff_flush_patch_all_file_pairs diff.c: introduce emit_diff_symbol diff.c: emit_diff_symbol learns DIFF_SYMBOL_CONTEXT_MARKER diff.c: emit_diff_symbol learns DIFF_SYMBOL_CONTEXT_FRAGINFO diff.c: emit_diff_symbol learns DIFF_SYMBOL_NO_LF_EOF diff.c: migrate emit_line_checked to use emit_diff_symbol diff.c: emit_diff_symbol learns DIFF_SYMBOL_WORDS[_PORCELAIN] diff.c: emit_diff_symbol learns DIFF_SYMBOL_CONTEXT_INCOMPLETE diff.c: emit_diff_symbol learns DIFF_SYMBOL_FILEPAIR_{PLUS, MINUS} diff.c: emit_diff_symbol learns DIFF_SYMBOL_HEADER diff.c: emit_diff_symbol learns about DIFF_SYMBOL_BINARY_FILES diff.c: emit_diff_symbol learns DIFF_SYMBOL_REWRITE_DIFF submodule.c: migrate diff output to use emit_diff_symbol diff.c: convert emit_binary_diff_body to use emit_diff_symbol diff.c: convert show_stats to use emit_diff_symbol diff.c: convert word diffing to use emit_diff_symbol diff.c: emit_diff_symbol learns about DIFF_SYMBOL_STAT_SEP diff.c: emit_diff_symbol learns about DIFF_SYMBOL_SUMMARY diff.c: buffer all output if asked to diff.c: color moved lines differently diff.c: color moved lines differently, plain mode diff.c: add dimming to moved line detection diff: document the new --color-moved setting Documentation/config.txt | 15 +- Documentation/diff-options.txt | 36 ++ cache.h | 2 + color.h | 2 + diff.c | 1309 ++++++++++++++++++++++++++++++++-------- diff.h | 39 +- submodule.c | 84 ++- submodule.h | 13 +- t/t4015-diff-whitespace.sh | 434 +++++++++++++ 9 files changed, 1618 insertions(+), 316 deletions(-) -- 2.13.0.31.g9b732c453e