Тому я хочу helm-swoop
переглянути всі файли проекту, а не лише поточний набір відкритих буферів.
Це так, я можу використовувати swoop, щоб знайти всі події в проекті, позначити відповідні, а потім відредагувати їх (у режимі редагування керма).
Я відчуваю, що, мабуть, існує чистий спосіб зробити це за допомогою Helm / Helm swoop, але ось моя спроба продумати рішення:
- зібрати імена з снарядів
- створити список буферів зі списку імен файлів
- виконайте таку ж процедуру, що і helm-multi-swoop, за винятком використання цього нового буферного списку
(projectile-current-project-files)
, схоже, це дає мені список файлів, який я шукаю.
Отже helm-multi-swoop-all
, схоже, що це було б досить просто скопіювати, а потім налаштувати.
(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)))
Просто замініть виклик на helm-multi-swoop--get-buffer-list
той, який надав список буферів, використовуючи список снарядів.
Але зараз я трохи застряг. Я не впевнений, як створити список буферів для подачі в helm-swoop з набору імен файлів.
Я також не можу допомогти, але думаю, що існує простіший спосіб досягти цього, можливо, без спеціальних функцій.
helm-swoop
. Чи робить це, helm-projectile-grep
а потім F3
M-x
wgrep-mode
робить його "редагованим"?
helm-projectile-ack
замість цього.