@mauricio.szabo What state would you say https://marketplace.visualstudio.com/items?itemName=mauricioszabo.clover is in at the moment? And are you planning to continue work on it to get parity with Atom/Chlorine?
I think I would classify it as "Beta, expect bugs to happen". I plan to continue working on it together with Atom/Chlorine, but Chlorine will be my first choice always (because I prefer to work with Atom) unless Atom becomes unmantained / too buggy
I mostly update Clover when I change, add some feature, or fix some bug on REPL-Tooling. So I publish a new version of tooling, then update Chlorine and Clover 🙂
Nice. I asked because of a thread in #beginners where someone suggested Atom was dead/dying because it isn't being maintained actively, since Microsoft bought GitHub, and therefore VS Code was the de factor successor.
My response was that I'd only switch to VS Code if it had a Chlorine-like Clojure integration... which it does 🙂
Well, I don't see Atom dying too soon, but I fear that it'll not get new, shiny features, or performance enhancements
When I saw that it could be a possibility, I migrated most of the code on Chlorine to REPL-Tooling, so if Atom dies I could port most of the code because it was not editor-dependent 🙂
The problem with Clover is that there's no good "Parinfer / Paredit" package for VSCode. The right indentation and paredit-like features are handled by Calva
So you'd essentially need Calva installed, just to get a reasonable editing experience, even if you then relied on Clover's evaluation machinery?
Yes. I'm thinking about extracting the "editing part" of Calva, but then it'll be another project to maintain...
Cava Paredit, Calva Format, and what is today Calva Highlight used to be separate extensions. I brought them in to the same extension because it was easier for me to maintain them that way, and there wasn't anyone else really needing them standalone. But they are still quite disentangled and should be possible to extract to separate extensions again. That would be one way to solve Clover's need. Another could be to see if we could give Calva an API that would disable the things Clover does not need.
@mauricio.szabo Is the eval API in Clover exposed like Chlorine does, so that I could write my REBL integration on top of it?
@seancorfield not yet. On VSCode, you need to put on the package description all the commands that you expect to call. I'm trying to implement a code that will register commands like Custom Command 1
, and so on, and then users can configure these commands on package settings
(Atom is incredibly more flexible than VSCode...)
Atom is much more Emacsy in that sense.
Interesting. Maybe I won't expend any effort on VS Code yet then.
Feel invited to get inspired by Calva's simple custom commands, @mauricio.szabo, they work quite well: https://calva.readthedocs.io/en/latest/custom-commands.html
Thanks, that's very useful! I'll look at the code to see how you did it 🙂