1
0
mirror of https://github.com/CLIUtils/CLI11.git synced 2025-05-05 06:33:52 +00:00

Better support for subcommand help

This commit is contained in:
Henry Fredrick Schreiner 2017-02-04 14:37:49 -05:00
parent 34b92f6894
commit c028ca298d

View File

@ -1170,8 +1170,8 @@ public:
for(std::unique_ptr<App> &com : subcommands) {
if(com->name == args.back()){
args.pop_back();
com->parse(args);
subcommand = com.get();
com->parse(args);
return;
}
}
@ -1313,12 +1313,19 @@ public:
throw OptionNotFound(name);
}
std::string help(size_t wid=30) const {
std::string help(size_t wid=30, std::string prev="") const {
// Delegate to subcommand if needed
if(prev == "")
prev = progname;
else
prev += " " + name;
if(subcommand != nullptr)
return subcommand->help(wid, prev);
std::stringstream out;
if(name != "")
out << "Subcommand: " << name << " ";
out << prog_discription << std::endl;
out << "Usage: " << progname;
out << "Usage: " << prev;
// Check for options
bool npos = false;