瀏覽代碼

* ob-clojure-literate: Support vars initialization when prepare session

* contrib/lisp/ob-clojure-literate.el (org-babel-clojure-var-to-clojure):
(org-babel-variable-assignments:clojure): Support vars initialization
when prepare session.
stardiviner 7 年之前
父節點
當前提交
8835ee750e
共有 1 個文件被更改,包括 9 次插入3 次删除
  1. 9 3
      contrib/lisp/ob-clojure-literate.el

+ 9 - 3
contrib/lisp/ob-clojure-literate.el

@@ -221,7 +221,14 @@ If it is a directory, `ob-clojure-literate' will try to create Clojure project a
 
 (defun org-babel-clojure-var-to-clojure (var)
   "Convert src block's `VAR' to Clojure variable."
-  ;; TODO: reference `org-babel-python-var-to-python'
+  (if (listp var)
+      (replace-regexp-in-string "(" "'(" var)
+    (cond
+     ((stringp var)
+      ;; wrap org-babel passed in header argument value with quote in Clojure.
+      (format "\"%s\"" var))
+     (t
+      (format "%s" var))))
   )
 
 (defun org-babel-variable-assignments:clojure (params)
@@ -230,8 +237,7 @@ If it is a directory, `ob-clojure-literate' will try to create Clojure project a
    (lambda (pair)
      (format "(def %s %s)"
              (car pair)
-             ;; (org-babel-clojure-var-to-clojure (cdr pair))
-             (cdr pair)))
+             (org-babel-clojure-var-to-clojure (cdr pair))))
    (org-babel--get-vars params)))
 
 ;;; Support header arguments  :results graphics :file "image.png" by inject Clojure code.