Skip to content

Commit 11337f2

Browse files
committed
Don't include stack trace in parse error message in joker.tool.cli.
Closes #470
1 parent c719daa commit 11337f2

File tree

1 file changed

+24
-24
lines changed

1 file changed

+24
-24
lines changed

core/data/tools_cli.joke

+24-24
Original file line numberDiff line numberDiff line change
@@ -227,7 +227,7 @@
227227
(try
228228
[(parse-fn value) nil]
229229
(catch Error e
230-
[nil (parse-error opt optarg (str e))]))
230+
[nil (parse-error opt optarg (ex-message e))]))
231231
[value nil])]
232232
(if error
233233
[::error error]
@@ -269,23 +269,23 @@
269269
default-fns (default-option-map specs :default-fn)
270270
requireds (missing-errors specs)]
271271
(-> (reduce
272-
(fn [[m ids errors] [opt-type opt optarg]]
273-
(if-let [spec (find-spec specs opt-type opt)]
274-
(let [[value error] (parse-optarg spec opt optarg)
275-
id (:id spec)]
276-
(if-not (= value ::error)
277-
(if (and strict
278-
(or (find-spec specs :short-opt optarg)
279-
(find-spec specs :long-opt optarg)))
280-
[m ids (conj errors (missing-required-error opt (:required spec)))]
281-
[(if-let [update-fn (:update-fn spec)]
282-
(update-in m [id] update-fn)
283-
((:assoc-fn spec assoc) m id value))
284-
(conj ids id)
285-
errors])
286-
[m ids (conj errors error)]))
287-
[m ids (conj errors (str "Unknown option: " (pr-str opt)))]))
288-
[defaults [] []] tokens)
272+
(fn [[m ids errors] [opt-type opt optarg]]
273+
(if-let [spec (find-spec specs opt-type opt)]
274+
(let [[value error] (parse-optarg spec opt optarg)
275+
id (:id spec)]
276+
(if-not (= value ::error)
277+
(if (and strict
278+
(or (find-spec specs :short-opt optarg)
279+
(find-spec specs :long-opt optarg)))
280+
[m ids (conj errors (missing-required-error opt (:required spec)))]
281+
[(if-let [update-fn (:update-fn spec)]
282+
(update-in m [id] update-fn)
283+
((:assoc-fn spec assoc) m id value))
284+
(conj ids id)
285+
errors])
286+
[m ids (conj errors error)]))
287+
[m ids (conj errors (str "Unknown option: " (pr-str opt)))]))
288+
[defaults [] []] tokens)
289289
(#(reduce
290290
(fn [[m ids errors] [id error]]
291291
(if (contains? m id)
@@ -338,11 +338,11 @@
338338

339339
(defn- required-arguments [specs]
340340
(reduce
341-
(fn [s {:keys [required short-opt long-opt]}]
342-
(if required
343-
(into s (remove nil? [short-opt long-opt]))
344-
s))
345-
#{} specs))
341+
(fn [s {:keys [required short-opt long-opt]}]
342+
(if required
343+
(into s (remove nil? [short-opt long-opt]))
344+
s))
345+
#{} specs))
346346

347347
(defn ^{:added "1.0"} summarize
348348
"Reduce options specs into a options summary for printing at a terminal.
@@ -367,7 +367,7 @@
367367
As of 0.4.1, this also applies any :default-fn present."
368368
[option-specs]
369369
(let [specs (compile-option-specs option-specs)
370-
vals (default-option-map specs :default)]
370+
vals (default-option-map specs :default)]
371371
(reduce (fn [m [id f]]
372372
(if (contains? m id)
373373
m

0 commit comments

Comments
 (0)