Поместите все открытые файлы режима организации в список, который в конечном итоге будет использоваться со списками управления

Я пытаюсь поместить все (открытые) файлы org в список, чтобы добавить их в списки helm-projectile-switch-to-file.

Мне удалось добраться до этого кода:

  (->> (buffer-list)
       (--select (with-current-buffer it
                   (derived-mode-p 'org-mode)))
       (mapc #'kill-buffer))

но это убивает буферы вместо того, чтобы помещать их в агрегированный список.

1 ответ

Решение

Если вы не хотите убивать буферы, я предлагаю не применять kill-bufferк каждому элементу. Помимо этого, вы уже почти все сделали. Вот версия, для которой не требуются внешние библиотеки:

(seq-filter '(lambda (buffer)                                                                                                                                                            
               (with-current-buffer buffer
                 (derived-mode-p 'org-mode)))
            (buffer-list))
Другие вопросы по тегам