diff options
| -rw-r--r-- | args.hxx | 45 | 
1 files changed, 40 insertions, 5 deletions
| @@ -575,6 +575,30 @@ namespace args           */          std::string proglineCommand = "COMMAND"; +        /** The prefix for progline value +         */ +        std::string proglineValueOpen = " <"; + +        /** The postfix for progline value +         */ +        std::string proglineValueClose = ">"; + +        /** The prefix for progline required argument +         */ +        std::string proglineRequiredOpen = ""; + +        /** The postfix for progline required argument +         */ +        std::string proglineRequiredClose = ""; + +        /** The prefix for progline non-required argument +         */ +        std::string proglineNonrequiredOpen = "["; + +        /** The postfix for progline non-required argument +         */ +        std::string proglineNonrequiredClose = "]"; +          /** Show flags in program line           */          bool proglineShowFlags = false; @@ -602,6 +626,15 @@ namespace args          /** Add newline before flag description           */          bool addNewlineBeforeDescription = false; + +        /** The prefix for option value +         */ +        std::string valueOpen = "["; + +        /** The postfix for option value +         */ +        std::string valueClose = "]"; +      };      /** Base class for all match types @@ -854,10 +887,11 @@ namespace args                  std::string res = flag.str(params.shortPrefix, params.longPrefix);                  if (!postfix.empty())                  { -                    res += " <" + postfix + ">"; +                    res += params.proglineValueOpen + postfix + params.proglineValueClose;                  } -                return { IsRequired() ? res : "[" + res + "]" }; +                return { IsRequired() ? params.proglineRequiredOpen + res + params.proglineRequiredClose +                                      : params.proglineNonrequiredOpen + res + params.proglineNonrequiredClose };              }              virtual std::vector<std::tuple<std::string, std::string, unsigned>> GetDescription(const HelpParams ¶ms, const unsigned indentLevel) const override @@ -881,7 +915,7 @@ namespace args                      if (!postfix.empty() && (!useValueNameOnce || it + 1 == flagStrings.end()))                      {                          flags += flag.isShort ? params.shortSeparator : params.longSeparator; -                        flags += "[" + postfix + "]"; +                        flags += params.valueOpen + postfix + params.valueClose;                      }                  } @@ -981,9 +1015,10 @@ namespace args                  return true;              } -            virtual std::vector<std::string> GetProgramLine(const HelpParams &) const override +            virtual std::vector<std::string> GetProgramLine(const HelpParams ¶ms) const override              { -                return { IsRequired() ? Name() : "[" + Name() + ']' }; +                return { IsRequired() ? params.proglineRequiredOpen + Name() + params.proglineRequiredClose +                                      : params.proglineNonrequiredOpen + Name() + params.proglineNonrequiredClose };              }              virtual void Validate(const std::string &, const std::string &) const override | 
