Dear Calva friends. Thanks to https://github.com/jramosg (@jonurnieta ?), we are getting several super sweet improvements to the structural editing. Please help me put it to some testing before release. The changes:
• https://github.com/BetterThanTomorrow/calva/issues/2988`:let`https://github.com/BetterThanTomorrow/calva/issues/2988
• https://github.com/BetterThanTomorrow/calva/issues/2991`cond`https://github.com/BetterThanTomorrow/calva/issues/2991
• https://github.com/BetterThanTomorrow/calva/issues/2991`cond->`https://github.com/BetterThanTomorrow/calva/issues/2991`cond->>`https://github.com/BetterThanTomorrow/calva/issues/2991
• https://github.com/BetterThanTomorrow/calva/issues/2993`case`https://github.com/BetterThanTomorrow/calva/issues/2993
• https://github.com/BetterThanTomorrow/calva/issues/2995`:>>`https://github.com/BetterThanTomorrow/calva/issues/2995`condp`https://github.com/BetterThanTomorrow/calva/issues/2995
• https://github.com/BetterThanTomorrow/calva/issues/2766
Pick up the VSIX here: https://app.circleci.com/pipelines/github/BetterThanTomorrow/calva/9335/workflows/55824681-d588-4f9a-ba86-a2365ea3d861/jobs/55112/artifacts (and you can check for later dev builds there, should we need to fix things during testing). Rename the file extension to .vsix if it downloads as a .zip. Install it from VS Code extension pane, meatballs menu at the top: Install from VSIX…
Thanks in advance! ❤️ calva
installed!
Awesome. I have also installed, but need a few moments to reload things to start using. Thanks for contributing!!! ❤️ 🙏
@brjann, I think I have heard you wish that the grow selection would cover some more pairing cases?
For anyone testing. (And for @jonurnieta in case you were not aware 😃 ) Note that the new pairing treatment also affects the Drag Sexp commands. So, e.g. alt+down moves the “pairs” also in cond now. 🎉
If you find issues with these, or just disagree with how it works, you are super welcome to give feedback. Even if we focus on the grow selection this time and not stop the release on non-serious dragging issues.
yes, looks good to me!
I'm creating some tests for it
I agree. It may be that we want to stop certain drag operations from happening, but that is hardly new with these changes.
Hooray! 😃
Hi, I think my Calva was just updated (2.0.545) - and now I can't select what cljs app I want to connect my REPL to. Screenshot in 🧵 Has something changed with regards to selecting cljs app?
Somewhere here there used to be a list of my clojurescript apps.
Hi! Things have changed a bit, yes. Even if this could be a bug. But anyway… I think that with ClojureScript app you may mean shadow-cljs build? The build button only shows up if the repl client is connected to a ClojureScript repl session. (This hasn’t changed.) What session the repl client is connected to is a rather long story, but we have tried to keep it as similar to before as possible for the plainer use cases.
• If you have a ClojureScript file open -> the ClojureScript session (if there is any)
• If you have a .cljc file open -> whatever is selected as the CLC target (typically the ClojureScript repl in typical shadow-cljs senario)
• If you have the repl window open (I don’t know why you would, but you seem to have that) then there is some logic in selecting it by default that I don’t quite recall at the moment, but more importantly you can point it t a session. You do so with a command or by clicking the green indicator there and then the option about selecting the repl window session.
The green indicator always show which session is connected (and tries to indicate “why”). Click it to see how it is routed. The menu also lets you select the CLJC target. See: https://calva.io/repl-ui/ for details. Or huddle with me and I can demo it a a bit 😃
So, if you select a ClojureScript session for the REPL Window the build indicator should show up. And, since you seem to have been away for a while, these days also a shadow-cljs runtime indicator, if you have the same app/build running on different devices/tabs etc.
Thanks! So the build selector magically re-appeared without me doing anything 😄 Yes, I haven't migrated to the new nREPL window yet - I know its no longer the recommended way to have the "source code" nREPL window.
I do hope it didn’t re-appear without you doing anything. But rather that you selected another file and it connected Calva to a ClojureScript repl. This magic has always been there. I think what may have changed is how the repl window connection is selected. And there may be a bug there, because I don’t quite see a reason why it would connect to a Clojure REPL in you case.
I am 100% that I was in a cljs file when the app selection wasn't visible. But maybe I need to move away from the old nREPL window and this won't happen again
What are you using the repl window for?
Nothing
Except being confused when I accidentally close it and can't remember how to get it back...
Ah, then configure Calva to use either the output window or the terminal for its output. I prefer the terminal because its not in the editor area.
There is a command for opening the repl window. All you need to bother your memory with is that the command palette is great for searching 😃
And I should change the default output destinations…
Trying to find the setting for changing it to the terminal...
It’s called output destinations. The settings editor also has very good search. (As long as you know what to search for, like I do. 😃 )
Which output destination do you use?
Need to pick up kids from school - but I'll revisit this on Monday!
I use terminal for all.
Just want to say that all the little utilities in calva are so SO awesome. I have keyboard shortcuts for Copy last evaluation result to clipboard and replace current selection with pretty printed form and I use them constantly. It's so effortless to hit a database or an API, paste the result straight into my script, and then write code around the data.
I'm currently exploring an awful old database that only has schemaless JSONB columns everywhere. Without babashka + calva I'd be copy pasting IDs into zillions of different queries in datagrip and requests in postman. I would be absolutely tearing my hair out. But with babashka + calva I'm just FLYING through this work. And I might even be having fun??
Thanks for sharing! You could help spreading some awareness by posting this in #gratitude. I will very seldom ask for gratitude 😃 , but your feedback is tangible, that I think it would be excellent for awareness.
ah thanks! I thought there was a channel like that. I was looking for #appreciation and couldn't find it lol
Great feedback. I added the channel you looked for and pointed to gratitude form there. 😃
Dear Calva friends: calva https://github.com/BetterThanTomorrow/calva/releases/tag/v2.0.546 • https://github.com/BetterThanTomorrow/calva/issues/2988`:let`https://github.com/BetterThanTomorrow/calva/issues/2988 • https://github.com/BetterThanTomorrow/calva/issues/2991`cond`https://github.com/BetterThanTomorrow/calva/issues/2991 • https://github.com/BetterThanTomorrow/calva/issues/2991`cond->`https://github.com/BetterThanTomorrow/calva/issues/2991`cond->>`https://github.com/BetterThanTomorrow/calva/issues/2991 • https://github.com/BetterThanTomorrow/calva/issues/2993`case`https://github.com/BetterThanTomorrow/calva/issues/2993 • https://github.com/BetterThanTomorrow/calva/issues/2995`:>>`https://github.com/BetterThanTomorrow/calva/issues/2995`condp`https://github.com/BetterThanTomorrow/calva/issues/2995 • https://github.com/BetterThanTomorrow/calva/issues/2766 • Bump deps.clj.jar to v1.12.4.1597 Thanks @jonurnieta for all these improvements! 🙏 ❤️ calva I have been missing these a lot, but not quite understood how to support it without causing a total mess in the code. Now I see how I should have done it. 😃