Więc chcę helm-swoop
spojrzeć na wszystkie pliki w projekcie, a nie tylko na bieżący zestaw otwartych buforów.
Dzięki temu mogę użyć polecenia swoop, aby znaleźć wszystkie wystąpienia w projekcie, zaznaczyć odpowiednie, a następnie edytować je (w trybie edycji sesji kontrolnych).
Wydaje mi się, że prawdopodobnie jest to czysty sposób na wykonanie Helm / Helm swoop, ale oto moja próba przemyślenia rozwiązania:
- zbieraj nazwy plików z pocisków
- utwórz listę buforów z listy nazw plików
- wykonaj tę samą procedurę, co helm-multi-swoop-all oprócz tej nowej listy buforów
(projectile-current-project-files)
, wygląda na to, że daje mi listę plików, której szukam.
Tak helm-multi-swoop-all
, wygląda na to, że będzie dość łatwo skopiować, a następnie dostosować.
(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)))
Wystarczy zastąpić wywołanie do helm-multi-swoop--get-buffer-list
, który dostarczył listę buforów za pomocą listy pocisków.
Ale teraz trochę utknąłem. Nie jestem pewien, jak utworzyć listę buforów, które będą zasilane sterami z zestawu nazw plików.
Nie mogę również pomóc, ale myślę, że istnieje prostszy sposób na osiągnięcie tego, może bez niestandardowych funkcji.
helm-swoop
. Czy zrobienie helm-projectile-grep
a następnie F3
M-x
wgrep-mode
uczynienie go „edytowalnym”?
helm-projectile-ack
zamiast tego.