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

Re: [PATCH] bash completion: Add completion for 'git grep'

From
Shawn O. Pearce <spearce@spearce.org>
Date
Aug 4, 2008, 04:06 UTC
Message-ID
<20080804040634.GC2963@spearce.org>
In-Reply-To
<7968d7490808030031v39726af6r9f88feb28df02de7@mail.gmail.com>
Lee Marlow <lee.marlow@gmail.com> wrote:
Show 14 quoted lines
> On Sat, Aug 2, 2008 at 3:05 PM, Shawn O. Pearce <spearce@spearce.org> wrote:
> >
> > Hmm.  The has_doubledash test seems redundant since we don't do
> > anything with args that aren't --foo.  Even though git-grep will
> > accept a tree-ish and thus completion of __git_refs here may
> 
> I haven't found myself using grep to search anything but the current
> working directory.  I wonder whether __git_complete_file would be
> better than __git_refs.  My issue with __git_complete_file in this
> case and also doing completion for 'git mv' is that it falls back to
> just __git_refs.  Would it be better if it fell back to __git_refs and
> ls-tree for HEAD?  That way when using completion to get to
> Documentation/git-grep.txt,  it doesn't also show completions for
> Documentation/git-grep.{1,html,xml}.

Hmm. __git_complete_file is about completing something in a tree-ish, which is really most likely not what we want for grep. Its useful for git-show and git-cat-file, and that's about it. Most git tools prefer a calling format of "tree-ish -- paths ..." and not "tree-ish:path".

Though I think you have an excellent point about completing paths by ls-tree for HEAD rather than the working directory itself, as then you can avoid produced files. But in practice how often do you pass a single file or a couple of files to the grep utility and are having problems bypassing the build products? Compared to just running grep on the entire source tree to find hits? I never use grep to search in a single file, but I call it several times a day to look for where a function is defined or called.

After having thought about it your original patch makes the most sense, but without the has_doubledash test.

-- 
Shawn.
Previous: Lee MarlowNext: Lee Marlow
Message 4 of 7 in “bash completion: Add completion for 'git grep'”
  1. bash completion: Add completion for 'git grep'Lee Marlow, Aug 2, 2008
  2. Shawn O. PearceAug 2, 2008
  3. Lee MarlowAug 3, 2008
  4. Shawn O. PearceAug 4, 2008
  5. bash completion: Add completion for 'git grep'Lee Marlow, Aug 4, 2008
  6. Shawn O. PearceAug 4, 2008
  7. Shawn O. PearceAug 4, 2008

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.