How can I pretty print a quoted list in clojure?
clojure
Solution
Use `clojure.pprint/write` with `clojure.pprint/code-dispatch`:
(clojure.pprint/write '(do (println "Hello") (println "Goodbye"))
:dispatch clojure.pprint/code-dispatch)
For that small amount of code you won't get new-lines. But a call like this
(clojure.pprint/write '(do (println "Hello") (println "Goodbye") (println "Hey, you left me out!"))
:dispatch clojure.pprint/code-dispatch)
Returns
=> (do
(println "Hello")
(println "Goodbye")
(println "Hey, you left me out!"))
To catch that as a string wrap the call in `(with-out-str ...)`
Problem
Given a list like: ``` (quote (do (println "Hello") (println "Goodbye"))) ``` : how can I turn this into a nicely formatted string which will output something like: ``` (do (println "Hello") (println "Goodbye") ) ```