How can I modify the default FILES pattern in rgrep for C++ mode?
For C mode the default is *.[ch]
. For C++, it is *.cc *.cxx *.cpp *.C *.CC *.c++
.
I would like to change it to *.cc *.[ch]xx *.[ch]pp *.[CHh] *.CC *.HH *.[ch]++
.
M-xcustomize-variable
RETgrep-files-aliases
and then use the interface to change the value of this variable.
Alternatively, you could put:
(setf (cdr (assoc "cc" grep-files-aliases))
(assoc "cchh" grep-files-aliases))
For future reference, you could have looked up the help for rgrep
(by typing C-h frgrep
) where it says:
Recursively grep for REGEXP in FILES in directory tree rooted at DIR. The search is limited to file names matching shell pattern FILES. FILES may use abbreviations defined in
grep-files-aliases
, e.g. enteringch
is equivalent to*.[ch]
.
(eval-after-load "grep" '(setf (cdr (assoc "cc" grep-files-aliases)) (cdr (assoc "cchh" grep-files-aliases))))
, because grep-files-aliases
was void while loading my init file.
grep
package wouldn't be loaded by default.
init.el
file I get the following message upon using rgrep
: split-string: Wrong type argument: stringp, ("cchh" . "*.cc *.[ch]xx *.[ch]pp *.[CHh] *.CC *.HH *.[ch]++")
Commented
Oct 12, 2017 at 18:10