X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Console%2FOverloadedCommand.cc;h=ecc5c44488cc81d72ed4369e5ea83754094b01c6;hb=da1843a0fc5dfaea09d7d7ab3adf2d30795e04c5;hp=47a08dcef7f68630e056ce2592c94c24129b96c0;hpb=5209d7573f53f4b32730833af00668f5c0e56147;p=senf.git diff --git a/Console/OverloadedCommand.cc b/Console/OverloadedCommand.cc index 47a08dc..ecc5c44 100644 --- a/Console/OverloadedCommand.cc +++ b/Console/OverloadedCommand.cc @@ -80,7 +80,9 @@ prefix_ void senf::console::OverloadedCommandNode::v_help(std::ostream & os) Overloads::const_iterator const i_end (overloads_.end()); unsigned index (1); for (; i != i_end; ++i, ++index) { - os << " " << index << "- " << name(); + os << " "; + if (overloads_.size() > 1) os << index << "- "; + os << name(); for (unsigned j (0); j < (*i)->numArguments(); ++j) { ArgumentDoc arg; (*i)->argumentDoc(j, arg); @@ -94,7 +96,7 @@ prefix_ void senf::console::OverloadedCommandNode::v_help(std::ostream & os) if (! arg.defaultValue.empty()) os << ']'; - if (! arg.name.empty()) { + if (! arg.name.empty() || ! arg.defaultValue.empty()) { ArgumentDocs::iterator k (argumentDocs.begin()); ArgumentDocs::iterator const k_end (argumentDocs.end()); for (; k != k_end; ++k) @@ -121,7 +123,7 @@ prefix_ void senf::console::OverloadedCommandNode::v_help(std::ostream & os) ArgumentDocs::const_iterator i (argumentDocs.begin()); ArgumentDocs::const_iterator const i_end (argumentDocs.end()); for (; i != i_end; ++i) { - if (! i->doc.empty()) { + if (! i->doc.empty() || ! i->defaultValue.empty()) { os << " " << i->name << std::string(i->name.length()<8 ? 8-i->name.length() : 0, ' ') @@ -143,9 +145,12 @@ prefix_ void senf::console::OverloadedCommandNode::v_help(std::ostream & os) unsigned index (1); for (; i != i_end; ++i, ++index) { std::string overloadDoc ((*i)->doc()); - if (! overloadDoc.empty()) - os << "\n" << "Variant " << index << ":\n" - << overloadDoc << "\n"; + if (! overloadDoc.empty()) { + os << "\n"; + if (overloads_.size() > 1) + os << "Variant " << index << ":\n"; + os << overloadDoc << "\n"; + } } } }