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>
This commit is contained in:
Joe Ratterman
2011-03-30 14:31:05 -05:00
committed by Junio C Hamano
parent 61e8aaf621
commit b22520a37c
4 changed files with 52 additions and 1 deletions

View File

@ -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"))