Fork me on GitHub
#cider
<
2018-04-24
>
eggsyntax13:04:40

I had been leveraging cider-cljs-lein-repl to trigger multiple figwheel builds, since it involved specifying the code to run. The switch to cider-default-cljs-repl seems like a good choice, but is anyone aware of a good alternate strategy to trigger multiple figwheel builds? cider-default-cljs-repl has a custom option, but there's not a way to specify in advance the code to run; it always uses read-from-minibuffer to ask the user.

eggsyntax13:04:17

(whether that's a strategy using CIDER or Figwheel or something else entirely)

bozhidar15:04:14

Guess we sorted this out in #emacs, but generally it’s best to ask CIDER questions here. I don’t always read the other channel.

bozhidar15:04:29

Actually this is the only channel here I pay close attention to.

bozhidar15:04:39

(for obvious reasons 😄 )

bozhidar15:04:06

@eggsyntax Also feel free to educate me on what those builds are. Maybe we can just prompt the user to select a build when spinning a figwheel repl (we already do this for shadow-cljs).

eggsyntax15:04:07

My case may be somewhat rare -- I don't know how many folks have a project that includes multiple builds that have to be run simultaneously. We just have a couple of small peripheral projects that use the same codebase but with different builds. My suggestion would be to wait & see if other folks trip over the same problem, and only then consider adding build-selection. The figwheel approach is that builds are specified as a vector, and if figwheel-sidecar.repl-api/start-figwheel! is called without arguments (which is what CIDER does), whatever build appears first in that vector is the one that gets build. So it's really easy for people to control which figwheel build gets built by CIDER; it's just this offbeat case of wanting multiple builds that becomes an issue.

bozhidar15:04:13

So you start different repls for each build?

eggsyntax15:04:00

Yeah (but we almost never actually use those repls). TBH, all we need is for them to be built, but since we use figwheel instead of calling cljsbuild directly, specifying them as extra figwheel builds has been the simplest way to do it.

eggsyntax15:04:40

In fact I'm not sure those repls actually exist in any real way; I'd have to dig into what start-figwheel! actually does to clarify that.

dpsutton16:04:14

good thing you don't use those repls. I'm sure the dispatch mechanism would fail you in selecting which repl to evaluate code

bja16:04:22

any idea why using the latest cider or the latest stable cider and connecting to an nrepl running [cider/cider-nrepl "0.15.1"] would be fine, but 0.16.0 would fail produce a repl with an op describe timeout?

bozhidar16:04:05

For the master cider you certainly need 0.17-SNAPSHOT cider-nrepl. Generally different cider/cider-nrepl version are incompatible, as there are often middleware changes in new versions.

bja16:04:47

hmm, I'll try that again, but I thought I tried 0.17.0-SNAPSHOT for cider-nrepl

bozhidar16:04:34

Well, I use cider from MELPA and 0.17.0-SNAPSHOT and everything works fine for me.

arrdem16:04:23

cider Works On My Machine (TM) 😉

bozhidar16:04:00

Well, it usually does… Especially on mine. 😄

dominicm17:04:44

Especially Mine too 😂

benedek18:04:07

Works for clojure-emacs team haha

benedek18:04:13

Almost like a quip

bozhidar18:04:47

Btw, I proposed to Chas to take over nREPL if he doesn’t have time for it anymore https://github.com/cemerick/nREPL/issues/21 Feel free to voice some support for this idea, as I really want us to restart the nREPL development. The real solutions to all big problems start at the very core. 🙂

dpsutton18:04:40

One thing is that I'm not sure this should be namespaced under cider or emacs.

dpsutton18:04:03

Since there are presumably lots of other beneficiaries of this

dominicm18:04:33

As a vim user, I'd be supportive of a tooling consortium

arrdem19:04:20

I don’t have any objections to CIDER taking nREPL. I’ve chatted with Chas about it some recently and have commit on the python client - sounds like there are some architectural decisions he’s not happy with and it’s definitely not something he’s making time for anymore.

arrdem19:04:07

Would you want to have Chas move the repo for link score reasons or is there something preventing you / us just forking it into CIDER?

arrdem19:04:32

muttering about prepl goes here.

arrdem19:04:41

I think @dominicm already has some work on the Python nREPL client I’d like to take a poke at and try to get merged to whatever the new “official” owner is, even if that’s just the existing repo.

dominicm19:04:17

I've stopped using his one, my one works better

dominicm19:04:32

His doesn't support negative numbers 😂

arrdem19:04:50

Yeah I noticed you’d patched it a bunch.

dominicm20:04:45

There's more than just my PR

arrdem19:04:35

It may be worth a wire protocol breaking nREPL 3.0 change to at least include some version format information on the wire to support future changes better..

dominicm20:04:23

eval2 works for me?

dominicm20:04:33

Or is that not what you mean?

bozhidar20:04:48

> One thing is that I’m not sure this should be namespaced under cider or emacs.

bozhidar20:04:59

I agree with the point about emacs, that’s why nothing in clojure-emacs is mentioning emacs anywhere. For me CIDER has has always been a cross-platform initiative, only the Emacs client happens to be Emacs-specific. 🙂

bozhidar20:04:02

In many ways clojure-emacs is something like a tooling consortium even know. 😄

bozhidar20:04:55

Anyways, I’m not opposed to hosting this somewhere else, but this move felt natural after what we did with piggieback recently.

dominicm20:04:20

I'm okay with it, the readme should clear it up though

bozhidar20:04:40

Frankly, I dream of a vim-cider project one day. Seems fireplace is very far what I consider a proper Lisp programming environment. 🙂

bozhidar20:04:33

> Would you want to have Chas move the repo for link score reasons or is there something preventing you / us just forking it into CIDER?

bozhidar20:04:08

Link score and credibility. The project needs his blessing to succeed. And, of course, I don’t want to copy the tickets over. 🙂

dominicm20:04:52

Vimpire is probably more like what you would expect.

bozhidar21:04:09

Maybe. I should play with it one of those days. Might give me some “inspiration”. 🙂