lang/org: load jupyter.el & add jupyter-* to org-src-lang-modes #2198

This commit is contained in:
Henrik Lissner 2019-12-22 00:02:26 -05:00
parent 4faa4e22f9
commit 56ccb0dbef
No known key found for this signature in database
GPG key ID: 5F6C0EA160557395

View file

@ -7,13 +7,21 @@
(after! ob-async (after! ob-async
(pushnew! ob-async-no-async-languages-alist "jupyter-python" "jupyter-julia")) (pushnew! ob-async-no-async-languages-alist "jupyter-python" "jupyter-julia"))
(after! org-src
(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)) (when (string-prefix-p "jupyter-" (symbol-name lang))
(let ((lang (string-remove-prefix "jupyter-" (symbol-name lang)))) (require 'jupyter)
(unless (assoc lang org-src-lang-modes) (let* ((lang-name (symbol-name lang))
(require (intern (format "ob-%s" lang)) (lang-tail (string-remove-prefix "jupyter-" lang-name)))
nil t))) (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" (with-demoted-errors "Jupyter: %s"
(require lang nil t) (require lang nil t)
(require 'ob-jupyter nil t)))))) (require 'ob-jupyter nil t))))))