     (util/info "Starting reload server on %s\n" (format "%s://%s:%d" proto listen-host port))
     (format "%s://%s:%d" proto client-host (or ws-port port))))
 
-(defn- write-cljs! [tmp client-ns url ws-host on-jsload asset-host]
+(defn- write-cljs! [tmp client-ns url ws-host {:keys [on-jsload asset-host]}]
   (util/info "Writing %s to connect to %s...\n" (.getPath (rutil/ns->file client-ns "cljs")) url)
   (let [out (doto (rutil/ns->file tmp client-ns "cljs")
               io/make-parents)]

          (let [path     (tmp-path f)
                spec     (-> f tmp-file slurp read-string)
                client-ns (str "adzerk.boot-reload." (rutil/path->ns path))
                out-file (io/file tmp path)]
            (write-cljs! tmp client-ns url ws-host (get spec :on-jsload on-jsload) asset-host)
            (add-init! client-ns spec out-file path)))

        ;; Special case: boot-cljs used without .cljs.edn

   w ws-host WSADDR  str  "The websocket host clients connect to. Defaults to current host. (optional)"
   s secure          bool "Flag to indicate whether the client should connect via wss. Defaults to false."
   ;; Other Configuration
   j on-jsload SYM     sym "The callback to call when JS files are reloaded. (client, optional)"
   _ asset-host HOST   str "The asset-host where to load files from. Defaults to host of opened page. (client, optional)"
   a asset-path PATH   str "Sets the output directory for temporary files used during compilation. (optional)"
   c cljs-asset-path PATH str "The actual asset path. This is added to the start of reloaded urls. (optional)"
   o open-file COMMAND str "The command to run when warning or exception is clicked on HUD. Passed to format. (optional)"
