Fork me on GitHub

Hello Calva friends: I made a small fix so that the hover definition will show for values preceded by @ and '. I'm pretty sure this will not affect other things negatively, but some testing by others would be nice before merging. The VSIX is here and the PR is here


👋 In Calva, is it possible to stop the current evaluation. For example, if one evaluates (Thread/sleep 1000000), is there a way to stop it, without restarting Calva?


Or for example, if one evaluates (range).


Since a week it is. 😃 Interrupt Running Evaluations


Very nice, I tested it, it works 🎉


shadow-cljs lets you start a background server:

$ yarn shadow-cljs start
yarn run v1.17.3
$ D:\work\learn-re-frame-course-files\cheffy\node_modules\.bin\shadow-cljs start
shadow-cljs - config: D:\work\learn-re-frame-course-files\cheffy\shadow-cljs.edn  cli version: 2.8.69  node: v10.16.0
shadow-cljs - server starting ..................................... ready!
Done in 10.14s.


this is useful for when you end up having several invocations of shadow-cljs


trying to jack in when there's already a shadow-cljs server makes the jack-in process hang


the terminal window will say this:


shadow-cljs - config: d:\work\learn-re-frame-course-files\cheffy\shadow-cljs.edn  cli version: 2.8.69  node: v10.16.0
shadow-cljs - connected to server
shadow-cljs - watching build :app
[:app] Configuring build.
[:app] Compiling ...
[:app] Build completed. (691 files, 690 compiled, 0 warnings, 46.46s)


and the repl will never connect


I think this is because Calva is waiting for the repl port to be printed


if I stop the server via yarn shadow-cljs stop and jack in again, it will work


I imagine that it's because the terminal that Calva uses will have more information


> Executing task: C:\Program Files\nodejs\npx.cmd shadow-cljs -d cider/piggieback:0.4.1 -d cider/cider-nrepl:0.22.4 watch :app <

shadow-cljs - config: d:\work\learn-re-frame-course-files\cheffy\shadow-cljs.edn  cli version: 2.8.69  node: v10.16.0
shadow-cljs - updating dependencies
shadow-cljs - dependencies updated
shadow-cljs - HTTP server available at 
shadow-cljs - server version: 2.8.69 running at 
shadow-cljs - nREPL server started on port 3333
shadow-cljs - watching build :app
[:app] Configuring build.
[:app] Compiling ...
[:app] Build completed. (691 files, 1 compiled, 0 warnings, 9.60s)


my question is: could I configure calva in some way that jack in will work even with the background server?


maybe using the "calva.replConnectSequences" config item?


I am not sure I follow correctly. But let’s start with this: > this is useful for when you end up having several invocations of shadow-cljs When do you end ip having several invocations?


I end up with multiple invocations when I am running different types of builds


I usually run calva itself with the watch build for the main app


but things like non-watch tests, or release builds, or shadow-cljs run invocations, are separate commands that aren't really something I should use on jack in


every now and then I also end up restarting my editor for one reason or another


if I am running a separate shadow-cljs server via shadow-cljs start, all of these invocations are very quick to run


but doing so prevent jack in from working


Thanks. I will probably drop this ball if it is only in the channel. Can you post an issue about it? Not promising to fix anything, naturally, but I do like to support shadow well and as an issue more people can see it and contribute in different ways.


I'll also ask on the shadow-cljs channel about it... because in the shadow-cljs start + jack in process, the shadow-cljs server never actually prints repl/server information at all


If you use the dependency injection parameters from the jack-in command when you start the server, maybe you can then connect Calva, instead of jacking in?


yes I think that would work, but have not tried it


Calva looks for files created in .shadow.cljs/


I don’t know how good this guide is in explaining things, but maybe you can pick up some clues from it:


Calva used to be a bit unhelpful with what parameters this or that function accepts. This changed a while ago, when @c.fehse added the parameter info to the the function hovers. In the last few versions of Calva Christian continued to improve this, by adding signature help while typing. It is a bit crude in its current form, but that is also about to change, because now we have worked together on it a bit and this is what it looks like in the PR branch. What’s new is that we show the function name, the relevant signature of the function and which argument you are currently typing. These things currently work only for non-special forms, but anyway, those are plenty. Can we get some help testing this? Here’s the VSIX: And here is some info about Calva VSIX packages, and how to install them, and how to stop using them:


OK, so you can actually find the VSIX from the PR link I pasted, but here’s a direct link, for your convenience 😃 :