internal static void WriteOptionValueError( string value, OptionValue optionValue, OptionValueProvider?provider = null) { WriteOptionValueError(value, optionValue, OptionValueProviders.GetHelpText(provider, multiline: true)); }
public static void WriteCommandHelp(Command command, bool includeValues = false, Filter?filter = null) { var writer = new ConsoleHelpWriter(new HelpWriterOptions(filter: filter)); command = command.WithOptions(command.Options.Sort(CompareOptions)); CommandHelp commandHelp = CommandHelp.Create(command, OptionValueProviders.Providers, filter: filter); writer.WriteCommand(commandHelp); if (includeValues) { writer.WriteValues(commandHelp.Values); } else { IEnumerable <string> metaValues = OptionValueProviders.GetProviders(commandHelp.Options.Select(f => f.Option), OptionValueProviders.Providers).Select(f => f.Name); if (metaValues.Any()) { WriteLine(); Write($"Run 'orang help {command.Name} -v d' to display list of allowed values for "); Write(TextHelpers.Join(", ", " and ", metaValues)); WriteLine("."); } } }
public static bool TryParseAsEnum <TEnum>( string value, string optionName, out TEnum result, TEnum?defaultValue = null, OptionValueProvider?provider = null) where TEnum : struct { if (!TryParseAsEnum(value, out result, defaultValue, provider)) { string allowedValues = OptionValueProviders.GetHelpText(provider, multiline: true) ?? OptionValue.GetDefaultHelpText <TEnum>(multiline: true); WriteOptionError(value, optionName, allowedValues); return(false); } return(true); }