js-comint
js-comint copied to clipboard
Send multiline string
Node has special key for multiline string. .editor. The patch bellow will allow you to evaluate all or partial of this code for example
[1, 2, 3]
.map((it) => it + 1)
.filter((it) => it > 0)
.reduce((prev, curr) => prev + curr, 0);
(el-patch-feature js-comint)
(with-eval-after-load 'js-comint
(el-patch-defun js-comint-send-string (str)
"Send STR to repl."
(el-patch-swap
(comint-send-string (js-comint-get-process)
(concat str "\n"))
(let ((lines (string-lines str)))
(if (length= lines 1)
(comint-send-string (js-comint-get-process)
(concat str "\n"))
(comint-send-string (js-comint-get-process)
(concat ".editor" "\n" str "\n"))
(process-send-eof (js-comint-get-process)))))))
Thanks. Could you send me a pull request?
Sure, will do
How can I use .editor to evaluate your example when I'm using js-comint?
Hmm, the above didn't work for me, but this did:
[1, 2, 3].
map((it) => it + 1).
filter((it) => it > 0).
reduce((prev, curr) => prev + curr, 0);
@SequentialDesign you should try the version here https://github.com/redguardtoo/js-comint/pull/33/files if you're on a version newer than 27.x.
The last PR breaks for me, too https://github.com/redguardtoo/js-comint/pull/33
After a quick test, I think (I hope!) this should work again with #34