 
   The Figwheel ClojureScript will not be injected into any of these
   builds.
+
+:help
+  
+  Prints this documentation
 
 Configuration:
   


  )

;; task
(defn check-config [project]
  (clean-on-dependency-change project)
  (run-config-check
   project
   (fuzzy-select-keys project [:cljsbuild :figwheel])
   {:no-start-option true}))

(defn build-once [project build-ids]
  (run-build-once
   project
   (fuzzy-select-keys project [:cljsbuild :figwheel])
   (source-paths-for-classpath
    (normalize-data project build-ids))
   (vec build-ids)))

(defn figwheel-main [project build-ids]
  (run-figwheel
   project
   (fuzzy-select-keys project [:cljsbuild :figwheel])
   (source-paths-for-classpath
    (normalize-data project build-ids))
   (vec build-ids)))

(defmulti fig-dispatch (fn [project args] (first args)))

(defmethod fig-dispatch :default [project build-ids]
  (figwheel-main project build-ids))

(defmethod fig-dispatch ":check-config" [project args]
  (check-config project))

(defmethod fig-dispatch ":once" [project build-ids]
  (build-once project (rest build-ids)))

(defn figwheel
"Figwheel - a tool that helps you compile and reload ClojureScript.

   #_[clojure.pprint :as pp]
   [leiningen.core.eval :as leval]
   [leiningen.clean :as clean]
   [leiningen.core.main :as main]   
   [clojure.java.io :as io]
   [clojure.set :refer [intersection]]
   [clojure.pprint :as pp]
   [clj-fuzzy.metrics :as metrics]
   [simple-lein-profile-merge.core :as lm]))

