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