L'option la plus simple consisterait à personnaliser l'interface de l'utilisateur. grep-find-ignored-directories
option utilisateur.
Vous ne voulez peut-être pas contraindre cela à js2-mode
. Si vous étaient pour le contraindre de cette façon, vous pourriez aller avec quelque chose comme :
(add-hook 'js2-mode-hook 'my-js2-mode-hook)
(defun my-js2-mode-hook ()
"Custom behaviours for `js2-mode'."
(require 'grep)
(setq-local grep-find-ignored-directories
(cons "node_modules" (default-value 'grep-find-ignored-directories))))
Cependant, il y aura sûrement d'autres tampons à partir desquels vous pourriez initier rgrep
tout en restant dans le même projet.
Les variables locales de répertoire fournissent une autre approche (qui peut trivialement tenir compte de tous les tampons visitant les fichiers dans un projet, mais qui ne s'appliquera qu'à certains tampons ne visitant pas les fichiers).
En pratique, à moins que vous ne pensiez que node_modules
peut être un nom de répertoire que vous recherché à rechercher dans certains types de projets, je serais enclin à simplement définir la valeur globale.
Je vais également faire référence à cette fonctionnalité de grep-find-ignored-directories
:
Si un élément est une cellule cons, la voiture est appelée sur le répertoire de recherche pour déterminer si cdr ne doit pas être recouru.
En principe, cela donne la possibilité de filtrer les répertoires au cas par cas. Ce n'est pas la chose la plus facile à utiliser, cependant -- cela nécessiterait que vous déjà disposait d'un code permettant d'identifier si un répertoire donné faisait partie ou non d'un projet pour lequel node_modules
était sûr/non sûr, et ce code devrait à nouveau fonctionner dans n'importe quel type de tampon, ce qui pose toujours certains des mêmes problèmes. Si vous utilisiez d'autres bibliothèques orientées projet, vous disposeriez peut-être d'un moyen simple d'établir le projet type que vous pourriez ensuite utiliser dans une fonction prédicat personnalisée pour ce filtrage avancé.