Menu

Switch to the dark mode that's kinder on your eyes at night time.

Switch to the light mode that's kinder on your eyes at day time.

Switch to the dark mode that's kinder on your eyes at night time.

Switch to the light mode that's kinder on your eyes at day time.

in ,

Fancy Clojure REPL, Hacker News

Fancy Clojure REPL, Hacker News
)     

      

        

Fancy Clojure REPL         

          by didibus 1 day ago                   

  

    

      

        

OS=Linux


           SHELL=zsh            TERM=screen - color          VIEWS=3808

A fancy Clojure REPL, to get it yourself, do the following:

In your

. Clojure / deps.edn add the following alias:


: aliases {: repl {: extra-deps {com.bhauman / rebel-readline {: mvn / version "RELEASE"}                                com.gfredericks / user.clj {: mvn / version "RELEASE"}                                org.clojure / core.async {: mvn / version "RELEASE"}                                org.clojure / core.logic {: mvn / version "RELEASE"}                                org.clojure / test.check {: mvn / version "RELEASE"}                                com.clojure-goes-fast / clj-java-decompiler {: mvn / version "RELEASE"}                                com.clojure-goes-fast / clj-memory-meter {: mvn / version "RELEASE"}                                com.clojure-goes-fast / clj-async-profiler {: mvn / version "RELEASE"}                                com.clojure-goes-fast / jvm-alloc-rate-meter {: mvn / version "RELEASE"}                                com.clojure-goes-fast / jvm-hiccup-meter {: mvn / version "RELEASE"}                                io.aviso / pretty {: mvn / version "RELEASE"}                                mvxcvi / puget {: mvn / version "RELEASE"}                                com.hypirion / clj-xchart {: mvn / version "RELEASE"}                                org.clojure / clojure {: mvn / version "RELEASE"}                                generateme / fastmath {: mvn / version "RELEASE"}                                clj-commons / pomegranate {: mvn / version "RELEASE"}}                   : main-opts ["-m" "rebel-readline.main"]}

And in

. Clojure / user.clj add the following: https://gist.github.com/didibus/b a0d (e) d (d0ca) ff 53

Finally, in your

. Zshrc or . bashrc file add:


function clj () {     if [[ -z $@ ]]     then         command clojure -A: repl     else         command clj $ @     fi }

So now when you type clj you get a super fancy repl with colorized output, friendly error messages, auto-complete, doc showing, multi-line support and the most common namespaces pre-required as well as useful functions you can use with (req -... )


to lazy require more useful namespaces. There is one called (req-deps) which requires pomegranate and defines

add -lein-deps that can then be used to dynamically bring in more dependencies to the REPL as well.           

                 

   

        Read More

What do you think?

Leave a Reply

Your email address will not be published. Required fields are marked *

GIPHY App Key not set. Please check settings

#BrunoDay Campaign Cringe Shows How Far Manchester United Have Fallen, Crypto Coins News

#BrunoDay Campaign Cringe Shows How Far Manchester United Have Fallen, Crypto Coins News

Fidelity’s latest move just disarmed one of crypto’s biggest weapons

Back to Top
close

Log In

Forgot password?

Forgot password?

Enter your account data and we will send you a link to reset your password.

Your password reset link appears to be invalid or expired.

Log in

Privacy Policy

To use social login you have to agree with the storage and handling of your data by this website. %privacy_policy%

Add to Collection

No Collections

Here you'll find all collections you've created before.