ob-js: support :session for Indium Node REPL.
* lisp/ob-js.el (org-babel-js-cmd): Add "indium". (org-babel-execute:js): Handle Indium REPL.
This commit is contained in:
parent
1a1e2286ba
commit
b4e2fed77e
|
@ -113,6 +113,10 @@ now sort according to the locale’s collation rules instead of by
|
||||||
code-point.
|
code-point.
|
||||||
|
|
||||||
** New features
|
** New features
|
||||||
|
*** Add ~:session~ support of ob-js for Indium
|
||||||
|
#+begin_src js :session "*JS REPL*"
|
||||||
|
console.log("stardiviner")
|
||||||
|
#+end_src
|
||||||
*** Add ~:session~ support of ob-js for skewer-mode
|
*** Add ~:session~ support of ob-js for skewer-mode
|
||||||
#+begin_src js :session "*skewer-repl*"
|
#+begin_src js :session "*skewer-repl*"
|
||||||
console.log("stardiviner")
|
console.log("stardiviner")
|
||||||
|
|
|
@ -43,6 +43,8 @@
|
||||||
(declare-function run-mozilla "ext:moz" (arg))
|
(declare-function run-mozilla "ext:moz" (arg))
|
||||||
(declare-function httpd-start "simple-httpd" ())
|
(declare-function httpd-start "simple-httpd" ())
|
||||||
(declare-function run-skewer "skewer-mode" ())
|
(declare-function run-skewer "skewer-mode" ())
|
||||||
|
(declare-function indium-run-node "indium-nodejs" (command))
|
||||||
|
(declare-function indium-eval "indium-interaction" (string &optional callback))
|
||||||
|
|
||||||
(defvar org-babel-default-header-args:js '()
|
(defvar org-babel-default-header-args:js '()
|
||||||
"Default header arguments for js code blocks.")
|
"Default header arguments for js code blocks.")
|
||||||
|
@ -56,7 +58,8 @@
|
||||||
:version "24.1"
|
:version "24.1"
|
||||||
:type '(choice (const "node")
|
:type '(choice (const "node")
|
||||||
(const "mozrepl")
|
(const "mozrepl")
|
||||||
(const "skewer-mode"))
|
(const "skewer-mode")
|
||||||
|
(const "indium"))
|
||||||
:safe #'stringp)
|
:safe #'stringp)
|
||||||
|
|
||||||
(defvar org-babel-js-function-wrapper
|
(defvar org-babel-js-function-wrapper
|
||||||
|
@ -84,6 +87,13 @@ This function is called by `org-babel-execute-src-block'"
|
||||||
(org-babel-eval
|
(org-babel-eval
|
||||||
(format "%s %s" org-babel-js-cmd
|
(format "%s %s" org-babel-js-cmd
|
||||||
(org-babel-process-file-name script-file)) "")))
|
(org-babel-process-file-name script-file)) "")))
|
||||||
|
;; Indium Node REPL
|
||||||
|
;; separate case because Indium REPL is not inherited from comint-mode
|
||||||
|
((string= session "*JS REPL*")
|
||||||
|
(require 'indium-repl)
|
||||||
|
(unless (get-buffer session)
|
||||||
|
(indium-run-node))
|
||||||
|
(indium-eval full-body))
|
||||||
;; session evaluation
|
;; session evaluation
|
||||||
(t
|
(t
|
||||||
(let ((session (org-babel-prep-session:js
|
(let ((session (org-babel-prep-session:js
|
||||||
|
|
Loading…
Reference in New Issue