From 957fd18c38e3bb1c9c489b40a0cbdf865e821294 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Tue, 1 Sep 2015 16:43:18 +0200 Subject: Allow specification of argument documentation for flags If all three documentation strings are specified for a bool option, then the usage, html, and man documentation will include the argument documentation (first string), just like for non-flag options. This is primarily useful for using options to handle commands where you may want to end up with something like "help [] ". --- cli/html.cxx | 4 ++-- cli/man.cxx | 4 ++-- cli/source.cxx | 6 +++--- 3 files changed, 7 insertions(+), 7 deletions(-) (limited to 'cli') diff --git a/cli/html.cxx b/cli/html.cxx index 8897f4e..1b60827 100644 --- a/cli/html.cxx +++ b/cli/html.cxx @@ -44,7 +44,7 @@ namespace std::set arg_set; - if (type != "bool") + if (type != "bool" || doc.size () >= 3) { string s ( translate_arg ( @@ -60,7 +60,7 @@ namespace // If we have both the long and the short descriptions, use // the long one. // - if (type == "bool") + if (type == "bool" && doc.size () < 3) { if (doc.size () > 1) d = doc[1]; diff --git a/cli/man.cxx b/cli/man.cxx index 576ee04..218cd57 100644 --- a/cli/man.cxx +++ b/cli/man.cxx @@ -44,7 +44,7 @@ namespace std::set arg_set; - if (type != "bool") + if (type != "bool" || doc.size () >= 3) { string s ( translate_arg ( @@ -60,7 +60,7 @@ namespace // If we have both the long and the short descriptions, use // the long one. // - if (type == "bool") + if (type == "bool" && doc.size () < 3) { if (doc.size () > 1) d = doc[1]; diff --git a/cli/source.cxx b/cli/source.cxx index 7fb1391..2bf1c0f 100644 --- a/cli/source.cxx +++ b/cli/source.cxx @@ -203,7 +203,7 @@ namespace string type (o.type ().name ()); - if (type != "bool") + if (type != "bool" || doc.size () >= 3) { l++; // ' ' seperator @@ -260,7 +260,7 @@ namespace string type (o.type ().name ()); - if (type != "bool") + if (type != "bool" || doc.size () >= 3) { os << ' '; l++; @@ -284,7 +284,7 @@ namespace // string d; - if (type == "bool") + if (type == "bool" && doc.size () < 3) { if (doc.size () > 1) d = doc[0]; -- cgit v1.1