From: Don Armstrong Date: Wed, 6 Dec 2017 19:38:55 +0000 (-0800) Subject: add back is-project-p X-Git-Url: https://git.donarmstrong.com/?p=lib.git;a=commitdiff_plain;h=f3b208423d1bef1d7a6fa4fcfbadb1eef1cb99c4 add back is-project-p --- diff --git a/emacs_el/configuration/don-configuration.org b/emacs_el/configuration/don-configuration.org index 5b84028..9feb84b 100644 --- a/emacs_el/configuration/don-configuration.org +++ b/emacs_el/configuration/don-configuration.org @@ -1316,6 +1316,21 @@ From http://julien.danjou.info/projects/emacs-packages#rainbow-mode, this colori (when (member (org-get-todo-state) org-todo-keywords-1) (setq has-subtask t)))) (and is-a-task (not has-subtask))))) + (defun bh/is-project-p () + "Any task with a todo keyword subtask" + (save-restriction + (widen) + (let ((has-subtask) + (subtree-end (save-excursion (org-end-of-subtree t))) + (is-a-task (member (nth 2 (org-heading-components)) org-todo-keywords-1))) + (save-excursion + (forward-line 1) + (while (and (not has-subtask) + (< (point) subtree-end) + (re-search-forward "^\*+ " subtree-end t)) + (when (member (org-get-todo-state) org-todo-keywords-1) + (setq has-subtask t)))) + (and is-a-task has-subtask)))) (defun bh/is-subproject-p () "Any task which is a subtask of another project"