Hi everyone,
Cursive 1.8.2 is out!
This release adds support for IntelliJ 2019.2. 2019.2 made a big change at the platform level, the Java support was finally split out into a true standalone plugin. Previously for historical reasons it had been blessed in various ways. This is great news for Cursive since it relies on the Java support, and that support was previously not available in the smaller IDEs like WebStorm and PyCharm. It should now be possible (although I haven’t tested this) to install the Java support and Cursive in those IDEs and use it there. However this change had a lot of implications and bugs at the platform level which took a long time to shake out, so unfortunately support for 2019.2 hasn’t had a lot of testing.
There have been two main problems. One was IDEA-217619, which broke the Deps integration. That bug is fixed but some users are still experiencing ongoing problems with the Deps support. I’m hoping to fix those quickly.
The other is IDEA-211736 - this causes all symbol resolution to fail sporadically, and is a problem that started in IntelliJ 2019.1. A fix has been developed for this, but unfortunately it didn’t make the 2019.2 release since it’s a fix to a complicated and intermittent problem in a critical part of their infrastructure. It will be in 2019.2.1 - I’m not sure when that will be out, but it should be within a week or two. If either of these problems affect you, the best thing is not to upgrade IntelliJ for the moment.
Disclaimers aside, on the bright side there are several new features. Cursive will now give you the option to download an archive of the ClojureDocs information, and if you do so this will be used to show examples, notes and see-alsos in the documentation popups. This is documented here. You’ll be prompted to update the archive if it becomes more than 30 days out of date, and you can update it at any time at Preferences | Languages & Frameworks | Clojure.
Also new, when pasting HTML either copied from within IntelliJ or from some external source, Cursive will offer to convert it to hiccup for you when pasting. There’s also new support for the EnvFile IntelliJ plugin, which allows environment variables to be managed in external files such as .env. Environment variables can now also be specified for lein task run configurations. There’s also a fix to a newish flag on the run configs which needs to be set to allow multiple copies of e.g. a REPL to be run from a single config.
A while ago, I made a change to allow keywords to be associated with definitions. Previously keywords had no definition, but simply came into existence on first use. But several frameworks define entities using keyword identifiers - spec and re-frame both do this. So I added the concept of keyword definitions, but the implementation wasn’t entirely successful. Cursive would then treat keywords used in these contexts more like vars, but it wasn’t obvious when that change happened and it was very confusing. It also led to things like Find Usages and Rename behaving differently when keywords were used in the two contexts (as a definition, and as a standard keyword in e.g. destructuring). In this release I’ve modified how this works - keywords now work as they did previously, but you can still navigate to the definitions if they exist and they still show up in the structure view as you would expect. As part of this, there’s also a fix to another annoying keyword navigation issue where you couldn’t navigate from CLJ or CLJS files to keyword definitions in CLJC files.
The new error messages in Clojure 1.10 are also now clickable in the REPL, and there’s stub generation support for Datomic Ions.
There are also many bug fixes. There are various fixes to formatting which would break code under parinfer. The lein support will now use 2.9.1, the latest version. There are also numerous fixes to the deps support when using tools.deps directly as opposed to using the CLI tools, which mostly helps Windows users.
Since 2019.2 is now released, 1.8.2 is the last version of Cursive with support for IntelliJ 2017.1 and 2017.2.
Here are the issues:
Cheers,
Colin
--
You received this message because you are subscribed to the Google Groups "Cursive" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cursive+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/cursive/675833472.1.1564014881300.JavaMail.colin%40Colin-Flemings-MacBook-Pro-4.local.
--
To view this discussion on the web visit https://groups.google.com/d/msgid/cursive/CAJCeHrXWFQBeSYeSnMFn05HdUzJn3OBdKxTD1xKwy24Z_0D1nQ%40mail.gmail.com.Attachments:
- Screen Shot 2019-07-25 at 7.37.56 PM.png
- Screen Shot 2019-07-25 at 7.53.54 PM.png
To view this discussion on the web visit https://groups.google.com/d/msgid/cursive/86024c84-de7f-4a72-8f54-e4f5876a5b17%40www.fastmail.com.