Fork me on GitHub

I was wondering wether Calva supports a Find Usages like feature, or if it is planned on the roadmap somewhere? I’ve got a few team members who are considering switching from Cursive but that’s the one thing to hold them back most. For context:


Calva currently does not have that. It's tricky to support for ClojureScript with the dynamic tools we use.


VS Code has stellar multi-file search, which can somewhat compensate, but of course is much cruder.


Thanks. Does it make sense for me to open a feature request issue for this on GitHub?


@ullrich.schaefer it certainly does. Check if there is one first, though. 😃

👍 1
✌️ 1

Did that already 😄


Cool. Strange. 😃


Yeah. I changed the name now, inspired by your comment.


🙏 thanks @pez I’ll keep on sponsoring you in the meantime 😄

😍 1

> I’ll keep on sponsoring you in the meantime 😄 ❤️❤️❤️


Hey! Thank's @pez (and all the contributors) for your excellent work on Calva. I'm trying to use it as my dedicated Clojure/ClojureScript editor now (coming from Emacs/CIDER). As a newcomer to Calva, I have two questions:


My project is currently using boot which is not direcly supported by Calva (and I've noticed some rough edges when connecting to my REPL). I want to migrate away from boot for several reasons. From the perspective of Calva, which build tool is most plug-and-play and preferred for future Calva features? Leiningen or Clojure CLI?


Is there any way to get compilation errors in the REPL window instead of in the VSCode output panel? The VSCode output panel is a strange beast to me. First, it can't be placed in the same way as other windows and must be docked to the bottom or right side of the screen, taking up a lot of screen real-estate. Secondly, colors and formatting support seem very basic. My compilation errors appear as single-line unformatted text. I wish I could get them displayed in the nice Calva REPL instead (and not having to keep the output panel open at all)


tools.deps has been the best experience with vscode for me.


@pez it's been a while because I've been off in Go land, how are things looking for REBL + Calva?


Welcome, @jonathan.anders.pette! I hope you will find Calva useful. Not sure what problems you have with the REPL and Boot, but in theory, as long as you get the dependencies right you should be able to connect w/o any added problems compared to other project types. But I haven't really tried it so maybe I am missing something.


The issues I have seem to be related to mismatching dependencies, it's not a blocker though. I just got accustomed to how nicely Cava's jack-in works in one of my smaller deps.edn project


Calva is equally on friendly footing with Leiningen and Clojure CLI/tools.deps. It will rather be your project that will need one or the other or both. See this recent thread on ClojureVerse on the subject, if you do not already have a full grasp:


Sounds good! Thanks for the link, I didn't see that one


Currently there is no way to direct inline-generated exceptions to the REPL window. I'd welcome an issue about that. The closest you get is to evaluate again but send the eval to the REPL window. It will give you a nice clickable stack stack trace. (But maybe you already knew that.)


Ah, I didn't realize the difference in error output between different eval functions. I tried triggering a few stacktraces to appear in the REPL window and they look great! I use the "Eval on save" feature (I'm guessing it's the same as "load (evaluate) the active file". Is there any existing way of getting that output to the REPL window instead of the output panel?


Welcome back @gerred! So far this is the Calva+REBL status:


ah ha that nrebl bit is key


Also, since you last were here, my Calva work have become sponsorable: (Mentioning it since you once suggested I should fix that.)


🔥 on it!

❤️ 1
David Brear19:01:11

and well worth it 🙂

David Brear19:01:16

calva is awesome


Hmmm, there is a command Load Current Namespace in REPL Window, but it doesn't generate the stack trace... (I'd appreciate an issue about that). The closest you get is to look at the error message in the output pane and then evaluate the top level form in the REPL window for the location reported.


I've been digging around the code to try to understand the different eval modes (REPL window vs inline). I'll create an issue outlining the feature and perhaps some suggestion / PR if I can get to it

❤️ 1