summaryrefslogtreecommitdiff
path: root/cli/cli/source.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'cli/cli/source.cxx')
-rw-r--r--cli/cli/source.cxx19
1 files changed, 16 insertions, 3 deletions
diff --git a/cli/cli/source.cxx b/cli/cli/source.cxx
index b6df839..3c04d1a 100644
--- a/cli/cli/source.cxx
+++ b/cli/cli/source.cxx
@@ -110,8 +110,12 @@ namespace
for (names::name_iterator i (n.name_begin ()); i != n.name_end (); ++i)
{
os << "_cli_" << scope << "_map_[\"" << *i << "\"] =" << endl
- << "&" << cli << "::thunk< " << scope << ", " << type << ", " <<
- "&" << scope << "::" << member;
+ << "&" << cli << "::thunk< " << scope;
+
+ if (type != "bool")
+ os << ", " << type;
+
+ os << ", " << "&" << scope << "::" << member;
if (gen_specifier && type != "bool")
os << "," << endl
@@ -278,6 +282,9 @@ namespace
: (n == 1 ? ds[0] : ds[1]); // Else, use common (no first sentence).
}
+ if (options.ascii_tree ())
+ preprocess_ascii_tree (d);
+
std::set<string> arg_set;
if (n > 1 && options.ansi_color ())
translate_arg (ds[0], arg_set);
@@ -345,6 +352,8 @@ namespace
{
l++; // ' ' seperator
+ // Note: we naturally assume this doesn't need --ascii-tree treatment.
+ //
string s (doc.size () > 0 ? doc[0] : string ("<arg>"));
if (options.ansi_color ())
@@ -439,6 +448,8 @@ namespace
os << ' ';
l++;
+ // Note: we naturally assume this doesn't need --ascii-tree treatment.
+ //
string s (doc.size () > 0 ? doc[0] : string ("<arg>"));
if (color)
@@ -475,6 +486,9 @@ namespace
}
}
+ if (options.ascii_tree ())
+ preprocess_ascii_tree (d);
+
// Format the documentation string.
//
if (color)
@@ -1262,7 +1276,6 @@ generate_source (context& ctx)
ostream& os (ctx.os);
os << "#include <map>" << endl
- << "#include <cstring>" << endl
<< endl;
traversal::cli_unit unit;