diff options
author | Pavel Belikov <pavel.fuchs.belikov@gmail.com> | 2017-11-14 22:47:49 +0300 |
---|---|---|
committer | Pavel Belikov <pavel.fuchs.belikov@gmail.com> | 2017-11-14 22:47:49 +0300 |
commit | 029dd296063c0810d40830567216c92b8cca0f79 (patch) | |
tree | 4d77fce4d5c42caa4ca8cd376ad67f0fe2d2c70d /args.hxx | |
parent | add leading whitespace support in Wrap (diff) | |
download | args.hxx-029dd296063c0810d40830567216c92b8cca0f79.tar.xz |
fix HelpParams::showValueNameOnce
Diffstat (limited to 'args.hxx')
-rw-r--r-- | args.hxx | 13 |
1 files changed, 5 insertions, 8 deletions
@@ -867,27 +867,24 @@ namespace args std::string flags; const auto flagStrings = matcher.GetFlagStrings(); const bool useValueNameOnce = flagStrings.size() == 1 ? false : params.useValueNameOnce; - for (const auto &flag : flagStrings) + for (auto it = flagStrings.begin(); it != flagStrings.end(); ++it) { - if (!flags.empty()) + auto &flag = *it; + if (it != flagStrings.begin()) { flags += ", "; } flags += flag.isShort ? params.shortPrefix : params.longPrefix; flags += flag.str(); - if (!postfix.empty() && !useValueNameOnce) + + if (!postfix.empty() && (!useValueNameOnce || it + 1 == flagStrings.end())) { flags += flag.isShort ? params.shortSeparator : params.longSeparator; flags += "[" + postfix + "]"; } } - if (!postfix.empty() && useValueNameOnce) - { - flags += " [" + postfix + "]"; - } - std::get<0>(description) = std::move(flags); std::get<1>(description) = help; std::get<2>(description) = indentLevel; |