# HG changeset patch # User David Demelier # Date 1479144934 -3600 # Node ID aab46e17cb27f2f426fa580afc05508d83251447 # Parent 15da984ce7ea847db4e7693c515a61493a329939 Irccdctl: show help usage about command diff -r 15da984ce7ea -r aab46e17cb27 irccdctl/main.cpp --- a/irccdctl/main.cpp Mon Nov 14 13:32:38 2016 +0100 +++ b/irccdctl/main.cpp Mon Nov 14 18:35:34 2016 +0100 @@ -81,6 +81,21 @@ std::exit(1); } +void help(const std::string &command) +{ + auto it = std::find_if(commands.begin(), commands.end(), [&] (const auto &c) { + return c->name() == command; + }); + + if (it == commands.end()) { + log::warning() << "no command named " << command << std::endl; + } else { + log::warning() << (*it)->help() << std::endl; + } + + std::exit(1); +} + /* * Configuration file parsing. * ------------------------------------------------------------------- @@ -539,7 +554,10 @@ // NOTREACHED } if (std::strcmp(argv[0], "help") == 0) { - help(); + if (argc >= 2) + help(argv[1]); + else + help(); // NOTREACHED }