diff --git a/cmdopt2/parser.cpp b/cmdopt2/parser.cpp index b9387d7c..b2fffd2b 100644 --- a/cmdopt2/parser.cpp +++ b/cmdopt2/parser.cpp @@ -211,15 +211,24 @@ usage ( for (auto const &arg: keyword) { auto const &delimiters = arg.required ? REQUIRED : OPTIONAL; - if (arg.short_) - fmt::print (output, " {}-{}{}", delimiters[0], '-', *arg.short_, delimiters[1]); - if (arg.long_) - fmt::print (output, " {}--{}{}", delimiters[0], "--", *arg.long_, delimiters[1]); + if (arg.short_) { + fmt::print (output, FMT_STRING (" {}-{}"), delimiters[0], *arg.short_); + if (arg.acceptor1) + fmt::print (output, FMT_STRING (" <{}>"), arg.name); + fmt::print (output, FMT_STRING ("{}"), delimiters[1]); + } + + if (arg.long_) { + fmt::print (output, FMT_STRING (" {}--{}"), delimiters[0], *arg.long_); + if (arg.acceptor1) + fmt::print (output, FMT_STRING (" <{}>"), arg.name); + fmt::print (output, FMT_STRING ("{}"), delimiters[1]); + } } for (auto const &arg: positional) { auto const &delimiters = arg.required ? REQUIRED : OPTIONAL; - fmt::print (output, " {}{}{}", delimiters[0], arg.name, delimiters[1]); + fmt::print (output, FMT_STRING (" {}{}{}"), delimiters[0], arg.name, delimiters[1]); } fmt::print (output, "\n");