Beispiel #1
0
        private static string CreateArg(CliArgAttribute arg, string argStyle, string valueStyle, string delimiterStyle, bool useOptionalDelimiters = true)
        {
            var name = arg.Names[0];

            return(!string.IsNullOrEmpty(arg.ValueName)
                ? string.Format(
                       "{10}{6}{11}{0}{1}{2} {10}{8}{11}{3}{4}{5}{10}{9}{11}{10}{7}{11}",
                       argStyle,
                       name,
                       GetReset(argStyle),
                       valueStyle,
                       arg.ValueName,
                       GetReset(valueStyle),
                       arg.IsRequired || !useOptionalDelimiters ? "" : Cli.Escape(_optionalDelimterLeft),
                       arg.IsRequired || !useOptionalDelimiters ? "" : Cli.Escape(_optionalDelimterRight),
                       Cli.Escape(_valueDelimterLeft),
                       Cli.Escape(_valueDelimterRight),
                       delimiterStyle,
                       GetReset(delimiterStyle))
                : string.Format(
                       "{5}{3}{6}{0}{1}{2}{5}{4}{6}",
                       argStyle,
                       name,
                       GetReset(argStyle),
                       arg.IsRequired || !useOptionalDelimiters ? "" : Cli.Escape(_optionalDelimterLeft),
                       arg.IsRequired || !useOptionalDelimiters ? "" : Cli.Escape(_optionalDelimterRight),
                       delimiterStyle,
                       GetReset(delimiterStyle)));
        }
Beispiel #2
0
 private static string CreateArgDescription(
     CliArgAttribute arg,
     string argStyle,
     string valueStyle,
     string delimiterStyle) =>
 string.Format(
     "~Cyan~{0}~R~{2}{3}{1}{3}",
     CreateArg(
         arg,
         argStyle,
         valueStyle,
         delimiterStyle,
         useOptionalDelimiters: false),
     arg.Description,
     arg.IsRequired ? " ~DarkYellow~(Required)~R~" : "",
     Environment.NewLine);
Beispiel #3
0
 public CliArgProperty(PropertyInfo property, CliArgAttribute attribute)
 {
     Property  = property;
     Attribute = attribute;
 }