cursive

Issues at: https://git.io/cursive-issues
cfleming 2020-09-15T05:19:21.092800Z

https://twitter.com/CursiveIDE/status/1305737573004795904

❤️ 1
cfleming 2020-09-15T07:55:16.105800Z

@abdusalam Yep!

🎉 1
stijn 2020-09-15T09:17:17.106500Z

> When extending selection in maps or let-binding or similar forms (e.g. cond, assoc pairs etc) the pairs of forms will now be selected as an intermediate step. Nice!!

salam 2020-09-15T15:07:55.121500Z

as a heavy user of “extend/shrink selection”, this is a huge quality of life improvement! thanks!

cfleming 2020-09-15T05:20:01.093Z

@kenny This includes the protocol name resolution fix.

1
Empperi 2020-09-15T05:37:24.094500Z

Cheers @cfleming, stub generation works now! :thumbsup:

cfleming 2020-09-15T07:55:50.106Z

Nice, thanks for letting me know!

salam 2020-09-15T05:40:38.095600Z

does “structural selection in let” mean semantic highlighting in let binding vector? ah, never mind. it’s what i thought it is, which is awesome! 🎉 i noticed the github issue has a comment that has a request for the same behavior for map literals. will this work there as well?

2020-09-15T05:59:42.102400Z

Just asking is this even possible in IDEA/Cursive (not implemented yet, I'm aware) - to customize IDEA to pretty print various content types (say application/edn) in HTTP responses.... Currently JSON gets pretty printed, but EDN not:

GET <http://localhost:8080/api/scrambled?s1=abcorldwbh&amp;s2=worldz123>

HTTP/1.1 400 Bad Request
Date: Tue, 15 Sep 2020 05:57:27 GMT
Content-Type: application/edn; charset=utf-8
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: *
Access-Control-Allow-Headers: *
Content-Length: 456
Server: Jetty(9.4.28.v20200408)

{:spec "(spec-tools.core/spec {:spec (clojure.spec.alpha/keys :req-un [:spec$6285/s1 :spec$6285/s2]), :type :map, :leaf? false})", :problems [{:path [:s2], :pred "(clojure.core/fn [%] (clojure.core/re-matches #\"[a-z]*\" %))", :val "worldz123", :via [:spec$6285/s2 :my-clojure-demo.api/only-small-letters-spec], :in [:s2]}], :type :reitit.coercion/request-coercion, :coercion :spec, :value {:s1 "abcorldwbh", :s2 "worldz123"}, :in [:request :query-params]}

cfleming 2020-09-15T08:34:37.106200Z

I don’t know, could you file an issue to look into it?

2020-09-15T06:00:39.103400Z

I find using IDEA's HTTP request support nice - similar to curl/httpie/postman, probably weaker than some, but nice to have everything in one place, no context switching

salam 2020-09-15T15:11:14.124600Z

yes, this is one of those “easter egg” features that i use to impress my colleagues. 😉

2020-09-15T06:01:15.103900Z

(btw, also found that most of IDEA users are barely aware of it existing)

stijn 2020-09-15T06:14:14.104100Z

Could you share your run configuration settings in Cursive? I can't make it work with starting the repl from inside IntelliJ

cmdrdats 2020-09-15T09:23:38.108500Z

@cfleming has the matching paren highlighting changed? I've upgraded from a goodness-knows-how-old version of cursive to the latest, and keep hitting newline on the wrong paren now - it's like it used to match on the paren before the caret, and now it highlights based on the current paren?

cfleming 2020-09-15T10:15:23.108600Z

@cmdrdats Can you show a screenshot of what you mean? I’m not seeing what I think you mean here, but I might be wrong.

cmdrdats 2020-09-15T10:18:14.109100Z

So, in this case, I (think I) expected the highlight on the paren by the + instead of fn

cmdrdats 2020-09-15T10:19:07.109700Z

the only reason I noticed this is because I'm suddenly getting it wrong very consistently

cmdrdats 2020-09-15T10:19:58.109900Z

oooh

cmdrdats 2020-09-15T10:20:12.110100Z

if I change away from block caret, it acts correctly :mindblown:

cfleming 2020-09-15T10:20:26.110300Z

I was just going to ask where your caret was 🙂

cmdrdats 2020-09-15T10:21:52.110500Z

must be an intellij weirdness?

cfleming 2020-09-15T10:23:30.110700Z

Maybe, I’ve never used the block caret, so it’s not clear to me exactly where the caret is. I would assume that screenshot is the equivalent of having the caret before the final paren, but you’re right that that highlighting makes it look like it’s after it.

cmdrdats 2020-09-15T10:25:21.110900Z

ye, the actual 'position' of the caret on block caret is to the left of the block - I assumed this was just a display thing :rolling_on_the_floor_laughing:

cmdrdats 2020-09-15T10:26:25.111100Z

but cool - I'm happy to just switch to pipe caret - it sorts the issue out!

cfleming 2020-09-15T10:27:15.111300Z

Yes, my official recommendation is Don’t Do That.

cmdrdats 2020-09-15T10:31:11.112900Z

:rolling_on_the_floor_laughing:

cmdrdats 2020-09-15T10:31:57.113100Z

thanks for the feedback 🙂

helios 2020-09-15T10:57:32.116600Z

After updating cursive a few minutes ago, datomic stuff looks a little weirder (i have generated stubs):

helios 2020-09-15T10:57:59.116900Z

although i can imagine that those things can't be resolved by cursive, it makes all my queries look like something is wrong

helios 2020-09-15T10:58:48.117100Z

(intelij 2020.2, latest cursive 1.9.4-eap4, JDK 11 through Graal)

imre 2020-09-15T11:06:19.117400Z

Have you your stubs generated?

imre 2020-09-15T11:06:51.117600Z

Ah ai see you do, nvm

imre 2020-09-15T11:21:31.117800Z

Invalidate caches?

helios 2020-09-15T11:28:12.118Z

done both, no avail

kenny 2020-09-15T15:08:45.122200Z

After updating to the latest Cursive (1.9.4-eap4-2020.2), my monorepo style project will continuously ask me to generate stubs for a project. It appears to want to generate stubs for many of the modules in this project. If I keep clicking "Generate now," it'll eventually stop asking. It seems like instead it should ask me to generate stubs for all projects.

kenny 2020-09-15T15:10:05.124300Z

Also, after updating to the latest, all (defs in a comment block are now marked as cannot be resolved. Example in the below screenshot.

stijn 2020-09-15T15:12:37.125Z

I can confirm I see the same issue

kenny 2020-09-15T15:14:57.125600Z

Also Datomic queries all are marked as unresolved even though they are quoted.

kenny 2020-09-15T15:18:36.126Z

Another one. I assume these are probably all the same issue.

kenny 2020-09-15T15:20:48.126400Z

Applying Cursive's auto-format will move the commented out datomic.client.api require too far to the left. Previously it would keep it indented to align with the first datomic.client.api require.

2020-09-15T15:23:44.126900Z

Yeah same here^.

2020-09-15T15:24:01.127300Z

All quoted/commented symbols are now marked as “unresolved.”

2020-09-15T15:59:57.130Z

At some point Cursive changed how Parinfer works w.r.t. to opening a new form. It used to be the case that opening a new parenthesis would add a matching paren at the end of the parent form, e.g., given:

(+ 1 2 3)
If I were to add an opening paren right before 1 I'd get:
(+ (1 2 3))
But at some point the behavior became this:
(+ () 1 2 3)
Is this configurable? I found the former behavior nicer bc if I did want a closing paren anywhere but the end of the current parent form I'd just explicitly place one (and it'd move).

2020-09-16T12:47:23.135100Z

Thanks– in the meantime, is it something I can change in a config file or something?

cfleming 2020-09-17T04:24:11.143300Z

That’s in eap5, out now.

❤️ 1
2020-09-20T18:53:22.023700Z

perfect.

cfleming 2020-09-15T21:19:09.130600Z

Sorry about the quoted highlighting folks, I’ll fix that today.

cfleming 2020-09-15T21:19:34.130700Z

Yes, I think I’ll need to make this configurable. I’ll do that for the next release.

👍 2