From: Mark Lodato <lodatom@gmail.com>
To: Junio C Hamano <gitster@pobox.com>
Cc: git@vger.kernel.org
Subject: Re: [PATCHv2 2/3] grep: Colorize filename, line number, and separator
Date: Sun, 7 Mar 2010 15:47:00 -0500 [thread overview]
Message-ID: <ca433831003071247j489177ceke9c3394fdc6d2372@mail.gmail.com> (raw)
In-Reply-To: <7v1vfwrm51.fsf@alter.siamese.dyndns.org>
On Sun, Mar 7, 2010 at 2:02 PM, Junio C Hamano <gitster@pobox.com> wrote:
> Mark Lodato <lodatom@gmail.com> writes:
>
>> + if (color) {
>> if (!value)
>> return config_error_nonbool(var);
>> - color_parse(value, var, opt->color_match);
>> - return 0;
>> + color_parse(value, var, color);
>> + if (!strcmp(color, GIT_COLOR_RESET))
>> + color[0] = '\0';
>
> I don't know this "optimization" is warranted. I can understand that you
> are trying to help the user to save a handful of useless bytes per line of
> output in the normal case, but doesn't "color.cmd.foo = normal" set the
> value to an empty string already if that is what the user wants?
Ah, I didn't know about the "normal" color. I tried using a blank
value, which defaulted to "reset", so I thought there was no way to
say "no ANSI sequence". The above was my workaround to get no
sequence. Since the "normal" color exists, this workaround should be
removed.
The squash-able patch below removes the workaround, and also fixes
another bug: color was not reset at the end of the line for hunk
separators ("--").
As an aside, perhaps a blank color value should default to no ANSI
sequence, rather than the reset sequence?
diff --git i/builtin-grep.c w/builtin-grep.c
index e423eac..c519fcf 100644
--- i/builtin-grep.c
+++ w/builtin-grep.c
@@ -318,8 +318,6 @@
if (!value)
return config_error_nonbool(var);
color_parse(value, var, color);
- if (!strcmp(color, GIT_COLOR_RESET))
- color[0] = '\0';
}
return 0;
}
diff --git i/grep.c w/grep.c
index 1e0b1e6..b641305 100644
--- i/grep.c
+++ w/grep.c
@@ -533,12 +533,15 @@
if (opt->pre_context || opt->post_context) {
if (opt->last_shown == 0) {
- if (opt->show_hunk_mark)
- output_color(opt, "--\n", 3, opt->color_sep);
- else
+ if (opt->show_hunk_mark) {
+ output_color(opt, "--", 2, opt->color_sep);
+ opt->output(opt, "\n", 1);
+ } else
opt->show_hunk_mark = 1;
- } else if (lno > opt->last_shown + 1)
- output_color(opt, "--\n", 3, opt->color_sep);
+ } else if (lno > opt->last_shown + 1) {
+ output_color(opt, "--", 2, opt->color_sep);
+ opt->output(opt, "\n", 1);
+ }
}
opt->last_shown = lno;
next prev parent reply other threads:[~2010-03-07 20:52 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-03-07 16:52 [PATCHv2 0/3] grep color enhancements Mark Lodato
2010-03-07 16:52 ` [PATCHv2 1/3] Add GIT_COLOR_BOLD_* and GIT_COLOR_BG_* Mark Lodato
2010-03-07 16:52 ` [PATCHv2 2/3] grep: Colorize filename, line number, and separator Mark Lodato
2010-03-07 19:02 ` Junio C Hamano
2010-03-07 20:47 ` Mark Lodato [this message]
2010-03-07 16:52 ` [PATCHv2 3/3] grep: Colorize selected, context, and function lines Mark Lodato
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ca433831003071247j489177ceke9c3394fdc6d2372@mail.gmail.com \
--to=lodatom@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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 NNTP newsgroup(s).