diff options
-rw-r--r-- | init.el | 5 | ||||
-rw-r--r-- | lisp/km-org.el | 10 |
2 files changed, 14 insertions, 1 deletions
@@ -313,7 +313,10 @@ (setq km/org-agenda-file-directory "~/notes/agenda/" org-agenda-files (list km/org-agenda-file-directory)) (add-hook 'org-agenda-finalize-hook #'km/org-agenda-cd-and-read-dir-locals) - (add-hook 'org-agenda-finalize-hook #'km/org-agenda-store-current-span)) + (add-hook 'org-agenda-finalize-hook #'km/org-agenda-store-current-span) + + (add-to-list 'org-agenda-bulk-custom-functions + '(?D km/org-agenda-delete-subtree))) (after 'ox-md (advice-add 'org-md-paragraph :filter-return #'km/org-md-fill-string)) :config diff --git a/lisp/km-org.el b/lisp/km-org.el index 49fa76f..74f7eb7 100644 --- a/lisp/km-org.el +++ b/lisp/km-org.el @@ -360,6 +360,16 @@ displayed in the agenda." (org-agenda-text-search-extra-files :maxlevel . 3)))) (org-refile '(4)))) +(defun km/org-delete-subtree () + (org-back-to-heading t) + (delete-region + (point) + (org-element-property :end (org-element-at-point)))) + +(defun km/org-agenda-delete-subtree () + (interactive) + (org-agenda-archive-with #'km/org-delete-subtree)) + ;;; Refiling |