From cbe051fd637dc529d271331a49582c9f60b26ba8 Mon Sep 17 00:00:00 2001 From: Case Duckworth Date: Wed, 15 Sep 2021 17:33:49 -0500 Subject: Add acdw/org-export-copy Better'n `acdw/copy-region-plain' --- lisp/acdw.el | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'lisp') diff --git a/lisp/acdw.el b/lisp/acdw.el index 0790f2e..40aff5d 100644 --- a/lisp/acdw.el +++ b/lisp/acdw.el @@ -395,6 +395,30 @@ first." (setq deactivate-mark t) nil) +(defun acdw/org-export-copy () + "copy a tree" + (interactive) + (require 'ox-ascii) + (let ((extracted-heading (acdw/org-extract-heading-text))) + ;; Export to ASCII - not async, subtree only, visible-only, body-only + (let ((org-export-show-temporary-export-buffer nil)) + (org-ascii-export-as-ascii nil t t t)) + (with-current-buffer "*Org ASCII Export*" + (goto-char (point-min)) + (insert extracted-heading) + (newline) + (newline) + + (unfill-region (point-min) (point-max)) + (flush-lines "^$" (point-min) (point-max)) + + (copy-region-as-kill (point-min) (point-max))) + + (when (called-interactively-p 'interactive) + (indicate-copied-region)) + (setq deactivate-mark t) + nil)) + (defun acdw/org-extract-heading-text () "Extract the heading text from an `org-mode' heading." (let ((heading (org-no-properties (org-get-heading t t t t)))) -- cgit 1.4.1-21-gabe81