Cursive 1.12.0-eap1

Skip to first unread message


Oct 25, 2021, 12:27:21 AMOct 25

Hi everyone,

Cursive 1.12.0-eap1 is out. It contains a bunch of new stuff, and some bug fixes too.

The first new feature is support for the new tools feature in Deps, which is used for the new functionality. Here’s how this works in Cursive. In addition to the existing alias support, there’s now a separate section where you can select aliases which represent tools. When you select an alias as a tool and refresh your project, a new library will be created under External Libraries in your Project View. This library will contain the classpath of the tool. That classpath will be used for symbol resolution in files identified by the :ns-default and :ns-aliases entries in the tool alias. Currently, only namespaces explicitly named here will get this support, but I’ll improve this soon to include other files transitively included by those files. One note, I’ve found the IntelliJ feature I use for this to be a little flakey, and sometimes after changing the tool classpath I need to close my project (not IntelliJ completely) and then reopen it.

As an aside, this feature has been big news for me, since I now build Cursive using Clojure and manage its dependencies using Deps for the first time. It’s still a bit of a frankenbuild cobbled together with bits of string, but that should improve over time. This is the first release built using the new support, so hopefully I got it all right!

This release also adds support for the new 2021.3 EAP. Sorry this took so long to get out, but this release ended up much larger and more complicated than I expected.

The next new feature is support for IntelliJ’s new Package Search service. If you’re not familiar with it, there are blog entries from JetBrains about it here and here. Full support for the Dependencies toolwindow is now available for Leiningen and Deps, and this comes with other nice features like an inspection showing out-of-date packages. Since this relies on very new APIs, this feature is only available with the IntelliJ 2021.3 EAP - get the latest one if you want to try this.

There’s also much improved support for IntelliJ’s new Code With Me feature. The REPL is now synced and the structural editing actions work on the client now. There’s still a bunch of funkiness around this but it’s getting usable now. Outstanding issues are tracked in #2602, if you find problems please comment over there. This feature also only works with the 2021.3 EAP since the APIs are still in flux for this. Again, get the latest one if you want to use this.

There are some improvements to the Deps support, you can now ask Cursive to download source artifacts which will be attached to libraries when syncing - details on how to do that are in the issue. Cursive will also respect :classpath-overrides when syncing deps.

There are also some minor new features around map alignment and structural movement, and support for the new :as-alias option in require.

Here are the issues:

  • Add support for Package Search #2601
  • Suport the new require :as-alias option #2592
  • Allow attaching sources to dependencies #2591
  • Cursive should respect :classpath-overrides #2590
  • Cursive plugin doesn’t work with Intellij IDEA 2021.3 EAP #2589
  • Add support for tools build #2580
  • Make structural movement commands work better on comments #2593
  • Map indentation option when key and value are on separate lines #2547
  • Be (optionally) able to skip map alignment by inserting blank lines #2026
  • JetBrain’s “Code with Me” plugin doesn’t share the REPL #2486


Reply all
Reply to author
0 new messages