diff --git a/include/argparse/argparse.hpp b/include/argparse/argparse.hpp index 4439488..749dfb5 100644 --- a/include/argparse/argparse.hpp +++ b/include/argparse/argparse.hpp @@ -529,12 +529,14 @@ public: std::copy(std::begin(argument.mNames), std::end(argument.mNames), std::ostream_iterator(nameStream, " ")); stream << nameStream.str() << "\t" << argument.mHelp; - if (argument.mIsRequired && !argument.mDefaultValue.has_value()) - stream << "[Required]"; if (argument.mDefaultValue.has_value()) { if (!argument.mHelp.empty()) stream << " "; stream << "[default: " << argument.mDefaultValueRepr << "]"; + } else if (argument.mIsRequired) { + if (!argument.mHelp.empty()) + stream << " "; + stream << "[required]"; } stream << "\n"; return stream;