# Cond indentation/readabliity, continuation syntax proposal for expr

**URL:** https://clojureverse.org/t/cond-indentation-readabliity-continuation-syntax-proposal-for-expr/7825
**Category:** General Questions
**Tags:** editors
**Created:** [July 6, 2021, 6:41pm UTC](https://clojureverse.org/t/cond-indentation-readabliity-continuation-syntax-proposal-for-expr/7825 "2021-07-06T18:41:32Z")
**Posts on this page:** 1
**Showing post:** 11

<div class="post-metadata">

### Author: ![camdez](https://clojureverse.org/user_avatar/clojureverse.org/camdez/32/1373_2.png) [@camdez](https://clojureverse.org/u/camdez)
#### Post date: [August 8, 2021, 2:43am UTC](https://clojureverse.org/t/cond-indentation-readabliity-continuation-syntax-proposal-for-expr/7825/11 "2021-08-08T02:43:17Z")

</div>

Sorry for resurrecting an old thread, but I was excited to see @didibus mention using commas here. I do exactly this. These days I’m an engineering team of one at CollBox, so I don’t yet know how this will go over with other engineers, but I’ve been test-driving this for a few months now and I’m pretty happy with it.

I actually use commas whenever I want to violate the normal Clojure indentation standards. Typically that comes in three cases:

1. The `cond` example described above:

```auto
(cond
  (extremely-long-condition with some lengthy args)
  , :foo
  (another-extremely-long-condition here)
  , :bar)

```

But that’s probably my rarest usage of it. More commonly I use this with…

1. Datomic queries with multiple `:where` clauses that I want to align, but I like having them indented after the `:where` keyword like the rest of the key-value “pairs”:

```auto
(datomic.api/q '[:find ?user
                 :in $ ?email
                 :where [?user :user/email ?email]
                 , [?user :user/role :user.role/admin]]
               db email)

```

(And yes, I am aware of the map syntax for `q`.)

1. Compactly-aligned `let` bindings where I have one or two lengthy names I’m binding and I don’t want to shift all of the values annoyingly far right:

```auto
(let [name "Bilbo Baggins"
      email "bilbo@shire.org"
      confirmed? false
      something-annoyingly-long
      , 42]
  ; ...
  )

```

I’m sure somebody will say this is the worst thing ever, but I firmly believe that indentation impacts readability, and while the comma trick isn’t exactly beautiful, it lets me express the patterns in the code that I want a reader to notice, without making me fight my editor’s indentation features, and it calls out the non-standard indentation as being _intentional_.

---

_[View the full topic](https://clojureverse.org/t/cond-indentation-readabliity-continuation-syntax-proposal-for-expr/7825)._
