summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorstardiviner <numbchild@gmail.com>2020-02-13 23:23:03 +0800
committerBastien <bzg@gnu.org>2020-02-13 16:56:02 +0100
commit003a7fc0b421e0c71713fc3f651c6ad0b16b4b8e (patch)
tree09c98e96e6b161c5e294e6750ccbd0881ee86af4
parentd37fc58150cfb5fd28eab0ac8e20fae47cac30e4 (diff)
downloadorg-mode-003a7fc0b421e0c71713fc3f651c6ad0b16b4b8e.tar.gz
* lisp/ob-clojure.el: Add more ClojureScript src block support.
* lisp/ob-clojure.el: Add ClojureScript src block tangle extension and header arguments support. * lisp/ob-clojure.el (org-babel-edit-prep:clojure): Auto inject src block :ns header argument into editing temporary src block buffer local. TINYCHANGE
-rw-r--r--lisp/ob-clojure.el9
1 files changed, 9 insertions, 0 deletions
diff --git a/lisp/ob-clojure.el b/lisp/ob-clojure.el
index fa90cf9..0815c42 100644
--- a/lisp/ob-clojure.el
+++ b/lisp/ob-clojure.el
@@ -61,11 +61,15 @@
(defvar org-babel-tangle-lang-exts)
(add-to-list 'org-babel-tangle-lang-exts '("clojure" . "clj"))
+(add-to-list 'org-babel-tangle-lang-exts '("clojurescript" . "cljs"))
(defvar org-babel-default-header-args:clojure '())
(defvar org-babel-header-args:clojure '((ns . :any)
(package . :any)))
+(defvar org-babel-default-header-args:clojurescript '())
+(defvar org-babel-header-args:clojurescript '((package . :any)))
+
(defcustom org-babel-clojure-sync-nrepl-timeout 10
"Timeout value, in seconds, of a Clojure sync call.
If the value is nil, timeout is disabled."
@@ -224,6 +228,11 @@ The underlying process performed by the code block can be output
using the :show-process parameter."
(org-babel-execute:clojure body (cons '(:target . "cljs") params)))
+(defun org-babel-edit-prep:clojure (babel-info)
+ "Set org-edit-special src block by injecting `cider-buffer-ns' as namespace."
+ (if-let* ((namespace (cdr (assq :ns (nth 2 babel-info)))))
+ (setq-local cider-buffer-ns namespace)))
+
(defun org-babel-clojure-initiate-session (&optional session _params)
"Initiate a session named SESSION according to PARAMS."
(when (and session (not (string= session "none")))