--- a/adopt/reference/index.html Mon Apr 05 22:02:40 2021 -0400
+++ b/adopt/reference/index.html Tue Nov 16 20:19:07 2021 -0500
@@ -23,11 +23,13 @@
<li><a href="#argv-function">ARGV (function)</a></li>
<li><a href="#collect-function">COLLECT (function)</a></li>
<li><a href="#define-string-macro">DEFINE-STRING (macro)</a></li>
+<li><a href="#defparameters-macro">DEFPARAMETERS (macro)</a></li>
<li><a href="#discard-option-function">DISCARD-OPTION (function)</a></li>
<li><a href="#exit-function">EXIT (function)</a></li>
<li><a href="#first-function">FIRST (function)</a></li>
<li><a href="#flip-function">FLIP (function)</a></li>
<li><a href="#last-function">LAST (function)</a></li>
+<li><a href="#make-boolean-options-function">MAKE-BOOLEAN-OPTIONS (function)</a></li>
<li><a href="#make-group-function">MAKE-GROUP (function)</a></li>
<li><a href="#make-interface-function">MAKE-INTERFACE (function)</a></li>
<li><a href="#make-option-function">MAKE-OPTION (function)</a></li>
@@ -72,6 +74,33 @@
<p>Convenience macro for <code>(defparameter ,var (format nil ,string ,@args))</code>.</p>
+<h3 id="defparameters-macro"><code>DEFPARAMETERS</code> (macro)</h3>
+<div class="codehilite"><pre><span/>(DEFPARAMETERS PARAMETERS VALUES-FORM)
+</pre></div>
+
+
+<p>Convenience macro for <code>defparameter</code>ing multiple variables at once.</p>
+<p><code>parameters</code> must be a list of special variable names suitable for giving to
+ <code>defparameter</code>.</p>
+<p><code>values-form</code> must be an expression that returns as many values as parameters
+ in the parameter list. Each parameter will be set to the corresponding value.</p>
+<p>This can be handy when using <code>make-boolean-options</code> to create two <code>option</code>s at
+ once and assign them to special variables.</p>
+<p>Examples:</p>
+<div class="codehilite"><pre><span/>(defparameters (*a* *b*) (truncate 100 3))
+(list *a* *b*)
+; =>
+; (33 1)
+
+(defparameters (*option-foo* *option-no-foo*)
+ (make-boolean-options 'foo
+ :help "Foo the widgets during the run."
+ :help-no "Do not foo the widgets during the run (the default)."
+ :long "foo"
+ :short #f))
+</pre></div>
+
+
<h3 id="discard-option-function"><code>DISCARD-OPTION</code> (function)</h3>
<div class="codehilite"><pre><span/>(DISCARD-OPTION CONDITION)
</pre></div>
@@ -126,6 +155,50 @@
<p>Return <code>new</code>.</p>
<p>It is useful as a <code>:reduce</code> function when you want to just keep the last-given
value for an option.</p>
+<h3 id="make-boolean-options-function"><code>MAKE-BOOLEAN-OPTIONS</code> (function)</h3>
+<div class="codehilite"><pre><span/>(MAKE-BOOLEAN-OPTIONS NAME &KEY
+ (NAME-NO (INTERN (CONCATENATE 'STRING (STRING 'NO-) (STRING NAME)))) LONG
+ (LONG-NO (WHEN LONG (FORMAT NIL no-~A LONG))) SHORT
+ (SHORT-NO (WHEN SHORT (CHAR-UPCASE SHORT))) (RESULT-KEY NAME) HELP
+ HELP-NO MANUAL MANUAL-NO INITIAL-VALUE)
+</pre></div>
+
+
+<p>Create and return a pair of boolean options, suitable for use in an interface.</p>
+<p>This function reduces some of the boilerplate when creating two <code>option</code>s for
+ boolean values, e.g. <code>--foo</code> and <code>--no-foo</code>. It will try to guess at an
+ appropriate name, long option, short option, and result key, but you can
+ override them with the <code>…-no</code> keyword options as needed.</p>
+<p>The two options will be returned as two separate values — you can use
+ <code>defparameters</code> to conveniently bind them to two separate variables if
+ desired.</p>
+<p>Example:</p>
+<div class="codehilite"><pre><span/>(defparameters (*option-debug* *option-no-debug*)
+ (make-boolean-options 'debug
+ :long "debug"
+ :short #d
+ :help "Enable the Lisp debugger."
+ :help-no "Disable the Lisp debugger (the default)."))
+
+;; is roughly equivalent to:
+
+(defparameter *option-debug*
+ (make-option 'debug
+ :long "debug"
+ :short #d
+ :help "Enable the Lisp debugger."
+ :initial-value nil
+ :reduce (constantly t))
+
+(defparameter *option-no-debug*
+ (make-option 'no-debug
+ :long "no-debug"
+ :short #D
+ :help "Disable the Lisp debugger (the default)."
+ :reduce (constantly nil))
+</pre></div>
+
+
<h3 id="make-group-function"><code>MAKE-GROUP</code> (function)</h3>
<div class="codehilite"><pre><span/>(MAKE-GROUP NAME &KEY TITLE HELP MANUAL OPTIONS)
</pre></div>
--- a/adopt/usage/index.html Mon Apr 05 22:02:40 2021 -0400
+++ b/adopt/usage/index.html Tue Nov 16 20:19:07 2021 -0500
@@ -70,7 +70,8 @@
<p><code>make-interface</code> takes several required arguments:</p>
<ul>
<li><code>:name</code> is the name of the program.</li>
-<li><code>:summary</code> is a concise one-line summary of what it does.</li>
+<li><code>:summary</code> is a concise one-line summary of what it does. By convention it
+ should not be a full sentence, but just a snippet of text.</li>
<li><code>:usage</code> is a UNIX-style the command line usage string.</li>
<li><code>:help</code> is a longer description of the program.</li>
</ul>
@@ -257,21 +258,21 @@
<div class="codehilite"><pre><span/><span class="p">(</span><span class="nb">defparameter</span> <span class="vg">*option-version*</span>
<span class="p">(</span><span class="nv">adopt:make-option</span> <span class="ss">'version</span>
<span class="ss">:long</span> <span class="s">"version"</span>
- <span class="ss">:help</span> <span class="s">"display version information and exit"</span>
+ <span class="ss">:help</span> <span class="s">"Display version and exit."</span>
<span class="ss">:reduce</span> <span class="p">(</span><span class="nb">constantly</span> <span class="no">t</span><span class="p">)))</span>
<span class="p">(</span><span class="nb">defparameter</span> <span class="vg">*option-help*</span>
<span class="p">(</span><span class="nv">adopt:make-option</span> <span class="ss">'help</span>
<span class="ss">:long</span> <span class="s">"help"</span>
<span class="ss">:short</span> <span class="sc">#\h</span>
- <span class="ss">:help</span> <span class="s">"display help information and exit"</span>
+ <span class="ss">:help</span> <span class="s">"Display help and exit."</span>
<span class="ss">:reduce</span> <span class="p">(</span><span class="nb">constantly</span> <span class="no">t</span><span class="p">)))</span>
<span class="p">(</span><span class="nb">defparameter</span> <span class="vg">*option-literal*</span>
<span class="p">(</span><span class="nv">adopt:make-option</span> <span class="ss">'literal</span>
<span class="ss">:long</span> <span class="s">"literal"</span>
<span class="ss">:short</span> <span class="sc">#\l</span>
- <span class="ss">:help</span> <span class="s">"treat PATTERN as a literal string instead of a regular expression"</span>
+ <span class="ss">:help</span> <span class="s">"Treat PATTERN as a literal string instead of a regular expression."</span>
<span class="ss">:reduce</span> <span class="p">(</span><span class="nb">constantly</span> <span class="no">t</span><span class="p">)))</span>
<span class="p">(</span><span class="nb">defparameter</span> <span class="vg">*ui*</span>
@@ -297,10 +298,10 @@
<span class="c1">; Search the contents of …</span>
<span class="c1">;</span>
<span class="c1">; Options:</span>
-<span class="c1">; --version display version information and exit</span>
-<span class="c1">; -h, --help display help information and exit</span>
-<span class="c1">; -l, --literal treat PATTERN as a literal string instead of a regular</span>
-<span class="c1">; expression</span>
+<span class="c1">; --version Display version and exit.</span>
+<span class="c1">; -h, --help Display help and exit.</span>
+<span class="c1">; -l, --literal Treat PATTERN as a literal string instead of a regular</span>
+<span class="c1">; expression.</span>
</pre></div>
@@ -308,6 +309,10 @@
put to use shortly. At least one of <code>:short</code> and <code>:long</code> is required, and
<code>:help</code> text must be specified. We'll talk more about <code>:reduce</code> in a little
while, but it too is required.</p>
+<p>When writing <code>:help</code> text I recommend using a full sentence, starting with
+a capital letter and ending with appropriate punctuation. If there's a default
+value or behavior for the option, mention it in the help text with something
+like <code>Search at most N lines (default 100).</code>.</p>
<p>I prefer to define each option as its own global variable to keep the call to
<code>make-interface</code> from getting too large and unwieldy, but feel free to do
something like this if you prefer to avoid cluttering your package:</p>
@@ -355,7 +360,7 @@
<span class="ss">:result-key</span> <span class="ss">'pattern-is-literal</span>
<span class="ss">:long</span> <span class="s">"literal"</span>
<span class="ss">:short</span> <span class="sc">#\l</span>
- <span class="ss">:help</span> <span class="s">"treat PATTERN as a literal string instead of a regular expression"</span>
+ <span class="ss">:help</span> <span class="s">"Treat PATTERN as a literal string instead of a regular expression."</span>
<span class="ss">:reduce</span> <span class="p">(</span><span class="nb">constantly</span> <span class="no">t</span><span class="p">)))</span>
<span class="c1">;; …</span>
@@ -473,7 +478,7 @@
<span class="p">(</span><span class="nv">adopt:make-option</span> <span class="ss">'help</span>
<span class="ss">:long</span> <span class="s">"help"</span>
<span class="ss">:short</span> <span class="sc">#\h</span>
- <span class="ss">:help</span> <span class="s">"display help information and exit"</span>
+ <span class="ss">:help</span> <span class="s">"Display help and exit."</span>
<span class="ss">:initial-value</span> <span class="no">nil</span>
<span class="ss">:reduce</span> <span class="p">(</span><span class="k">lambda</span> <span class="p">(</span><span class="nv">current-value</span><span class="p">)</span>
<span class="p">(</span><span class="k">declare</span> <span class="p">(</span><span class="k">ignore</span> <span class="nv">current-value</span><span class="p">))</span>
@@ -488,7 +493,7 @@
<span class="p">(</span><span class="nv">adopt:make-option</span> <span class="ss">'help</span>
<span class="ss">:long</span> <span class="s">"help"</span>
<span class="ss">:short</span> <span class="sc">#\h</span>
- <span class="ss">:help</span> <span class="s">"display help information and exit"</span>
+ <span class="ss">:help</span> <span class="s">"Display help and exit."</span>
<span class="ss">:reduce</span> <span class="p">(</span><span class="nb">constantly</span> <span class="no">t</span><span class="p">)))</span>
</pre></div>
@@ -500,7 +505,7 @@
<span class="p">(</span><span class="nv">adopt:make-option</span> <span class="ss">'paginate</span>
<span class="ss">:long</span> <span class="s">"paginate"</span>
<span class="ss">:short</span> <span class="sc">#\p</span>
- <span class="ss">:help</span> <span class="s">"turn pagination on"</span>
+ <span class="ss">:help</span> <span class="s">"Turn pagination on."</span>
<span class="ss">:reduce</span> <span class="p">(</span><span class="nb">constantly</span> <span class="no">t</span><span class="p">)))</span>
<span class="p">(</span><span class="nb">defparameter</span> <span class="vg">*option-no-paginate*</span>
@@ -508,7 +513,7 @@
<span class="ss">:result-key</span> <span class="ss">'paginate</span>
<span class="ss">:long</span> <span class="s">"no-paginate"</span>
<span class="ss">:short</span> <span class="sc">#\P</span>
- <span class="ss">:help</span> <span class="s">"turn pagination off (the default)"</span>
+ <span class="ss">:help</span> <span class="s">"Turn pagination off (the default)."</span>
<span class="ss">:reduce</span> <span class="p">(</span><span class="nb">constantly</span> <span class="no">nil</span><span class="p">)))</span>
</pre></div>
@@ -529,13 +534,51 @@
<p>If the last-given option didn't take precedence, they'd have to fall back to the
non-alias version of the command, and type out all the options they <em>do</em> want by
hand. This is annoying, so it's usually better to let the last one win.</p>
+<p>Making two separate options by hand can be tedious if you have a lot of boolean
+options, so Adopt provides a <code>make-boolean-options</code> function that will do some
+of the boilerplate for you:</p>
+<div class="codehilite"><pre><span/><span class="p">(</span><span class="nv">adopt:make-boolean-options</span> <span class="ss">'paginate</span>
+ <span class="ss">:long</span> <span class="s">"paginate"</span>
+ <span class="ss">:short</span> <span class="sc">#\p</span>
+ <span class="ss">:help</span> <span class="s">"Turn pagination on."</span>
+ <span class="ss">:help-no</span> <span class="s">"Turn pagination off (the default)."</span><span class="p">)</span>
+<span class="c1">;; =></span>
+<span class="err">#</span><span class="nv"><ADOPT::OPTION</span> <span class="nv">PAGINATE</span> <span class="nv">p/paginate></span>
+<span class="err">#</span><span class="nv"><ADOPT::OPTION</span> <span class="nv">NO-PAGINATE</span> <span class="nv">P/no-paginate></span>
+</pre></div>
+
+
+<p><code>make-boolean-options</code> will try to guess at sensible values to reduce the
+boilerplate you need to type:</p>
+<ul>
+<li>If <code>:long</code> is <code>"foo"</code> for the true option, the false option will be <code>"no-foo"</code>
+ unless overridden by <code>:long-no</code>.</li>
+<li>If <code>:short</code> is <code>#\f</code> for the true option, the false option will be
+ <code>(char-upcase #\f)</code> unless overridden by <code>:short-no</code>.</li>
+<li>The given option name (e.g. <code>foo</code>) will be used for the true option, and
+ a symbol with <code>no-</code> prepended (e.g. <code>no-foo</code>) will be used for the false
+ option unless overridden by <code>:name-no</code>.</li>
+<li><code>:initial-value</code> will be <code>nil</code> for the pair if not given.</li>
+</ul>
+<p>The two options are returned as separate <code>values</code>. Adopt also provides
+a <code>defparameters</code> convenience macro to create special variables for them more
+easily:</p>
+<div class="codehilite"><pre><span/><span class="p">(</span><span class="nv">defparameters</span> <span class="p">(</span><span class="vg">*option-paginate*</span> <span class="vg">*option-no-paginate*</span><span class="p">)</span>
+ <span class="p">(</span><span class="nv">adopt:make-boolean-options</span> <span class="ss">'paginate</span>
+ <span class="ss">:long</span> <span class="s">"paginate"</span>
+ <span class="ss">:short</span> <span class="sc">#\p</span>
+ <span class="ss">:help</span> <span class="s">"Turn pagination on."</span>
+ <span class="ss">:help-no</span> <span class="s">"Turn pagination off (the default)."</span><span class="p">))</span>
+</pre></div>
+
+
<h3 id="counting-options">Counting Options</h3>
<p>To define an option that counts how many times it's been given, like SSH's <code>-v</code>,
you can use something like this:</p>
<div class="codehilite"><pre><span/><span class="p">(</span><span class="nb">defparameter</span> <span class="vg">*option-verbosity*</span>
<span class="p">(</span><span class="nv">adopt:make-option</span> <span class="ss">'verbosity</span>
<span class="ss">:short</span> <span class="sc">#\v</span>
- <span class="ss">:help</span> <span class="s">"output more verbose logs"</span>
+ <span class="ss">:help</span> <span class="s">"Output more verbose logs."</span>
<span class="ss">:initial-value</span> <span class="mi">0</span>
<span class="ss">:reduce</span> <span class="nf">#'</span><span class="nb">1+</span><span class="p">))</span>
</pre></div>
@@ -549,7 +592,7 @@
<span class="ss">:parameter</span> <span class="s">"PATTERN"</span>
<span class="ss">:long</span> <span class="s">"repository"</span>
<span class="ss">:short</span> <span class="sc">#\R</span>
- <span class="ss">:help</span> <span class="s">"path to the repository (default .)"</span>
+ <span class="ss">:help</span> <span class="s">"Path to the repository (default .)."</span>
<span class="ss">:initial-value</span> <span class="s">"."</span>
<span class="ss">:reduce</span> <span class="p">(</span><span class="k">lambda</span> <span class="p">(</span><span class="nv">prev</span> <span class="nv">new</span><span class="p">)</span>
<span class="p">(</span><span class="k">declare</span> <span class="p">(</span><span class="k">ignore</span> <span class="nv">prev</span><span class="p">))</span>
@@ -567,7 +610,7 @@
<span class="p">(</span><span class="nv">adopt:make-option</span> <span class="ss">'repository</span>
<span class="ss">:long</span> <span class="s">"repository"</span>
<span class="ss">:short</span> <span class="sc">#\R</span>
- <span class="ss">:help</span> <span class="s">"path to the repository (default .)"</span>
+ <span class="ss">:help</span> <span class="s">"Path to the repository (default .)."</span>
<span class="ss">:initial-value</span> <span class="s">"."</span>
<span class="ss">:reduce</span> <span class="nf">#'</span><span class="nv">adopt:last</span><span class="p">))</span>
</pre></div>
@@ -580,7 +623,7 @@
<span class="p">(</span><span class="nv">adopt:make-option</span> <span class="ss">'exclude</span>
<span class="ss">:long</span> <span class="s">"exclude"</span>
<span class="ss">:parameter</span> <span class="s">"PATTERN"</span>
- <span class="ss">:help</span> <span class="s">"exclude PATTERN (may be given multiple times)"</span>
+ <span class="ss">:help</span> <span class="s">"Exclude PATTERN (may be given multiple times)."</span>
<span class="ss">:initial-value</span> <span class="no">nil</span>
<span class="ss">:reduce</span> <span class="p">(</span><span class="k">lambda</span> <span class="p">(</span><span class="nv">patterns</span> <span class="nv">new</span><span class="p">)</span>
<span class="p">(</span><span class="nb">cons</span> <span class="nv">new</span> <span class="nv">patterns</span><span class="p">))))</span>
@@ -595,7 +638,7 @@
<span class="p">(</span><span class="nv">adopt:make-option</span> <span class="ss">'exclude</span>
<span class="ss">:long</span> <span class="s">"exclude"</span>
<span class="ss">:parameter</span> <span class="s">"PATTERN"</span>
- <span class="ss">:help</span> <span class="s">"exclude PATTERN (may be given multiple times)"</span>
+ <span class="ss">:help</span> <span class="s">"Exclude PATTERN (may be given multiple times)."</span>
<span class="ss">:initial-value</span> <span class="no">nil</span>
<span class="ss">:reduce</span> <span class="p">(</span><span class="nv">adopt:flip</span> <span class="nf">#'</span><span class="nb">cons</span><span class="p">)))</span>
</pre></div>
@@ -611,7 +654,7 @@
<span class="p">(</span><span class="nv">adopt:make-option</span> <span class="ss">'exclude</span>
<span class="ss">:long</span> <span class="s">"exclude"</span>
<span class="ss">:parameter</span> <span class="s">"PATTERN"</span>
- <span class="ss">:help</span> <span class="s">"exclude PATTERN (may be given multiple times)"</span>
+ <span class="ss">:help</span> <span class="s">"Exclude PATTERN (may be given multiple times)."</span>
<span class="ss">:initial-value</span> <span class="no">nil</span>
<span class="ss">:reduce</span> <span class="p">(</span><span class="k">lambda</span> <span class="p">(</span><span class="nv">patterns</span> <span class="nv">new</span><span class="p">)</span>
<span class="p">(</span><span class="nb">append</span> <span class="nv">patterns</span> <span class="p">(</span><span class="nb">list</span> <span class="nv">new</span><span class="p">)))))</span>
@@ -627,7 +670,7 @@
<span class="p">(</span><span class="nv">adopt:make-option</span> <span class="ss">'exclude</span>
<span class="ss">:long</span> <span class="s">"exclude"</span>
<span class="ss">:parameter</span> <span class="s">"PATTERN"</span>
- <span class="ss">:help</span> <span class="s">"exclude PATTERN (may be given multiple times)"</span>
+ <span class="ss">:help</span> <span class="s">"Exclude PATTERN (may be given multiple times)."</span>
<span class="ss">:reduce</span> <span class="nf">#'</span><span class="nv">adopt:collect</span><span class="p">))</span>
</pre></div>
@@ -638,7 +681,7 @@
<span class="p">(</span><span class="nv">adopt:make-option</span> <span class="ss">'exclude</span>
<span class="ss">:long</span> <span class="s">"exclude"</span>
<span class="ss">:parameter</span> <span class="s">"PATTERN"</span>
- <span class="ss">:help</span> <span class="s">"exclude PATTERN (may be given multiple times)"</span>
+ <span class="ss">:help</span> <span class="s">"Exclude PATTERN (may be given multiple times)."</span>
<span class="ss">:reduce</span> <span class="p">(</span><span class="nv">adopt:flip</span> <span class="nf">#'</span><span class="nb">cons</span><span class="p">)</span>
<span class="ss">:finally</span> <span class="nf">#'</span><span class="nb">nreverse</span><span class="p">))</span>
</pre></div>
@@ -674,14 +717,14 @@
help you make a command line interface with all the fixins:</p>
<div class="codehilite"><pre><span/><span class="p">(</span><span class="nb">defparameter</span> <span class="vg">*option-help*</span>
<span class="p">(</span><span class="nv">adopt:make-option</span> <span class="ss">'help</span>
- <span class="ss">:help</span> <span class="s">"display help and exit"</span>
+ <span class="ss">:help</span> <span class="s">"Display help and exit."</span>
<span class="ss">:long</span> <span class="s">"help"</span>
<span class="ss">:short</span> <span class="sc">#\h</span>
<span class="ss">:reduce</span> <span class="p">(</span><span class="nb">constantly</span> <span class="no">t</span><span class="p">)))</span>
<span class="p">(</span><span class="nb">defparameter</span> <span class="vg">*option-literal*</span>
<span class="p">(</span><span class="nv">adopt:make-option</span> <span class="ss">'literal</span>
- <span class="ss">:help</span> <span class="s">"treat PATTERN as a literal string instead of a regex"</span>
+ <span class="ss">:help</span> <span class="s">"Treat PATTERN as a literal string instead of a regex."</span>
<span class="ss">:long</span> <span class="s">"literal"</span>
<span class="ss">:short</span> <span class="sc">#\l</span>
<span class="ss">:reduce</span> <span class="p">(</span><span class="nb">constantly</span> <span class="no">t</span><span class="p">)))</span>
@@ -689,14 +732,14 @@
<span class="p">(</span><span class="nb">defparameter</span> <span class="vg">*option-no-literal*</span>
<span class="p">(</span><span class="nv">adopt:make-option</span> <span class="ss">'no-literal</span>
<span class="ss">:result-key</span> <span class="ss">'literal</span>
- <span class="ss">:help</span> <span class="s">"treat PATTERN as a regex (the default)"</span>
+ <span class="ss">:help</span> <span class="s">"Treat PATTERN as a regex (the default)."</span>
<span class="ss">:long</span> <span class="s">"no-literal"</span>
<span class="ss">:short</span> <span class="sc">#\L</span>
<span class="ss">:reduce</span> <span class="p">(</span><span class="nb">constantly</span> <span class="no">nil</span><span class="p">)))</span>
<span class="p">(</span><span class="nb">defparameter</span> <span class="vg">*option-case-sensitive*</span>
<span class="p">(</span><span class="nv">adopt:make-option</span> <span class="ss">'case-sensitive</span>
- <span class="ss">:help</span> <span class="s">"match case-sensitively (the default)"</span>
+ <span class="ss">:help</span> <span class="s">"Match case-sensitively (the default)."</span>
<span class="ss">:long</span> <span class="s">"case-sensitive"</span>
<span class="ss">:short</span> <span class="sc">#\c</span>
<span class="ss">:initial-value</span> <span class="no">t</span>
@@ -704,7 +747,7 @@
<span class="p">(</span><span class="nb">defparameter</span> <span class="vg">*option-case-insensitive*</span>
<span class="p">(</span><span class="nv">adopt:make-option</span> <span class="ss">'case-insensitive</span>
- <span class="ss">:help</span> <span class="s">"ignore case when matching"</span>
+ <span class="ss">:help</span> <span class="s">"Ignore case when matching."</span>
<span class="ss">:long</span> <span class="s">"case-insensitive"</span>
<span class="ss">:short</span> <span class="sc">#\C</span>
<span class="ss">:result-key</span> <span class="ss">'case-sensitive</span>
@@ -712,13 +755,13 @@
<span class="p">(</span><span class="nb">defparameter</span> <span class="vg">*option-color*</span>
<span class="p">(</span><span class="nv">adopt:make-option</span> <span class="ss">'color</span>
- <span class="ss">:help</span> <span class="s">"highlight matches with color"</span>
+ <span class="ss">:help</span> <span class="s">"Highlight matches with color."</span>
<span class="ss">:long</span> <span class="s">"color"</span>
<span class="ss">:reduce</span> <span class="p">(</span><span class="nb">constantly</span> <span class="no">t</span><span class="p">)))</span>
<span class="p">(</span><span class="nb">defparameter</span> <span class="vg">*option-no-color*</span>
<span class="p">(</span><span class="nv">adopt:make-option</span> <span class="ss">'no-color</span>
- <span class="ss">:help</span> <span class="s">"don't highlight matches (the default)"</span>
+ <span class="ss">:help</span> <span class="s">"Don't highlight matches (the default)."</span>
<span class="ss">:long</span> <span class="s">"no-color"</span>
<span class="ss">:result-key</span> <span class="ss">'color</span>
<span class="ss">:reduce</span> <span class="p">(</span><span class="nb">constantly</span> <span class="no">nil</span><span class="p">)))</span>
@@ -726,7 +769,7 @@
<span class="p">(</span><span class="nb">defparameter</span> <span class="vg">*option-context*</span>
<span class="p">(</span><span class="nv">adopt:make-option</span> <span class="ss">'context</span>
<span class="ss">:parameter</span> <span class="s">"N"</span>
- <span class="ss">:help</span> <span class="s">"show N lines of context (default 0)"</span>
+ <span class="ss">:help</span> <span class="s">"Show N lines of context (default 0)."</span>
<span class="ss">:long</span> <span class="s">"context"</span>
<span class="ss">:short</span> <span class="sc">#\U</span>
<span class="ss">:initial-value</span> <span class="mi">0</span>
@@ -825,7 +868,7 @@
<span class="ss">:parameter</span> <span class="s">"N"</span>
<span class="ss">:long</span> <span class="s">"times"</span>
<span class="ss">:initial-value</span> <span class="mi">1</span>
- <span class="ss">:help</span> <span class="s">"say meow N times (default 1)"</span>
+ <span class="ss">:help</span> <span class="s">"Say meow N times (default 1)."</span>
<span class="ss">:reduce</span> <span class="nf">#'</span><span class="nv">adopt:last</span>
<span class="ss">:key</span> <span class="nf">#'</span><span class="nb">parse-integer</span><span class="p">))))</span>
@@ -894,7 +937,7 @@
<span class="p">(</span><span class="nv">adopt:make-option</span> <span class="ss">'exclude</span>
<span class="ss">:long</span> <span class="s">"exclude"</span>
<span class="ss">:parameter</span> <span class="s">"PATTERN"</span>
- <span class="ss">:help</span> <span class="s">"exclude PATTERN"</span>
+ <span class="ss">:help</span> <span class="s">"Exclude PATTERN."</span>
<span class="ss">:manual</span> <span class="s">"Exclude lines that match PATTERN (a PERL-compatible regular expression) from the search results. Multiple PATTERNs can be specified by giving this option multiple times."</span>
<span class="ss">:reduce</span> <span class="p">(</span><span class="nv">adopt:flip</span> <span class="nf">#'</span><span class="nb">cons</span><span class="p">)))</span>
</pre></div>