diff --git a/modules/lang/org/autoload/contrib-dragndrop.el b/modules/lang/org/autoload/contrib-dragndrop.el new file mode 100644 index 000000000..100786f94 --- /dev/null +++ b/modules/lang/org/autoload/contrib-dragndrop.el @@ -0,0 +1,39 @@ +;;; lang/org/autoload/contrib-dragndrop.el -*- lexical-binding: t; -*- +;;;###if (featurep! +dragndrop) + +;;;###autoload +(defun +org-dragndrop-download-dnd (uri action) + "TODO" + (if (eq major-mode 'org-mode) + (+org-attach/uri uri) + (let ((dnd-protocol-alist + (rassq-delete-all '+org-attach-download-dnd + (copy-alist dnd-protocol-alist)))) + (dnd-handle-one-url nil action uri)))) + +;;;###autoload +(defun +org-dragndrop*insert-link (_link filename) + "Produces and inserts a link to FILENAME into the document. + +If FILENAME is an image, produce an attach:%s path, otherwise use file:%s (with +an file icon produced by `+org-attach--icon')." + (if (looking-back "^[ \t]+" (line-beginning-position)) + (delete-region (match-beginning 0) (match-end 0)) + (newline)) + (cond ((image-type-from-file-name filename) + (insert + (concat (if (= org-download-image-html-width 0) "" + (format "#+attr_html: :width %dpx\n" org-download-image-html-width)) + (if (= org-download-image-latex-width 0) "" + (format "#+attr_latex: :width %dcm\n" org-download-image-latex-width)) + (cond ((file-in-directory-p filename org-attach-directory) + (format "[[attach:%s]]" (file-relative-name filename org-attach-directory))) + ((file-in-directory-p filename org-directory) + (format org-download-link-format (file-relative-name filename org-directory))) + ((format org-download-link-format filename))))) + (org-display-inline-images)) + ((insert + (format "%s [[./%s][%s]] " + (+org-attach--icon filename) + (file-relative-name filename (file-name-directory buffer-file-name)) + (file-name-nondirectory (directory-file-name filename))))))) diff --git a/modules/lang/org/autoload/ipython.el b/modules/lang/org/autoload/contrib-ipython.el similarity index 96% rename from modules/lang/org/autoload/ipython.el rename to modules/lang/org/autoload/contrib-ipython.el index ba28a7cda..6922f7c83 100644 --- a/modules/lang/org/autoload/ipython.el +++ b/modules/lang/org/autoload/contrib-ipython.el @@ -1,8 +1,8 @@ -;;; lang/org/autoload/ipython.el -*- lexical-binding: t; -*- +;;; lang/org/autoload/contrib-ipython.el -*- lexical-binding: t; -*- ;;;###if (featurep! +ipython) ;;;###autoload -(defun +org*org-babel-ipython-initiate-session (&optional session params) +(defun +org*ob-ipython-initiate-session (&optional session params) "Create a session named SESSION according to PARAMS." (if (string= session "none") (error @@ -88,7 +88,7 @@ create a repl connecting to remote session." (format "*%s*" process-name)))))) ;;;###autoload -(defun +org*org-babel-execute:ipython (body params) +(defun +org*babel-execute:ipython (body params) "Execute a BODY of IPython code with PARAMS in org-babel. This function is called by `org-babel-execute-src-block'." (message default-directory) @@ -104,7 +104,7 @@ This function is called by `org-babel-execute-src-block'." ;; * org-src-edit ;;;###autoload -(defun +org*org-babel-edit-prep:ipython (info) +(defun +org*babel-edit-prep:ipython (info) (let* ((params (nth 2 info)) (session (cdr (assoc :session params)))) (org-babel-ipython-initiate-session session params)) diff --git a/modules/lang/org/autoload/org-present.el b/modules/lang/org/autoload/contrib-present.el similarity index 94% rename from modules/lang/org/autoload/org-present.el rename to modules/lang/org/autoload/contrib-present.el index 598291052..41434a817 100644 --- a/modules/lang/org/autoload/org-present.el +++ b/modules/lang/org/autoload/contrib-present.el @@ -1,4 +1,4 @@ -;;; lang/org/autoload/org-present.el -*- lexical-binding: t; -*- +;;; lang/org/autoload/contrib-present.el -*- lexical-binding: t; -*- ;;;###if (featurep! +present) (defvar +org-present--overlays nil) @@ -12,7 +12,8 @@ (add-hook 'kill-buffer-hook '+org-present--cleanup-org-tree-slides-mode)) -;; --- Hooks ------------------------------ +;; +;;; Hooks ;;;###autoload (defun +org-present|add-overlays () @@ -69,8 +70,8 @@ (org-remove-inline-images))))) - -;; --- Helpers ---------------------------- +;; +;;; Helpers (defun +org-present--cleanup-org-tree-slides-mode () (unless (cl-loop for buf in (doom-buffers-in-mode 'org-mode) @@ -85,7 +86,8 @@ (overlay-put overlay 'invisible '+org-present))) -;; --- Advice ----------------------------- +;; +;;; Advice ;;;###autoload (defun +org-present*narrow-to-subtree (orig-fn &rest args) diff --git a/modules/lang/org/autoload/org-attach.el b/modules/lang/org/autoload/org-attach.el index 288811d29..303c85de3 100644 --- a/modules/lang/org/autoload/org-attach.el +++ b/modules/lang/org/autoload/org-attach.el @@ -98,47 +98,3 @@ the cursor." (org-download-insert-link raw-uri new-path)))) (error (user-error "Failed to attach file: %s" (error-message-string ex)))))) - -;;;###autoload -(defun +org-attach-download-dnd (uri action) - "TODO" - (if (eq major-mode 'org-mode) - (+org-attach/uri uri) - (let ((dnd-protocol-alist - (rassq-delete-all '+org-attach-download-dnd - (copy-alist dnd-protocol-alist)))) - (dnd-handle-one-url nil action uri)))) - - -;; -;; Advice - -;;;###autoload -(defun +org-attach*insert-link (_link filename) - "Produces and inserts a link to FILENAME into the document. - -If FILENAME is an image, produce an attach:%s path, otherwise use file:%s (with -an file icon produced by `+org-attach--icon')." - (if (looking-back "^[ \t]+" (line-beginning-position)) - (delete-region (match-beginning 0) (match-end 0)) - (newline)) - (cond ((image-type-from-file-name filename) - (insert - (concat (if (= org-download-image-html-width 0) "" - (format "#+attr_html: :width %dpx\n" org-download-image-html-width)) - (if (= org-download-image-latex-width 0) "" - (format "#+attr_latex: :width %dcm\n" org-download-image-latex-width)) - (cond ((file-in-directory-p filename org-attach-directory) - (format "[[attach:%s]]" (file-relative-name filename org-attach-directory))) - ((file-in-directory-p filename org-directory) - (format org-download-link-format (file-relative-name filename org-directory))) - (t - (format org-download-link-format filename))))) - (org-display-inline-images)) - (t - (insert - (format "%s [[./%s][%s]] " - (+org-attach--icon filename) - (file-relative-name filename (file-name-directory buffer-file-name)) - (file-name-nondirectory (directory-file-name filename))))))) - diff --git a/modules/lang/org/contrib/dragndrop.el b/modules/lang/org/contrib/dragndrop.el index a80d0156f..a8f571489 100644 --- a/modules/lang/org/contrib/dragndrop.el +++ b/modules/lang/org/contrib/dragndrop.el @@ -1,4 +1,5 @@ ;;; lang/org/contrib/dragndrop.el -*- lexical-binding: t; -*- +;;;###if (featurep! +dragndrop) (def-package! org-download :commands (org-download-dnd org-download-dnd-base64) @@ -23,10 +24,6 @@ ;; to, with an icon indicating the type of file. (advice-add #'org-download-insert-link :override #'+org-dragndrop*insert-link) - (defun +org-dragndrop*download-subdir () - (when (file-in-directory-p buffer-file-name org-directory) - (file-relative-name buffer-file-name org-directory))) - (defun +org-dragndrop*download-fullname (path) "Write PATH relative to current file." (let ((dir (or (if buffer-file-name (file-name-directory buffer-file-name)) diff --git a/modules/lang/org/contrib/ipython.el b/modules/lang/org/contrib/ipython.el index 0dbd5b6c6..ae19f325a 100644 --- a/modules/lang/org/contrib/ipython.el +++ b/modules/lang/org/contrib/ipython.el @@ -1,4 +1,5 @@ ;;; lang/org/contrib/babel.el -*- lexical-binding: t; -*- +;;;###if (featurep! +ipython) (def-package! ob-ipython :defer t @@ -22,9 +23,9 @@ ;; advices for remote kernel and org-src-edit (advice-add #'ob-ipython--create-repl :override #'+org*ob-ipython--create-repl) - (advice-add #'org-babel-edit-prep:ipython :override #'+org*org-babel-edit-prep:ipython) - (advice-add #'org-babel-execute:ipython :override #'+org*org-babel-execute:ipython) - (advice-add #'org-babel-ipython-initiate-session :override #'+org*org-babel-ipython-initiate-session) + (advice-add #'org-babel-edit-prep:ipython :override #'+org*babel-edit-prep:ipython) + (advice-add #'org-babel-execute:ipython :override #'+org*babel-execute:ipython) + (advice-add #'org-babel-ipython-initiate-session :override #'+org*ob-ipython-initiate-session) ;; retina resolution image hack (when IS-MAC diff --git a/modules/lang/org/contrib/present.el b/modules/lang/org/contrib/present.el index 80a8e5b27..51996fd75 100644 --- a/modules/lang/org/contrib/present.el +++ b/modules/lang/org/contrib/present.el @@ -1,4 +1,5 @@ ;;; lang/org/contrib/present.el -*- lexical-binding: t; -*- +;;;###if (featurep! +present) (defvar +org-present-text-scale 7 "The `text-scale-amount' for `org-tree-slide-mode'.")