protorepl

seancorfield 2017-06-03T00:34:29.563763Z

@jasongilman is here but “away” — I would expect any “todo” to be listed on the GH repo and/or in issues there?

seancorfield 2017-06-03T00:34:35.564231Z

^ @john

john 2017-06-03T01:06:25.697090Z

ah thanks

john 2017-06-03T01:08:26.704561Z

Yeah, I was checking out out the GH. Didn't see any suggestions of future milestones.

john 2017-06-03T01:09:50.709689Z

I'd like to figure out a way to make a kind of meta package that includes all of the additional suggestions from this gist: https://gist.github.com/jasongilman/d1f70507bed021b48625

john 2017-06-03T01:10:18.711629Z

Plus proto repl

john 2017-06-03T01:11:22.715729Z

And see if I can help with getting CLJS/figwheel working out of the box, if possible.

seancorfield 2017-06-03T01:20:14.747601Z

@john Unless you have a beautifully clean, uses-Component-from-the-ground-up project, you’ll probably want some adjustment to those settings BTW. And I ended up dropping a couple of those packages and adding different ones. Jason’s setup is pretty opinionated. I don’t know that I’d recommend it to beginners.

john 2017-06-03T01:21:31.752428Z

Really, I'd like to survey a number of folks to see what they believe an ideal beginner setup would look like. Do you have any suggestions?

john 2017-06-03T01:22:39.756558Z

I'd like to work and advocate towards a one supported way IDE, for some of the community to persistently recommend, so documentation can be built from that common base.

john 2017-06-03T01:23:31.759819Z

Which hopefully takes out some of the indeterminacy and paradox of choice that surrounds some of the existing tooling.

john 2017-06-03T01:25:21.766234Z

And I think atom/protorepl might be clean enough to deliver on the dream.

seancorfield 2017-06-03T01:55:10.866193Z

For beginners, I’d suggest turning off the three namespace refresh options in ProtoREPL.

seancorfield 2017-06-03T01:56:04.869029Z

I don’t remember what other parts of Jason’s guide I found got in my way. It’s been a long time now since I set ProtoREPL up (on two machines) and I’ve tweaked it a bit, on and off, since then.

john 2017-06-03T01:56:52.871457Z

Do you use it daily?

seancorfield 2017-06-03T01:57:25.873397Z

Yeah, I switched from Emacs to Atom/ProtoREPL completely after last year’s Conj!

john 2017-06-03T01:57:48.874578Z

It's pretty sharp.

seancorfield 2017-06-03T01:58:37.877134Z

I think the tab length 1 setting (language-clojure) is too subtle so I have tab length 2.

seancorfield 2017-06-03T02:00:06.882039Z

I have display executed code off — I found that way too annoying with large blocks of code.

seancorfield 2017-06-03T02:02:08.889678Z

On to lisp-paredit and I have the following indentation forms:

try, catch, finally, let, are, /^def.*/, fn, /^cond-.*/, if, if-let, for, /when.*/, testing, do, doseq, dotimes, loop, ns, /with/, proxy
instead of Jason’s suggested
try, catch, finally, /^let/, are, /^def/, fn, cond, condp, /^if.*/, /.*\/for/, for, for-all, /^when.*/, testing, doseq, dotimes, ns, routes, GET, POST, PUT, DELETE, extend-protocol, loop, do, case, with-bindings, checking, with-open

seancorfield 2017-06-03T02:02:33.890963Z

But that’s definitely a matter of taste and it depends what type of code you work on…

seancorfield 2017-06-03T02:04:55.898165Z

I have several additional community plugins installed and configured (most notably git-plus — which is great).

seancorfield 2017-06-03T02:05:49.901027Z

Where my config goes off the beginner trail is that I have emacs-plus and disable-keybindings installed… which greatly eased my transition from Emacs! 🙂

seancorfield 2017-06-03T02:06:48.903968Z

So… probably refresh settings are the thing that catches out more folks new to ProtoREPL than anything else I’ve seen reported here.

john 2017-06-03T02:14:02.925569Z

Cool. Thanks for the tips 🙂

mikeb 2017-06-03T02:26:06.961090Z

@john in terms of the community supported recommended IDE I would say Atom+Parinfer+ProtoREPL are really the only game in town for now. I also think we need to make it much better for cljs users, who will encounter the same sort of issues you did where most docs are targeted only at clj(jvm) users. Long run I think vscode is really promising because it has an integrated debugger which would be a big plus, but at present has no way to draw the inline results in the editor the way proto can with atom ink.

mikeb 2017-06-03T02:28:11.966987Z

One other tip I think we should push, is to show users how to make parenthesis a lighter grey... it will help with the too many parenthesis complaints.

1👍
seancorfield 2017-06-03T02:36:22.990339Z

I’m surprised no one has ported something like rainbow parens to Atom…

seancorfield 2017-06-03T02:37:10.992310Z

I found “swackets” but it doesn’t work with Clojure (and the readme warns about performance problems with long files so I doubt it’s a good option anyway).

john 2017-06-03T02:39:46.999702Z

It's too bad it requires so much setup instructions. It'd be nice if there were some way to deliver a working CLJS repl out-of-the-box, via some package of some sort.

john 2017-06-03T02:41:01.003318Z

Googling atom ide meta package doesn't return much helpful

john 2017-06-03T02:44:05.011755Z

Actually, here's a simple meta package: https://github.com/spark/particle-dev-complete

john 2017-06-03T02:44:56.014165Z

So it could just be a matter of making a custom package with all the necessary custom settings, and then a meta package that includes that and protorepl and all the other packages?