McMaster.Extensions.CommandLineUtils 2.1.0-beta

Command-line parsing API. A community-maintained fork of Microsoft.Extensions.CommandLineUtils, plus extras.
Commonly used types:

McMaster.Extensions.CommandLineUtils.CommandLineApplication
McMaster.Extensions.CommandLineUtils.CommandOption
McMaster.Extensions.CommandLineUtils.IConsole
McMaster.Extensions.CommandLineUtils.ArgumentEscaper

This is a prerelease version of McMaster.Extensions.CommandLineUtils.
There is a newer version of this package available.
See the version list below for details.
Install-Package McMaster.Extensions.CommandLineUtils -Version 2.1.0-beta
dotnet add package McMaster.Extensions.CommandLineUtils --version 2.1.0-beta
paket add McMaster.Extensions.CommandLineUtils --version 2.1.0-beta
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

Release Notes

2.1.0:
New features:
- Attributes. Simplify command line argument definitions by adding attributes to a class that represents options and arguments.
   - Options defined as [Option] or [Argument], [Subcommand].
   - Command parsing options can be defined with [Command] and [Subcmomand].
   - Special options include [HelpOption] and [VersionOption].
- Async from end to end. Using C# 7.1 and attribute binding, your console app can be async from top to bottom.

New API
- Prompt.GetYesNo, Prompt.GetPassword, and more. Added API for interactively getting responses on the console.
- Added OptionAttribute, ArgumentAttribute, CommandAttribute, SubcommandAttribute, HelpOptionAttribute, and VersionOptionAttribute.
- CommandLineApplication.Execute<TApp>() - executes an app where TApp uses attributes to define its options
- CommandLineApplication.ExecuteAsync<TApp>() - sample thing, but async.
- CommandLineApplication.StopParsingHelpOption and StopParsingVerboseOption. When the help and verbose options are matched
  against a command-line flag, the parsing will stop by default. You can turn this off by setting these options if you
  want OnExecute to be invoked no matter what.
- CommandLineApplication.ResponseFileHandling - the parser can treat arguments that begin with '@' as response files.
  Response files contain arguments that will be treated as if they were passed on command line.

Minor bug fixes:
- Add return types to .VerboseOption() and ensure .HasValue() is true when HelpOption or VerboseOption are matched
- Fix a NullReferenceException in some edge cases when parsing args

Version History

Version Downloads Last updated
2.3.0-alpha 97 10/3/2018
2.2.5 40,379 7/2/2018
2.2.4 16,748 5/25/2018
2.2.3 7,456 5/11/2018
2.2.2 5,457 4/28/2018
2.2.1 5,503 4/11/2018
2.2.0 35,475 3/31/2018
2.2.0-rc 656 3/23/2018
2.2.0-beta 385 3/8/2018
2.2.0-alpha 357 2/20/2018
2.1.1 30,771 12/28/2017
2.1.0 1,271 12/13/2017
2.1.0-rc 330 12/7/2017
2.1.0-beta 846 11/22/2017
2.1.0-alpha 224 11/11/2017
2.0.1 3,913 10/13/2017
2.0.0 2,861 9/16/2017
Show less