Open azizzaeny opened 7 years ago
Suspect:
[n] Boot repl differ nrepl implementation and output message [y] It seem proto-repl unable to parse error output from handle msg proccess, maybe nrepl-client issue [y] load-widget spinner not stoping or destroyed, loading decorator stacked instead one per editor
Output from lein repl:
{
"ex": "class clojure.lang.Compiler$CompilerException",
"id": "6002D773-439E-4192-9226-B737FFB568AC",
"root-ex": "class clojure.lang.Compiler$CompilerException",
"session": "0f6e8d8e-90a1-4dea-afa1-05248c0f5749",
"status": [
"eval-error"
]
}
{
"err": "CompilerException java.lang.RuntimeException: No such namespace: cljs, compiling:(/home/io/.atom/packages/proto-repl/proto-no-proj-boot/build.boot:9:1) \n",
"id": "6002D773-439E-4192-9226-B737FFB568AC",
"session": "0f6e8d8e-90a1-4dea-afa1-05248c0f5749"
}
Output from boot repl:
{
"id": "2D95846C-C348-45A1-AD23-D74BFD07019C",
"out": " \u001b[1;31mjava.lang.RuntimeException\u001b[m: \u001b[3mNo such namespace: cljs\u001b[m\n\u001b[1;31mclojure.lang.Compiler$CompilerException\u001b[m: \u001b[3mjava.lang.RuntimeException: No such namespace: cljs, compiling:(/home/io/.atom/packages/proto-repl/proto-no-proj-boot/build.boot:8:1)\u001b[m\n",
"session": "fd695ced-95a3-4ff5-8779-ec48c00fc010"
}
dont know why there is strange string such \u001b[3m
@azizzaeny thanks for the detailed input. Definitely helps a lot :) I checked the code and the output that you mentioned and I am pretty confident about the source of the bug.
Proto-repl (currently) only displays inline messages from the nrepl returned as results (msg.value
) or as exceptions (msg.err
this one is actually stderr
but lets ignore that for this case ;) ), as you can see here.
The problem is that the Boot nrepl is not sending the exception message to stderr
but to stdout
(as "out" in the output that you showed). Due to that, proto-repl simply ignores the messages as 'no result nor exception was produced for the command'.
On the other hand, the loading indicator is only removed once the resultHandler (see here) is called back. But since the received messages dont match the conditions, the resultHandler is never called, thus the loading indicator is never removed.
@jasongilman I am pretty sure that is the source of the problem for both this and #215 bugs but if it is really a Boot bug then I dont know if there is much we can do :( . Any ideas?
Notes for @azizzaeny :
Starting REPLtoggle with lein Auto eval File
But with Boot Auto Eval File
same thing happen when
Instead outputing animated folding-cube, they are every where.. more error you have more folding-cube you get.
in setting i have check unchek (Ink, Display Code in repl, Show in line result, pretty print), but still if used boot no nice error displayed in ink ..
did you guys same here... or just me ?
Proto-repl version: 1.4.10