[#283] support writer arg in clojure.pprint
This commit is contained in:
parent
35a2001ca8
commit
f52b208b7e
3 changed files with 18 additions and 2 deletions
12
src/babashka/impl/clojure/pprint.clj
Normal file
12
src/babashka/impl/clojure/pprint.clj
Normal file
|
|
@ -0,0 +1,12 @@
|
||||||
|
(ns babashka.impl.clojure.pprint
|
||||||
|
{:no-doc true}
|
||||||
|
(:require [fipp.edn :as fipp]))
|
||||||
|
|
||||||
|
(defn pprint
|
||||||
|
([edn]
|
||||||
|
(fipp/pprint edn))
|
||||||
|
([edn writer]
|
||||||
|
(fipp/pprint edn {:writer writer})))
|
||||||
|
|
||||||
|
(def pprint-namespace
|
||||||
|
{'pprint pprint})
|
||||||
|
|
@ -9,6 +9,7 @@
|
||||||
[babashka.impl.clojure.java.io :refer [io-namespace]]
|
[babashka.impl.clojure.java.io :refer [io-namespace]]
|
||||||
[babashka.impl.clojure.java.shell :refer [shell-namespace]]
|
[babashka.impl.clojure.java.shell :refer [shell-namespace]]
|
||||||
[babashka.impl.clojure.main :refer [demunge]]
|
[babashka.impl.clojure.main :refer [demunge]]
|
||||||
|
[babashka.impl.clojure.pprint :refer [pprint-namespace]]
|
||||||
[babashka.impl.clojure.stacktrace :refer [stacktrace-namespace print-stack-trace]]
|
[babashka.impl.clojure.stacktrace :refer [stacktrace-namespace print-stack-trace]]
|
||||||
[babashka.impl.common :as common]
|
[babashka.impl.common :as common]
|
||||||
[babashka.impl.csv :as csv]
|
[babashka.impl.csv :as csv]
|
||||||
|
|
@ -21,7 +22,6 @@
|
||||||
[clojure.edn :as edn]
|
[clojure.edn :as edn]
|
||||||
[clojure.java.io :as io]
|
[clojure.java.io :as io]
|
||||||
[clojure.string :as str]
|
[clojure.string :as str]
|
||||||
[fipp.edn :as fipp]
|
|
||||||
[sci.addons :as addons]
|
[sci.addons :as addons]
|
||||||
[sci.core :as sci]
|
[sci.core :as sci]
|
||||||
[sci.impl.interpreter :refer [eval-string*]]
|
[sci.impl.interpreter :refer [eval-string*]]
|
||||||
|
|
@ -259,7 +259,7 @@ Everything after that is bound to *command-line-args*."))
|
||||||
'clojure.repl {'demunge demunge}
|
'clojure.repl {'demunge demunge}
|
||||||
'clojure.test t/clojure-test-namespace
|
'clojure.test t/clojure-test-namespace
|
||||||
'babashka.classpath {'add-classpath add-classpath*}
|
'babashka.classpath {'add-classpath add-classpath*}
|
||||||
'clojure.pprint {'pprint fipp/pprint}})
|
'clojure.pprint pprint-namespace})
|
||||||
|
|
||||||
(def bindings
|
(def bindings
|
||||||
{'java.lang.System/exit exit ;; override exit, so we have more control
|
{'java.lang.System/exit exit ;; override exit, so we have more control
|
||||||
|
|
|
||||||
|
|
@ -342,6 +342,10 @@
|
||||||
(alter-var-root #'clojure.core/inc (constantly inc2))
|
(alter-var-root #'clojure.core/inc (constantly inc2))
|
||||||
res)")))))
|
res)")))))
|
||||||
|
|
||||||
|
(deftest pprint-test
|
||||||
|
(testing "writer"
|
||||||
|
(is (string? (bb nil "(let [sw (java.io.StringWriter.)] (clojure.pprint/pprint (range 10) sw) (str sw))")))))
|
||||||
|
|
||||||
;;;; Scratch
|
;;;; Scratch
|
||||||
|
|
||||||
(comment
|
(comment
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue