mirror of
https://github.com/doomemacs/doomemacs
synced 2025-09-18 16:06:56 -05:00
refactor(org): +jupyter: loader & ob-async blacklist
This commit is contained in:
@@ -32,30 +32,20 @@
|
|||||||
(use-package! ob-jupyter
|
(use-package! ob-jupyter
|
||||||
:defer t
|
:defer t
|
||||||
:init
|
:init
|
||||||
(after! ob-async
|
;; HACK: ob-juypter don't support ob-async and handles async itself, so
|
||||||
(pushnew! ob-async-no-async-languages-alist
|
;; piggyback off of `org-babel-jupyter-make-language-alias' to disable it
|
||||||
"jupyter-python"
|
;; for every current and future kernel language.
|
||||||
"jupyter-julia"
|
(defadvice! +org-jupyter--suppress-ob-async-a (fn _kernel lang)
|
||||||
"jupyter-R"))
|
:before #'org-babel-jupyter-make-language-alias
|
||||||
|
(with-eval-after-load 'ob-async
|
||||||
(after! org-src
|
(add-to-list 'ob-async-no-async-languages-alist (concat "jupyter-" lang))))
|
||||||
(dolist (lang '(python julia R))
|
|
||||||
(cl-pushnew (cons (format "jupyter-%s" lang) lang)
|
|
||||||
org-src-lang-modes :key #'car)))
|
|
||||||
|
|
||||||
(add-hook! '+org-babel-load-functions
|
(add-hook! '+org-babel-load-functions
|
||||||
(defun +org-babel-load-jupyter-h (lang)
|
(defun +org-babel-load-jupyter-h (lang)
|
||||||
(when (string-prefix-p "jupyter-" (symbol-name lang))
|
(and (string-prefix-p "jupyter-" (symbol-name lang))
|
||||||
(require 'jupyter)
|
(require 'ob-jupyter nil t)
|
||||||
(let* ((lang-name (symbol-name lang))
|
(org-babel-jupyter-make-local-aliases))))
|
||||||
(lang-tail (string-remove-prefix "jupyter-" lang-name)))
|
|
||||||
(and (not (assoc lang-tail org-src-lang-modes))
|
|
||||||
(require (intern (format "ob-%s" lang-tail))
|
|
||||||
nil t)
|
|
||||||
(add-to-list 'org-src-lang-modes (cons lang-name (intern lang-tail)))))
|
|
||||||
(with-demoted-errors "Jupyter: %s"
|
|
||||||
(require lang nil t)
|
|
||||||
(require 'ob-jupyter nil t)))))
|
|
||||||
:config
|
:config
|
||||||
(defadvice! +org--ob-jupyter-initiate-session-a (&rest _)
|
(defadvice! +org--ob-jupyter-initiate-session-a (&rest _)
|
||||||
:after #'org-babel-jupyter-initiate-session
|
:after #'org-babel-jupyter-initiate-session
|
||||||
|
Reference in New Issue
Block a user