Je cherche donc à helm-swoop
regarder tous les fichiers d'un projet, pas seulement l'ensemble actuel des tampons ouverts.
C'est pour que je puisse utiliser swoop pour trouver toutes les occurrences dans un projet, marquer celles qui sont pertinentes, puis les éditer (en mode d'édition swoop helm).
Je pense qu'il y a probablement un moyen propre de le faire avec Helm / Helm swoop mais voici ma tentative de réfléchir à une solution:
- recueillir les noms de fichiers du projectile
- créer une liste de tampons à partir de la liste des noms de fichiers
- faire la même routine que helm-multi-swoop-all en plus d'utiliser cette nouvelle liste de tampons
(projectile-current-project-files)
, on dirait que cela me donne la liste des fichiers que je recherche.
Il helm-multi-swoop-all
semble donc qu'il serait assez facile de copier puis de modifier.
(defun helm-multi-swoop-all (&optional $query)
(interactive)
"Apply all buffers to helm-multi-swoop"
(cond ($query
(setq helm-multi-swoop-query $query))
(mark-active
(let (($st (buffer-substring-no-properties
(region-beginning) (region-end))))
(if (string-match "\n" $st)
(message "Multi line region is not allowed")
(setq helm-multi-swoop-query
(helm-swoop-pre-input-optimize $st)))))
((setq helm-multi-swoop-query
(helm-swoop-pre-input-optimize
(funcall helm-swoop-pre-input-function))))
(t (setq helm-multi-swoop-query "")))
(helm-multi-swoop--exec nil
:$query helm-multi-swoop-query
:$buflist (helm-multi-swoop--get-buffer-list)))
Remplacez simplement l'appel à helm-multi-swoop--get-buffer-list
, par celui qui fournit une liste de tampons à l'aide de la liste des projectiles.
Mais maintenant je suis un peu coincé. Je ne sais pas comment créer une liste de tampons à alimenter dans helm-swoop à partir d'un ensemble de noms de fichiers.
Je ne peux pas m'empêcher de penser qu'il existe un moyen plus simple d'y parvenir, peut-être sans fonctions personnalisées.
helm-swoop
. Est-ce que faire un helm-projectile-grep
, puis le F3
M-x
wgrep-mode
rendre "modifiable"?
helm-projectile-ack
place.