Fork me on GitHub
#announcements
<
2019-09-11
>
Olical09:09:01

Propel can now be used to REPL into any remote or already running prepl, not just start them! https://github.com/Olical/propel

clj -m propel.main --repl-only --port 8787
cljs.core=> (js/alert "Yay!")

parrot 12
jacekschae12:09:24

If you didn’t have a chance already check out the latest episode of ClojureScript Podcast with @stuarthalloway where we talk about Spartan REPL and Sherlock Holmes https://clojurescriptpodcast.com/

💯 28
👏 40
parrot 8
aw_yeah 8
Olical12:09:36

Conjure v1.1.0 tagged! neovim + clj https://github.com/Olical/conjure Self prepling into Conjure's own JVM is much faster now, so using nvim scratch.clj in any directory should be almost comparable to executing clj to get a REPL up to try stuff out. The difference being Conjure gives you a full text editor + autocompletion etc. No setup, just install the plugin and open a Clojure file then start evaluating things 😄 Demo: https://asciinema.org/a/267614 I've also improved how paths work internally so working on JVMs within Docker containers or on other machines will still allow you to go to definition.

❤️ 16
aw_yeah 4
💯 4
dominicm12:09:58

How do you docker jump like that?!

Olical12:09:36

So it'll try to find the most specific common relative path that can be found within your CWD of Neovim. As long as your docker container is also sharing your project, even if it's under a different directory, it'll find the source.

Olical12:09:01

Things inside jar files in your .m2 will open as long as you have the dependency in the outside machine. It won't find the dep source otherwise.

Olical12:09:15

It's trying to find the source on your local machine from information found within the remote JVM.

dominicm12:09:36

That would be a great cider nrepl enhancement

Olical12:09:46

Yep! Feel free to "borrow" it! 😄

Olical12:09:41

I was considering working up from the file name then adding on each parent, but that runs a higher risk of false positives. So I opted for removing path segments from the left, if that makes sense? Until we find a common relative path. I've also done this for when you perform an eval so the "source" file of any vars defined in your eval get a relative path that other tools should be okay with handling.

Olical12:09:34

This doens't work in ClojureScript because I can't set the file / line an eval is taking place in. Maaaaaybe if I work out some self hosting magic I'll be able to do that. So you have to eval the entire file sometimes in CLJS to preserve meta-data for go to def.

pez12:09:20

Very cool!

tmacreight16:09:58

Thank you so much for this! Incredible work

Olical16:09:00

You're most welcome 😊 I hope it works well for you!

avi16:09:17

📣 New release of FC4, a FLOSS framework for authoring, publishing, and maintaining C4 software architecture diagrams: https://github.com/FundingCircle/fc4-framework/releases/tag/release_2019.09.10-c987903

👀 4
🎉 8
👍 4
avi16:09:37

If you’re wondering how this is relevant: the fc4 tool is implemented with Clojure and this release is a step towards replacing a Node+JS element of the tool with “pure” Clojure code.

borkdude21:09:20

babashka, a native clojure scripting tool just got a new release, most notably the addition of clojure.tools.cli to parse command line arguments. https://github.com/borkdude/babashka/releases/tag/v0.0.18

👍 16