From 7069dc3f32c35a0c2631f19c67d6ca3fde8ab00a Mon Sep 17 00:00:00 2001 From: Marco Wahl Date: Tue, 21 Jul 2020 12:14:10 +0200 Subject: [PATCH] org: New function to hide the body up to the first child * lisp/org.el (org-hide-entry): New function. Counterpart to org-show-entry. --- etc/ORG-NEWS | 5 +++++ lisp/org.el | 16 ++++++++++++++++ 2 files changed, 21 insertions(+) diff --git a/etc/ORG-NEWS b/etc/ORG-NEWS index bfe37b1e9..bc93f8e4f 100644 --- a/etc/ORG-NEWS +++ b/etc/ORG-NEWS @@ -280,6 +280,11 @@ possible via column view value edit or with ==. *** ~org-agenda-ctrl-c-ctrl-c~ == in agenda calls ~org-agenda-set-tags~. + +*** ~org-hide-entry~ + +Counterpart of ~org-show-entry~. + ** New options *** New option ~org-clock-auto-clockout-timer~ diff --git a/lisp/org.el b/lisp/org.el index 12a853bd6..5199c7509 100644 --- a/lisp/org.el +++ b/lisp/org.el @@ -5982,6 +5982,22 @@ Show the heading too, if it is currently invisible." 'outline) (org-cycle-hide-drawers 'children))) +(defun org-hide-entry () + "Hide the body directly following its heading." + (interactive) + (save-excursion + (org-back-to-heading-or-point-min t) + (when (org-at-heading-p) (forward-line)) + (org-flag-region + (line-end-position 0) + (save-excursion + (if (re-search-forward + (concat "[\r\n]" org-outline-regexp) nil t) + (line-end-position 0) + (point-max))) + t + 'outline))) + (defun org-show-children (&optional level) "Show all direct subheadings of this heading. Prefix arg LEVEL is how many levels below the current level