Cursive 1.11.0 is out! The main new feature is support for editing Babashka scripts, and there are also a few bug fixes.
Babashka has been difficult to support in Cursive because it contains a lot of implicit dependencies which Cursive doesn’t know about when resolving symbols. Cursive now has a mechanism for supporting this, the documentation on how to use it is here.
There’s still more to do on the Babashka support, in particular this release doesn’t do anything at all with bb.edn. So if you’re adding extra dependencies via that those won’t work for the moment, and there’s no task running support yet either. I also want to support socket REPLs with Babashka which won’t work currently. There’s also some funkiness in the REPL completions which needs investigating.
There’s also a fix for a problem with the Deps support. Deps doesn’t provide a way to name projects, and this is a problem when syncing to IntelliJ because it requires modules to have a name. Previously Cursive would just name the module using the name of the directory containing the project, but it was often the case that projects would have multiple directories called “api” or something similar. Cursive will now try to create a name for these modules using the names of directories above the project until the module names are unique. This means that module names might change when syncing if a new project has been added in a directory which causes a name conflict where one wasn’t present previously. This is something to be aware of, but hopefully that won’t cause problems.
There’s another bug fix related to Deps. Recent versions of Deps have changed how the git support works, and that had broken support for this dependency type due to an API change (new versions of Deps now return :git/sha instead of plain :sha over the API). This is now fixed.
Finally, another problem under IntelliJ 2021.2 was that the test support markers would sometimes disappear soon after appearing for some users. Sometimes they would then reappear and sometimes not. This was due to a misunderstanding on my part of how to use one of the IntelliJ APIs, combined with some platform changes in 2021.2. The problem was only provoked for users who had other plugins installed which used a related IntelliJ API.
Finally, there’s now better support for the Grazie spelling and grammar checker built into IntelliJ. Clojure code will be checked if you configure it in the settings, and it will correctly distinguish between string literals and comments etc. Since this API changed significantly in 2021.2, this is only available from IntelliJ 2021.2 onwards.
Since IntelliJ 2021.2 is now out, Cursive will no longer support IntelliJ 2020.2 as of this release.
Here are the issues:Added