git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
* [PATCH 0/4] Better colors in range-diff!
@ 2018-08-10 22:49 Stefan Beller
  2018-08-10 22:49 ` [PATCH 1/4] diff.c: emit_line_0 to take string instead of first sign Stefan Beller
                   ` (3 more replies)
  0 siblings, 4 replies; 29+ messages in thread
From: Stefan Beller @ 2018-08-10 22:49 UTC (permalink / raw)
  To: gitster; +Cc: git, Johannes.Schindelin, Stefan Beller

This improves colors of the range-diff, see last patch for details.

This is a partial resend of
https://public-inbox.org/git/20180804015317.182683-1-sbeller@google.com/
and is also available via

  git fetch https://github.com/stefanbeller/git sb/range-diff-better-colors

It applies on the (just reset) series of sb/range-diff-colors.

Thanks,
Stefan

Stefan Beller (4):
  diff.c: emit_line_0 to take string instead of first sign
  diff.c: add --output-indicator-{new, old, context}
  range-diff: make use of different output indicators
  range-diff: indent special lines as context

 diff.c                | 43 +++++++++++++++++++++++++++++++------------
 diff.h                |  5 +++++
 range-diff.c          | 17 ++++++++++++++++-
 t/t3206-range-diff.sh | 12 ++++++------
 4 files changed, 58 insertions(+), 19 deletions(-)

-- 
2.18.0.865.gffc8e1a3cd6-goog


^ permalink raw reply	[flat|nested] 29+ messages in thread
* [PATCH] diff.c: pass sign_index to emit_line_ws_markup
@ 2018-10-10 23:24 Stefan Beller
  2018-10-12  9:37 ` Johannes Schindelin
  0 siblings, 1 reply; 29+ messages in thread
From: Stefan Beller @ 2018-10-10 23:24 UTC (permalink / raw)
  To: git; +Cc: Stefan Beller

Instead of passing the sign directly to emit_line_ws_markup, pass only the
index to lookup the sign in diff_options->output_indicators.

Signed-off-by: Stefan Beller <sbeller@google.com>
---

I still have this patch laying around, it simplifies the diff code
a tiny bit.

Stefan

 diff.c | 12 +++++-------
 1 file changed, 5 insertions(+), 7 deletions(-)

diff --git a/diff.c b/diff.c
index f0c7557b40..9e895f2191 100644
--- a/diff.c
+++ b/diff.c
@@ -1202,10 +1202,11 @@ static void dim_moved_lines(struct diff_options *o)
 static void emit_line_ws_markup(struct diff_options *o,
 				const char *set_sign, const char *set,
 				const char *reset,
-				char sign, const char *line, int len,
+				int sign_index, const char *line, int len,
 				unsigned ws_rule, int blank_at_eof)
 {
 	const char *ws = NULL;
+	int sign = o->output_indicators[sign_index];
 
 	if (o->ws_error_highlight & ws_rule) {
 		ws = diff_get_color_opt(o, DIFF_WHITESPACE);
@@ -1285,8 +1286,7 @@ static void emit_diff_symbol_from_struct(struct diff_options *o,
 				set = diff_get_color_opt(o, DIFF_FILE_OLD);
 		}
 		emit_line_ws_markup(o, set_sign, set, reset,
-				    o->output_indicators[OUTPUT_INDICATOR_CONTEXT],
-				    line, len,
+				    OUTPUT_INDICATOR_CONTEXT, line, len,
 				    flags & (DIFF_SYMBOL_CONTENT_WS_MASK), 0);
 		break;
 	case DIFF_SYMBOL_PLUS:
@@ -1330,8 +1330,7 @@ static void emit_diff_symbol_from_struct(struct diff_options *o,
 			flags &= ~DIFF_SYMBOL_CONTENT_WS_MASK;
 		}
 		emit_line_ws_markup(o, set_sign, set, reset,
-				    o->output_indicators[OUTPUT_INDICATOR_NEW],
-				    line, len,
+				    OUTPUT_INDICATOR_NEW, line, len,
 				    flags & DIFF_SYMBOL_CONTENT_WS_MASK,
 				    flags & DIFF_SYMBOL_CONTENT_BLANK_LINE_EOF);
 		break;
@@ -1375,8 +1374,7 @@ static void emit_diff_symbol_from_struct(struct diff_options *o,
 				set = diff_get_color_opt(o, DIFF_CONTEXT_DIM);
 		}
 		emit_line_ws_markup(o, set_sign, set, reset,
-				    o->output_indicators[OUTPUT_INDICATOR_OLD],
-				    line, len,
+				    OUTPUT_INDICATOR_OLD, line, len,
 				    flags & DIFF_SYMBOL_CONTENT_WS_MASK, 0);
 		break;
 	case DIFF_SYMBOL_WORDS_PORCELAIN:
-- 
2.19.0


^ permalink raw reply related	[flat|nested] 29+ messages in thread

end of thread, other threads:[~2018-10-12  9:37 UTC | newest]

Thread overview: 29+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-08-10 22:49 [PATCH 0/4] Better colors in range-diff! Stefan Beller
2018-08-10 22:49 ` [PATCH 1/4] diff.c: emit_line_0 to take string instead of first sign Stefan Beller
2018-08-13 11:42   ` Johannes Schindelin
2018-08-13 18:19     ` Stefan Beller
2018-08-10 22:49 ` [PATCH 2/4] diff.c: add --output-indicator-{new, old, context} Stefan Beller
2018-08-13 11:47   ` Johannes Schindelin
2018-08-13 18:23     ` Stefan Beller
2018-08-10 22:49 ` [PATCH 3/4] range-diff: make use of different output indicators Stefan Beller
2018-08-13 11:51   ` Johannes Schindelin
2018-08-13 18:24     ` Stefan Beller
2018-08-10 22:49 ` [PATCH 4/4] range-diff: indent special lines as context Stefan Beller
2018-08-13 11:54   ` Johannes Schindelin
2018-08-13 18:36     ` Stefan Beller
2018-08-14 18:54       ` Johannes Schindelin
2018-08-14 19:05         ` Stefan Beller
2018-08-16  8:22           ` Johannes Schindelin
2018-08-17 20:43             ` [PATCH 0/3] Better colors in range-diff Stefan Beller
2018-08-17 20:43               ` [PATCH 1/3] diff.c: add --output-indicator-{new, old, context} Stefan Beller
2018-08-20 19:31                 ` Johannes Schindelin
2018-08-20 19:39                   ` Stefan Beller
2018-08-21 16:13                     ` Johannes Schindelin
2018-08-22 22:25                       ` [PATCH] diff.c: pass sign_index to emit_line_ws_markup Stefan Beller
2018-08-23 14:26                         ` Johannes Schindelin
2018-08-17 20:43               ` [PATCH 2/3] range-diff: make use of different output indicators Stefan Beller
2018-08-17 20:43               ` [PATCH 3/3] range-diff: indent special lines as context Stefan Beller
2018-08-17 22:04               ` [PATCH 0/3] Better colors in range-diff Junio C Hamano
2018-08-17 22:09                 ` Stefan Beller
  -- strict thread matches above, loose matches on Subject: below --
2018-10-10 23:24 [PATCH] diff.c: pass sign_index to emit_line_ws_markup Stefan Beller
2018-10-12  9:37 ` Johannes Schindelin

Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).