Anton Harald
Anton Harald

Reputation: 5964

indent configurations in emacs cider/paredit/clojure-mode

In an Emacs/Cider setup (which is build on top of clojure-mode and paredit-mode), tab stops are usually ignored. Or, say they indent just to the second symbol of an s-expression.

Sometimes, e.g for larger configurations, it's desirable to indent also the subsequent symbols:

This would be the default:

(def config [:hello 34 :goodbye
             :a 34 :c
             :long-word 0 :a])

What is to do, if it should look like:

(def config [:hello      34   :goodbye
             :a          34   :c
             :long-word  0    :a])

Upvotes: 3

Views: 790

Answers (2)

Joost Diepenmaat
Joost Diepenmaat

Reputation: 17761

If you can live with having your config as a map instead of a vector, clojure-mode does the right thing when you switch on clojure-align-forms-automatically:

(def config {:hello 34
             :goodbye [something else]
             :a [34 :c]
             :long-word 0
             :a 'b})

=>

(def config {:hello     34
             :goodbye   [something else]
             :a         [34 :c]
             :long-word 0
             :a         'b})

Upvotes: 0

ntalbs
ntalbs

Reputation: 29468

Emacs will not align the elements in vector as you wish, however, you can use M-i (tab-to-tab-stop) to insert tab (or multiple spaces depends on your config). So you can manually align the elements like the way you like.

Upvotes: 0

Related Questions