All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Boyd Stephen Smith Jr." <bss@iguanasuicide.net>
To: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Cc: "Santi Béjar" <santi@agolina.net>,
	"Thomas Rast" <trast@student.ethz.ch>,
	git@vger.kernel.org, "Junio C Hamano" <junio@pobox.com>,
	"Teemu Likonen" <tlikonen@iki.fi>
Subject: [PATCH] diff: Support diff.color-words config option
Date: Mon, 19 Jan 2009 21:45:20 -0600	[thread overview]
Message-ID: <200901192145.21115.bss@iguanasuicide.net> (raw)
In-Reply-To: <200901192017.54163.bss@iguanasuicide.net>

When diff is invoked with --color-words (w/o =regex), use the regular
expression the user has configured as diff.color-words.

diff drivers configured via attributes take precedence over the
diff.color-words setting.  If the user wants to change them, they have
their own configuration variables.

Signed-off-by: Boyd Stephen Smith Jr <bss@iguanasuicide.net>
---
On Monday 19 January 2009, "Boyd Stephen Smith Jr." <bss@iguanasuicide.net> wrote about '[PATCH] Add 
tests for diff.color-words configuration option.':
>Yes, I also think I'll work on the actual implementation, but I'd be glad
>to have someone beat me to it.  I'm not sure why the diff is crazy long.

Here's a patch that makes the added test case succeed, but I think it and
the tests themselves should probably be reworked.  Hopefully, this doesn't
show up in quoted-printable format (damn you kmail).

While it might be a corner-case, we probably need a test of some sort for
when a user/system has a global diff.color-words configuration wants
to have a single repository (or single run of 'git diff') use the default
algorithm. I.e. run as if no regex had been set.

 diff.c                |    5 +++++
 t/t4034-diff-words.sh |    2 +-
 2 files changed, 6 insertions(+), 1 deletions(-)

diff --git a/diff.c b/diff.c
index 9fcde96..c53e1d1 100644
--- a/diff.c
+++ b/diff.c
@@ -23,6 +23,7 @@ static int diff_detect_rename_default;
 static int diff_rename_limit_default = 200;
 static int diff_suppress_blank_empty;
 int diff_use_color_default = -1;
+static const char *diff_color_words_cfg = NULL;
 static const char *external_diff_cmd_cfg;
 int diff_auto_refresh_index = 1;
 static int diff_mnemonic_prefix;
@@ -92,6 +93,8 @@ int git_diff_ui_config(const char *var, const char *value, void *cb)
 	}
 	if (!strcmp(var, "diff.external"))
 		return git_config_string(&external_diff_cmd_cfg, var, value);
+	if (!strcmp(var, "diff.color-words"))
+		return git_config_string(&diff_color_words_cfg, var, value);
 
 	return git_diff_basic_config(var, value, cb);
 }
