make = work as well

This commit is contained in:
2020-01-31 22:26:37 +01:00
parent e55dc7556d
commit 99ce77695c

View File

@@ -331,17 +331,22 @@ mesage is empty, `--help` was requested. If you dont want to provide a
(for [i 1 (System.get-args-len)] (for [i 1 (System.get-args-len)]
(let [x (System.get-arg i)] (let [x (System.get-arg i)]
(if (or (String.starts-with? x "--") (String.starts-with? x "-")) (if (or (String.starts-with? x "--") (String.starts-with? x "-"))
(let [flag (Pattern.substitute #"^\-\-?" x "" 1)] (let [flag (Pattern.substitute #"^\-\-?" x "" 1)
splt (String.split-by &flag &[\=])
k (if (> (Array.length &splt) 1) (Array.unsafe-nth &splt 0) &flag)
v (cond (> (Array.length &splt) 1) (Array.nth &splt 1)
(< i (System.get-args-len))
(do (set! i (Int.inc i)) (Maybe.Just @(System.get-arg i)))
(Maybe.Nothing))]
(cond (cond
(CmdMap.contains? &values &flag) (CmdMap.contains? &values k)
(do (match v
(set! i (Int.inc i)) (Maybe.Just val) (CmdMap.put! &values k &val)
(if (< i (System.get-args-len)) (Maybe.Nothing)
(CmdMap.put! &values &flag (System.get-arg i))
(do (do
(set! res (Result.Error (fmt "No value for: %s" &flag))) (set! res (Result.Error (fmt "No value for: %s" &flag)))
(break)))) (break)))
(or (= &flag "help") (= &flag "h")) (or (= k "help") (= k "h"))
(do (do
(set! res (Result.Error @"")) (set! res (Result.Error @""))
(break)) (break))