Fork me on GitHub
#cursive
<
2021-03-19
>
octahedrion14:03:32

how do I stop Cursive indenting ; comments inside (comment) blocks when I type them on a new line ? It never used to do it. Also inside (comment)s if I delete to go up a line, that line is now indented where it wasn't before

mikejcusack17:03:09

Those settings are in the code style for Clojure in IntelliJ settings

mikejcusack17:03:19

Not sure which specific one is causing that

mikejcusack17:03:38

Can you provide a complete example?

octahedrion12:03:35

I already have "Default to indent only" and "Force Only Indent for all forms" selected

onetom17:03:01

I was just looking for this today too

octahedrion16:03:36

actually I found it's the same for any form inside a (comment) block. I can't work out how to stop it indenting forms

octahedrion16:03:17

I don't want Cursive to help me with formatting unless I explicitly ask it to

imre15:03:45

Cursive's static analyzer seems to have an issue with the following, marking the .set calls inside the threading macros (complaining about the missing last arg):

(doto some-object
  (.set "RequiredField" required-field)
  (-> (.set "OptionalField1") (->> (some->> optional-field-1)))
  (-> (.set "OptionalField2") (->> (some->> optional-field-2))))
which is a weird way of saying
(.set some-object "RequiredField" required-field)
(some->> optional-field-1 (.set some-object "OptionalField1"))
(some->> optional-field-2 (.set some-object "OptionalField2"))
some-object
In contrast, clj-kondo seems to be okay with it.

mikejcusack17:03:31

Why is this so nested to begin with?

imre17:03:29

Well, I wanted to see if I can turn the code in the second block into a doto and this is what I ended up having to do

cfleming20:03:50

clj-kondo actually expands the macros, so it’ll be able to see that that’s ok. I can check what’s happening there, but no guarantees of much effort being spent to support code like that, sorry 🙂

imre22:03:54

Don't spend time on it, it isn't a particularly useful pattern anyway 😁 Just posted it as I found it interesting

cfleming23:03:17

@hlship we should start a new thread here for your issue since it’s not related to the problem in the other thread.

hlship23:03:22

Yes, as I noted, I didn't realize I was posting on the existing thread. I think I'm actually in good shape now that I deleted all the .iml files, and the deps.edn issue might have been resolved the same way.

hlship23:03:43

I've got like 30 windows open across two monitors and I feel like I'm going a little bit blind.

cfleming23:03:51

One thing I’m not sure of is how well the inter-module deps will work if you’re mixing lein and deps projects. I had to do a lot of trickiness to make that work with lein, and deps has its own way of doing that bit. I think what that means is that things might not work totally correctly until the project is fully migrated - this will probably manifest as having to install your deps projects into your local maven repo so lein can find them.

cfleming00:03:10

Assuming you’re planning to use :local/root for your deps dependencies, I think you’d be best to convert the project from the leaves to the root.

hlship20:03:36

We're intending to do a full switch-over from lein to deps, we won't be mixing them. I can imagine making Cursive support something so odd would be painful!

hlship20:03:35

But, yes, looking forward to :local/root because we often have code changes in a library module and tests in an application module and not having to lein sub install between would be nice (when testing from command line, rather than w/ Cursive).