branch: master
commit 180d05be20f5be4701a90b635048590e028df587
Author: Ian D <[email protected]>
Commit: Ian D <[email protected]>
Added configuration option to use inheritance
* org-edna.el (org-edna-use-inheritance): New defcustom.
(org-edna-trigger-function):
(org-edna-blocker-function): Use it
---
org-edna.el | 18 +++++++++++++++---
1 file changed, 15 insertions(+), 3 deletions(-)
diff --git a/org-edna.el b/org-edna.el
index 1411982..720db92 100644
--- a/org-edna.el
+++ b/org-edna.el
@@ -1,4 +1,4 @@
-;;; org-edna.el --- Extendable Blockers and Triggers -*- lexical-binding: t;
-*-
+;;; org-edna.el --- Extensible Dependencies 'N' Actions -*- lexical-binding:
t; -*-
;; Author: Ian Dunn <[email protected]>
;; Keywords: convenience, text, org
@@ -12,6 +12,18 @@
(require 'org)
(require 'subr-x)
+(defgroup org-edna nil
+ "Extensible Dependencies 'N' Actions"
+ :group 'org)
+
+(defcustom org-edna-use-inheritance nil
+ "Whether Edna should use inheritance when looking for properties.
+
+This only applies to the BLOCKER and TRIGGER properties, not any
+properties used during actions or conditions."
+ :group 'org-edna
+ :type 'boolean)
+
(defun org-edna-parse-form (form)
(pcase-let* ((`(,token . ,pos) (read-from-string form))
(modifier nil)
@@ -162,12 +174,12 @@
(defun org-edna-trigger-function (change-plist)
(org-edna-run change-plist
- (when-let ((form (org-entry-get pos "TRIGGER")))
+ (when-let ((form (org-entry-get pos "TRIGGER" org-edna-use-inheritance)))
(org-edna-process-form form 'action))))
(defun org-edna-blocker-function (change-plist)
(org-edna-run change-plist
- (if-let ((form (org-entry-get pos "BLOCKER")))
+ (if-let ((form (org-entry-get pos "BLOCKER" org-edna-use-inheritance)))
(org-edna-process-form form 'condition)
t)))