Fork me on GitHub
#cursive
<
2016-02-22
>
cfleming00:02:09

I also want to offer a proper debugger with associated REPL.

cfleming00:02:24

I’d also like to build a bunch of tooling specifically for React Native, which I think is very exciting. Things like debug-on-device etc

darwin00:02:16

yeah, react native is promising

cfleming00:02:19

And most importantly, have all that be easy to use.

darwin00:02:47

also there will be need for tooling around om.next I think (graph-ql/datalog-related stuff)

cfleming00:02:55

Long term pipe dreams include a runner like http://wallabyjs.com/

cfleming00:02:59

Yes, absolutely.

darwin00:02:09

ah, didn’t know about wallabyjs, thanks

darwin00:02:33

good ideas, but those are mostly incremental things, testing is important but quite advanced topic, IMO to really attract masses from javascript world we need something as cool as figwheel, I mean some tool with “rails” effect simple_smile

darwin00:02:56

maybe room for some library, not really a tool

cfleming00:02:26

Right. I’m also not sure how much JS devs will want to come to an IDE since they’re more used to text editors in general.

cfleming00:02:51

I don’t know how many would want to use a debugger in the IDE rather than the browser, for example.

cfleming00:02:36

Also, don’t underestimate the value of incremental improvements, I think that the various paper cuts involved with getting started could seriously hinder adoption.

cfleming00:02:43

In general, after having spoken to various people who have switched from Emacs or whatever, I’m starting to think that I should have “Just works, and stays working” at the top of my feature list on the landing page simple_smile

cfleming00:02:51

It’s a huge deal for people.

darwin00:02:00

good point, you sure should focus on people who are already sold on Clojure/Script and provide solid stable PRO tool for them, I think. but there is a funnel, you also need fresh people who get converted to Clojure to later become your potential users simple_smile whole funnel is somewhat important IMO simple_smile

danielcompton00:02:16

No more "I came to work on Monday, tried to fire up a REPL, and it took me until 2pm to get a working environment"

cfleming01:02:13

@darwin: Yes, particularly for me since I think a lot of the consistency (or not) of licence sales will be down to community growth.

moizsj09:02:32

@cfleming: Just something I wish Cursive had...Is jumping into multimethod impls in the Cursive pipeline? with a small contextual popup allowing to pick which impl.

doddenino14:02:48

I don't know if it's intended, but if I try to open a folder with a malformed (or empty) project.clj, cursive throws an exception and doesn't open the project

doddenino14:02:05

it's a little annoying as I have to fix the project.clj with a different editor

Lambda/Sierra22:02:37

I have a project set up with CIDER, nREPL, Figwheel, and Piggieback. Using lein repl and CIDER, I can run a REPL and then start a ClojureScript REPL via Figwheel-sidecar. This works in Cursive too, for me. For a coworker, it doesn't. Trying to start the ClojureScript REPL prints INFO: nREPL connection found but unable to load piggieback. Starting default REPL

Lambda/Sierra22:02:52

After that, the Cursive REPL will not evaluate anything.

Lambda/Sierra22:02:26

As I said, it works (in Cursive) for me. Just not for him.

Lambda/Sierra22:02:33

Any suggestions?

Lambda/Sierra22:02:08

We both have latest intellij and latest cursive (1.1.0-15)

cfleming22:02:14

@stuartsierra: That’s very strange, I’ve never seen that error.

Lambda/Sierra22:02:33

as far as I know, we have the same project configuration.

cfleming22:02:00

Sadly, it’s not very informative about what the error actually is.

cfleming22:02:42

If I had to guess, I’d say piggieback is not on the classpath somehow.

cfleming22:02:55

Can you see it in the classpath printed on REPL startup?

Lambda/Sierra22:02:03

good question. Will check.

cfleming22:02:55

@stuartsierra: If you can’t work the problem out, a workaround would be to start the REPL on the command line, and then connect from Cursive using the remote REPL option.

Lambda/Sierra22:02:11

Ah, interesting. Thanks @cfleming

cfleming22:02:34

The remote option is only nREPL right now, socket REPLs coming soon.

Lambda/Sierra22:02:59

Looking forward to Socket REPL in general.

cfleming22:02:30

Yes, it’s going to be nice. It’s a little tricky to present to the user since there are lots of possible configuration types over it.

cfleming22:02:13

i.e. pure streaming or RPC style, both can be run over it and the user will have to select that. It’s going to require a level of understanding by the user of what’s going on under the hood.

Lambda/Sierra22:02:00

Aha! It's something in my ~/.lein/profiles.clj that makes it work.

Lambda/Sierra22:02:21

Adding [cider/cider-nrepl "0.10.2"] to the :plugins in project.clj makes it work. No idea why yet.

Lambda/Sierra22:02:10

And cider-nrepl automatically adds :repl-options {:nrepl-middleware [cemerick.piggieback/wrap-cljs-repl]} to the project configuration.

Lambda/Sierra22:02:18

Which is necessary to make Piggieback work.

cfleming22:02:04

I guess you can add that manually if you don’t want to use cider-nrepl

Lambda/Sierra22:02:09

Yes, that's what I'm doing.

cfleming22:02:29

In the past, there have been some conflicts with cider-nrepl - I fixed a bunch of them, but it’s a fast-moving target

cfleming22:02:51

Wonders will never cease

Lambda/Sierra22:02:25

Thanks for the help @cfleming.

cfleming22:02:47

@stuartsierra: No problem, I didn’t actually do much in the end simple_smile

cfleming22:02:52

But I’m glad it’s working.