 
 (defn edn-str [edn]
   (if edn
-    (str edn)))
+    (let [sb (StringBuffer.)
+          writer (StringBufferWriter. sb)]
+      (write edn :pretty true :readably true :right-margin 48 :stream writer)
+      (println (.toString sb))
+      (.toString sb))))
 
 (def edn->json-str (comp json-str edn->json))
 (def json->edn-str (comp edn-str json->edn))

      (let [{:keys [json-chan edn-chan]} state
            editor (first (:editor app))]
        (dom/div #js {:className "container"}
          (dom/h2 nil "JSON <-> EDN")
          (markdown->om "resources/public/md/description.md" :container-opts #js {:className "row"})
          (dom/div #js {:className "row"}

            (om/build source-code {:is-editor? (= editor :json)

            [om.dom :as dom]
            [cljs.core.async :refer [put! chan <!]]
            [clojure.string]
            [cljs.reader]
            [cljs.pprint :refer [write]])
  (:import  [goog.string StringBuffer]))

(enable-console-print!)

