Skip to content

:style/indent is broken when using Babashka nREPL #3849

@edenworky

Description

@edenworky

Expected behavior

Given the function (defn foo {:style/indent 1} [& args]), the code (foo a a) should be indented (e.g. by prog-indent-sexp) as:

(foo a
  a)

As specified in the documentation and as currently works in the default (non-Babashka) nRepl.

Actual behavior

Only when I use a Babashka REPL (automatically, by having a bb.edn file), all the code works, but the statement gets indented as:

(foo a
     a)

Moreover, if foo is a macro instead, it doesn't even get the macro fontface, only under a Babashka nrepl.

Steps to reproduce the problem

Paste into a clojure file:

(defn foo {:style/indent 1} [& args])
(foo a
  a)

Jack into a non-Babashka REPL, move your cursor to the end of the last expression and reindent using C-M-q, and observe that it doesn't change. Close the repl session and jack into a Babashka REPL (e.g. by adding a bb.edn file containing {} near the clojure file), reindent the last expression and observe it indents incorrectly as shown above.

Environment & Version information

CIDER version information

For default (non-Babashka) REPL:

;; CIDER 1.20.0 (Lanzarote), nREPL 1.5.1
;; Clojure 1.12.3, Java 24.0.2

For Babashka REPL:

;; CIDER 1.20.0 (Lanzarote), babashka.nrepl 0.0.6-SNAPSHOT
;; Babashka 1.12.209

Lein / Clojure CLI version

Clojure CLI version 1.12.3.1577

Emacs version

GNU Emacs 30.2

Operating system

A recent EndevourOS (Arch linux)

JDK distribution

java version "24.0.2" 2025-07-15
Java(TM) SE Runtime Environment (build 24.0.2+12-54)
Java HotSpot(TM) 64-Bit Server VM (build 24.0.2+12-54, mixed mode, sharing)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions