diff --git a/lisp/ob-clojure.el b/lisp/ob-clojure.el index 299a326e4..de005c32b 100644 --- a/lisp/ob-clojure.el +++ b/lisp/ob-clojure.el @@ -224,6 +224,14 @@ (defun ob-clojure-eval-with-slime (expanded params) ,(buffer-substring-no-properties (point-min) (point-max))) (cdr (assq :package params))))) +(defun ob-clojure-eval-with-babashka (expanded params) + "Evaluate EXPANDED code block with PARAMS using babashka." + (org-babel-execute:shell (format "bb -e \"%s\"" expanded) params)) + +(defun ob-clojure-eval-with-clj (expanded params) + "Evaluate EXPANDED code block with PARAMS using clojure-cli." + (org-babel-execute:shell (format "clj -e \"%s\"" expanded) params)) + (defun org-babel-execute:clojure (body params) "Execute a block of Clojure code with Babel." (unless org-babel-clojure-backend @@ -238,7 +246,11 @@ (defun org-babel-execute:clojure (body params) ((eq org-babel-clojure-backend 'cider) (ob-clojure-eval-with-cider expanded params)) ((eq org-babel-clojure-backend 'slime) - (ob-clojure-eval-with-slime expanded params)))) + (ob-clojure-eval-with-slime expanded params)) + ((eq org-babel-clojure-backend 'babashka) + (ob-clojure-eval-with-babashka expanded params)) + ((eq org-babel-clojure-backend 'clj-cli) + (ob-clojure-eval-with-clj expanded params)))) (org-babel-result-cond result-params result (condition-case nil (org-babel-script-escape result)