Fork me on GitHub
#planck
<
2016-07-18
>
cvermilion19:07:27

@mfikes — a suggestion: it would be nice for scripting to have something like (slurp *in*)

mfikes21:07:51

@cvermilion: Seems like a reasonable thing to do. If you can brew HEAD I dropped some code supporting that in master.

mfikes22:07:29

Here is an example:

$ cat foo.cljs
(ns foo.core
  (:require [planck.core :refer [slurp *in*]]
            []))

(-> (slurp *in*)
  count
  println)
$ wc foo.cljs
       7      13     122 foo.cljs
$ planck foo.cljs < foo.cljs
122

mfikes22:07:13

If you decide to brew HEAD, note the bit about brew edit planck at http://planck-repl.org/setup.html

mfikes22:07:19

@cvermilion: Alternatively, you can fairly easily make an equivalent of (slurp *in*) in Planck 1.15 based on read-line:

(ns foo.core
  (:require [clojure.string :as string]
            [planck.core :refer [read-line]]))

(defn slurp-in []
  (let [lines (atom [])]
    (loop [line (read-line)]
      (when line
        (swap! lines conj line)
        (recur (read-line))))
    (string/join "\n" @lines)))

(-> (slurp-in)
  count
  println)

cvermilion23:07:12

@mfikes: nice — thanks!