(require '[clojure.java.shell :as shell] '[clojure.main]) (require '[rebel-readline.core] '[rebel-readline.clojure.main] '[rebel-readline.clojure.line-reader] '[rebel-readline.clojure.service.local]) (defmulti task first) (defmethod task :default [args] (let [all-tasks (-> task methods (dissoc :default) keys sort) interposed (->> all-tasks (interpose ", ") (apply str))] (println "Unknown or missing task. Choose one of:" interposed) (System/exit 1))) (task *command-line-args*)