The functionality you are after is something dired
has been doing successfully for years. The file you have linked in your post is a minor enhancement for a convenience feature added on top of the built-in functionality, it doesn't really deal with searching for files outside the context of Git version control system.
Here are some examples of how you could do it with dired
:
M-xfind-name-dired
, answer the prompts to select the directory where you want to search and possibly refine by providing a regular expression to match file names. You then will be presented with the buffer listing all files you have selected so far. You can further refine from here by % m and providing it with a regexp to filter the file names on, or just hit t selecting all files in the buffer.
Then hit A and write the regexp to search for inside the selected files. The effect of this command will be to open the file, where the match is found. After you close the file, or return to the original buffer, you can press M-, to move to the next match.
If this sounds too elaborate, then you could just do M-xfind-dired
to invoke find
in the directory you choose with the arguments you can normally provide to find
To just grep and have the matches shown in a dedicated buffer you could do M-xfind-grep
- this will invoke find
with the output from it piped to grep
. You will then need to modify the command used to invoke this to your taste.
M-xfind-grep-dired
will do something similar, however it will display the files, where the match was found in a dired
buffer, rather then the lines, where the match occurred.
Finally, there may be a bunch more ways to do this, depending on your particular task and what, in the end, you are trying to accomplish. Perhaps, some times, invoking a shell command to place the results directly in the buffer would be the best way to do it. Other times you may want to write your own eLisp function to do something more elaborate with the results. Sky is he limit :)