Merge branch 'hn/highlight-sideband-keywords'

Lines that begin with a certain keyword that come over the wire, as
well as lines that consist only of one of these keywords, ought to
be painted in color for easier eyeballing, but the latter was
broken ever since the feature was introduced in 2.19, which has
been corrected.

* hn/highlight-sideband-keywords:
  sideband: color lines with keyword only
This commit is contained in:
Junio C Hamano 2019-01-14 15:29:30 -08:00
commit 20b3bc1558
2 changed files with 5 additions and 2 deletions

View File

@ -87,7 +87,7 @@ static void maybe_colorize_sideband(struct strbuf *dest, const char *src, int n)
struct keyword_entry *p = keywords + i; struct keyword_entry *p = keywords + i;
int len = strlen(p->keyword); int len = strlen(p->keyword);
if (n <= len) if (n < len)
continue; continue;
/* /*
* Match case insensitively, so we colorize output from existing * Match case insensitively, so we colorize output from existing
@ -95,7 +95,8 @@ static void maybe_colorize_sideband(struct strbuf *dest, const char *src, int n)
* messages. We only highlight the word precisely, so * messages. We only highlight the word precisely, so
* "successful" stays uncolored. * "successful" stays uncolored.
*/ */
if (!strncasecmp(p->keyword, src, len) && !isalnum(src[len])) { if (!strncasecmp(p->keyword, src, len) &&
(len == n || !isalnum(src[len]))) {
strbuf_addstr(dest, p->color); strbuf_addstr(dest, p->color);
strbuf_add(dest, src, len); strbuf_add(dest, src, len);
strbuf_addstr(dest, GIT_COLOR_RESET); strbuf_addstr(dest, GIT_COLOR_RESET);

View File

@ -17,6 +17,7 @@ test_expect_success 'setup' '
echo " " "error: leading space" echo " " "error: leading space"
echo " " echo " "
echo Err echo Err
echo SUCCESS
exit 0 exit 0
EOF EOF
echo 1 >file && echo 1 >file &&
@ -35,6 +36,7 @@ test_expect_success 'keywords' '
grep "<BOLD;RED>error<RESET>: error" decoded && grep "<BOLD;RED>error<RESET>: error" decoded &&
grep "<YELLOW>hint<RESET>:" decoded && grep "<YELLOW>hint<RESET>:" decoded &&
grep "<BOLD;GREEN>success<RESET>:" decoded && grep "<BOLD;GREEN>success<RESET>:" decoded &&
grep "<BOLD;GREEN>SUCCESS<RESET>" decoded &&
grep "<BOLD;YELLOW>warning<RESET>:" decoded grep "<BOLD;YELLOW>warning<RESET>:" decoded
' '