       (task-options!
         repl {:port     12345}
         jar  {:manifest {:howdy \"world\"}})
-  
+
   You can update options, too, by providing a function instead of an option
   map. This function will be passed the current option map and its result will
   be used as the new one. For example:

(defmethod pre-env! :asset-paths    [key old new env] (assert-set key new) new)
(defmethod pre-env! :wagons         [key old new env] (add-wagon! old new env))
(defmethod pre-env! :dependencies   [key old new env] (add-dependencies! old new env))

(defn get-env
  "Returns the value associated with the key `k` in the boot environment, or

(defmethod post-env! :source-paths   [key old new env] (set-user-dirs!))
(defmethod post-env! :resource-paths [key old new env] (set-user-dirs!))
(defmethod post-env! :asset-paths    [key old new env] (set-user-dirs!))
(defmethod post-env! :watcher-debounce-interval
                                     [key old new env] (set-user-dirs!))

(defmulti pre-env!
  "This multimethod is used to modify how new values are merged into the boot
