Как заархивировать все задачи DONE / DELEGATED / DEFERRED с помощью одной команды - PullRequest
0 голосов
/ 11 октября 2019

Это следующий вопрос к Как заархивировать все выполненные задачи, используя одну команду .

Решение, данное Стефаном, хорошо работает для одного оператора DONE. Как его можно расширить для работы с несколькими операторами DONE?

Стефан дал следующее решение:

(defun org-archive-done-tasks ()
  (interactive)
  (org-map-entries
    (lambda ()
      (org-archive-subtree)
      (setq org-map-continue-from (org-element-property :begin (org-element-at-point))))
   "/DONE" 'tree))

У меня есть следующие ключевые слова org-todo:

(setq org-todo-keywords
      '((sequence "TODO(t)" "NEXT(n)" "WAITING(w)" "PROJECT(p)" "|" "DONE(d)" "DELEGATED" "DEFERRED")))

Цель состоит в том, чтобы заархивировать все задачи, помеченные как DONE. , ДЕЛЕГИРОВАННЫЕ или ОТЛОЖЕННЫЕ. Я пытался использовать сопоставление, как объяснено здесь , но не смог заставить его работать. Я пробовал, например:

MATCH = "/DONE|/DELEGATED|/DEFERRED"

Я новичок в elisp, приветствуется решение с объяснением.

1 Ответ

0 голосов
/ 11 октября 2019

Синтаксис немного неясен, но если я читаю страницу, на которую вы ссылались правильно, я думаю (не проверено!), Что будет работать следующее:

"/+DONE|+DELEGATED|+DEFERRED"

Это очень похоже на последний примерна этой странице: выберите записи со свойством TODO (/) , которое не является пустым (!), и со значением этого свойства TODO, которое является DONE, DELEGATED или DEFERRED.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...