fix(lib): doom-docs-mode: hiding property drawers

Includes a minor optimization: reading the current level from an
org-element object, rather than relying on (org-current-level), which
resorts to walking the buffer with regex.
This commit is contained in:
Henrik Lissner 2023-09-11 23:18:51 +02:00 committed by Yann Esposito (Yogsototh)
parent e33f358f45
commit 1e9a3e6edf
Signed by untrusted user who does not match committer: yogsototh
GPG key ID: 7B19A4C650D59646

View file

@ -239,11 +239,9 @@
(beg (max (point-min) (1- (org-element-property :begin el))))
(end (org-element-property :end el))
((memq (org-element-type el) '(drawer property-drawer))))
(when (org-current-level)
(when (org-element-property-inherited :level el)
(cl-decf end))
(org-fold-core-region beg end doom-docs-mode 'doom-doc-hidden)
(when doom-docs-mode
(org-fold-core-region beg end nil 'org-hide-drawer)))))
(org-fold-core-region beg end doom-docs-mode 'doom-doc-hidden))))
;; FIX: If the cursor remains within a newly folded region, that folk will
;; come undone, so we move it.
(if pt (goto-char pt))))