Fork me on GitHub
#protorepl
<
2017-08-25
>
cpmcdaniel17:08:30

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?

mikeb17:08:41

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

cpmcdaniel17:08:03

sorry, didn’t know there was a separate channel

mikeb17:08:11

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

mikeb17:08:37

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

seancorfield17:08:01

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.

hmaurer23:08:20

@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

seancorfield23:08:21

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

seancorfield23:08:18

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

hmaurer23:08:48

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

hmaurer23:08:11

ctrl-shift-c worked!

hmaurer23:08:21

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

hmaurer23:08:02

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.

hmaurer23:08:06

(auto-eval is off)

seancorfield23:08:22

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

seancorfield23:08:58

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

hmaurer23:08:24

I thought it was optional

hmaurer23:08:27

I’ll add it, thanks!

hmaurer23:08:38

I do use Lein

rgdelato23:08:34

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

seancorfield23:08:49

Per ProtoREPL docs:

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

hmaurer23:08:13

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

hmaurer23:08:19

I might have enabled auto-completion by mistake though

seancorfield23:08:53

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

hmaurer23:08:01

mmh possibly

seancorfield23:08:26

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).

hmaurer23:08:29

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

seancorfield23:08:41

Yeah, that's expected.

hmaurer23:08:43

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

seancorfield23:08:09

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

hmaurer23:08:46

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

seancorfield23:08:00

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?

hmaurer23:08:21

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)

hmaurer23:08:40

I’ll take a look at the package versions tomorrow

seancorfield23:08:22

I wouldn't use auto-eval. Seriously.

seancorfield23:08:39

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! 😝