Skip to content

Instantly share code, notes, and snippets.

@defclass
Last active July 8, 2017 10:53
Show Gist options
  • Save defclass/b0f35b948b826dd644ffbebf0f6072b6 to your computer and use it in GitHub Desktop.
Save defclass/b0f35b948b826dd644ffbebf0f6072b6 to your computer and use it in GitHub Desktop.
autoreload
;; profiles.lcj
;{:repl {:dependencies [;;[org.clojure/tools.trace "0.7.9"]
; [ns-tracker "0.3.1"]]
; :source-paths ["src" "dev-src"]}}
(ns autoreload
(:require [ns-tracker.core :as tracker]))
(defn check-namespace-changes [track]
(try
(doseq [ns-sym (track)]
(prn "reload: " ns-sym)
(require ns-sym :reload))
(catch Throwable e (.printStackTrace e)))
(Thread/sleep 500))
(defn start-nstracker []
(future
(let [track (tracker/ns-tracker ["src" "test"])]
(doto
(Thread.
#(while true
(check-namespace-changes track)))
(.setDaemon true)
(.start)))))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment