cursive 2026-02-10

Hello folks. It's been a while since I last touched Cursive so I may be a bit rusty here, but how can one start an NREPL on a fixed port in Cursive? Thanks in advance.

@cfleming as always, thanks a lot for the help! it's working for me now šŸ™‚

It's not Cursive-specific, but you should be able to use nrepl.edn to do that: https://nrepl.org/nrepl/usage/server.html#server-options

šŸ‘ 1

Anyone using squint who’s worked out how to how to fix unresolved symbols in cursive?

Stephen Castro-Starkey 2026-02-10T14:02:40.806959Z

Oooh I want to know this, too

I'll try it when I get home, one thing is that squint uses strings instead of symbols

(ns example
  (:require ["fs" :as fs]
            ["url" :refer [fileURLToPath]]))

(println (fs/existsSync (fileURLToPath js/import.meta.url)))

(defn foo [{:keys [a b c]}]
  (+ a b c))

(println (foo {:a 1 :b 2 :c 3}))

Can I have done something odd to make it hard for Cursive to find usages of CLJC functions in a library project, used in a CLJ project and a CLJS project in the same repo? I don't know if it's consistent, but, often at least, functions appear unused, and I cannot find anything with 'find usage'.

Is Cursive not knowing references of CLJC vars in CLJS/CLJ namespaces a known issue that is being worked on or is planned for fixing at some point?

The strength of CLJC is the ability to share across CLJS/CLJ for me, and that's greatly weakened when the IDE cannot see where it's used.

In my context menu I don’t see ā€œResolve [macro-name] as...ā€œ. Also in Languages & Frameworks/Clojure/Symbol Resolution, I can see the table, but it only has a minus button, so I can’t even manually add a resolution there. ā€œCopy to project/IDEā€ doesn’t seem to have an effect. This doesn’t help with adoption šŸ˜ž . Any help appreciated.

I’m running 2025.3.2 Intellij (Build #IU-253.30387.90, built on January 21, 2026) and Cursive 2025.2.1-253

I’m guessing part of my problem is with potemkin. Are those resolvable with Cursive?

the table is for treating unrecognized macros as a built-in supported macro for static analysis, and you can export/import these settings between projects

but there’s currently not a way to add support for new kinds of macros that don’t mirror existing ones

you can choose "resolve as... None" to hide the errors

@shaunlebron That’s the problem, there is no option to ā€œresolve asā€¦ā€ in the UI.

Context menu has option to ā€œcreate function xxxā€ ONLY.

I see this sometimes when I think something weird is going on with the resolver (or intellij). does restarting do anything?

no. i’ve clicked all the restart/invalidation options. computer reboot. Don’t know where to look.

When this happens, it's often that the intention required for this has been disabled. Due to the way IntelliJ presents intentions, it's quite easy for this to happen accidentally. Check Settings | Editor | Intentions | Clojure and make sure the Clojure ones are enabled, in particular Resolution.

šŸ’Æ 1
šŸŽ‰ 1

@cfleming Is potemkin just a problem?

Possibly, yes. I did fix that back in the day but someone reported recently that it wasn't working for them, so possibly either potemkin has changed or something has broken in Cursive. I haven't had a chance to look into it yet though, I'll try to do that soon.

not a fan of this feature of potemkin. thanks!