summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2015-11-19 14:53:52 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2015-11-19 14:53:52 +0200
commit813e4744038ec3a1ca8095111074c1cb2a824d83 (patch)
treec4cda65a3280c09c50c0a3e227cdff5b43240247 /doc
parent3e34f8ac2ba3b719f13a8f9ef7422cbee8b02192 (diff)
Implement entire page usage generation
Diffstat (limited to 'doc')
-rw-r--r--doc/cli.120
-rw-r--r--doc/cli.xhtml20
2 files changed, 40 insertions, 0 deletions
diff --git a/doc/cli.1 b/doc/cli.1
index 663fdaf..a50a1bc 100644
--- a/doc/cli.1
+++ b/doc/cli.1
@@ -116,6 +116,26 @@ usage versions\. In this mode, the usage printing functions are called
\fBprint_short_usage()\fR and \fBprint_long_usage()\fR and for the long usage
the long documentation string is always used, even if the short version is
provided\.
+.IP "\fB--page-usage\fR \fIname\fR"
+Generate the combined usage printing code for the entire page\. Specifically,
+this will include all the namespace-level documentation as well as usage for
+all the options classes printed in the order they are defined in the main
+translation unit (documentation/classes from included units are ignored except
+for base classes)\.
+
+The \fIname\fR argument is used as a prefix to form the name of the usage
+printing function\. It can include the namespace qualification as well as
+documentation variable expansion, for example:
+
+.nf
+--page-usage print_ # print_usage() in global namespace
+--page-usage app::print_ # print_usage() in app namespace
+--page-usage print_$name$_ # print_foo_usage() if name is foo
+.fi
+
+If both \fB--long-usage\fR and \fB--short-usage\fR options are specified, then
+two functions are generated with the \fB*short_usage()\fR and
+\fB*long_usage()\fR suffixes\.
.IP "\fB--option-length\fR \fIlen\fR"
Indent option descriptions \fIlen\fR characters when printing usage\. This is
useful when you have multiple options classes, potentially in separate files,
diff --git a/doc/cli.xhtml b/doc/cli.xhtml
index 305087c..92f237b 100644
--- a/doc/cli.xhtml
+++ b/doc/cli.xhtml
@@ -159,6 +159,26 @@
documentation string is always used, even if the short version is
provided.</dd>
+ <dt><code><b>--page-usage</b></code> <i>name</i></dt>
+ <dd>Generate the combined usage printing code for the entire page.
+ Specifically, this will include all the namespace-level documentation as
+ well as usage for all the options classes printed in the order they are
+ defined in the main translation unit (documentation/classes from included
+ units are ignored except for base classes).
+
+ <p>The <i>name</i> argument is used as a prefix to form the name of the
+ usage printing function. It can include the namespace qualification as
+ well as documentation variable expansion, for example:</p>
+
+ <pre>--page-usage print_ # print_usage() in global namespace
+--page-usage app::print_ # print_usage() in app namespace
+--page-usage print_$name$_ # print_foo_usage() if name is foo</pre>
+
+ <p>If both <code><b>--long-usage</b></code> and
+ <code><b>--short-usage</b></code> options are specified, then two
+ functions are generated with the <code><b>*short_usage()</b></code> and
+ <code><b>*long_usage()</b></code> suffixes.</p></dd>
+
<dt><code><b>--option-length</b></code> <i>len</i></dt>
<dd>Indent option descriptions <i>len</i> characters when printing usage.
This is useful when you have multiple options classes, potentially in