# HG changeset patch # User Steve Losh <steve@stevelosh.com> # Date 1577132101 18000 # Node ID 8058918d4932eb0cd5a0513eaeba0a5c8d89feb3 # Parent f204de42ccef92dca1169845f46fb095d7667dc0 adopt: Update site. diff -r f204de42ccef -r 8058918d4932 adopt/index.html --- a/adopt/index.html Mon Dec 23 14:58:52 2019 -0500 +++ b/adopt/index.html Mon Dec 23 15:15:01 2019 -0500 @@ -17,14 +17,13 @@ Python's optparse and argparse.</p> <ul> <li><strong>License:</strong> MIT</li> -<li><strong>Documentation:</strong> <a href="https://sjl.bitbucket.io/adopt/">https://sjl.bitbucket.io/adopt/</a></li> -<li><strong>Mercurial:</strong> <a href="https://bitbucket.org/sjl/adopt/">https://bitbucket.org/sjl/adopt/</a></li> +<li><strong>Documentation:</strong> <a href="https://docs.stevelosh.com/adopt/">https://docs.stevelosh.com/adopt/</a></li> +<li><strong>Mercurial:</strong> <a href="https://hg.sr.ht/~sjl/adopt/">https://hg.sr.ht/~sjl/adopt/</a></li> <li><strong>Git:</strong> <a href="https://github.com/sjl/adopt/">https://github.com/sjl/adopt/</a></li> </ul> <p>Adopt aims to be a simple, robust option parser. It can automatically print help information and even generate <code>man</code> pages for you.</p> -<p>Adopt is compatible with Quicklisp, but not <em>in</em> Quicklisp (yet). You can clone -the repository into your <a href="https://www.quicklisp.org/beta/faq.html#local-project">Quicklisp local-projects directory</a> for now.</p> +<p>Adopt can be installed with Quicklisp: <code>(ql:quickload :adopt)</code>.</p> <p>The <code>adopt</code> system contains the core API and depends on <a href="https://github.com/sjl/bobbin">Bobbin</a> and <a href="https://www.cliki.net/split-sequence">split-sequence</a>.</p> <p>The <code>adopt/test</code> system contains the test suite, which depends on some other diff -r f204de42ccef -r 8058918d4932 adopt/installation/index.html --- a/adopt/installation/index.html Mon Dec 23 14:58:52 2019 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,39 +0,0 @@ -<!DOCTYPE html> -<html> - <head> - <meta charset="utf-8"/> - <title>Installation / Adopt</title> - <link rel="stylesheet" href="../_dmedia/tango.css"/> - <link rel="stylesheet/less" type="text/css" href="../_dmedia/style.less"/> - <script src="../_dmedia/less.js" type="text/javascript"> - </script> - </head> - <body class="content"> - <div class="wrap"> - <header><h1><a href="..">Adopt</a></h1></header> - <div class="markdown"> -<h1 id="installation"><a href="">Installation</a></h1><p>Adopt is compatible with Quicklisp, but not <em>in</em> Quicklisp (yet?). You can -clone the repository into your <a href="https://www.quicklisp.org/beta/faq.html#local-project">Quicklisp local-projects directory</a> for -now.</p> -<p>The <code>adopt</code> system contains the core API and depends on <a href="https://github.com/sjl/bobbin">Bobbin</a> and -<a href="https://www.cliki.net/split-sequence">split-sequence</a>.</p> -<p>The <code>adopt.test</code> system contains the test suite, which uses depends on some -other systems. You don't need to load this unless you want to run the unit -tests.</p> - </div> - <footer><p><i>Made with Lisp and love by <a href="http://stevelosh.com/">Steve Losh</a>.</i></p> -<p><a href="http://rochestermade.com" title="Rochester Made"><img src="http://rochestermade.com/media/images/rochester-made-dark-on-light.png" alt="Rochester Made" title="Rochester Made"/></a></p> - -<script> - (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ - (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), - m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) - })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); - - ga('create', 'UA-15328874-3', 'auto'); - ga('send', 'pageview'); - -</script></footer> - </div> - </body> -</html> \ No newline at end of file diff -r f204de42ccef -r 8058918d4932 adopt/reference/index.html --- a/adopt/reference/index.html Mon Dec 23 14:58:52 2019 -0500 +++ b/adopt/reference/index.html Mon Dec 23 15:15:01 2019 -0500 @@ -32,6 +32,7 @@ <li><a href="#make-interface-function">MAKE-INTERFACE (function)</a></li> <li><a href="#make-option-function">MAKE-OPTION (function)</a></li> <li><a href="#parse-options-function">PARSE-OPTIONS (function)</a></li> +<li><a href="#parse-options-or-exit-function">PARSE-OPTIONS-OR-EXIT (function)</a></li> <li><a href="#print-error-and-exit-function">PRINT-ERROR-AND-EXIT (function)</a></li> <li><a href="#print-help-function">PRINT-HELP (function)</a></li> <li><a href="#print-help-and-exit-function">PRINT-HELP-AND-EXIT (function)</a></li> @@ -202,6 +203,21 @@ <li>An <code>EQL</code> hash table of option keys to values.</li> </ol> <p>See the full documentation for more information.</p> +<h3 id="parse-options-or-exit-function"><code>PARSE-OPTIONS-OR-EXIT</code> (function)</h3> +<div class="codehilite"><pre><span/>(PARSE-OPTIONS-OR-EXIT INTERFACE &OPTIONAL (ARGUMENTS (REST (ARGV)))) +</pre></div> + + +<p>Parse <code>arguments</code> according to <code>interface</code>, exiting if any error occurs.</p> +<p>Two values are returned:</p> +<ol> +<li>A fresh list of top-level, unaccounted-for arguments that don't correspond + to any options defined in <code>interface</code>.</li> +<li>An <code>EQL</code> hash table of option keys to values.</li> +</ol> +<p>If an error occurs while parsing the arguments, exits immediately as if with + <code>adopt:print-error-and-exit</code>.</p> +<p>See the full documentation for more information.</p> <h3 id="print-error-and-exit-function"><code>PRINT-ERROR-AND-EXIT</code> (function)</h3> <div class="codehilite"><pre><span/>(PRINT-ERROR-AND-EXIT ERROR &KEY (STREAM *ERROR-OUTPUT*) (EXIT-FUNCTION #'EXIT) (EXIT-CODE 1) (PREFIX error: )) diff -r f204de42ccef -r 8058918d4932 adopt/usage/index.html --- a/adopt/usage/index.html Mon Dec 23 14:58:52 2019 -0500 +++ b/adopt/usage/index.html Mon Dec 23 15:15:01 2019 -0500 @@ -138,7 +138,7 @@ </pre></div> -<p>Adopt's line-wrapping library <a href="https://sjl.bitbucket.io/bobbin/">Bobbin</a> will only ever <em>add</em> line breaks, never +<p>Adopt's line-wrapping library <a href="https://docs.stevelosh.com/bobbin/">Bobbin</a> will only ever <em>add</em> line breaks, never remove them, which means you can include breaks in the output if you want to have multiple paragraphs in your help text. Once again, <code>format</code> is your friend:</p>