NestedCommandLineApp::NestedCommandLineApp(
std::string programName,
std::string version,
+ std::string programHeading,
+ std::string programHelpFooter,
InitFunction initFunction)
- : programName_(std::move(programName)),
- version_(std::move(version)),
- initFunction_(std::move(initFunction)),
- globalOptions_("Global options") {
+ : programName_(std::move(programName)),
+ programHeading_(std::move(programHeading)),
+ programHelpFooter_(std::move(programHelpFooter)),
+ version_(std::move(version)),
+ initFunction_(std::move(initFunction)),
+ globalOptions_("Global options") {
addCommand("help", "[command]",
"Display help (globally or for a given command)",
"Displays help (globally or for a given command).",
if (args.empty()) {
// General help
printf(
- "Usage: %s [global_options...] <command> [command_options...] "
- "[command_args...]\n\n", programName_.c_str());
+ "%s\nUsage: %s [global_options...] <command> [command_options...] "
+ "[command_args...]\n\n",
+ programHeading_.c_str(),
+ programName_.c_str());
std::cout << globalOptions_;
printf("\nAvailable commands:\n");
int(maxLen), p.first.c_str(), resolveAlias(p.second).c_str());
}
}
+ std::cout << "\n" << programHelpFooter_ << "\n";
} else {
// Help for a given command
auto& p = findCommand(args.front());
explicit NestedCommandLineApp(
std::string programName = std::string(),
std::string version = std::string(),
+ std::string programHeading = std::string(),
+ std::string programHelpFooter = std::string(),
InitFunction initFunction = InitFunction());
/**
const std::vector<std::string>& args);
std::string programName_;
+ std::string programHeading_;
+ std::string programHelpFooter_;
std::string version_;
InitFunction initFunction_;
boost::program_options::options_description globalOptions_;