Re: multiple source file extensions
- From
Jeff King <peff@peff.net>
- Date
- May 5, 2015, 03:43 UTC
- Message-ID
- <20150505034336.GA25194@peff.net>
- In-Reply-To
- <CACnwZYdGKcdzgu1=Ysd_pxqeuSBpZu41i1EJBvBi4FqHzvV-Hw@mail.gmail.com>
On Mon, May 04, 2015 at 07:12:45PM -0300, Thiago Farina wrote:
Show 21 quoted lines
> On Fri, May 1, 2015 at 10:11 PM, Jeff King <peff@peff.net> wrote:
> > On Fri, May 01, 2015 at 08:49:14PM -0400, Josh Hagins wrote:
> >
> >> If you're using a recent version of bash, you could enable the
> >> 'globstar' option:
> >>
> >> $ shopt -s globstar
> >> $ git grep 'pattern' **/*.{cc,cpp,h}
> >>
> >> Does that work?
> >
> > That will only pick up files that are in the working tree. Which is fine
> > for a stock "git grep" with no options, but would not be right for
> > grepping in the index or an older tree. For that, you can ask git to
> > glob for you:
> >
> > git grep pattern -- '*.cc' '*.cpp' '*.h'
> >
> Is it possible to do a regex like the following?
>
> ".*\.[cChH]\(pp\)?"No, pathspecs are globs, not regexps. I think the idea has been floated for supporting regexps, which you would activate something like:
git grep pattern -- :(regexp)$your_regex_here
but nobody has implemented it. I'm not sure it actually saves you any typing (besides which, your regexp does not match ".cc", which was in the original).
-Peff