addressed all of Erics feedback: * reworded commit messages * dropped q_to_tab and use cat instead * use -\EOF isntead of -EOF Thanks, Stefan 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 ws_cleanup-ontop-range-diff-2@{2.hours.ago}...HEAD >>0000-cover-letter.patch [dropped changes to range-diff itself] 13: a02ea020ae7 ! 13: 16f71b43f48 t3206: add color test for range-diff --dual-color @@ -2,9 +2,7 @@ t3206: add color test for range-diff --dual-color - The 'expect'ed outcome is taken by running the 'range-diff |decode'; - it is not meant as guidance, rather as a documentation of the current - situation. + The 'expect'ed outcome has been taken by running the 'range-diff | decode'. Signed-off-by: Stefan Beller <sbeller@xxxxxxxxxx> @@ -15,8 +13,8 @@ test_cmp expected actual ' -+test_expect_success 'simple coloring' ' -+ q_to_tab >expect <<-EOF && ++test_expect_success 'dual-coloring' ' ++ cat >expect <<-\EOF && + <YELLOW>1: a4b3333 = 1: f686024 s/5/A/<RESET> + <RED>2: f51d370 <RESET><YELLOW>!<RESET><GREEN> 2: 4ab067d<RESET><YELLOW> s/4/A/<RESET> + <REVERSE><CYAN>@@ -2,6 +2,8 @@<RESET> 14: c8734075229 = 14: abd1ec80608 diff.c: simplify caller of emit_line_0 15: ba98acffcda = 15: bc29037f4f0 diff.c: reorder arguments for emit_line_ws_markup 16: 5a576baeb49 ! 16: 8f6ee340f1e diff.c: add set_sign to emit_line_0 @@ -5,9 +5,10 @@ For now just change the signature, we'll reason about the actual change in a follow up patch. - Pass set_sign (which is output before the sign) and set that is setting - the color after the sign. Hence, promote any 'set's to set_sign as - we want to have color before the sign for now. + Pass 'set_sign' (which is output before the sign) and 'set' which + controls the color after the first character. Hence, promote any + 'set's to 'set_sign' as we want to have color before the sign + for now. Signed-off-by: Stefan Beller <sbeller@xxxxxxxxxx> 17: 4e2d5a4c7f3 = 17: 0ab5920a9ab diff: use emit_line_0 once per line 18: 460713e1c3c = 18: 2d05ebdd280 diff.c: compute reverse locally in emit_line_0 19: e442d722b7f ! 19: 001e6042d81 diff.c: rewrite emit_line_0 more understandably @@ -7,9 +7,9 @@ and set_sign, but let's defer that to a later patch. 'first' used be output always no matter if it was 0, but that got lost - got lost at e8c285c4f9c (diff: add an internal option to dual-color - diffs of diffs, 2018-07-21), as there we broadened the meaning of 'first' - to also signal an early return. + at "diff: add an internal option to dual-color diffs of diffs", + 2018-07-21), as there we broadened the meaning of 'first' to also + signal an early return. The change in 'emit_line' makes sure that 'first' is never content, but always under our control, a sign or special character in the beginning