File tree Expand file tree Collapse file tree 5 files changed +369
-351
lines changed Expand file tree Collapse file tree 5 files changed +369
-351
lines changed Original file line number Diff line number Diff line change 55 < link rel ="icon " type ="image/svg+xml " href ="/lang-clojure-eval/assets/vite-4a748afd.svg " />
66 < meta name ="viewport " content ="width=device-width, initial-scale=1.0 " />
77 < title > Vite App</ title >
8- < script type ="module " crossorigin src ="/lang-clojure-eval/assets/index-13c5f3bf .js "> </ script >
8+ < script type ="module " crossorigin src ="/lang-clojure-eval/assets/index-a562dec2 .js "> </ script >
99 < link rel ="stylesheet " href ="/lang-clojure-eval/assets/index-dcab846b.css ">
1010 </ head >
1111 < body >
Original file line number Diff line number Diff line change 11{
22 "name" : " lang-clojure-eval" ,
3- "version" : " 0.0.21 " ,
3+ "version" : " 0.0.22 " ,
44 "author" :
" Bobbi Towers <[email protected] >" ,
55 "description" : " Lezer-based Clojure Codemirror 6 extension with live evaluation" ,
66 "main" : " dist/index.cjs" ,
Original file line number Diff line number Diff line change 2626 'lang-clojure-eval.integer
2727 {'parseInt int/parse-int}}}))
2828
29+ (defn reqs [req-form]
30+ (let [first-req (z/down req-form)]
31+ (loop [z first-req result []]
32+ (if-not (z/right z)
33+ result
34+ (recur (z/right z)
35+ (conj result (z/sexpr (z/right z))))))))
36+
2937(defn current-ns [source]
3038 (z/sexpr (z/next (z/find-next-value (z/of-string source) z/next 'ns))))
3139
40+ (def last-req (atom " " ))
41+
3242(defn eval-string [source]
33- (let [reqs (str " (ns " (or (current-ns source) " lang-clojure-eval" )
34- " (:require [lang-clojure-eval.character :as Character]
35- [lang-clojure-eval.integer :as Integer]))
43+ (let [ns-name (z/next (z/find-next-value (z/of-string source) z/next 'ns))
44+ req-form (z/right ns-name)
45+ reqs (str " (ns " (or (current-ns source) " lang-clojure-eval" )
46+ " \n (:require [lang-clojure-eval.character :as Character]
47+ [lang-clojure-eval.integer :as Integer] "
48+ (apply str (interpose " \n " (reqs req-form))) " ))
3649 (defn int [x]
3750 (if (.isInteger js/Number (js/parseInt x))
3851 (js/parseInt x)
3952 (.charCodeAt x 0)))" )]
53+ (when (or req-form
54+ (and ns-name (nil? req-form))) (reset! last-req reqs))
4055 (try (binding [*print-length* 100 ]
41- (with-out-str (pprint/pprint (sci/eval-string* context (str reqs source)))))
56+ (with-out-str (pprint/pprint (sci/eval-string* context (str @last-req source)))))
4257 (catch :default e
4358 (with-out-str (error-handler source e))))))
You can’t perform that action at this time.
0 commit comments