Então, eu estou olhando para helm-swoop
ver todos os arquivos em um projeto, não apenas o conjunto atual de buffers abertos.
Isso é para que eu possa usar o swoop para encontrar todas as ocorrências em um projeto, marcar as relevantes e depois editá-las (no modo de edição de helm swoops).
Eu sinto que provavelmente existe uma maneira limpa de fazer isso com Helm / Helm swoop, mas aqui está minha tentativa de pensar em uma solução:
- reunir nomes de arquivos do projétil
- crie uma lista de buffers a partir da lista de nomes de arquivo
- faça a mesma rotina que helm-multi-swoop-all, além de usar esta nova lista de buffers
(projectile-current-project-files)
, parece que me fornece a lista de arquivos que estou procurando.
Então helm-multi-swoop-all
, parece que seria bastante fácil copiar e ajustar.
(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 substituir a chamada para helm-multi-swoop--get-buffer-list
, por uma que forneceu uma lista de buffers usando a lista de projéteis.
Mas agora estou um pouco preso. Não sei como criar uma lista de buffers para alimentar helm-swoop a partir de um conjunto de nomes de arquivos.
Também não posso deixar de pensar que há uma maneira mais simples de conseguir isso, talvez sem funções personalizadas.
helm-swoop
. Fazer um helm-projectile-grep
e depois F3
M-x
wgrep-mode
torná-lo "editável"?
helm-projectile-ack
lugar.