This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2019-07-11
Channels
- # announcements (1)
- # aws (3)
- # beginners (48)
- # calva (2)
- # cider (47)
- # clj-kondo (1)
- # cljs-dev (23)
- # cljsrn (10)
- # clojure (81)
- # clojure-chicago (4)
- # clojure-europe (3)
- # clojure-greece (4)
- # clojure-italy (8)
- # clojure-losangeles (1)
- # clojure-nl (6)
- # clojure-sanfrancisco (1)
- # clojure-seattle (1)
- # clojure-uk (21)
- # clojurescript (40)
- # core-async (82)
- # cursive (18)
- # datomic (6)
- # duct (11)
- # figwheel-main (4)
- # fulcro (26)
- # jobs-discuss (22)
- # leiningen (18)
- # off-topic (10)
- # pathom (3)
- # re-frame (5)
- # reagent (16)
- # reitit (4)
- # shadow-cljs (8)
- # specter (7)
- # sql (16)
- # tools-deps (58)
- # xtdb (30)
hi @cfleming - I just wanted to check in re a thing I asked about here a couple months ago (but which now is lost to the slack infinity hole) - it related to the lein-v
plugin which requires prep tasks to execute. with cursive, they don't appear to execute, so nothing (other than typing) works in cursive for this project. The config and the error message are included in separate snippets below
Hi @U06MD7077, sorry, I haven’t looked at this. Could you create an issue with that info, and that will hopefully stop it falling through the cracks?
Is there a way to force Cursive to recognize a symbol as a macro? ... I'm using the Pedestal library, and calling the "defbefore" macro -- which is itself defined by a call to another macro. Cursive warns "defbefore cannot be resolved," but it does not show a lightbulb for the "customize macro resolution" intention.
@UKZHCSQ7M What does the definition of defbbefore
look like? You said it was created using another macro?
I suspect it would work for cursive to treat it as a "def"-type macro (... although I'm new at this, so my intuition isn't great)
@UKZHCSQ7M Hmm, unfortunately no - if you resolve defsimpleinterceptordef
as def
it won’t work, because it doesn’t define a var called before
, it creates one called defbefore
.
defsimpleinterceptordef
is actually getting called to define a macro called defbefore
, and I think the resulting defbefore
macro could be resolved as def
defbefore
is what gets called from client code, so that's the one it would be nice for Cursive to handle better
... but defbefore
isn't even defined until defsimpleinterceptordef
gets called
I'm guessing stub generation would solve this, but Cursive only does that for specific namespaces
Right, so if you don’t care about actually using defsimpleinterceptordef
, then you might be able to hack defbefore
.
Ugh, actually, no - I don’t think that will work - you still need to have defbefore
defined somewhere.
I’ll look at adding support for Pedestal, it should be pretty straightforward and it’s fairly widely used.
Awesome!