Subject: bug#12492: Acknowledgement (24.2.50; Open vc-dir buffer easier and faster)

From: Juri Linkov <[email-masked]>
Date: Tue, 03 Mar 2020 01:05:46 +0200

>>>>>> C-x p g - project grep
>>>>>
>>>>> Bind project-find-regexp to it?
>>>>
>>>> Not sure since project-find-regexp is not asynchronous as grep.
>>>
>>> All the more reason for someone to work on that. And the former has
>>> other benefits.
>> ‘C-x p s g’ could be bound to a new command ‘M-x project-grep’ that could
>> run:
>>    git --no-pager grep --color -inH -p -e "search_string"
>
> And then we'll have three very similar commands side-by-side in the same
> menu, or on the same prefix?

Yes, in the new Project menu.

> project-find-regexp is the available backend-agnostic option. You can write
> project-grep, but it would most likely have to work with xargs, like
> former does.

project-grep could rely on xargs indeed.  But what about vc-grep?
Should it use xargs on ls-files, or the existing command vc-git-grep
should be generalized with a new backend operation e.g. "vc-grep pattern"
that could be implemented by more vc backends?

>> Then ‘C-x p C-s’ could be bound to ‘project-search’
>
> People are welcome to use it, but it's implementation and UI are suboptimal
> in several respects.

Maybe a better option is to implement project-isearch,
i.e. multi-file isearch on all project files?
This is trivial to do with just a call to (multi-isearch-files files)

>> and ‘C-x p M-%’ to ‘project-query-replace-regexp’.
>> BTW, why current project commands are not documented
>> in the Emacs Info manual?  Should they?
>
> I don't know. What are the criteria?

Maybe when is becomes popular enough?