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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions