add cljs data literal support to parse-file

This commit is contained in:
Murphy McMahon 2014-01-01 18:53:53 -02:00
parent cdbc6e6dc8
commit 17c75832de
2 changed files with 11 additions and 2 deletions

View file

@ -3,6 +3,7 @@
;; :main marginalia.main ;; :main marginalia.main
:dependencies :dependencies
[[org.clojure/clojure "1.5.1"] [[org.clojure/clojure "1.5.1"]
[org.clojure/clojurescript "0.0-2138"]
[org.clojure/tools.namespace "0.1.1"] [org.clojure/tools.namespace "0.1.1"]
[org.clojure/tools.cli "0.2.1"] [org.clojure/tools.cli "0.2.1"]
[org.markdownj/markdownj "0.3.0-1.0.2b4"] [org.markdownj/markdownj "0.3.0-1.0.2b4"]

View file

@ -4,7 +4,8 @@
(ns marginalia.parser (ns marginalia.parser
"Provides the parsing facilities for Marginalia." "Provides the parsing facilities for Marginalia."
(:refer-clojure :exclude [replace]) (:refer-clojure :exclude [replace])
(:use [clojure [string :only (join replace)]])) (:use [clojure [string :only (join replace lower-case)]]
[cljs.tagged-literals :only [*cljs-data-readers*]]))
;; Extracted from clojure.contrib.reflect ;; Extracted from clojure.contrib.reflect
@ -355,5 +356,12 @@
(set-keyword-reader nil) (set-keyword-reader nil)
(throw e))))) (throw e)))))
(defn cljs-file? [filepath]
(.endsWith (lower-case filepath) "cljs"))
(defn parse-file [file] (defn parse-file [file]
(parse (slurp file))) (let [readers (if (cljs-file? file)
(->> default-data-readers (merge *cljs-data-readers*))
default-data-readers)]
(binding [*data-readers* readers]
(parse (slurp file)))))