public inbox for git@vger.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$(echo .)net \
    --cc=Johannes.Schindelin@gmx$(echo .)de \
    --cc=git@vger$(echo .)kernel.org \
    --cc=junio@pobox$(echo .)com \
    --cc=santi@agolina$(echo .)net \
    --cc=tlikonen@iki$(echo .)fi \
    --cc=trast@student$(echo .)ethz.ch \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
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