diff --git a/tdutils/td/utils/OptionsParser.cpp b/tdutils/td/utils/OptionsParser.cpp index f83216359..9090cdcf4 100644 --- a/tdutils/td/utils/OptionsParser.cpp +++ b/tdutils/td/utils/OptionsParser.cpp @@ -17,7 +17,7 @@ namespace td { -void OptionsParser::set_description(std::string description) { +void OptionsParser::set_description(string description) { description_ = std::move(description); } @@ -44,7 +44,6 @@ Result OptionsParser::run(int argc, char *argv[]) { char buff[1024]; StringBuilder sb(MutableSlice{buff, sizeof(buff)}); for (auto &opt : options_) { - CHECK(opt.type != Option::Type::OptionalArg); sb << opt.short_key; if (opt.type == Option::Type::Arg) { sb << ":"; @@ -112,15 +111,9 @@ StringBuilder &operator<<(StringBuilder &sb, const OptionsParser &o) { if (!opt.long_key.empty()) { sb << "|--" << opt.long_key; } - if (opt.type == OptionsParser::Option::Type::OptionalArg) { - sb << "["; - } if (opt.type != OptionsParser::Option::Type::NoArg) { sb << ""; } - if (opt.type == OptionsParser::Option::Type::OptionalArg) { - sb << "]"; - } sb << "\t" << opt.description; sb << "\n"; } diff --git a/tdutils/td/utils/OptionsParser.h b/tdutils/td/utils/OptionsParser.h index 1464379b8..fea61a1ca 100644 --- a/tdutils/td/utils/OptionsParser.h +++ b/tdutils/td/utils/OptionsParser.h @@ -18,20 +18,20 @@ namespace td { class OptionsParser { class Option { public: - enum class Type { NoArg, Arg, OptionalArg }; + enum class Type { NoArg, Arg }; Type type; char short_key; - std::string long_key; - std::string description; + string long_key; + string description; std::function arg_callback; }; - public: - void set_description(std::string description); - void add_option(Option::Type type, char short_key, Slice long_key, Slice description, std::function callback); + public: + void set_description(string description); + void add_option(char short_key, Slice long_key, Slice description, std::function callback); void add_option(char short_key, Slice long_key, Slice description, std::function callback); @@ -41,8 +41,8 @@ class OptionsParser { friend StringBuilder &operator<<(StringBuilder &sb, const OptionsParser &o); private: - std::vector