ob-js: support :session for js-comint REPL.

* lisp/ob-js.el (org-babel-js-cmd): Add js-comint.
(org-babel-js-initiate-session): Add support for js-comint.
This commit is contained in:
stardiviner 2018-03-18 01:33:12 +08:00 committed by Nicolas Goaziou
parent b4e2fed77e
commit 5ee6c45953
2 changed files with 15 additions and 1 deletions

View File

@ -113,6 +113,10 @@ now sort according to the locales collation rules instead of by
code-point.
** New features
*** Add ~:session~ support of ob-js for js-comint
#+begin_src js :session "*Javascript REPL*"
console.log("stardiviner")
#+end_src
*** Add ~:session~ support of ob-js for Indium
#+begin_src js :session "*JS REPL*"
console.log("stardiviner")

View File

@ -59,7 +59,8 @@
:type '(choice (const "node")
(const "mozrepl")
(const "skewer-mode")
(const "indium"))
(const "indium")
(const "js-comint"))
:safe #'stringp)
(defvar org-babel-js-function-wrapper
@ -169,6 +170,15 @@ then create. Return the initialized session."
(httpd-start)
(run-skewer)
session-buffer)))
((string= "*Javascript REPL*" session)
(require 'js-comint)
(let ((session-buffer "*Javascript REPL*"))
(if (and (org-babel-comint-buffer-livep (get-buffer session-buffer))
(comint-check-proc session-buffer))
session-buffer
(call-interactively 'run-js)
(sit-for .5)
session-buffer)))
((string= "mozrepl" org-babel-js-cmd)
(require 'moz)
(let ((session-buffer (save-window-excursion