git grep -O -i: if the pager is 'less', pass the '-I' option
When <command> happens to be the magic string "less", today git grep -O<command> -e<pattern> helpfully passes +/<pattern> to less so you can navigate through the results within a file using the n and shift+n keystrokes. Alas, that doesn't do the right thing for a case-insensitive match, i.e. git grep -i -O<command> -e<pattern> For that case we should pass --IGNORE-CASE to "less" so that n and shift+n can move between results ignoring case in the pattern. The original patch came from msysgit and used "-i", but that was not due to lack of support for "-I" but it merely overlooked that it ought to work even when the pattern contains capital letters. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Stepan Kasal <kasal@ucw.cz> Helped-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
7bbc4e8fdb
commit
f7febbea07
@ -876,6 +876,9 @@ int cmd_grep(int argc, const char **argv, const char *prefix)
|
||||
if (len > 4 && is_dir_sep(pager[len - 5]))
|
||||
pager += len - 4;
|
||||
|
||||
if (opt.ignore_case && !strcmp("less", pager))
|
||||
string_list_append(&path_list, "-I");
|
||||
|
||||
if (!strcmp("less", pager) || !strcmp("vi", pager)) {
|
||||
struct strbuf buf = STRBUF_INIT;
|
||||
strbuf_addf(&buf, "+/%s%s",
|
||||
|
Loading…
Reference in New Issue
Block a user