Lee Marlow <lee.marlow@xxxxxxxxx> wrote: > On Sat, Aug 2, 2008 at 3:05 PM, Shawn O. Pearce <spearce@xxxxxxxxxxx> 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. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html