protorepl

cpmcdaniel 2017-08-25T17:04:30.000242Z

so, I think I’ve come to the conclusion that parinfer is really cool in theory, but frustrating as hell in practice. I like what it is trying to do, but I so often screw up my parens in wicked ways that disrupt my flow while I’m trying to undo the damage. Anyone else feel this way?

mikeb 2017-08-25T17:10:41.000302Z

@cpmcdaniel perhaps better discussion for #parinfer? Might be able to give some some input/feedback to authors.

cpmcdaniel 2017-08-25T17:11:03.000030Z

sorry, didn’t know there was a separate channel

mikeb 2017-08-25T17:11:11.000148Z

On balance I feel parinfer is worth is, but see what you're saying.

mikeb 2017-08-25T17:14:37.000337Z

Yeah, please ask over there, might bring up some good conversation and feedback.

seancorfield 2017-08-25T17:27:01.000319Z

Parinfer definitely takes a bit of getting used to -- and, yes, I still mess up my code from time to time when I do something without switching modes first, but I'm getting better all the time. In some ways, as with any change to your day-to-day editing/coding workflow, you kinda need to force yourself to use "the new way" for a week or so and not allow yourself to "backslide" into old, familiar ways. For me, now, the pros of Parinfer far outweigh the cons. I also didn't know about the separate channel so I'll go join that too.

hmaurer 2017-08-25T23:07:20.000137Z

@seancorfield I’ll ask here then! I use option-cmd-B to eval a block, but when the block throws an error (or does not terminate) I have a never-ending loading indicator overlaying my editor

hmaurer 2017-08-25T23:07:24.000029Z

like this: https://puu.sh/xjz9e/7800b9b09c.png

seancorfield 2017-08-25T23:08:21.000077Z

cmd-i cmd-c should clear that (clears all inline results)

seancorfield 2017-08-25T23:09:18.000242Z

Also useful: ctl-shift-c to interrupt the repl process

hmaurer 2017-08-25T23:10:48.000081Z

cmd-i cmd-c clears the inline rsults but does not get rid of the indicator

hmaurer 2017-08-25T23:11:11.000042Z

ctrl-shift-c worked!

hmaurer 2017-08-25T23:11:21.000174Z

what does that do @seancorfield ? It doesn’t exit the repl, right?

hmaurer 2017-08-25T23:13:02.000008Z

hum there might be something seriously wrong my setup. I get this error spammed in the repl as I edit my file:

java.io.FileNotFoundException: Could not locate compliment/core__init.class or compliment/core.clj on classpath.

hmaurer 2017-08-25T23:13:06.000001Z

(auto-eval is off)

seancorfield 2017-08-25T23:13:22.000089Z

You don't have ProtoREPL as a dependency in your project?

hmaurer 2017-08-25T23:13:32.000133Z

no

seancorfield 2017-08-25T23:13:58.000133Z

You'll need it as a :dev or :repl dependency, as I recall (I use Boot but I'm assuming you use Leiningen?).

hmaurer 2017-08-25T23:14:24.000171Z

I thought it was optional

hmaurer 2017-08-25T23:14:27.000105Z

I’ll add it, thanks!

hmaurer 2017-08-25T23:14:38.000110Z

I do use Lein

rgdelato 2017-08-25T23:15:34.000124Z

If I recall correctly, the compliment library is pulled in by the proto-repl dependency and is used for autocompletion

seancorfield 2017-08-25T23:15:49.000091Z

Per ProtoREPL docs:

Setting up an Existing Clojure Project
Add the [proto-repl "0.3.1"] library as a dependency.

hmaurer 2017-08-25T23:16:13.000165Z

> This is an optional Clojure library that adds support for some of the advanced Proto REPL features.

hmaurer 2017-08-25T23:16:19.000104Z

I might have enabled auto-completion by mistake though

seancorfield 2017-08-25T23:16:53.000261Z

Yeah, I think Jason's "opinionated setup" assumes you installed that but doesn't explicitly mention it...?

hmaurer 2017-08-25T23:18:01.000111Z

mmh possibly

seancorfield 2017-08-25T23:18:26.000011Z

The other thing that I've seen trip up a lot of ProtoREPL newbies is following Jason's setup guide and running into problems caused by the three refresh options that Jason's guide says to enable -- I advise disabling those, at least until you're doing greenfield development and relying on Component for everything (and the Clojure Reloaded workflow).

hmaurer 2017-08-25T23:18:29.000185Z

back on my original issue (the loading indicator): do you also get that whenever your code throws an error? ctrl-shift-C does work though

seancorfield 2017-08-25T23:18:41.000177Z

Yeah, that's expected.

hmaurer 2017-08-25T23:18:43.000031Z

e.g. if I inline-eval (/ 1 0) I get that never ending loading indicator

seancorfield 2017-08-25T23:19:09.000008Z

I just fix the error and hit cmd-opt-b again 🙂

hmaurer 2017-08-25T23:19:46.000046Z

cmd-opt-b again displays the inline result once i fix the error but does not get rid of the loading animation

seancorfield 2017-08-25T23:35:00.000119Z

Depends on what you have to change -- usually, for me, the spinner is replaced by the inline result. I think it depends on whether ProtoREPL (or rather Ink) thinks the new result goes in the same place as the previous (bad) result?

hmaurer 2017-08-25T23:37:21.000038Z

It doesn’t seem like it, at least on my setup. It gets particularly annoying with autoeval; it shows a spinner when I am half-way though typng an expression, and it does not go away when I am done typing (and the code now runs correctly)

hmaurer 2017-08-25T23:37:40.000027Z

I’ll take a look at the package versions tomorrow

seancorfield 2017-08-25T23:49:22.000029Z

I wouldn't use auto-eval. Seriously.

seancorfield 2017-08-25T23:50:39.000042Z

I remember when LightTable appeared and that seemed like it would be just the coolest feature evah... and I turned it off after about half an hour of frustration! OMG! 😝

😄 1