Guest User

Untitled

a guest
Mar 22nd, 2018
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.59 KB | None | 0 0
  1. (def ^:private ^:dynamic *require-chain* nil)
  2.  
  3. (defonce new-require
  4. (let [orig-require (var-get #'clojure.core/require)]
  5. (orig-require 'clojure.pprint)
  6. (fn [& args]
  7. (binding [*require-chain* (conj (vec *require-chain*) (ns-name *ns*))]
  8. (let [require-chain-description (apply str (interpose " -> " *require-chain*))]
  9. (println "\nin" require-chain-description)
  10. ((resolve 'clojure.pprint/pprint) (cons 'require args))
  11. (apply orig-require args)
  12. (println "finished" require-chain-description))))))
  13.  
  14. (intern 'clojure.core 'require new-require)
Add Comment
Please, Sign In to add comment