[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/org a1184f7 2/3: Add `ancestors-full' visibility setup
From: |
ELPA Syncer |
Subject: |
[elpa] externals/org a1184f7 2/3: Add `ancestors-full' visibility setup to `org-show-context-detail' |
Date: |
Tue, 27 Apr 2021 16:57:10 -0400 (EDT) |
branch: externals/org
commit a1184f7d61cd287851f5591a3920ab82df9fb731
Author: Cheong Yiu Fung <mail@yiufung.net>
Commit: Nicolas Goaziou <mail@nicolasgoaziou.fr>
Add `ancestors-full' visibility setup to `org-show-context-detail'
* lisp/org.el(org-show-context-detail): Add `ancestors-full' visibility
setup.
(org-show-set-visibility): Update accordingly.
* testing/lisp/test-org.el: Add tests.
---
lisp/org.el | 15 ++++++++++-----
testing/lisp/test-org.el | 4 ++++
2 files changed, 14 insertions(+), 5 deletions(-)
diff --git a/lisp/org.el b/lisp/org.el
index a8e4d65..e125659 100644
--- a/lisp/org.el
+++ b/lisp/org.el
@@ -1199,6 +1199,8 @@ Allowed visibility spans are
ancestors show current headline and its direct ancestors; if
point is not on headline, also show entry
+ ancestors-full show current subtree and its direct ancestors
+
lineage show current headline, its direct ancestors and all
their children; if point is not on headline, also show
entry and first child
@@ -1240,6 +1242,7 @@ more context."
(const minimal)
(const local)
(const ancestors)
+ (const ancestors-full)
(const lineage)
(const tree)
(const canonical))))))
@@ -6756,9 +6759,9 @@ be shown."
(defun org-show-set-visibility (detail)
"Set visibility around point according to DETAIL.
-DETAIL is either nil, `minimal', `local', `ancestors', `lineage',
-`tree', `canonical' or t. See `org-show-context-detail' for more
-information."
+DETAIL is either nil, `minimal', `local', `ancestors',
+`ancestors-full', `lineage', `tree', `canonical' or t. See
+`org-show-context-detail' for more information."
;; Show current heading and possibly its entry, following headline
;; or all children.
(if (and (org-at-heading-p) (not (eq detail 'local)))
@@ -6773,14 +6776,16 @@ information."
(org-with-limited-levels
(cl-case detail
((tree canonical t) (org-show-children))
- ((nil minimal ancestors))
+ ((nil minimal ancestors ancestors-full))
(t (save-excursion
(outline-next-heading)
(org-flag-heading nil)))))))
+ ;; Show whole subtree.
+ (when (eq detail 'ancestors-full) (org-show-subtree))
;; Show all siblings.
(when (eq detail 'lineage) (org-show-siblings))
;; Show ancestors, possibly with their children.
- (when (memq detail '(ancestors lineage tree canonical t))
+ (when (memq detail '(ancestors ancestors-full lineage tree canonical t))
(save-excursion
(while (org-up-heading-safe)
(org-flag-heading nil)
diff --git a/testing/lisp/test-org.el b/testing/lisp/test-org.el
index a6408b7..9f0ede1 100644
--- a/testing/lisp/test-org.el
+++ b/testing/lisp/test-org.el
@@ -7975,6 +7975,10 @@ CLOCK: [2012-03-29 Thu 10:00]--[2012-03-29 Thu 16:40] =>
6:40"
(should (equal '(0 7 8 9) (funcall list-visible-lines 'local nil)))
(should (equal '(0 3 7) (funcall list-visible-lines 'ancestors t)))
(should (equal '(0 3 7 8) (funcall list-visible-lines 'ancestors nil)))
+ (should (equal '(0 3 7 8 9 10 11)
+ (funcall list-visible-lines 'ancestors-full t)))
+ (should (equal '(0 3 7 8 9 10 11)
+ (funcall list-visible-lines 'ancestors-full nil)))
(should (equal '(0 3 5 7 12) (funcall list-visible-lines 'lineage t)))
(should (equal '(0 3 5 7 8 9 12) (funcall list-visible-lines 'lineage
nil)))
(should (equal '(0 1 3 5 7 12 13) (funcall list-visible-lines 'tree t)))