зеркало из https://github.com/microsoft/git.git
diff.c: emit_diff_symbol learns DIFF_SYMBOL_CONTEXT_MARKER
Signed-off-by: Stefan Beller <sbeller@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Родитель
36a4cefdf4
Коммит
c64b420b4c
10
diff.c
10
diff.c
|
@ -561,13 +561,20 @@ static void emit_line(struct diff_options *o, const char *set, const char *reset
|
|||
}
|
||||
|
||||
enum diff_symbol {
|
||||
DIFF_SYMBOL_CONTEXT_MARKER,
|
||||
DIFF_SYMBOL_SEPARATOR
|
||||
};
|
||||
|
||||
static void emit_diff_symbol(struct diff_options *o, enum diff_symbol s,
|
||||
const char *line, int len)
|
||||
{
|
||||
const char *context, *reset;
|
||||
switch (s) {
|
||||
case DIFF_SYMBOL_CONTEXT_MARKER:
|
||||
context = diff_get_color_opt(o, DIFF_CONTEXT);
|
||||
reset = diff_get_color_opt(o, DIFF_RESET);
|
||||
emit_line(o, context, reset, line, len);
|
||||
break;
|
||||
case DIFF_SYMBOL_SEPARATOR:
|
||||
fprintf(o->file, "%s%c",
|
||||
diff_line_prefix(o),
|
||||
|
@ -662,7 +669,8 @@ static void emit_hunk_header(struct emit_callback *ecbdata,
|
|||
if (len < 10 ||
|
||||
memcmp(line, atat, 2) ||
|
||||
!(ep = memmem(line + 2, len - 2, atat, 2))) {
|
||||
emit_line(ecbdata->opt, context, reset, line, len);
|
||||
emit_diff_symbol(ecbdata->opt,
|
||||
DIFF_SYMBOL_CONTEXT_MARKER, line, len);
|
||||
return;
|
||||
}
|
||||
ep += 2; /* skip over @@ */
|
||||
|
|
Загрузка…
Ссылка в новой задаче