Fork me on GitHub
#vim
<
2019-09-11
>
Olical12:09:35

Conjure v1.1.0 is out with greatly improved "time to first eval" when you're opening any Clojure file in any directory. Zero configuration required! https://asciinema.org/a/267614 https://github.com/Olical/conjure 🙂

🎉 16
Olical12:09:39

That self prepl with zero config won't use your project deps.edn / project.clj of course, but it's great to try things out! Rather than using clj to experiment, you can just run nvim scratch.clj and eval away with full autocompletion and documentation lookup.

dominicm13:09:42

I need to give this another go, what's the state of piggieback-style support (well, Figwheel?)

Olical14:09:24

ClojureScript "just works", the fiddly bit is getting your prepl running and connected to figwheels REPL environment. https://oli.me.uk/2019-03-22-clojure-socket-prepl-cookbook/ explains how to do this yourself at the bottom but https://github.com/Olical/propel may start up your figwheel and prepl out of the box with one command. It depends on how complex your figwheel setup is though, propel doesn't aim to solve EVERY workflow, just a bunch of common ones.

dominicm14:09:27

Mine is complex :)

dominicm14:09:55

Maybe I'll add something to edge to make his easier in that context

dominicm14:09:06

Or maybe I'll change workflow

Olical15:09:38

I mean, all you need to do is start a prepl by calling the function built into Clojure and pass the REPL env to it that you can ask figwheel for. My post and Propel both show this and should work for any CLJS tool really. I think shadow is adding native prepl support too!

Chase08:09:51

Hey @U38J3881W, I'm also giving Conjure a try as it looks great! So Clojure has recently added in their own built in "socket prepl" thing and that is what you are using?

Chase08:09:25

So that is how you are able to eliminate all dependencies and middleware? Sounds like it would simplify things so much!

Chase08:09:47

This ability to not have to start lein repl up first and being able to open up a quick scratch file instead of using the regular clj repl could be a game changer for my workflow too. Awesome stuff man!

Chase08:09:10

While I usually evaluate from my source file I do sometimes like to use fireplace to evaluate quick things down in the command line :Eval (let-me-try this foo bar) so I don't need to switch to a repl or input and delete from my source code because it is super temporary.

Chase08:09:35

Is there currently any way to do quick evals like this without having to input it directly in my source and evaluating from there? The fireplace functionality allows me to use up arrows and such to scroll through those temporary commands as if I was at a repl command prompt which I think is nice.

Chase08:09:07

When you say shadow-cljs is thinking of adding native prepl support does that mean it can't use it currently? Does Conjure work just fine with shadow-cljs right now?

Chase08:09:54

Do I have to learn this Propel tool or if I'm using Conjure is all that going to be built in?

Chase08:09:11

Hope it's all right to start this thread and bombard you with questions! hahaha

Olical09:09:21

At work so quick reply but still: ConjureEval is identical to Eval :D

Olical09:09:21

And shadow doesn't have native prepl just yet, but you can somehow get the "eval environment" from shadow cljs and give it to a new prepl. Might be worth asking in the shadow channel about this though.

Olical10:09:51

You don't need propel, no, but it might help you get prepls started is all

Olical10:09:57

It's just a convenience thingn

Olical12:09:24

The main thing is getting a prepl started, however you see fit with any tool or method. Conjure literally doesn't care, it just wants a prepl. You have to tell it if it's Clojure or ClojureScript but that's all, and I could maybe make that go away eventually

Olical12:09:28

I have connected figwheel to conjure and written about it (post linked from conjure and propels repos) but I've never done shadow. It'll probably be VERY similar but also shadow is getting built in support that will make it super easy.

Chase15:09:50

Awesome! Thanks for the replies. I feel silly not figuring out that ConjureEval thing. I'm really liking this so far. I think it eliminates 4 other plugins I'm using for clojure too that is a little bonus.

Olical15:09:08

Wonderful! I'm sure you'll hit some sort of issue at some point, I'll try to help you where I can. Feel free to drop by #conjure too or raise issues if anything breaks, I'll try to address everything quickly, free time permitting simple_smile

Chase15:09:22

sounds great, just joined the channel and I'll move the convo over there!

Olical15:09:53

I say all you need to do but results may vary

dominicm15:09:57

"Just" draw an owl 😂

dominicm15:09:02

It's okay, I'm up for the task