Babashka

Overview

Babashka is highly compatible with Clojure, so it works with CIDER out of the box.

Usage

All you need to do is start its bundled nREPL server:

$ bb --nrepl-server

And connect to it afterwards using C-c C-x c j (cider-connect-clj).

Babashka’s nREPL server supports all core nREPL operations, plus code completion, so you’ll get all of CIDER’s basic functionality with it.

Depending on your CIDER version you might get some warnings about missing Clojure/nREPL versions. You can safely ignore those.

Starting with CIDER 1.2, cider-jack-in-clj works with Babashka projects that are using bb.edn.

Differences with Clojure

There are a few differences between Babashka and Clojure that you should keep in mind:

  • Built-in vars (e.g. clojure.core/map) don’t have definition location metadata. In practice this means you can’t navigate to their definitions in CIDER.

  • The javadoc (clojure.java.javadoc/javadoc) REPL utility function is not currently available in Babashka.