diff --git a/src/CommandLine/Core/InstanceChooser.cs b/src/CommandLine/Core/InstanceChooser.cs index f68216b1..66e0e91c 100644 --- a/src/CommandLine/Core/InstanceChooser.cs +++ b/src/CommandLine/Core/InstanceChooser.cs @@ -17,6 +17,7 @@ public static ParserResult Choose( IEnumerable types, IEnumerable arguments, StringComparer nameComparer, + bool ignoreValueCase, CultureInfo parsingCulture, IEnumerable nonFatalErrors) { @@ -36,7 +37,7 @@ public static ParserResult 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() @@ -49,6 +50,7 @@ private static ParserResult MatchVerb( IEnumerable> verbs, IEnumerable arguments, StringComparer nameComparer, + bool ignoreValueCase, CultureInfo parsingCulture, IEnumerable nonFatalErrors) { @@ -60,7 +62,7 @@ private static ParserResult MatchVerb( tokenizer, arguments.Skip(1), nameComparer, - false, + ignoreValueCase, parsingCulture, nonFatalErrors) : MakeNotParsed(verbs.Select(v => v.Item2), new BadVerbSelectedError(arguments.First())); diff --git a/src/CommandLine/Parser.cs b/src/CommandLine/Parser.cs index 69a7e862..8defeec9 100644 --- a/src/CommandLine/Parser.cs +++ b/src/CommandLine/Parser.cs @@ -156,6 +156,7 @@ public ParserResult ParseArguments(IEnumerable args, params Type types, args, settings.NameComparer, + settings.CaseInsensitiveEnumValues, settings.ParsingCulture, HandleUnknownArguments(settings.IgnoreUnknownArguments)), settings); diff --git a/tests/CommandLine.Tests/Unit/Core/InstanceChooserTests.cs b/tests/CommandLine.Tests/Unit/Core/InstanceChooserTests.cs index 96d175b1..29b0394b 100644 --- a/tests/CommandLine.Tests/Unit/Core/InstanceChooserTests.cs +++ b/tests/CommandLine.Tests/Unit/Core/InstanceChooserTests.cs @@ -22,6 +22,7 @@ private static ParserResult InvokeChoose( types, arguments, StringComparer.Ordinal, + false, CultureInfo.InvariantCulture, Enumerable.Empty()); }