Quindi sto cercando di dare helm-swoop
un'occhiata a tutti i file in un progetto, non solo al set corrente di buffer aperti.
È così che posso usare swoop per trovare tutte le occorrenze in un progetto, contrassegnare quelle pertinenti, quindi modificarle (in modalità di modifica timone timone).
Sento che probabilmente c'è un modo pulito per farlo con Helm / Helm swoop ma ecco il mio tentativo di pensare attraverso una soluzione:
- raccogliere i nomi dei file dal proiettile
- crea un elenco di buffer dall'elenco dei nomi di file
- eseguire la stessa routine di helm-multi-swoop-all oltre a utilizzare questo nuovo elenco di buffer
(projectile-current-project-files)
, sembra che mi dia l'elenco dei file che sto cercando.
Quindi helm-multi-swoop-all
, sembra che sarebbe abbastanza facile da copiare e poi modificare.
(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)))
Basta sostituire la chiamata a helm-multi-swoop--get-buffer-list
, a quella che ha fornito un elenco di buffer utilizzando l'elenco dei proiettili.
Ma ora sono un po 'bloccato. Non sono sicuro di come creare un elenco di buffer da alimentare in helm-swoop da una serie di nomi di file.
Inoltre non posso fare a meno di pensare che esiste un modo più semplice per raggiungere questo obiettivo, forse senza funzioni personalizzate.
helm-swoop
. Fare un helm-projectile-grep
e quindi F3
M-x
wgrep-mode
renderlo "modificabile"?
helm-projectile-ack
invece di utilizzare .