Table of Contents

Namespace McMaster.Extensions.CommandLineUtils

Classes

AllowedValuesAttribute

Specifies a set of allowed values and a comparer used to determine if a value is in that set.

By default, value comparison is case-sensitive. To ensure case matches exactly, set IgnoreCase to false.

ArgumentAttribute

Represents one or many positional command line arguments. Arguments are parsed based the Order given.

ArgumentEscaper

A utility for escaping arguments for new processes.

CommandArgument

Represents one or many positional command line arguments. Arguments are parsed in the order in which Arguments lists them.

CommandArgument<T>

Represents one or many positional command line arguments. Arguments are parsed in the order in which Arguments lists them. The raw value must be parsable into type T.

CommandAttribute

Represents a command line application using attributes to define options and arguments.

CommandLineApplication

Describes a set of command line arguments, options, and execution behavior. CommandLineApplication can be nested to support subcommands.

CommandLineApplicationExtensions

Helper methods for CommandLineApplication.

CommandLineApplication<TModel>

Describes a set of command line arguments, options, and execution behavior using a type of TModel to model the application.

CommandOption

Represents one or many command line option that is identified by flag proceeded by '-' or '--'. Options are not positional. Compare to CommandArgument.

CommandOption<T>

Represents one or many command line option that is identified by flag proceeded by '-' or '--'. Options are not positional. Compare to CommandArgument<T>. The raw value must be parsable into type T

CommandParsingException

The exception that is thrown when command line arguments could not be parsed.

ConsoleExtensions

Helper methods for IConsole.

ConsoleReporter

A thread-safe reporter that forwards to console output.

ConventionBuilderExtensions

Methods for adding commonly used conventions

DebugHelper

Helps handle debug command-line arguments.

DirectoryExistsAttribute

Specifies that the data must be an already existing directory, not a file.

DirectoryNotExistsAttribute

Specifies that the data must not be an already existing directory, not a file.

DotNetCliContext

APIs related to .NET Core CLI.

DotNetExe

Utilities for finding the "dotnet.exe" file from the currently running .NET Core application.

FileExistsAttribute

Specifies that the data must be an already existing file, not a directory.

FileNotExistsAttribute

Specifies that the data must not be an already existing file, not a directory.

FileOrDirectoryExistsAttribute

Specifies that the data must be an already existing file or directory.

FileOrDirectoryNotExistsAttribute

Specifies that the data must not be an already existing file or directory.

HelpOptionAttribute

The option used to determine if help text should be displayed. This should only be used once per command line app.

LegalFilePathAttribute

Specifies that a value must be a legal file path.

MissingParameterlessConstructorException

The exception that is thrown when trying to instantiate a model with no parameterless constructor.

NullConsole

An implementation of IConsole that does nothing.

NullReporter

A reporter that does nothing.

OptionAttribute

Represents one or many command line option that is identified by flag proceeded by '-' or '--'. Options are not positional. Compare to ArgumentAttribute.

OptionAttributeBase

Common option properties.

Pager

Process access to a console pager, which supports scrolling and search.

This is done by piping into `less` command (Linux/macOS only.) Windows is currently not supported.

PhysicalConsole

An implementation of IConsole that wraps Console.

Prompt

Utilities for getting input from an interactive console.

SubcommandAttribute

Represents a subcommand.

SuppressDefaultHelpOptionAttribute

Suppress DefaultHelpOptionConvention.

UnrecognizedCommandParsingException

The exception that is thrown when an invalid argument is given and when we can make suggestions about similar, valid commands or options.

ValidateMethodConvention

Invokes a method named "OnValidate" on the model type after parsing.

ValidationExtensions

Extension methods for adding validation rules to options and arguments.

VersionOptionAttribute

The option used to determine if version text should be displayed.

VersionOptionFromMemberAttribute

The option used to determine if version info should be displayed. The value for the version information is provided by the properties or members specified.

Interfaces

IConsole

An abstract console.

IReporter

Gathers messages with levels.

Enums

CommandOptionType

Defines the kinds of inputs CommandOption accepts.

ResponseFileHandling

Specifies options for how to handle response files. The parser treats arguments beginning with '@' as a file path to a response file.

A response file contains additional arguments that will be treated as if they were passed in on the command line. Response files can have comments that begin with the # symbol. You cannot use the backslash character (\) to concatenate lines.

UnrecognizedArgumentHandling

Defines behaviors for for how unrecognized arguments should be handled.