All of lore.kernel.org
 help / color / mirror / Atom feed
From: Junio C Hamano <gitster@pobox.com>
To: Eric Sunshine <sunshine@sunshineco.com>
Cc: Han-Wen Nienhuys <hanwen@google.com>, Git List <git@vger.kernel.org>
Subject: Re: [PATCH 2/2] Highlight keywords in remote sideband output.
Date: Wed, 01 Aug 2018 08:41:52 -0700	[thread overview]
Message-ID: <xmqqeffi856n.fsf@gitster-ct.c.googlers.com> (raw)
In-Reply-To: <CAPig+cSbibJ7i8LwJqPe06xJObnq6dJdMUnJoC1uAg4zUQq3KA@mail.gmail.com> (Eric Sunshine's message of "Tue, 31 Jul 2018 16:21:24 -0400")

Eric Sunshine <sunshine@sunshineco.com> writes:

> On Tue, Jul 31, 2018 at 1:37 PM Han-Wen Nienhuys <hanwen@google.com> wrote:
>> Highlight keywords in remote sideband output.
>
> Prefix with the module you're touching, don't capitalize, and drop the
> period. Perhaps:
>
>     sideband: highlight keywords in remote sideband output

Yup (I locally did something similar when queued it).

>> The highlighting is done on the client-side. Supported keywords are
>> "error", "warning", "hint" and "success".
>>
>> The colorization is controlled with the config setting "color.remote".
>
> What's the motivation for this change? The commit message should say
> something about that and give an explanation of why this is done
> client-side rather than server-side.

Good suggestion.

>
>> Co-authored-by: Duy Nguyen <pclouds@gmail.com>
>
> Helped-by: is more typical.
>
>> Signed-off-by: Han-Wen Nienhuys <hanwen@google.com>
>> ---
>> diff --git a/Documentation/config.txt b/Documentation/config.txt
>> @@ -1229,6 +1229,15 @@ color.push::
>> +color.remote::
>> +       A boolean to enable/disable colored remote output. If unset,
>> +       then the value of `color.ui` is used (`auto` by default).
>
> If this is "boolean", what does "auto" mean? Perhaps update the
> description to better match other color-related options.

Existing `color.branch` is already loose in the same way, but others
like color.{diff,grep,interactive} read better.  No, past mistakes
by others is not a good excuse to make things worse, but I'd say it
also is OK to clean this up, together with `color.branch`, after this
change on top.

>> +               if (!strncasecmp(p->keyword, src, len) && !isalnum(src[len])) {
>
> So, the strncasecmp() is checking if one of the recognized keywords is
> at the 'src' position, and the !isalnum() ensures that you won't pick
> up something of which the keyword is merely a prefix. For instance,
> you won't mistakenly highlight "successful". It also works correctly
> when 'len' happens to reference the end-of-string NUL. Okay.

Hmm, do we actually say things like "Error: blah"?  I am not sure if
I like this strncasecmp all that much.

>> +                       strbuf_addstr(dest, p->color);
>> +                       strbuf_add(dest, src, len);
>> +                       strbuf_addstr(dest, GIT_COLOR_RESET);
>> +                       n -= len;
>> +                       src += len;
>> +                       break;
>> +               }
>
> So, despite the explanation in the commit message, this function isn't
> _generally_ highlighting keywords in the sideband. Instead, it is
> highlighting a keyword only if it finds it at the start of string
> (ignoring whitespace). Perhaps the commit message could be more clear
> about that.

Sounds good.

I didn't comment on other parts of your review posed as questions
(that require some digging and thinking), but I think they are all
worthwhile thing to think about.

Thanks.

  reply	other threads:[~2018-08-01 15:41 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-07-31 17:36 [PATCH 0/2 v3] Highlight keywords in remote sideband output Han-Wen Nienhuys
2018-07-31 17:36 ` [PATCH 1/2] Document git config getter return value Han-Wen Nienhuys
2018-08-01  8:24   ` Eric Sunshine
2018-07-31 17:36 ` [PATCH 2/2] Highlight keywords in remote sideband output Han-Wen Nienhuys
2018-07-31 19:45   ` Junio C Hamano
2018-07-31 20:21   ` Eric Sunshine
2018-08-01 15:41     ` Junio C Hamano [this message]
2018-08-01 17:18       ` Han-Wen Nienhuys
2018-08-01 18:16         ` Junio C Hamano
2018-08-02  7:34           ` Han-Wen Nienhuys
2018-08-02 10:24           ` Eric Sunshine
2018-08-02 11:46             ` Han-Wen Nienhuys
2018-08-02 17:37               ` Eric Sunshine
2018-08-02 17:44                 ` Stefan Beller
2018-08-02 11:43     ` Han-Wen Nienhuys
  -- strict thread matches above, loose matches on Subject: below --
2018-07-30 12:26 [PATCH 1/2] Document git config getter return value Han-Wen Nienhuys
2018-07-30 12:26 ` [PATCH 2/2] Highlight keywords in remote sideband output Han-Wen Nienhuys
2018-07-30 12:18 [PATCH 1/2] Document git config getter return value Han-Wen Nienhuys
2018-07-30 12:18 ` [PATCH 2/2] Highlight keywords in remote sideband output Han-Wen Nienhuys

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=xmqqeffi856n.fsf@gitster-ct.c.googlers.com \
    --to=gitster@pobox.com \
    --cc=git@vger.kernel.org \
    --cc=hanwen@google.com \
    --cc=sunshine@sunshineco.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.