This is also avaliable as git fetch https://github.com/stefanbeller/git sb/range-diff-colors and is a resend of sb/range-diff-colors. It is rebased on the version of range-diff that Johannes just sent out (pr-1/dscho/branch-diff-v5 in GGG repo), and squashes the fisup commit (which had to be adapted slightly in one line, too) range-diff below. Stefan Beller (8): test_decode_color: understand FAINT and ITALIC t3206: add color test for range-diff --dual-color diff.c: simplify caller of emit_line_0 diff.c: reorder arguments for emit_line_ws_markup diff.c: add set_sign to emit_line_0 diff: use emit_line_0 once per line diff.c: compute reverse locally in emit_line_0 diff.c: rewrite emit_line_0 more understandably diff.c | 94 +++++++++++++++++++++++------------------ t/t3206-range-diff.sh | 39 +++++++++++++++++ t/test-lib-functions.sh | 2 + 3 files changed, 93 insertions(+), 42 deletions(-) ./git-range-diff \ 5bf616af71afe1c4c36da7f21077662febf28cbe..c1b144ea695514cfe185fe70089198621c38d01c \ ccf8c1bb2459d33c7dc97098c08c47ca7d77ed3e..4dc97b54a35c60c25ab7634441d60711ead0e84e \ >>0000-cover-letter.patch 1: 7f88339e03e = 1: 0fedd4c0a20 test_decode_color: understand FAINT and ITALIC 2: 13e8528be69 < -: ----------- t3206: add color test for range-diff --dual-color -: ----------- > 2: 6a1c7698c68 t3206: add color test for range-diff --dual-color 3: 2f80811b319 = 3: 7e12ece1d34 diff.c: simplify caller of emit_line_0 4: 15af0d378c8 ! 4: 74dabd6d36f diff.c: reorder arguments for emit_line_ws_markup @@ -35,7 +35,7 @@ case DIFF_SYMBOL_PLUS: @@ set = diff_get_color_opt(o, DIFF_CONTEXT_BOLD); - flags |= WS_IGNORE_FIRST_SPACE; + flags &= ~DIFF_SYMBOL_CONTENT_WS_MASK; } - emit_line_ws_markup(o, set, reset, line, len, set_sign, '+', + emit_line_ws_markup(o, set_sign, set, reset, '+', line, len, 5: dce49bb58fd = 5: e304e15aa6b diff.c: add set_sign to emit_line_0 6: 7581e16d63f = 6: 8d935d5212c diff: use emit_line_0 once per line 7: d070d393f73 = 7: 2344aac787a diff.c: compute reverse locally in emit_line_0 8: 669e7516e03 = 8: 4dc97b54a35 diff.c: rewrite emit_line_0 more understandably 9: c1b144ea695 < -: ----------- fixup! t3206: add color test for range-diff --dual-color