git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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
Previous: Thiago FarinaNext: Mikael Magnusson
Message 11 of 13 in “multiple source file extensions”
  1. Thiago FarinaMay 2, 2015
  2. Josh HaginsMay 2, 2015
  3. Jeff KingMay 2, 2015
  4. Duy NguyenMay 2, 2015
  5. Duy NguyenMay 2, 2015
  6. Jeff KingMay 2, 2015
  7. Eric SunshineMay 2, 2015
  8. Junio C HamanoMay 3, 2015
  9. Jeff KingMay 2, 2015
  10. Thiago FarinaMay 4, 2015
  11. Jeff KingMay 5, 2015
  12. Mikael MagnussonMay 5, 2015
  13. Jeff KingMay 5, 2015

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.