Fork me on GitHub
#cider
<
2019-01-03
>
jumar09:01:49

I upgraded to the latest cider version (0.20.0snapshot (package: 20190103.619)) and now I'm getting this warning:

;; CIDER 0.20.0snapshot (package: 20190103.619), nREPL 0.2.12
;; Clojure 1.10.0, Java 1.8.0_171
...
WARNING: CIDER requires nREPL 0.4.4 (or newer) to work properly
         More information.
WARNING: CIDER requires cider-nrepl to be fully functional. Many things will not work without it!
         More information.

jumar09:01:56

I don't have any cider specific dependency in my profiles.clj - I thought it would inject the proper deps automatically

jumar09:01:56

If that matters, I've also upgraded to the latest lein 2.8.3

Leiningen 2.8.3 on Java 1.8.0_171 Java HotSpot(TM) 64-Bit Server VM

jumar09:01:43

Ok, another restart and it seems that it went away.

bozhidar09:01:13

Probably the new leiningen wasn’t on your Emacs’s path initially.

bozhidar09:01:22

Glad to hear you’ve resolved this quickly!

iagwanderson10:01:48

I am using cider version 0.19.0 and when I try to integrate figwheel on it, I receive a Stdin prompt waiting me to type something

iagwanderson10:01:25

I tried to cider-jack-in regularly on a .cljs buffer and then used the

(require 'figwheel-sidecar.repl-api)
	     (figwheel-sidecar.repl-api/start-figwheel!)
	     (figwheel-sidecar.repl-api/cljs-repl)

iagwanderson10:01:04

I did a clean start from cider, lein and my repo. The resulting error message was:

nREPL server started on port 60859 on host localhost - 
ERROR: Unhandled REPL handler exception processing message {:op clone, :id 1}
java.lang.NullPointerException
	at clojure.core$deref_future.invokeStatic(core.clj:2208)
	at clojure.core$deref.invokeStatic(core.clj:2228)
	at clojure.core$deref.invoke(core.clj:2214)
	at cider.piggieback$wrap_cljs_repl$fn__2262.invoke(piggieback.clj:274)
	at clojure.tools.nrepl.middleware$wrap_conj_descriptor$fn__1894.invoke(middleware.clj:22)
	at cider.nrepl$wrap_version$fn__2986.invoke(nrepl.clj:509)
	at clojure.tools.nrepl.middleware$wrap_conj_descriptor$fn__1894.invoke(middleware.clj:22)
	at cider.nrepl$wrap_pprint$fn__2796.invoke(nrepl.clj:120)
	at clojure.tools.nrepl.middleware$wrap_conj_descriptor$fn__1894.invoke(middleware.clj:22)
	at cider.nrepl$wrap_apropos$fn__2822.invoke(nrepl.clj:159)
	at clojure.tools.nrepl.middleware$wrap_conj_descriptor$fn__1894.invoke(middleware.clj:22)
	at cider.nrepl$wrap_format$fn__2864.invoke(nrepl.clj:223)
	at clojure.tools.nrepl.middleware$wrap_conj_descriptor$fn__1894.invoke(middleware.clj:22)
	at cider.nrepl$wrap_enlighten$fn__2856.invoke(nrepl.clj:219)
	at clojure.tools.nrepl.middleware$wrap_conj_descriptor$fn__1894.invoke(middleware.clj:22)
	at cider.nrepl$wrap_refresh$fn__2922.invoke(nrepl.clj:388)
	at clojure.tools.nrepl.middleware$wrap_conj_descriptor$fn__1894.invoke(middleware.clj:22)
	at cider.nrepl$wrap_spec$fn__2938.invoke(nrepl.clj:426)
	at clojure.tools.nrepl.middleware$wrap_conj_descriptor$fn__1894.invoke(middleware.clj:22)
	at nrepl.server$handle_STAR_.invokeStatic(server.clj:18)
	at nrepl.server$handle_STAR_.invoke(server.clj:15)
	at nrepl.server$handle$fn__888.invoke(server.clj:27)
	at clojure.core$binding_conveyor_fn$fn__4676.invoke(core.clj:1938)
	at clojure.lang.AFn.call(AFn.java:18)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)

iagwanderson10:01:24

Found the error same as cider-jack-in fails #2549 on github. Thanks

iagwanderson10:01:34

I am using the lein re-frame template with +cider option. No further dependencies in the project. Just run lein new re-frame testCider +cider

funyako.funyao15610:01:47

Getting an error with the latest cider when evaling with error messages like this "No such namespace: cider.nrepl.pprint"

funyako.funyao15610:01:09

I'm using ~/.clojure/deps.edn like this:

{:aliases {:nrepl {:extra-deps {nrepl {:mvn/version "0.6.0-SNAPSHOT"}}}
           :cider {:extra-deps
                   {cider/cider-nrepl {:mvn/version "0.20.0-SNAPSHOT"}
                    refactor-nrepl    {:mvn/version "2.4.0"}}}}}
invoked with clj -R:nrepl:cider dev.clj

andrea.crotti10:01:03

is this a proper way to do different things depending on the cider version?

(setq cider-minor-version (second (pkg-info-library-version 'cider)))

(defun clojure-repl? ()
  (cond ((eq cider-minor-version 18) (equal cider-repl-type "clj"))
        ((> cider-minor-version 18)) (eq cider-repl-type 'clj)
        (t (error "Cider version not supported"))))

andrea.crotti11:01:57

and another thing, I'm not sure if I'm the only one but I find it quite strange sometimes that when you start Repls you don't get any feedback until they are up and running

andrea.crotti11:01:01

and in projects where it takes a long time you can end up for a while not knowing if it started correctly or not (or if it's starting at all). Sometimes I switch to the nrepl buffer to see what is going on, but is there another way maybe?

bozhidar11:01:35

There’s also a cider-version variable. 🙂

bozhidar11:01:28

You can also use (member '(clj "clj")), which seems better to me than a version check.

bozhidar11:01:19

> and another thing, I’m not sure if I’m the only one but I find it quite strange sometimes that when you start Repls you don’t get any feedback until they are up and running

bozhidar11:01:26

You’ll have to elaborate on this.

bozhidar11:01:49

Generally the appearance of the REPL buffer is the signal that everything’s ready.

andrea.crotti11:01:52

yes I saw cider-version and at first I used string-match on that @bozhidar

andrea.crotti11:01:07

but then I saw that i can get the actual minor version number directly with that so I thought it was better

andrea.crotti11:01:22

I'll try the member thanks for the suggestion

andrea.crotti11:01:54

related to the REPL, well yes I know that when it works you get the REPL(s), but sometimes on big projects it takes 1 minute until you get it

andrea.crotti11:01:03

and until then you have no idea if it's actually starting at all

andrea.crotti11:01:08

unless you check the nrepl buffer

bozhidar13:01:02

I think you also get a message that CIDER is starting up and this can take a while, but I see your point.

bozhidar13:01:46

Unfortunately I can’t think of any meaningful way to show some progress - basically CIDER just sits and waits to see the message that an nREPL server has been booted, so it can connect to it.

andrea.crotti14:01:57

well @bozhidar there could just be something small spinning in the modeline for example

bozhidar14:01:59

The problem is that it will keep on spinning in case of some startup error as well. 🙂 Still, you make a reasonable point.

bozhidar14:01:07

Probably we can add some spinner.

vemv23:01:27

I wonder if https://github.com/clojure/tools.analyzer.js is worth rescuing? as @benedek says here https://github.com/clojure-emacs/clj-refactor.el/issues/191#issuecomment-244399946 it seems to block rich features. Is the observation still valid? This could be a nice pet project for me. Another possibility could be to crowdfund it (as I'm not sure I have the availability for such an undertaking; would be happy to pay for it instead) cc/ @bronsa

bozhidar23:01:13

Well, given the fact that no one has had any bandwidth for the clj-refactor for over a year I think that’s the least of our concerns.

bozhidar23:01:32

It was a heroic feat we got the last release out and without some extra maintainers we might not get a new one any time soon, which means that any bigger improvements are wishful thinking ATM.

vemv23:01:56

Ah I see! Bummed to hear that. What could be a logical order in which I might contribute? (now from my understanding doing first wouldn't be one)