Properly handle CaseInsensitiveEnumValues flag. by niklaskarl · Pull Request #231 · commandlineparser/commandline
Expand Up
@@ -17,6 +17,7 @@ public static ParserResult<object> Choose(
IEnumerable<Type> types,
IEnumerable<string> arguments,
StringComparer nameComparer,
bool ignoreValueCase,
CultureInfo parsingCulture,
IEnumerable<ErrorType> nonFatalErrors)
{
Expand All
@@ -36,7 +37,7 @@ public static ParserResult<object> Choose(
arguments.Skip(1).FirstOrDefault() ?? string.Empty, nameComparer))
: preprocCompare("version")
? MakeNotParsed(types, new VersionRequestedError())
: MatchVerb(tokenizer, verbs, arguments, nameComparer, parsingCulture, nonFatalErrors);
: MatchVerb(tokenizer, verbs, arguments, nameComparer, ignoreValueCase, parsingCulture, nonFatalErrors);
};
return arguments.Any() Expand All @@ -49,6 +50,7 @@ private static ParserResult<object> MatchVerb( IEnumerable<Tuple<Verb, Type>> verbs, IEnumerable<string> arguments, StringComparer nameComparer, bool ignoreValueCase, CultureInfo parsingCulture, IEnumerable<ErrorType> nonFatalErrors) { Expand All @@ -60,7 +62,7 @@ private static ParserResult<object> MatchVerb( tokenizer, arguments.Skip(1), nameComparer, false, ignoreValueCase, parsingCulture, nonFatalErrors) : MakeNotParsed(verbs.Select(v => v.Item2), new BadVerbSelectedError(arguments.First())); Expand Down
return arguments.Any() Expand All @@ -49,6 +50,7 @@ private static ParserResult<object> MatchVerb( IEnumerable<Tuple<Verb, Type>> verbs, IEnumerable<string> arguments, StringComparer nameComparer, bool ignoreValueCase, CultureInfo parsingCulture, IEnumerable<ErrorType> nonFatalErrors) { Expand All @@ -60,7 +62,7 @@ private static ParserResult<object> MatchVerb( tokenizer, arguments.Skip(1), nameComparer, false, ignoreValueCase, parsingCulture, nonFatalErrors) : MakeNotParsed(verbs.Select(v => v.Item2), new BadVerbSelectedError(arguments.First())); Expand Down