Groups keyboard shortcuts have been updated
Dismiss
See shortcuts

Cursive 1.12.0

97 views
Skip to first unread message

Cursive

unread,
Nov 29, 2021, 3:23:08 AM11/29/21
to cur...@googlegroups.com

Hi everyone,

Cursive 1.12.0 is out! It contains a bunch of new stuff, support for IntelliJ 2021.3, and many bug fixes too.

The first new feature is support for the new tools feature in Deps, which is used for the new tools.build 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.

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 new APIs, this feature is only available with IntelliJ 2021.3.

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 2021.3.

The main bug fix is for a problem with project synchronisation which would occasionally lock the IDE altogether. There’s also an improvement for the test result diffs which allows the structural actions to work there. The test result diffs when using the test runner now also show a nicely formatted diff like the interactive test support does, and there’s support for setting the Clojure CLI config directory when using Deps (equivalent to setting $CLJ_CONFIG).

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 #2591. 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.

Several users over the years have mentioned that it’s annoying that the REPL steals the editor focus when starting. So now by default, when you start a REPL the focus will not be taken to the REPL editor pane. This is because most people don’t actually use that pane much, preferring to send forms from code editors to the REPL rather than entering them there. If you hate this, there’s a new flag to allow the REPL to be focused in the run configurations.

Here are the issues:

Added
  • 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
  • Support selecting the clojure CLI config directory #2212
Changed
  • Format forms for comparison when using test runner #2609
  • 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
Fixed
  • Structural actions don’t work in test result diffs #2611
  • Cursive causes IDE Hang #2587
  • JetBrain’s “Code with Me” plugin doesn’t share the REPL #2486
  • Stop stealing focus when starting REPL #1579

Cheers,
Colin

Reply all
Reply to author
Forward
0 new messages