aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/clojure/contrib/command_line.clj7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/clojure/contrib/command_line.clj b/src/clojure/contrib/command_line.clj
index 96f10ac5..8a179c1d 100644
--- a/src/clojure/contrib/command_line.clj
+++ b/src/clojure/contrib/command_line.clj
@@ -22,9 +22,12 @@
(conj spec '[help? h?]))
sym syms]
[(re-find #"^.*[^?]" (str sym))
- {:sym (str (first syms)) :default default}]))]
+ {:sym (str (first syms)) :default default}]))
+ defaults (into {} (for [[_ {:keys [default sym]}] key-data
+ :when default]
+ [sym default]))]
(loop [[argkey & [argval :as r]] (if (seq args) args ["--help"])
- cmdmap {:cmdspec cmdspec rest-str []}]
+ cmdmap (assoc defaults :cmdspec cmdspec rest-str [])]
(if argkey
(let [[_ & [keybase]] (re-find #"^--?(.*)" argkey)]
(cond