aboutsummaryrefslogtreecommitdiff
path: root/builtin/grep.c
diff options
context:
space:
mode:
authorJoe Ratterman <jratt0@gmail.com>2011-03-30 14:31:05 -0500
committerJunio C Hamano <gitster@pobox.com>2011-03-30 13:17:07 -0700
commitb22520a37c8472751f2c4b3da9b5bc4e5aa5a0a3 (patch)
tree2cc115af941794b8d634345098f0d54512f42ccc /builtin/grep.c
parent61e8aaf6215a2983610a770645e6d0a24bafb454 (diff)
downloadgit-b22520a37c8472751f2c4b3da9b5bc4e5aa5a0a3.tar.gz
git-b22520a37c8472751f2c4b3da9b5bc4e5aa5a0a3.tar.xz
grep: allow -E and -n to be turned on by default via configuration
Add two configration variables grep.extendedRegexp and grep.lineNumbers to allow the user to skip typing -E and -n on the command line, respectively. Scripts that are meant to be used by random users and/or in random repositories now have use -G and/or --no-line-number options as appropriately to override the settings in the repository or user's ~/.gitconfig settings. Just because the script didn't say "git grep -n" no longer guarantees that the output from the command will not have line numbers. Signed-off-by: Joe Ratterman <jratt0@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin/grep.c')
-rw-r--r--builtin/grep.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/builtin/grep.c b/builtin/grep.c
index 85e9583a1..5743d920d 100644
--- a/builtin/grep.c
+++ b/builtin/grep.c
@@ -302,6 +302,19 @@ static int grep_config(const char *var, const char *value, void *cb)
default: return 0;
}
+ if (!strcmp(var, "grep.extendedregexp")) {
+ if (git_config_bool(var, value))
+ opt->regflags |= REG_EXTENDED;
+ else
+ opt->regflags &= ~REG_EXTENDED;
+ return 0;
+ }
+
+ if (!strcmp(var, "grep.linenumber")) {
+ opt->linenum = git_config_bool(var, value);
+ return 0;
+ }
+
if (!strcmp(var, "color.grep"))
opt->color = git_config_colorbool(var, value, -1);
else if (!strcmp(var, "color.grep.context"))