cursive

Issues at: https://git.io/cursive-issues
Baibhav Bista 2021-04-16T04:59:09.212100Z

Hello, I had a question regarding using Ultimate vs Community version of IDEA with Cursive. Does anyone know what (if any) features I will not get if I use the community version? Would love answers about what features you all regularly use that would not be possible in the community version.

raspasov 2021-04-16T18:28:18.213200Z

Ultimate has nicer support for exploring JS stuff around React, etc. Been using Ultimate for a couple of years, but as far as I remember the Community didn’t “understand” JS files very well or at all. If you just focus on server side Clojure, you’re just fine with Community most likely (since Community has almost identical pure Java support with Ultimate, as far as I remember). I would start with Community and see if you miss anything. Relatively painless to upgrade.

raspasov 2021-04-16T18:30:34.213600Z

You should be able to copy over your custom settings, etc over to Ultimate without much issue. I don’t recall any problems.

cfleming 2021-04-16T05:45:04.212200Z

There are no Cursive features that require the Ultimate edition at the moment. Obviously you would not have the IntelliJ features (web stuff is probably the main one people miss) but Cursive will be exactly the same in both.

cfleming 2021-04-16T05:45:26.212400Z

That may change in the future, especially around better JS support for CLJS, but that’s still unknown at this point.

Baibhav Bista 2021-04-16T06:59:51.212600Z

Thank you for the clear answer 😄

imre 2021-04-16T20:07:48.214500Z

@cfleming I read that there's a new version out but my intellij doesn't seem to see it. I'm on 1.10.2-eap2-2020.3

cfleming 2021-04-19T03:41:34.218100Z

Hmm, I'm not sure - I just checked the repo page, and it should definitely be there even for EAP users.

imre 2021-04-19T09:38:53.218700Z

Thanks for checking. Managed to update now via idea properly

imre 2021-04-16T20:20:40.214600Z

tried checking for updates a number of times but no luck

kenny 2021-04-16T21:54:37.215700Z

Is there a Cursive setting that lets you have autocomplete prefer (or only) use unaliased keywords even if an alias for that ns exists?

cfleming 2021-04-19T03:41:59.218300Z

There isn't at the moment, but it's something I've considered.

kenny 2021-04-19T15:21:45.220Z

I’ve really started to dislike aliases for keywords. The only alternative is to type the whole thing out. It’d be great to have this as an option 🙂

cfleming 2021-04-20T23:00:58.220800Z

I'm curious - why don't you like them?

kenny 2021-04-22T00:10:28.235800Z

They tie data to code. Copy pasting code does not work. Renaming a namespace breaks all keywords (bad if that data went into a DB).

kenny 2021-04-22T00:11:03.236Z

I've started to think of them as an anti-pattern.

kenny 2021-04-22T00:12:00.236200Z

It's really hard to move away from it when autocomplete so strongly wants me to use them, haha.

cfleming 2021-04-22T00:28:17.236400Z

Interesting. I’m actually planning to fix the copy paste issue, for keywords and also for symbols referring to vars. In the case of data, systems wouldn’t store them as aliased anyway normally, would they? I’d assume they’d be using a semantic kw object with ns and name parts. The alias thing is really just a reader shortcut, and doesn’t exist in e.g. EDN.

kenny 2021-04-22T00:30:09.236600Z

It is recommended for all data stored in Datomic to be qualified keywords. Data is inputted and outputted in keywords.

cfleming 2021-04-22T00:30:46.236800Z

Sure, but what I mean is that Datomic won’t store it with the alias, it’ll store it with the full ns/name combo, right?

kenny 2021-04-22T00:31:21.237Z

Oh, haha. Yes - that is correct. The reader always expands first.

kenny 2021-04-22T00:35:17.237200Z

It still seems to be mixing my data with my code. I have no need to require a namespace simply to refer to my data (I'm assuming that's the thought on how to fix it). I only want to work with the data.

cfleming 2021-04-22T00:56:17.237500Z

I’m not proposing a solution, just trying to understand the problem better. Is there a case where the aliasing causes a problem? I get the copy/paste issue. Renaming namespaces shouldn’t be a problem, renaming aliases might if Cursive doesn’t handle that properly.

kenny 2021-04-26T19:33:57.257700Z

This isn’t a problem with Cursive, just aliases. I don’t like that it’s depending on the context of the namespace. Since it’s just data, I prefer to have it be exactly that — no implicit context involved.