@@ -1550,6 +1553,8 @@ static void builtin_diff(const char *name_a,
 				o->word_regex = userdiff_word_regex(one);
 			if (!o->word_regex)
 				o->word_regex = userdiff_word_regex(two);
+			if (!o->word_regex)
+				o->word_regex = diff_color_words_cfg;
 			if (o->word_regex) {
 				ecbdata.diff_words->word_regex = (regex_t *)
 					xmalloc(sizeof(regex_t));
diff --git a/t/t4034-diff-words.sh b/t/t4034-diff-words.sh
index 6ebce9d..a207d9e 100755
--- a/t/t4034-diff-words.sh
+++ b/t/t4034-diff-words.sh
@@ -105,7 +105,7 @@ a = b + c<RESET>
 EOF
 cp expect.non-whitespace-is-word expect
 
-test_expect_failure 'use default supplied by config' '
+test_expect_success 'use default supplied by config' '
 
 	word_diff --color-words
 
-- 
1.5.6.5
-- 
Boyd Stephen Smith Jr.                     ,= ,-_-. =. 
bss@iguanasuicide.net                     ((_/)o o(\_))
ICQ: 514984 YM/AIM: DaTwinkDaddy           `-'(. .)`-' 
http://iguanasuicide.net/                      \_/     

  reply	other threads:[~2009-01-20  3:46 UTC|newest]

Thread overview: 109+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-01-11 19:58 [PATCH 0/4] refactor the --color-words to make it more hackable Johannes Schindelin
2009-01-11 19:59 ` [PATCH 1/4] Add color_fwrite(), a function coloring each line individually Johannes Schindelin
2009-01-11 22:43   ` Junio C Hamano
2009-01-11 23:49     ` Johannes Schindelin
2009-01-11 23:49       ` [PATCH v2 " Johannes Schindelin
2009-01-12  1:27         ` Jakub Narebski
2009-01-11 19:59 ` [PATCH 2/4] color-words: refactor word splitting and use ALLOC_GROW() Johannes Schindelin
2009-01-11 19:59 ` [PATCH 3/4] color-words: refactor to allow for 0-character word boundaries Johannes Schindelin
2009-01-11 23:08   ` Junio C Hamano
2009-01-11 23:38     ` Johannes Schindelin
2009-01-12  8:47   ` Thomas Rast
2009-01-12  9:36     ` Junio C Hamano
2009-01-14 17:49       ` [PATCH take 3 0/4] color-words improvements Johannes Schindelin
2009-01-14 17:50         ` [PATCH 1/4] Add color_fwrite_lines(), a function coloring each line individually Johannes Schindelin
2009-01-14 17:50         ` [PATCH 2/4] color-words: refactor word splitting and use ALLOC_GROW() Johannes Schindelin
2009-01-14 17:51         ` [PATCH 3/4] color-words: change algorithm to allow for 0-character word boundaries Johannes Schindelin
2009-01-14 18:08           ` Johannes Schindelin
2009-01-14 17:51         ` [PATCH 4/4] color-words: take an optional regular expression describing words Johannes Schindelin
2009-01-14 19:55           ` Thomas Rast
2009-01-14 18:54         ` [PATCH take 3 0/4] color-words improvements Teemu Likonen
2009-01-14 18:57           ` Teemu Likonen
2009-01-14 19:28             ` Johannes Schindelin
2009-01-14 19:32               ` Johannes Schindelin
2009-01-14 19:58           ` Thomas Rast
2009-01-14 22:06             ` Johannes Schindelin
2009-01-14 22:11               ` Thomas Rast
2009-01-14 22:24               ` Boyd Stephen Smith Jr.
2009-01-15  4:56               ` Teemu Likonen
2009-01-15 12:41                 ` Johannes Schindelin
2009-01-15 13:03                   ` Teemu Likonen
2009-01-15 13:27                     ` Thomas Rast
2009-01-15 18:15                   ` Junio C Hamano
2009-01-15 19:25                     ` Johannes Schindelin
2009-01-16  0:10                       ` Santi Béjar
2009-01-16  1:37                         ` Junio C Hamano
2009-01-16  1:42                         ` Boyd Stephen Smith Jr.
2009-01-16  1:55                         ` Johannes Schindelin
2009-01-16  9:02                           ` Santi Béjar
2009-01-16 11:57                             ` Johannes Schindelin
2009-01-16 12:01                             ` Santi Béjar
2009-01-16 12:40                               ` Johannes Schindelin
2009-01-16 19:04                               ` Thomas Rast
2009-01-16 21:09                                 ` Johannes Schindelin
2009-01-17 16:29                                   ` [PATCH v4 0/7] customizable --color-words Thomas Rast
2009-01-17 16:29                                     ` [PATCH v4 1/7] Add color_fwrite_lines(), a function coloring each line individually Thomas Rast
2009-01-17 16:29                                       ` [PATCH v4 2/7] color-words: refactor word splitting and use ALLOC_GROW() Thomas Rast
2009-01-17 16:29                                         ` [PATCH v4 3/7] color-words: change algorithm to allow for 0-character word boundaries Thomas Rast
2009-01-17 16:29                                           ` [PATCH v4 4/7] color-words: take an optional regular expression describing words Thomas Rast
2009-01-17 16:29                                             ` [PATCH v4 5/7] color-words: enable REG_NEWLINE to help user Thomas Rast
2009-01-17 16:29                                               ` [PATCH v4 6/7] color-words: expand docs with precise semantics Thomas Rast
2009-01-17 16:29                                                 ` [PATCH v4 7/7] color-words: make regex configurable via attributes Thomas Rast
2009-01-18 15:05                                     ` [PATCH v4 0/7] customizable --color-words Santi Béjar
2009-01-18 15:29                                       ` Santi Béjar
2009-01-19 22:47                                     ` Santi Béjar
2009-01-19 23:35                                       ` Johannes Schindelin
2009-01-20  2:17                                         ` [PATCH] Add tests for diff.color-words configuration option Boyd Stephen Smith Jr.
2009-01-20  3:45                                           ` Boyd Stephen Smith Jr. [this message]
2009-01-20  6:59                                             ` [PATCH] diff: Support diff.color-words config option Junio C Hamano
2009-01-20 17:42                                               ` Markus Heidelberg
2009-01-20 17:58                                                 ` Boyd Stephen Smith Jr.
2009-01-20 21:08                                                 ` Johannes Schindelin
2009-01-21 10:27                                                   ` Junio C Hamano
2009-01-21 19:37                                                   ` Markus Heidelberg
2009-01-20 10:02                                             ` Johannes Schindelin
2009-01-20 16:52                                               ` Boyd Stephen Smith Jr.
2009-01-20 17:14                                                 ` Johannes Schindelin
2009-01-20 17:09                                               ` Junio C Hamano
2009-01-20 17:28                                                 ` Johannes Schindelin
2009-01-20 20:27                                                   ` Junio C Hamano
2009-01-20 21:02                                                     ` Johannes Schindelin
2009-01-21  3:46                                               ` [PATCH] color-words: " Boyd Stephen Smith Jr.
2009-01-21  4:59                                                 ` [PATCH] Change the spelling of "wordregex" Boyd Stephen Smith Jr.
2009-01-21  8:26                                                   ` Johannes Schindelin
2009-01-21  9:22                                                     ` Thomas Rast
2009-01-21 15:33                                                     ` Boyd Stephen Smith Jr.
2009-01-21  8:25                                                 ` [PATCH] color-words: Support diff.color-words config option Johannes Schindelin
2009-01-21 16:09                                                   ` Boyd Stephen Smith Jr.
2009-01-21 10:27                                                 ` [PATCH] color-words: Support diff.wordregex " Junio C Hamano
2009-01-20 14:38                                             ` [PATCH] diff: Support diff.color-words " Jakub Narebski
2009-01-20  9:58                                           ` [PATCH] Add tests for diff.color-words configuration option Johannes Schindelin
2009-01-20 16:34                                             ` Boyd Stephen Smith Jr.
2009-01-20 16:54                                               ` Johannes Schindelin
2009-01-16 16:11                             ` [PATCH take 3 0/4] color-words improvements Boyd Stephen Smith Jr.
2009-01-14 19:46         ` [PATCH] color-words: make regex configurable via attributes Thomas Rast
2009-01-14 20:12           ` Johannes Schindelin
2009-01-14 20:17             ` Thomas Rast
2009-01-14 20:44             ` [PATCH replacement for take 3 3/4] color-words: change algorithm to allow for 0-character word boundaries Johannes Schindelin
2009-01-14 20:46               ` [PATCH replacement for take 3 4/4] color-words: take an optional regular expression describing words Johannes Schindelin
2009-01-15  0:32                 ` Thomas Rast
2009-01-15  1:12                   ` Johannes Schindelin
2009-01-15  1:36                     ` Johannes Schindelin
2009-01-15  8:30                       ` Thomas Rast
2009-01-15 10:40                         ` Thomas Rast
2009-01-15 12:54                           ` Johannes Schindelin
2009-01-14 22:26             ` [PATCH 1/4] color-words: fix quoting in t4034 Thomas Rast
2009-01-14 22:41               ` Johannes Schindelin
2009-01-14 22:26             ` [PATCH 2/4] color-words: enable REG_NEWLINE to help user Thomas Rast
2009-01-14 22:26             ` [PATCH 3/4] color-words: expand docs with precise semantics Thomas Rast
2009-01-14 22:26             ` [PATCH 4/4] color-words: make regex configurable via attributes Thomas Rast
2009-01-15  1:33               ` Johannes Schindelin
2009-01-15  1:43                 ` Johannes Schindelin
2009-01-14 20:04         ` [PATCH take 3 0/4] color-words improvements Thomas Rast
2009-01-14 21:07           ` Johannes Schindelin
2009-01-14 22:37             ` Thomas Rast
2009-01-11 20:00 ` [PATCH 4/4] color-words: take an optional regular expression describing words Johannes Schindelin
2009-01-11 21:53 ` [PATCH 0/4] refactor the --color-words to make it more hackable Thomas Rast
2009-01-11 23:02   ` Johannes Schindelin
2009-01-12  6:25     ` Thomas Rast
2009-01-14 13:00 ` Santi Béjar

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=200901192145.21115.bss@iguanasuicide.net \
    --to=bss@iguanasuicide.net \
    --cc=Johannes.Schindelin@gmx.de \
    --cc=git@vger.kernel.org \
    --cc=junio@pobox.com \
    --cc=santi@agolina.net \
    --cc=tlikonen@iki.fi \
    --cc=trast@student.ethz.ch \
    /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.