2 Commits
0.0.5 ... 0.0.6

Author SHA1 Message Date
5b3b72e127 vbump 2020-01-31 22:30:42 +01:00
99ce77695c make = work as well 2020-01-31 22:26:37 +01:00
3 changed files with 19 additions and 14 deletions

View File

@@ -3,7 +3,7 @@
A simple CLI library for Carp.
```clojure
(load "https://veitheller.de/git/carpentry/cli@0.0.5")
(load "https://veitheller.de/git/carpentry/cli@0.0.6")
(defn main []
(let [p (=> (CLI.new @"My super cool tool!")
@@ -18,7 +18,7 @@ A simple CLI library for Carp.
## Installation
```clojure
(load "https://veitheller.de/git/carpentry/cli@0.0.5")
(load "https://veitheller.de/git/carpentry/cli@0.0.6")
```
## Usage

View File

@@ -6,7 +6,7 @@
(doc CLI "is a simple CLI library for Carp.
```clojure
(load \"https://veitheller.de/git/carpentry/cli@0.0.5\")
(load \"https://veitheller.de/git/carpentry/cli@0.0.6\")
(defn main []
(let [p (=> (CLI.new @\"My super cool tool!\")
@@ -21,7 +21,7 @@
## Installation
```clojure
(load \"https://veitheller.de/git/carpentry/cli@0.0.5\")
(load \"https://veitheller.de/git/carpentry/cli@0.0.6\")
```
## Usage
@@ -331,17 +331,22 @@ mesage is empty, `--help` was requested. If you dont want to provide a
(for [i 1 (System.get-args-len)]
(let [x (System.get-arg i)]
(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
(CmdMap.contains? &values &flag)
(do
(set! i (Int.inc i))
(if (< i (System.get-args-len))
(CmdMap.put! &values &flag (System.get-arg i))
(CmdMap.contains? &values k)
(match v
(Maybe.Just val) (CmdMap.put! &values k &val)
(Maybe.Nothing)
(do
(set! res (Result.Error (fmt "No value for: %s" &flag)))
(break))))
(or (= &flag "help") (= &flag "h"))
(break)))
(or (= k "help") (= k "h"))
(do
(set! res (Result.Error @""))
(break))

View File

@@ -30,7 +30,7 @@
</h1>
<div class="module-description">
<p>is a simple CLI library for Carp.</p>
<pre><code class="language-clojure">(load &quot;https://veitheller.de/git/carpentry/cli@0.0.5&quot;)
<pre><code class="language-clojure">(load &quot;https://veitheller.de/git/carpentry/cli@0.0.6&quot;)
(defn main []
(let [p (=&gt; (CLI.new @&quot;My super cool tool!&quot;)
@@ -42,7 +42,7 @@
(Result.Error msg) (do (IO.errorln &amp;msg) (CLI.usage &amp;p)))))
</code></pre>
<h2>Installation</h2>
<pre><code class="language-clojure">(load &quot;https://veitheller.de/git/carpentry/cli@0.0.5&quot;)
<pre><code class="language-clojure">(load &quot;https://veitheller.de/git/carpentry/cli@0.0.6&quot;)
</code></pre>
<h2>Usage</h2>
<p><code>CLI</code> should be built using combinators, as in the example above. It has, as of