Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (def ^:private ^:dynamic *require-chain* nil)
- (defonce new-require
- (let [orig-require (var-get #'clojure.core/require)]
- (orig-require 'clojure.pprint)
- (fn [& args]
- (binding [*require-chain* (conj (vec *require-chain*) (ns-name *ns*))]
- (let [require-chain-description (apply str (interpose " -> " *require-chain*))]
- (println "\nin" require-chain-description)
- ((resolve 'clojure.pprint/pprint) (cons 'require args))
- (apply orig-require args)
- (println "finished" require-chain-description))))))
- (intern 'clojure.core 'require new-require)
Add Comment
Please, Sign In to add comment