diff --git a/Tinke/Program.cs b/Tinke/Program.cs index 59e2963..bb2a5a2 100644 --- a/Tinke/Program.cs +++ b/Tinke/Program.cs @@ -21,6 +21,58 @@ using System; using System.Windows.Forms; using System.IO; using System.Runtime.InteropServices; +using CommandLine; +using System.Collections.Generic; +using System.Linq; + +[Verb("extract", HelpText = "Extract all files from nds rom.")] +internal class ExtractOptions +{ + [Option('f', "file", Required = true, HelpText = "The path of nds rom file to be extract.")] + public string FilePath { get; set; } + + [Option('o', "out", HelpText = "The output path. If not provided, will use the same path of rom file.")] + public string OutputPath { get; set; } +} + +[Verb("replace", HelpText = "Replace all nitrofs files by dir.")] +internal class ReplaceOptions +{ + [Option('f', "file", Required = true, HelpText = "The path of the input nds rom file.")] + public string FilePath { get; set; } + + [Option('d', "dir", Required = true, HelpText = "The folder path which contains all nitrofs files. It should be named 'Root'.")] + public string ResPath { get; set; } + + [Option('o', "out", Required = true, HelpText = "Set the output rom path.")] + public string OutputFile { get; set; } + + [Option('t', "trim", HelpText = "Safe trim the output rom.")] + public bool SafeTrim { get; set; } + + [Option('k', "keep-sig", HelpText = "Keep Original RSA SHA1 Signature for output rom.")] + public bool KeepSig { get; set; } + + [Option('r', "re-comp", HelpText = "Recompress ARM9 binary for output rom.")] + public bool Recompress { get; set; } + + [Option('b', "blz-cue", HelpText = "Use better compress method to compress ARM9 binary (BLZ-Cue). Will be ignore if -r/--re-comp not passed.")] + public bool BlzCue { get; set; } +} + +[Verb("open", HelpText = "Open file(s) or a folder via TinkeDSi GUI")] +internal class OpenOptions +{ + [Option('f', "folder", HelpText = "Call a folder select dialog then open the selected folder.")] + public bool IsFolder { get; set; } + + [Value(0, MetaName = "RomPath", HelpText = "Path of the file(s). Can be provided multiple. Will be ignore if -f/--folder passed.")] + public IEnumerable Props + { + get; + set; + } +} namespace Tinke { @@ -32,6 +84,23 @@ namespace Tinke [DllImport("kernel32.dll", SetLastError = true)] public static extern bool FreeConsole(); + [DllImport("kernel32.dll", SetLastError = true)] + private static extern bool SetConsoleOutputCP(uint wCodePageID); + + public static string extractFilePath; + public static string extractOutputPath; + public static string replaceResPath; + public static string replaceInputFile; + public static string replaceOutputFile; + public static bool safeTrim = false; + public static bool keepSig = false; + public static bool recompressA9 = false; + public static bool blzcueA9 = false; + public static int curCommand = -1; + public static List tblRoms; + public static bool bIsFolder = false; + public static bool bOpenDefault = false; + /// /// Punto de entrada principal para la aplicación. /// @@ -54,9 +123,93 @@ namespace Tinke } #endregion + if (Environment.GetCommandLineArgs().Length >= 2) + { + if (Type.GetType("Mono.Runtime") == null) + { + Version osVersion = Environment.OSVersion.Version; + Version win7Version = new Version(6, 1); + AttachConsole(-1); + if (osVersion >= win7Version) + SetConsoleOutputCP(65001); + Console.WriteLine(); + } + Parser.Default.ParseArguments(args) + .WithParsed(HandleArgs) + .WithNotParsed(HandleErrors); + if (Type.GetType("Mono.Runtime") == null && curCommand == 0) + { + FreeConsole(); + SendKeys.SendWait("{ENTER}"); + } + } + + if (curCommand == 0) + { + Application.Exit(); + return; + } + Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Sistema()); } + + private static void HandleArgs(object obj) + { + switch (obj) + { + case ExtractOptions e: + RunExtract(e); + break; + case ReplaceOptions p: + RunReplace(p); + break; + case OpenOptions o: + RunOpen(o); + break; + } + + //process ExtractOptions + void RunExtract(ExtractOptions opts) + { + extractFilePath = opts.FilePath; + extractOutputPath = opts.OutputPath; + curCommand = 1; + } + + //process ReplaceOptions + void RunReplace(ReplaceOptions opts) + { + replaceResPath = opts.ResPath; + replaceInputFile = opts.FilePath; + replaceOutputFile = opts.OutputFile; + safeTrim = opts.SafeTrim; + keepSig = opts.KeepSig; + recompressA9 = opts.Recompress; + blzcueA9 = opts.BlzCue; + curCommand = 2; + } + + //process OpenOptions + void RunOpen(OpenOptions opts) + { + if (Environment.GetCommandLineArgs().Length <= 2) + { + bOpenDefault = true; + curCommand = -1; + return; + } + else + curCommand = 3; + tblRoms = opts.Props.ToList(); + bIsFolder = opts.IsFolder; + } + } + + private static void HandleErrors(IEnumerable obj) + { + curCommand = 0; + } } } diff --git a/Tinke/Sistema.cs b/Tinke/Sistema.cs index 6a7d427..65574b0 100644 --- a/Tinke/Sistema.cs +++ b/Tinke/Sistema.cs @@ -19,8 +19,6 @@ */ using System; using System.Collections.Generic; -//using System.ComponentModel; -//using System.Data; using System.Drawing; using System.Linq; using System.Text; @@ -62,31 +60,17 @@ namespace Tinke // The IE control of the Debug windows doesn't work in Mono isMono = (Type.GetType("Mono.Runtime") != null); - if (Environment.GetCommandLineArgs().Length == 2 && (Environment.GetCommandLineArgs()[1] == "-h" || Environment.GetCommandLineArgs()[1] == "--help")) + if (Program.curCommand != -1 && Program.curCommand != 3) { - Program.AttachConsole(-1); - Console.WriteLine("\n" + this.Text); - Console.WriteLine("Usage: Tinke.exe rom_name [option]"); - Console.WriteLine("options:"); - Console.WriteLine("-x: Extract all files from nds rom"); - Console.WriteLine("-r: Replace all nitrofs files by dir, need -o to set an output rom path(-o Only allowed after -r)"); - Console.WriteLine("-h or --help: Show this message, must be the first param..."); - Program.FreeConsole(); - SendKeys.SendWait("{ENTER}"); + Console.WriteLine(this.Text); } sb = new StringBuilder(); TextWriter tw = new StringWriter(sb); tw.NewLine = "
"; - if (!isMono && !(Environment.GetCommandLineArgs().Length >= 3 && (Environment.GetCommandLineArgs()[2] == "-x" || Environment.GetCommandLineArgs()[2] == "-r"))) + if (!isMono && (Program.curCommand == -1 || Program.curCommand == 3)) Console.SetOut(tw); - if (Environment.GetCommandLineArgs().Length >= 3 && (Environment.GetCommandLineArgs()[2] == "-x" || Environment.GetCommandLineArgs()[2] == "-r")) - { - Program.AttachConsole(-1); - Console.WriteLine("\n" + this.Text); - } - #region Language if (!File.Exists(Application.StartupPath + Path.DirectorySeparatorChar + "Tinke.xml")) { @@ -106,13 +90,6 @@ namespace Tinke if (!langFile.EndsWith(".xml")) continue; ; - //string flag = Application.StartupPath + Path.DirectorySeparatorChar + "langs" + Path.DirectorySeparatorChar + langFile.Substring(langFile.Length - 9, 5) + ".png"; - //Image iFlag; - //if (File.Exists(flag)) - //iFlag = Image.FromFile(flag); - //else - //iFlag = iconos.Images[1]; - XElement xLang = XElement.Load(langFile); if (xLang.Name != "Language") continue; @@ -135,8 +112,13 @@ namespace Tinke void Sistema_Load(object sender, EventArgs e) { string[] filesToRead = new string[1]; - if (Environment.GetCommandLineArgs().Length == 1) + if (Program.curCommand == -1) { + if (!isMono && Program.bOpenDefault) + { + Program.FreeConsole(); + SendKeys.SendWait("{ENTER}"); + } OpenFileDialog o = new OpenFileDialog(); o.CheckFileExists = true; o.Multiselect = true; @@ -149,9 +131,14 @@ namespace Tinke filesToRead = o.FileNames; o.Dispose(); } - else if (Environment.GetCommandLineArgs().Length == 2) + else if (Program.curCommand == 3) { - if (Environment.GetCommandLineArgs()[1] == "-fld") + if (!isMono) + { + Program.FreeConsole(); + SendKeys.SendWait("{ENTER}"); + } + if (Program.bIsFolder) { FolderBrowserDialog o = new FolderBrowserDialog(); o.ShowNewFolderButton = false; @@ -163,49 +150,58 @@ namespace Tinke filesToRead[0] = o.SelectedPath; o.Dispose(); } - else if (Environment.GetCommandLineArgs()[1] == "-h" || Environment.GetCommandLineArgs()[1] == "--help") + else if (Program.tblRoms.Count() == 1) { - Application.Exit(); - return; + filesToRead[0] = Program.tblRoms[0]; } else - filesToRead[0] = Environment.GetCommandLineArgs()[1]; - } - else if (Environment.GetCommandLineArgs().Length >= 3) - { - if (Environment.GetCommandLineArgs()[2] == "-x") { - filesToRead[0] = Environment.GetCommandLineArgs()[1]; - ReadGame(filesToRead[0]); - sFolder folderSelect = accion.Root; + filesToRead = new String[Program.tblRoms.Count()]; + Array.Copy(Program.tblRoms.ToArray(), 0, filesToRead, 0, filesToRead.Length); + } + } + else if (Program.curCommand == 1) + { + filesToRead[0] = Program.extractFilePath; + ReadGame(filesToRead[0]); + sFolder folderSelect = accion.Root; - if (Environment.GetCommandLineArgs().Length > 3 && Environment.GetCommandLineArgs()[3] is string) - { - Directory.CreateDirectory(Environment.GetCommandLineArgs()[3] + Path.DirectorySeparatorChar + folderSelect.name); - RecursivoExtractFolder(folderSelect, Environment.GetCommandLineArgs()[3] + Path.DirectorySeparatorChar + folderSelect.name); - Console.WriteLine("Extract all files to " + Environment.GetCommandLineArgs()[3] + Path.DirectorySeparatorChar + folderSelect.name); - } else - Console.WriteLine("Param error..."); + if (Program.extractOutputPath is string) + { + Directory.CreateDirectory(Program.extractOutputPath + Path.DirectorySeparatorChar + folderSelect.name); + RecursivoExtractFolder(folderSelect, Program.extractOutputPath + Path.DirectorySeparatorChar + folderSelect.name); + Console.WriteLine("Extract all files to " + Program.extractOutputPath + Path.DirectorySeparatorChar + folderSelect.name); + } + else + Console.WriteLine("Param error..."); + + if (!isMono) + { Program.FreeConsole(); SendKeys.SendWait("{ENTER}"); - Application.Exit(); - } else if (Environment.GetCommandLineArgs()[2] == "-r" && Environment.GetCommandLineArgs().Length > 5 && Environment.GetCommandLineArgs()[4] == "-o") - { - filesToRead[0] = Environment.GetCommandLineArgs()[1]; - ReadGame(filesToRead[0]); - if (Environment.GetCommandLineArgs()[3] is string) - { - ChangeByDir(Environment.GetCommandLineArgs()[3]); - } - // parse saving args - for(int i = 5; i < Environment.GetCommandLineArgs().Length; i++) - { - - } - return; } - filesToRead = new String[Environment.GetCommandLineArgs().Length - 1]; - Array.Copy(Environment.GetCommandLineArgs(), 1, filesToRead, 0, filesToRead.Length); + this.Close(); + Application.Exit(); + return; + } + else if (Program.curCommand == 2) + { + filesToRead[0] = Program.replaceInputFile; + ReadGame(filesToRead[0]); + if (Program.replaceResPath is string) + { + ChangeByDir(Program.replaceResPath); + } else + Console.WriteLine("Param error..."); + btnSaveROM_Click(null, null); + if (!isMono) + { + Program.FreeConsole(); + SendKeys.SendWait("{ENTER}"); + } + this.Close(); + Application.Exit(); + return; } Thread loadrom = new Thread(ThreadEspera) @@ -254,7 +250,6 @@ namespace Tinke xml.Element("WindowDebug").Value = toolStripDebug.Checked.ToString(); xml.Element("WindowInformation").Value = toolStripInfoRom.Checked.ToString(); xml.Element("InstantSearch").Value = checkSearch.Checked.ToString(); - //xml.Element("ModeWindow").Value = toolStripVentana.Checked.ToString(); xml = xml.Parent; xml.Save(Application.StartupPath + Path.DirectorySeparatorChar + "Tinke.xml"); @@ -1504,25 +1499,36 @@ namespace Tinke bool bIsFlashCartFW = false; Nitro.Estructuras.ROMHeader header = romInfo.Cabecera; - Dialog.SaveOptions dialog = new Dialog.SaveOptions(); - if (dialog.ShowDialog() != System.Windows.Forms.DialogResult.OK) - return; - if (dialog.IsKeepSignature) - keep_original = true; - if (dialog.IsSafeTrim) - header.trimmedRom = true; - if (dialog.IsReCompress) - a9_recomp = true; - if (dialog.IsBetterCompress) - a9_bestcomp = true; - if (dialog.IsFlashCartFirmware) - bIsFlashCartFW = true; + if (Program.curCommand == 2) + { + keep_original = Program.keepSig; + if (Program.safeTrim) + header.trimmedRom = true; + a9_recomp = Program.recompressA9; + a9_bestcomp = Program.blzcueA9; + } + else + { + Dialog.SaveOptions dialog = new Dialog.SaveOptions(); + if (dialog.ShowDialog() != System.Windows.Forms.DialogResult.OK) + return; + if (dialog.IsKeepSignature) + keep_original = true; + if (dialog.IsSafeTrim) + header.trimmedRom = true; + if (dialog.IsReCompress) + a9_recomp = true; + if (dialog.IsBetterCompress) + a9_bestcomp = true; + if (dialog.IsFlashCartFirmware) + bIsFlashCartFW = true; + } Thread create = new Thread(ThreadEspera) { IsBackground = true }; - if (!isMono) + if (!isMono && Program.curCommand != 2) create.Start("S05"); // Get special files @@ -1926,22 +1932,27 @@ namespace Tinke Console.Write("
"); #endregion - if (!isMono) + if (!isMono && Program.curCommand != 2) CloseEspera(create); // Obtenemos el nuevo archivo para guardar SaveFileDialog o = new SaveFileDialog(); - o.AddExtension = true; - o.DefaultExt = ".nds"; - o.Filter = "Nintendo DS ROM (*.nds)|*.nds"; - o.OverwritePrompt = true; - if (o.ShowDialog() == System.Windows.Forms.DialogResult.OK) + if (Program.curCommand == 2) + o.FileName = Program.replaceOutputFile; + else + { + o.AddExtension = true; + o.DefaultExt = ".nds"; + o.Filter = "Nintendo DS ROM (*.nds)|*.nds"; + o.OverwritePrompt = true; + } + if (Program.curCommand == 2 || o.ShowDialog() == System.Windows.Forms.DialogResult.OK) { Thread saverom = new Thread(ThreadEspera) { IsBackground = true }; - if (!isMono) + if (!isMono && Program.curCommand != 2) saverom.Start("S06"); Console.WriteLine(Tools.Helper.GetTranslation("Messages", "S0D"), o.FileName); @@ -1977,7 +1988,7 @@ namespace Tinke Console.WriteLine("" + Tools.Helper.GetTranslation("Messages", "S09") + "", new FileInfo(o.FileName).Length); accion.IsNewRom = false; - if (!isMono) + if (!isMono && Program.curCommand != 2) { CloseEspera(saverom); debug.Add_Text(sb.ToString()); diff --git a/Tinke/Tinke.csproj b/Tinke/Tinke.csproj index 1b96594..d8985fd 100644 --- a/Tinke/Tinke.csproj +++ b/Tinke/Tinke.csproj @@ -145,6 +145,9 @@ 4194304 + + ..\packages\CommandLineParser.2.9.1\lib\net461\CommandLine.dll + @@ -316,6 +319,7 @@ VisorHex.cs + SettingsSingleFileGenerator Settings.Designer.cs diff --git a/Tinke/packages.config b/Tinke/packages.config new file mode 100644 index 0000000..cbc366f --- /dev/null +++ b/Tinke/packages.config @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/packages/CommandLineParser.2.9.1/.signature.p7s b/packages/CommandLineParser.2.9.1/.signature.p7s new file mode 100644 index 0000000..fb2d9cc Binary files /dev/null and b/packages/CommandLineParser.2.9.1/.signature.p7s differ diff --git a/packages/CommandLineParser.2.9.1/CommandLine20.png b/packages/CommandLineParser.2.9.1/CommandLine20.png new file mode 100644 index 0000000..f8b15f2 Binary files /dev/null and b/packages/CommandLineParser.2.9.1/CommandLine20.png differ diff --git a/packages/CommandLineParser.2.9.1/CommandLineParser.2.9.1.nupkg b/packages/CommandLineParser.2.9.1/CommandLineParser.2.9.1.nupkg new file mode 100644 index 0000000..2e7ccd2 Binary files /dev/null and b/packages/CommandLineParser.2.9.1/CommandLineParser.2.9.1.nupkg differ diff --git a/packages/CommandLineParser.2.9.1/License.md b/packages/CommandLineParser.2.9.1/License.md new file mode 100644 index 0000000..ef77a61 --- /dev/null +++ b/packages/CommandLineParser.2.9.1/License.md @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2005 - 2015 Giacomo Stelluti Scala & Contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/packages/CommandLineParser.2.9.1/README.md b/packages/CommandLineParser.2.9.1/README.md new file mode 100644 index 0000000..79a16fa --- /dev/null +++ b/packages/CommandLineParser.2.9.1/README.md @@ -0,0 +1,351 @@ +[![Build status](https://ci.appveyor.com/api/projects/status/p61dj8udxs2aocmo/branch/master?svg=true)](https://ci.appveyor.com/project/commandlineparser/commandline/branch/master) +[![NuGet](https://img.shields.io/nuget/dt/commandlineparser.svg)](http://nuget.org/packages/commandlineparser) +[![NuGet](https://img.shields.io/nuget/v/commandlineparser.svg)](https://www.nuget.org/packages/CommandLineParser/) +[![NuGet](https://img.shields.io/nuget/vpre/commandlineparser.svg)](https://www.nuget.org/packages/CommandLineParser/) +[![Join the Gitter chat!](https://badges.gitter.im/gsscoder/commandline.svg)](https://gitter.im/gsscoder/commandline?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) + +# Command Line Parser Library for CLR and NetStandard + +**Note:** the API surface has changed since v1.9.x and earlier. If you are looking for documentation on v1.9.x, please see [stable-1.9.71.2](https://github.com/gsscoder/commandline/tree/stable-1.9.71.2) + +The Command Line Parser Library offers CLR applications a clean and concise API for manipulating command line arguments and related tasks, such as defining switches, options and verb commands. It allows you to display a help screen with a high degree of customization and a simple way to report syntax errors to the end user. + +``` +C:\Project> NuGet Install CommandLineParser +``` + +# Nightly Build + +Nightly version of the CommandLineParser can be downloaded from github [Releases](https://github.com/commandlineparser/commandline/releases). + +The Last new features and fixes, read [changelog](https://github.com/commandlineparser/commandline/blob/master/CHANGELOG.md) + + +_NOTE: Mentioned F# Support is provided via ```CommandLineParser.FSharp``` package with FSharp dependencies._ + +__This library provides _hassle free_ command line parsing with a constantly updated API since 2005.__ + +# At a glance: + +- Compatible with __.NET Framework 4.0+__, __Mono 2.1+ Profile__, __.NET Standard__ and __.NET Core__ +- Doesn't depend on other packages (No dependencies beyond standard base libraries) +- One line parsing using default singleton: `CommandLine.Parser.Default.ParseArguments(...)` and three overload methods. +- Automatic or one line help screen generator: `HelpText.AutoBuild(...)`. +- Supports `--help`, `--version`, `version` and `help [verb]` by default with customization. +- Map to sequences (via `IEnumerable` and similar) and scalar types, including Enums and `Nullable`. +- You can also map to every type with a constructor that accepts a string (like `System.Uri`) for reference and value types. +- Verbs can be array of types collected from Plugins or IoC container. +- Define [verb commands](https://github.com/commandlineparser/commandline/wiki/Verbs) similar to `git commit -a`. +- Support default verb. +- Support Mutable and Immutable types. +- Support HelpText localization. +- Support ordering of options in HelpText. +- Support [Mutually Exclusive Options](https://github.com/commandlineparser/commandline/wiki/Mutually-Exclusive-Options) and [Option groups](https://github.com/commandlineparser/commandline/wiki/Option-Groups). +- Support named and value options. +- Support Asynchronous programming with async and await. +- Unparsing support: `CommandLine.Parser.Default.FormatCommandLine(T options)`. +- CommandLineParser.FSharp package is F#-friendly with support for `option<'a>`, see [demo](https://github.com/commandlineparser/commandline/blob/master/demo/fsharp-demo.fsx). _NOTE: This is a separate NuGet package._ +- Include wiki documentation with lot of examples ready to run online. +- Support Source Link and symbolic nuget package snupkg. +- Tested in Windows, Linux Ubuntu 18.04 and Mac OS. +- Most of features applies with a [CoC](http://en.wikipedia.org/wiki/Convention_over_configuration) philosophy. +- C# demo: source [here](https://github.com/commandlineparser/commandline/tree/master/demo/ReadText.Demo). + +# Getting Started with the Command Line Parser Library + +You can utilize the parser library in several ways: + +- Install via NuGet/Paket: [https://www.nuget.org/packages/CommandLineParser/](https://www.nuget.org/packages/CommandLineParser/) +- Integrate directly into your project by copying the .cs files into your project. +- ILMerge during your build process. + +## Quick Start Examples + +1. Create a class to define valid options, and to receive the parsed options. +2. Call ParseArguments with the args string array. + +C# Quick Start: + +```cs +using System; +using CommandLine; + +namespace QuickStart +{ + class Program + { + public class Options + { + [Option('v', "verbose", Required = false, HelpText = "Set output to verbose messages.")] + public bool Verbose { get; set; } + } + + static void Main(string[] args) + { + Parser.Default.ParseArguments(args) + .WithParsed(o => + { + if (o.Verbose) + { + Console.WriteLine($"Verbose output enabled. Current Arguments: -v {o.Verbose}"); + Console.WriteLine("Quick Start Example! App is in Verbose mode!"); + } + else + { + Console.WriteLine($"Current Arguments: -v {o.Verbose}"); + Console.WriteLine("Quick Start Example!"); + } + }); + } + } +} +``` + +## C# Examples: + +
+ Click to expand! + +```cs + +class Options +{ + [Option('r', "read", Required = true, HelpText = "Input files to be processed.")] + public IEnumerable InputFiles { get; set; } + + // Omitting long name, defaults to name of property, ie "--verbose" + [Option( + Default = false, + HelpText = "Prints all messages to standard output.")] + public bool Verbose { get; set; } + + [Option("stdin", + Default = false, + HelpText = "Read from stdin")] + public bool stdin { get; set; } + + [Value(0, MetaName = "offset", HelpText = "File offset.")] + public long? Offset { get; set; } +} + +static void Main(string[] args) +{ + CommandLine.Parser.Default.ParseArguments(args) + .WithParsed(RunOptions) + .WithNotParsed(HandleParseError); +} +static void RunOptions(Options opts) +{ + //handle options +} +static void HandleParseError(IEnumerable errs) +{ + //handle errors +} + +``` + +
+ +Demo to show IEnumerable options and other usage: [Online Demo](https://dotnetfiddle.net/wrcAxr) + +## F# Examples: + +
+ Click to expand! + +```fsharp + +type options = { + [] files : seq; + [] verbose : bool; + [] language : string; + [] offset : int64 option; +} + +let main argv = + let result = CommandLine.Parser.Default.ParseArguments(argv) + match result with + | :? Parsed as parsed -> run parsed.Value + | :? NotParsed as notParsed -> fail notParsed.Errors +``` +
+ +## VB.NET Example: + +
+ Click to expand! + +```vb + +Class Options + + Public Property InputFiles As IEnumerable(Of String) + + ' Omitting long name, defaults to name of property, ie "--verbose" + + Public Property Verbose As Boolean + + + Public Property Language As String + + + Public Property Offset As Long? +End Class + +Sub Main(ByVal args As String()) + CommandLine.Parser.Default.ParseArguments(Of Options)(args) _ + .WithParsed(Function(opts As Options) RunOptionsAndReturnExitCode(opts)) _ + .WithNotParsed(Function(errs As IEnumerable(Of [Error])) 1) +End Sub +``` +
+ +## For verbs: + +1. Create separate option classes for each verb. An options base class is supported. +2. Call ParseArguments with all the verb attribute decorated options classes. +3. Use MapResult to direct program flow to the verb that was parsed. + +### C# example: + + +
+ Click to expand! + +```csharp +[Verb("add", HelpText = "Add file contents to the index.")] +class AddOptions { + //normal options here +} +[Verb("commit", HelpText = "Record changes to the repository.")] +class CommitOptions { + //commit options here +} +[Verb("clone", HelpText = "Clone a repository into a new directory.")] +class CloneOptions { + //clone options here +} + +int Main(string[] args) { + return CommandLine.Parser.Default.ParseArguments(args) + .MapResult( + (AddOptions opts) => RunAddAndReturnExitCode(opts), + (CommitOptions opts) => RunCommitAndReturnExitCode(opts), + (CloneOptions opts) => RunCloneAndReturnExitCode(opts), + errs => 1); +} +``` +
+ +### VB.NET example: + + +
+ Click to expand! + +```vb + +Public Class AddOptions + 'Normal options here +End Class + +Public Class CommitOptions + 'Normal options here +End Class + +Public Class CloneOptions + 'Normal options here +End Class + +Function Main(ByVal args As String()) As Integer + Return CommandLine.Parser.Default.ParseArguments(Of AddOptions, CommitOptions, CloneOptions)(args) _ + .MapResult( + (Function(opts As AddOptions) RunAddAndReturnExitCode(opts)), + (Function(opts As CommitOptions) RunCommitAndReturnExitCode(opts)), + (Function(opts As CloneOptions) RunCloneAndReturnExitCode(opts)), + (Function(errs As IEnumerable(Of [Error])) 1) + ) +End Function +``` +
+ +### F# Example: + +
+ Click to expand! + +```fs +open CommandLine + +[] +type AddOptions = { + // normal options here +} +[] +type CommitOptions = { + // normal options here +} +[] +type CloneOptions = { + // normal options here +} + +[] +let main args = + let result = Parser.Default.ParseArguments args + match result with + | :? CommandLine.Parsed as command -> + match command.Value with + | :? AddOptions as opts -> RunAddAndReturnExitCode opts + | :? CommitOptions as opts -> RunCommitAndReturnExitCode opts + | :? CloneOptions as opts -> RunCloneAndReturnExitCode opts + | :? CommandLine.NotParsed -> 1 +``` +
+ +# Release History + +See the [changelog](CHANGELOG.md) + +# Contributors +First off, _Thank you!_ All contributions are welcome. + +Please consider sticking with the GNU getopt standard for command line parsing. + +Additionally, for easiest diff compares, please follow the project's tabs settings. Utilizing the EditorConfig extension for Visual Studio/your favorite IDE is recommended. + +__And most importantly, please target the ```develop``` branch in your pull requests!__ + +## Main Contributors (alphabetical order): +- Alexander Fast (@mizipzor) +- Dan Nemec (@nemec) +- Eric Newton (@ericnewton76) +- Kevin Moore (@gimmemoore) +- Moh-Hassan (@moh-hassan) +- Steven Evans +- Thomas Démoulins (@Thilas) + +## Resources for newcomers: + +- [Wiki](https://github.com/commandlineparser/commandline/wiki) +- [GNU getopt](http://www.gnu.org/software/libc/manual/html_node/Getopt.html) + +# Contacts: + +- Giacomo Stelluti Scala + - gsscoder AT gmail DOT com (_use this for everything that is not available via GitHub features_) + - GitHub: [gsscoder](https://github.com/gsscoder) + - [Blog](http://gsscoder.blogspot.it) + - [Twitter](http://twitter.com/gsscoder) +- Dan Nemec +- Eric Newton + - ericnewton76+commandlineparser AT gmail DOT com + - GitHub: [ericnewton76](https://github.com/ericnewton76) + - Blog: + - Twitter: [enorl76](http://twitter.com/enorl76) +- Moh-Hassan diff --git a/packages/CommandLineParser.2.9.1/lib/net40/CommandLine.dll b/packages/CommandLineParser.2.9.1/lib/net40/CommandLine.dll new file mode 100644 index 0000000..05344f5 Binary files /dev/null and b/packages/CommandLineParser.2.9.1/lib/net40/CommandLine.dll differ diff --git a/packages/CommandLineParser.2.9.1/lib/net40/CommandLine.xml b/packages/CommandLineParser.2.9.1/lib/net40/CommandLine.xml new file mode 100644 index 0000000..a301216 --- /dev/null +++ b/packages/CommandLineParser.2.9.1/lib/net40/CommandLine.xml @@ -0,0 +1,3256 @@ + + + + CommandLine + + + + + Models a base attribute to define command line syntax. + + + + + Initializes a new instance of the class. + + + + + Gets or sets a value indicating whether a command line option is required. + + + + + When applied to properties defines + the lower range of items. + + If not set, no lower range is enforced. + + + + When applied to properties defines + the upper range of items. + + If not set, no upper range is enforced. + + + + Gets or sets mapped property default value. + + + + + Gets or sets a short description of this command line option. Usually a sentence summary. + + + + + Gets or sets mapped property meta value. Usually an uppercase hint of required value type. + + + + + Gets or sets a value indicating whether a command line option is visible in the help text. + + + + + Gets or sets the that contains the resources for . + + + + + Whether this is an int option that counts how many times a flag was set rather than taking a value on the command line + + + + This information is denormalized to decouple Specification from PropertyInfo. + + + + Whether this value came from a long option with "=" separating the name from the value + + + + + Whether this value came from a sequence specified with a separator (e.g., "--files a.txt,b.txt,c.txt") + + + + + Whether this value came from args after the -- separator (when EnableDashDash = true) + + + + + Normalizes the given . + + The given minus all names, and their value if one was present, that are not found using . + + + + Discriminator enumeration of derivates. + + + + + Value of type. + + + + + Value of type. + + + + + Value of type. + + + + + Value of type. + + + + + Value of type. + + + + + Value of type. + + + + + Value of type. + + + + + Value of type. + + + + + Value of type. + + + + + Value of type. + + + + + Value of type. + + + + + Value of type. + + + + + Value of type. + + + + + Value of type. + + + + + Value of type. + + + + + Value of type. + + + + + Value of type. + + + + + Value of type. + + + + + Base type of all errors. + + All errors are defined within the system. There's no reason to create custom derivate types. + + + + Initializes a new instance of the class. + + Type discriminator tag. + Tells if error stops parsing process. + + + + Initializes a new instance of the class. + + Type discriminator tag. + + + + Error type discriminator, defined as enumeration. + + + + + Tells if error stops parsing process. + Filtered by . + + + + + Determines whether the specified is equal to the current . + + The to compare with the current . + true if the specified is equal to the current ; otherwise, false. + + + + Serves as a hash function for a particular type. + + A hash code for the current . + + + + Returns a value that indicates whether the current instance and a specified have the same value. + + The instance to compare. + true if this instance of and have the same value; otherwise, false. + + + + Base type of all errors related to bad token detection. + + + + + Initializes a new instance of the class. + + Error type. + Problematic token. + + + + The string containing the token text. + + + + + Determines whether the specified is equal to the current . + + The to compare with the current . + true if the specified is equal to the current ; otherwise, false. + + + + Serves as a hash function for a particular type. + + A hash code for the current . + + + + Returns a value that indicates whether the current instance and a specified have the same value. + + The instance to compare. + true if this instance of and have the same value; otherwise, false. + + + + Models an error generated when an invalid token is detected. + + + + + Base type of all erros with name information. + + + + + Initializes a new instance of the class. + + Error type. + Problematic name. + + + + Name information relative to this error instance. + + + + + Determines whether the specified is equal to the current . + + The to compare with the current . + true if the specified is equal to the current ; otherwise, false. + + + + Serves as a hash function for a particular type. + + A hash code for the current . + + + + Returns a value that indicates whether the current instance and a specified have the same value. + + The instance to compare. + true if this instance of and have the same value; otherwise, false. + + + + Models an error generated when an option lacks its value. + + + + + Models an error generated when an unknown option is detected. + + + + + Models an error generated when a required option is required. + + + + + Models an error generated when a an option from another set is defined. + + + + + Option's set name. + + + + + Models an error generated when a value conversion fails. + + + + + Models an error generated when a sequence value lacks elements. + + + + + Models an error generated when an option is repeated two or more times. + + + + + Models an error generated when an unknown verb is detected. + + + + + Models an error generated when a user explicitly requests help. + + + + + Models an error generated when a user explicitly requests help in verb commands scenario. + + + + + Verb command string. + + + + + of verb command. + + + + + true if verb command is found; otherwise false. + + + + + Models an error generated when no verb is selected. + + + + + Models an error generated when a user explicitly requests version. + + + + + Models as error generated when exception is thrown at Property.SetValue + + + + + The expection thrown from Property.SetValue + + + + + The value that had to be set to the property + + + + + Models an error generated when an invalid token is detected. + + + + + Models an error generated when multiple default verbs are defined. + + + + + return true when errors contain HelpXXXError + + + + + return true when errors contain VersionXXXError + + + + + redirect errs to Console.Error, and to Console.Out for help/version error + + + + + Breaks a collection into groups of a specified size. + + A collection of . + The number of items each group shall contain. + An enumeration of T[]. + An incomplete group at the end of the source collection will be silently dropped. + + + + Per thread assembly attribute overrides for testing. + + + + + Assembly attribute overrides for testing. + + + The implementation will fail if two or more attributes of the same type + are included in . + + + Attributes that replace the existing assembly attributes or null, + to clear any testing attributes. + + + + + Indicates whether the string value of a + starts with the input parameter. Returns false if either + the StringBuilder or input string is null or empty. + + The to test. + The to look for. + + + + + Indicates whether the string value of a + ends with the input parameter. Returns false if either + the StringBuilder or input string is null or empty. + + The to test. + The to look for. + + + + + Models name information, used in instances. + + + + + Represents an empty name information. Used when are tied to values, + rather than options. + + + + + Gets the short name of the name information. + + + + + Gets the long name of the name information. + + + + + Gets a formatted text with unified name information. + + + + + Determines whether the specified is equal to the current . + + The to compare with the current . + true if the specified is equal to the current ; otherwise, false. + + + + Serves as a hash function for a particular type. + + A hash code for the current . + + + + Returns a value that indicates whether the current instance and a specified have the same value. + + The instance to compare. + true if this instance of and have the same value; otherwise, false. + + + + Models a null result when constructing a in a faling verbs scenario. + + + + + Models an option specification. + + + + + Initializes a new instance of the class. + The default long name will be inferred from target property. + + + + + Initializes a new instance of the class. + + The long name of the option. + + + + Initializes a new instance of the class. + + The short name of the option. + The long name of the option or null if not used. + + + + Initializes a new instance of the class. + + The short name of the option.. + + + + Gets long name of this command line option. This name is usually a single english word. + + + + + Gets a short name of this command line option, made of one character. + + + + + Gets or sets the option's mutually exclusive set name. + + + + + If true, this is an int option that counts how many times a flag was set (e.g. "-v -v -v" or "-vvv" would return 3). + The property must be of type int (signed 32-bit integer). + + + + + When applying attribute to target properties, + it allows you to split an argument and consume its content as a sequence. + + + + + Gets or sets the option group name. When one or more options are grouped, at least one of them should have value. Required rules are ignored. + + + + + Provides methods to parse command line arguments. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class, + configurable with using a delegate. + + The delegate used to configure + aspects and behaviors of the parser. + + + + Finalizes an instance of the class. + + + + + Gets the singleton instance created with basic defaults. + + + + + Gets the instance that implements in use. + + + + + Parses a string array of command line arguments constructing values in an instance of type . + Grammar rules are defined decorating public properties with appropriate attributes. + + Type of the target instance built with parsed value. + A array of command line arguments, normally supplied by application entry point. + A containing an instance of type with parsed values + and a sequence of . + Thrown if one or more arguments are null. + + + + Parses a string array of command line arguments constructing values in an instance of type . + Grammar rules are defined decorating public properties with appropriate attributes. + + Type of the target instance built with parsed value. + A delegate used to initialize the target instance. + A array of command line arguments, normally supplied by application entry point. + A containing an instance of type with parsed values + and a sequence of . + Thrown if one or more arguments are null. + + + + Parses a string array of command line arguments for verb commands scenario, constructing the proper instance from the array of types supplied by . + Grammar rules are defined decorating public properties with appropriate attributes. + The must be applied to types in the array. + + A array of command line arguments, normally supplied by application entry point. + A array used to supply verb alternatives. + A containing the appropriate instance with parsed values as a + and a sequence of . + Thrown if one or more arguments are null. + Thrown if array is empty. + All types must expose a parameterless constructor. It's strongly recommended to use a generic overload. + + + + Frees resources owned by the instance. + + + + + Defines generic overloads for . + + + + + Parses a string array of command line arguments for verb commands scenario, constructing the proper instance from types as generic arguments. + Grammar rules are defined decorating public properties with appropriate attributes. + The must be applied to types in the array. + + The type of the first verb. + The type of the second verb. + A instance. + A array of command line arguments, normally supplied by application entry point. + A containing the appropriate instance with parsed values as a + and a sequence of . + Thrown if one or more arguments are null. + All types must expose a parameterless constructor. + + + + Parses a string array of command line arguments for verb commands scenario, constructing the proper instance from types as generic arguments. + Grammar rules are defined decorating public properties with appropriate attributes. + The must be applied to types in the array. + + The type of the first verb. + The type of the second verb. + The type of the third verb. + A instance. + A array of command line arguments, normally supplied by application entry point. + A containing the appropriate instance with parsed values as a + and a sequence of . + Thrown if one or more arguments are null. + All types must expose a parameterless constructor. + + + + Parses a string array of command line arguments for verb commands scenario, constructing the proper instance from types as generic arguments. + Grammar rules are defined decorating public properties with appropriate attributes. + The must be applied to types in the array. + + The type of the first verb. + The type of the second verb. + The type of the third verb. + The type of the fourth verb. + A instance. + A array of command line arguments, normally supplied by application entry point. + A containing the appropriate instance with parsed values as a + and a sequence of . + Thrown if one or more arguments are null. + All types must expose a parameterless constructor. + + + + Parses a string array of command line arguments for verb commands scenario, constructing the proper instance from types as generic arguments. + Grammar rules are defined decorating public properties with appropriate attributes. + The must be applied to types in the array. + + The type of the first verb. + The type of the second verb. + The type of the third verb. + The type of the fourth verb. + The type of the fifth verb. + A instance. + A array of command line arguments, normally supplied by application entry point. + A containing the appropriate instance with parsed values as a + and a sequence of . + Thrown if one or more arguments are null. + All types must expose a parameterless constructor. + + + + Parses a string array of command line arguments for verb commands scenario, constructing the proper instance from types as generic arguments. + Grammar rules are defined decorating public properties with appropriate attributes. + The must be applied to types in the array. + + The type of the first verb. + The type of the second verb. + The type of the third verb. + The type of the fourth verb. + The type of the fifth verb. + The type of the sixth verb. + A instance. + A array of command line arguments, normally supplied by application entry point. + A containing the appropriate instance with parsed values as a + and a sequence of . + Thrown if one or more arguments are null. + All types must expose a parameterless constructor. + + + + Parses a string array of command line arguments for verb commands scenario, constructing the proper instance from types as generic arguments. + Grammar rules are defined decorating public properties with appropriate attributes. + The must be applied to types in the array. + + The type of the first verb. + The type of the second verb. + The type of the third verb. + The type of the fourth verb. + The type of the fifth verb. + The type of the sixth verb. + The type of the seventh verb. + A instance. + A array of command line arguments, normally supplied by application entry point. + A containing the appropriate instance with parsed values as a + and a sequence of . + Thrown if one or more arguments are null. + All types must expose a parameterless constructor. + + + + Parses a string array of command line arguments for verb commands scenario, constructing the proper instance from types as generic arguments. + Grammar rules are defined decorating public properties with appropriate attributes. + The must be applied to types in the array. + + The type of the first verb. + The type of the second verb. + The type of the third verb. + The type of the fourth verb. + The type of the fifth verb. + The type of the sixth verb. + The type of the seventh verb. + The type of the eighth verb. + A instance. + A array of command line arguments, normally supplied by application entry point. + A containing the appropriate instance with parsed values as a + and a sequence of . + Thrown if one or more arguments are null. + All types must expose a parameterless constructor. + + + + Parses a string array of command line arguments for verb commands scenario, constructing the proper instance from types as generic arguments. + Grammar rules are defined decorating public properties with appropriate attributes. + The must be applied to types in the array. + + The type of the first verb. + The type of the second verb. + The type of the third verb. + The type of the fourth verb. + The type of the fifth verb. + The type of the sixth verb. + The type of the seventh verb. + The type of the eighth verb. + The type of the ninth verb. + A instance. + A array of command line arguments, normally supplied by application entry point. + A containing the appropriate instance with parsed values as a + and a sequence of . + Thrown if one or more arguments are null. + All types must expose a parameterless constructor. + + + + Parses a string array of command line arguments for verb commands scenario, constructing the proper instance from types as generic arguments. + Grammar rules are defined decorating public properties with appropriate attributes. + The must be applied to types in the array. + + The type of the first verb. + The type of the second verb. + The type of the third verb. + The type of the fourth verb. + The type of the fifth verb. + The type of the sixth verb. + The type of the seventh verb. + The type of the eighth verb. + The type of the ninth verb. + The type of the tenth verb. + A instance. + A array of command line arguments, normally supplied by application entry point. + A containing the appropriate instance with parsed values as a + and a sequence of . + Thrown if one or more arguments are null. + All types must expose a parameterless constructor. + + + + Parses a string array of command line arguments for verb commands scenario, constructing the proper instance from types as generic arguments. + Grammar rules are defined decorating public properties with appropriate attributes. + The must be applied to types in the array. + + The type of the first verb. + The type of the second verb. + The type of the third verb. + The type of the fourth verb. + The type of the fifth verb. + The type of the sixth verb. + The type of the seventh verb. + The type of the eighth verb. + The type of the ninth verb. + The type of the tenth verb. + The type of the eleventh verb. + A instance. + A array of command line arguments, normally supplied by application entry point. + A containing the appropriate instance with parsed values as a + and a sequence of . + Thrown if one or more arguments are null. + All types must expose a parameterless constructor. + + + + Parses a string array of command line arguments for verb commands scenario, constructing the proper instance from types as generic arguments. + Grammar rules are defined decorating public properties with appropriate attributes. + The must be applied to types in the array. + + The type of the first verb. + The type of the second verb. + The type of the third verb. + The type of the fourth verb. + The type of the fifth verb. + The type of the sixth verb. + The type of the seventh verb. + The type of the eighth verb. + The type of the ninth verb. + The type of the tenth verb. + The type of the eleventh verb. + The type of the twelfth verb. + A instance. + A array of command line arguments, normally supplied by application entry point. + A containing the appropriate instance with parsed values as a + and a sequence of . + Thrown if one or more arguments are null. + All types must expose a parameterless constructor. + + + + Parses a string array of command line arguments for verb commands scenario, constructing the proper instance from types as generic arguments. + Grammar rules are defined decorating public properties with appropriate attributes. + The must be applied to types in the array. + + The type of the first verb. + The type of the second verb. + The type of the third verb. + The type of the fourth verb. + The type of the fifth verb. + The type of the sixth verb. + The type of the seventh verb. + The type of the eighth verb. + The type of the ninth verb. + The type of the tenth verb. + The type of the eleventh verb. + The type of the twelfth verb. + The type of the thirteenth verb. + A instance. + A array of command line arguments, normally supplied by application entry point. + A containing the appropriate instance with parsed values as a + and a sequence of . + Thrown if one or more arguments are null. + All types must expose a parameterless constructor. + + + + Parses a string array of command line arguments for verb commands scenario, constructing the proper instance from types as generic arguments. + Grammar rules are defined decorating public properties with appropriate attributes. + The must be applied to types in the array. + + The type of the first verb. + The type of the second verb. + The type of the third verb. + The type of the fourth verb. + The type of the fifth verb. + The type of the sixth verb. + The type of the seventh verb. + The type of the eighth verb. + The type of the ninth verb. + The type of the tenth verb. + The type of the eleventh verb. + The type of the twelfth verb. + The type of the thirteenth verb. + The type of the fourteenth verb. + A instance. + A array of command line arguments, normally supplied by application entry point. + A containing the appropriate instance with parsed values as a + and a sequence of . + Thrown if one or more arguments are null. + All types must expose a parameterless constructor. + + + + Parses a string array of command line arguments for verb commands scenario, constructing the proper instance from types as generic arguments. + Grammar rules are defined decorating public properties with appropriate attributes. + The must be applied to types in the array. + + The type of the first verb. + The type of the second verb. + The type of the third verb. + The type of the fourth verb. + The type of the fifth verb. + The type of the sixth verb. + The type of the seventh verb. + The type of the eighth verb. + The type of the ninth verb. + The type of the tenth verb. + The type of the eleventh verb. + The type of the twelfth verb. + The type of the thirteenth verb. + The type of the fourteenth verb. + The type of the fifteenth verb. + A instance. + A array of command line arguments, normally supplied by application entry point. + A containing the appropriate instance with parsed values as a + and a sequence of . + Thrown if one or more arguments are null. + All types must expose a parameterless constructor. + + + + Parses a string array of command line arguments for verb commands scenario, constructing the proper instance from types as generic arguments. + Grammar rules are defined decorating public properties with appropriate attributes. + The must be applied to types in the array. + + The type of the first verb. + The type of the second verb. + The type of the third verb. + The type of the fourth verb. + The type of the fifth verb. + The type of the sixth verb. + The type of the seventh verb. + The type of the eighth verb. + The type of the ninth verb. + The type of the tenth verb. + The type of the eleventh verb. + The type of the twelfth verb. + The type of the thirteenth verb. + The type of the fourteenth verb. + The type of the fifteenth verb. + The type of the sixteenth verb. + A instance. + A array of command line arguments, normally supplied by application entry point. + A containing the appropriate instance with parsed values as a + and a sequence of . + Thrown if one or more arguments are null. + All types must expose a parameterless constructor. + + + + Discriminator enumeration of derivates. + + + + + Value of type. + + + + + Value of type. + + + + + Models a parser result. When inherited by , it contains an instance of type + with parsed values. + When inherited by , it contains a sequence of . + + The type with attributes that define the syntax of parsing rules. + + + + Parser result type discriminator, defined as enumeration. + + + + + Gets the instance with parsed values. If one or more errors occures, is returned. + + + + + Gets the sequence of parsing errors. If there are no errors, then an empty IEnumerable is returned. + + + + + It contains an instance of type with parsed values. + + The type with attributes that define the syntax of parsing rules. + + + + Determines whether the specified is equal to the current . + + The to compare with the current . + true if the specified is equal to the current ; otherwise, false. + + + + Serves as a hash function for a particular type. + + A hash code for the current . + + + + Returns a value that indicates whether the current instance and a specified have the same value. + + The instance to compare. + true if this instance of and have the same value; otherwise, false. + + + + It contains a sequence of . + + The type with attributes that define the syntax of parsing rules. + + + + Determines whether the specified is equal to the current . + + The to compare with the current . + true if the specified is equal to the current ; otherwise, false. + + + + Serves as a hash function for a particular type. + + A hash code for the current . + + + + Returns a value that indicates whether the current instance and a specified have the same value. + + The instance to compare. + true if this instance of and have the same value; otherwise, false. + + + + Provides convenience extension methods for . + + + + + Executes if contains + parsed values. + + Type of the target instance built with parsed value. + An instance. + The to execute. + The same instance. + + + + Executes if parsed values are of . + + Type of the target instance built with parsed value. + An verb result instance. + The to execute. + The same instance. + + + + Executes if lacks + parsed values and contains errors. + + Type of the target instance built with parsed value. + An instance. + The delegate to execute. + The same instance. + + + + Provides a way to transform result data into another value. + + Type of the target instance built with parsed value. + The type of the new value. + An instance. + Lambda executed on successful parsing. + Lambda executed on failed parsing. + The new value. + + + + Provides a way to transform result data into another value. + + First verb type. + + The result in verb scenario. + Lambda executed on successful parsing of . + Lambda executed on failed parsing. + The new value. + + + + Provides a way to transform result data into another value. + + First verb type. + Second verb type. + + The result in verb scenario. + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on failed parsing. + The new value. + + + + Provides a way to transform result data into another value. + + First verb type. + Second verb type. + Third verb type. + + The result in verb scenario. + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on failed parsing. + The new value. + + + + Provides a way to transform result data into another value. + + First verb type. + Second verb type. + Third verb type. + Fourth verb type. + + The result in verb scenario. + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on failed parsing. + The new value. + + + + Provides a way to transform result data into another value. + + First verb type. + Second verb type. + Third verb type. + Fourth verb type. + Fifth verb type. + + The result in verb scenario. + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on failed parsing. + The new value. + + + + Provides a way to transform result data into another value. + + First verb type. + Second verb type. + Third verb type. + Fourth verb type. + Fifth verb type. + Sixth verb type. + + The result in verb scenario. + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on failed parsing. + The new value. + + + + Provides a way to transform result data into another value. + + First verb type. + Second verb type. + Third verb type. + Fourth verb type. + Fifth verb type. + Sixth verb type. + Seventh verb type. + + The result in verb scenario. + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on failed parsing. + The new value. + + + + Provides a way to transform result data into another value. + + First verb type. + Second verb type. + Third verb type. + Fourth verb type. + Fifth verb type. + Sixth verb type. + Seventh verb type. + Eighth verb type. + + The result in verb scenario. + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on failed parsing. + The new value. + + + + Provides a way to transform result data into another value. + + First verb type. + Second verb type. + Third verb type. + Fourth verb type. + Fifth verb type. + Sixth verb type. + Seventh verb type. + Eighth verb type. + Ninth verb type. + + The result in verb scenario. + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on failed parsing. + The new value. + + + + Provides a way to transform result data into another value. + + First verb type. + Second verb type. + Third verb type. + Fourth verb type. + Fifth verb type. + Sixth verb type. + Seventh verb type. + Eighth verb type. + Ninth verb type. + Tenth verb type. + + The result in verb scenario. + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on failed parsing. + The new value. + + + + Provides a way to transform result data into another value. + + First verb type. + Second verb type. + Third verb type. + Fourth verb type. + Fifth verb type. + Sixth verb type. + Seventh verb type. + Eighth verb type. + Ninth verb type. + Tenth verb type. + Eleventh verb type. + + The result in verb scenario. + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on failed parsing. + The new value. + + + + Provides a way to transform result data into another value. + + First verb type. + Second verb type. + Third verb type. + Fourth verb type. + Fifth verb type. + Sixth verb type. + Seventh verb type. + Eighth verb type. + Ninth verb type. + Tenth verb type. + Eleventh verb type. + Twelfth verb type. + + The result in verb scenario. + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on failed parsing. + The new value. + + + + Provides a way to transform result data into another value. + + First verb type. + Second verb type. + Third verb type. + Fourth verb type. + Fifth verb type. + Sixth verb type. + Seventh verb type. + Eighth verb type. + Ninth verb type. + Tenth verb type. + Eleventh verb type. + Twelfth verb type. + Thirteenth verb type. + + The result in verb scenario. + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on failed parsing. + The new value. + + + + Provides a way to transform result data into another value. + + First verb type. + Second verb type. + Third verb type. + Fourth verb type. + Fifth verb type. + Sixth verb type. + Seventh verb type. + Eighth verb type. + Ninth verb type. + Tenth verb type. + Eleventh verb type. + Twelfth verb type. + Thirteenth verb type. + Fourteenth verb type. + + The result in verb scenario. + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on failed parsing. + The new value. + + + + Provides a way to transform result data into another value. + + First verb type. + Second verb type. + Third verb type. + Fourth verb type. + Fifth verb type. + Sixth verb type. + Seventh verb type. + Eighth verb type. + Ninth verb type. + Tenth verb type. + Eleventh verb type. + Twelfth verb type. + Thirteenth verb type. + Fourteenth verb type. + Fifteenth verb type. + + The result in verb scenario. + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on failed parsing. + The new value. + + + + Provides a way to transform result data into another value. + + First verb type. + Second verb type. + Third verb type. + Fourth verb type. + Fifth verb type. + Sixth verb type. + Seventh verb type. + Eighth verb type. + Ninth verb type. + Tenth verb type. + Eleventh verb type. + Twelfth verb type. + Thirteenth verb type. + Fourteenth verb type. + Fifteenth verb type. + Sixteenth verb type. + + The result in verb scenario. + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on failed parsing. + The new value. + + + + Provides settings for . Once consumed cannot be reused. + + + + + Initializes a new instance of the class. + + + + + Finalizes an instance of the class. + + + + + Gets or sets a value indicating whether perform case sensitive comparisons. + Note that case insensitivity only applies to parameters, not the values + assigned to them (for example, enum parsing). + + + + + Gets or sets a value indicating whether perform case sensitive comparisons of values. + Note that case insensitivity only applies to values, not the parameters. + + + + + Gets or sets the culture used when parsing arguments to typed properties. + + + Default is invariant culture, . + + + + + Gets or sets the used for help method output. + Setting this property to null, will disable help screen. + + + It is the caller's responsibility to dispose or close the . + + + + + Gets or sets a value indicating whether the parser shall move on to the next argument and ignore the given argument if it + encounter an unknown arguments + + + true to allow parsing the arguments with different class options that do not have all the arguments. + + + This allows fragmented version class parsing, useful for project with add-on where add-ons also requires command line arguments but + when these are unknown by the main program at build time. + + + + + Gets or sets a value indicating whether implicit option or verb 'help' should be supported. + + + + + Gets or sets a value indicating whether implicit option or verb 'version' should be supported. + + + + + Gets or sets a value indicating whether enable double dash '--' syntax, + that forces parsing of all subsequent tokens as values. + If GetoptMode is true, this defaults to true, but can be turned off by explicitly specifying EnableDashDash = false. + + + + + Gets or sets the maximum width of the display. This determines word wrap when displaying the text. + + + + + Gets or sets a value indicating whether options are allowed to be specified multiple times. + If GetoptMode is true, this defaults to true, but can be turned off by explicitly specifying AllowMultiInstance = false. + + + + + Whether strict getopt-like processing is applied to option values; if true, AllowMultiInstance and EnableDashDash will default to true as well. + + + + + Whether getopt-like processing should follow the POSIX rules (the equivalent of using the "+" prefix in the C getopt() call). + If not explicitly set, will default to false unless the POSIXLY_CORRECT environment variable is set, in which case it will default to true. + + + + + Frees resources owned by the instance. + + + + + Models a multiline assembly license text. + + + + + Initializes a new instance of the class + with one line of text. + + First line of license text. + + + + Initializes a new instance of the class + with two lines of text. + + First line of license text. + Second line of license text. + + + + Initializes a new instance of the class + with three lines of text. + + First line of license text. + Second line of license text. + Third line of license text. + + + + Initializes a new instance of the class + with four lines of text. + + First line of license text. + Second line of license text. + Third line of license text. + Fourth line of license text. + + + + Initializes a new instance of the class + with five lines of text. + + First line of license text. + Second line of license text. + Third line of license text. + Fourth line of license text. + Fifth line of license text. + + + + Models a multiline assembly usage text. + + + + + Initializes a new instance of the class + with one line of text. + + First line of usage text. + + + + Initializes a new instance of the class + with two lines of text. + + First line of usage text. + Second line of usage text. + + + + Initializes a new instance of the class + with three lines of text. + + First line of usage text. + Second line of usage text. + Third line of usage text. + + + + Initializes a new instance of the class + with four lines of text. + + First line of usage text. + Second line of usage text. + Third line of usage text. + Fourth line of usage text. + + + + Initializes a new instance of the class + with five lines of text. + + First line of usage text. + Second line of usage text. + Third line of usage text. + Fourth line of usage text. + Fifth line of usage text. + + + + Models the copyright part of an help text. + You can assign it where you assign any instance. + + + + + An empty object used for initialization. + + + + + Initializes a new instance of the class + specifying author and year. + + The company or person holding the copyright. + The year of coverage of copyright. + Thrown when parameter is null or empty string. + + + + Initializes a new instance of the class + specifying author and copyrightYears. + + The company or person holding the copyright. + The copyrightYears of coverage of copyright. + Thrown when parameter is null or empty string. + Thrown when parameter is not supplied. + + + + Initializes a new instance of the class + specifying symbol case, author and copyrightYears. + + The case of the copyright symbol. + The company or person holding the copyright. + The copyrightYears of coverage of copyright. + Thrown when parameter is null or empty string. + Thrown when parameter is not supplied. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with an assembly attribute, this overrides all formatting. + + The attribute which text to use. + + + + Gets the default copyright information. + Retrieved from , if it exists, + otherwise it uses as copyright holder with the current year. + If neither exists it throws an . + + + + + Gets a different copyright word when overridden in a derived class. + + + + + Converts the copyright instance to a . + + This instance. + The that contains the copyright. + + + + Returns the copyright as a . + + The that contains the copyright. + + + + When overridden in a derived class, allows to specify a new algorithm to render copyright copyrightYears + as a instance. + + A array of copyrightYears. + A instance with copyright copyrightYears. + + + + Models a command line usage example. + + + + + Initializes a new instance of the class. + + Example description. + A instances sequence that defines command line arguments format. + A sample instance. + + + + Initializes a new instance of the class. + + Example description. + A instance that defines command line arguments format. + A sample instance. + + + + Initializes a new instance of the class. + + Example description. + A sample instance. + + + + Example description. + + + + + A sequence of format styles. + + + + + A sample instance. + + + + + Determines whether the specified is equal to the current . + + The to compare with the current . + true if the specified is equal to the current ; otherwise, false. + + + + Serves as a hash function for a particular type. + + A hash code for the current . + + + + Returns a value that indicates whether the current instance and a specified have the same value. + + The instance to compare. + true if this instance of and have the same value; otherwise, false. + + + + Models the heading part of an help text. + You can assign it where you assign any instance. + + + + + Initializes a new instance of the class + specifying program name and version. + + The name of the program. + The version of the program. + Thrown when parameter is null or empty string. + + + + An empty object used for initialization. + + + + + Gets the default heading instance. + The title is retrieved from , + or the assembly short name if its not defined. + The version is retrieved from , + or the assembly version if its not defined. + + + + + Converts the heading to a . + + This instance. + The that contains the heading. + + + + Returns the heading as a . + + The that contains the heading. + + + + Writes out a string and a new line using the program name specified in the constructor + and parameter. + + The message to write. + The target derived type. + Thrown when parameter is null or empty string. + Thrown when parameter is null. + + + + Writes out a string and a new line using the program name specified in the constructor + and parameter to standard output stream. + + The message to write. + Thrown when parameter is null or empty string. + + + + Writes out a string and a new line using the program name specified in the constructor + and parameter to standard error stream. + + The message to write. + Thrown when parameter is null or empty string. + + + + Provides means to format an help screen. + You can assign it in place of a instance. + + + + + The number of spaces between an option and its associated help text + + + + + The width of the option prefix (either "--" or " " + + + + + The total amount of extra space that needs to accounted for when indenting Option help text + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + specifying the sentence builder. + + + A instance. + + + + + Initializes a new instance of the class + specifying heading string. + + An heading string or an instance of . + Thrown when parameter is null or empty string. + + + + Initializes a new instance of the class + specifying the sentence builder and heading string. + + A instance. + A string with heading or an instance of . + + + + Initializes a new instance of the class + specifying heading and copyright strings. + + A string with heading or an instance of . + A string with copyright or an instance of . + Thrown when one or more parameters are null or empty strings. + + + + Initializes a new instance of the class + specifying heading and copyright strings. + + A instance. + A string with heading or an instance of . + A string with copyright or an instance of . + Thrown when one or more parameters are null or empty strings. + + + + Gets or sets the heading string. + You can directly assign a instance. + + + + + Gets or sets the copyright string. + You can directly assign a instance. + + + + + Gets or sets the maximum width of the display. This determines word wrap when displaying the text. + + The maximum width of the display. + + + + Gets or sets a value indicating whether the format of options should contain dashes. + It modifies behavior of method. + + + + + Gets or sets a value indicating whether to add an additional line after the description of the specification. + + + + + Gets or sets a value indicating whether to add newlines between help sections. + + + + + Gets or sets a value indicating whether to add the values of an enum after the description of the specification. + + + + + Gets or sets a value indicating whether implicit option or verb 'help' should be supported. + + + + + Gets or sets a value indicating whether implicit option or verb 'version' should be supported. + + + + + Gets the instance specified in constructor. + + + + + Creates a new instance of the class using common defaults. + + + An instance of class. + + The containing the instance that collected command line arguments parsed with class. + A delegate used to customize the text block of reporting parsing errors text block. + A delegate used to customize model used to render text block of usage examples. + If true the output style is consistent with verb commands (no dashes), otherwise it outputs options. + The maximum width of the display. + The parameter is not ontly a metter of formatting, it controls whether to handle verbs or options. + + + + Creates a default instance of the class, + automatically handling verbs or options scenario. + + The containing the instance that collected command line arguments parsed with class. + The maximum width of the display. + + An instance of class. + + This feature is meant to be invoked automatically by the parser, setting the HelpWriter property + of . + + + + Creates a custom instance of the class, + automatically handling verbs or options scenario. + + The containing the instance that collected command line arguments parsed with class. + A delegate used to customize the text block of reporting parsing errors text block. + The maximum width of the display. + + An instance of class. + + This feature is meant to be invoked automatically by the parser, setting the HelpWriter property + of . + + + + Supplies a default parsing error handler implementation. + + The containing the instance that collected command line arguments parsed with class. + The instance. + + + + Converts the help instance to a . + + This instance. + The that contains the help screen. + + + + Adds a text line after copyright and before options usage strings. + + A instance. + Updated instance. + Thrown when parameter is null or empty string. + + + + Adds a text line at the bottom, after options usage string. + + A instance. + Updated instance. + Thrown when parameter is null or empty string. + + + + Adds text lines after copyright and before options usage strings. + + A sequence of line to add. + Updated instance. + + + + Adds text lines at the bottom, after options usage string. + + A sequence of line to add. + Updated instance. + + + + Adds a text block of lines after copyright and before options usage strings. + + A text block. + Updated instance. + + + + Adds a text block of lines at the bottom, after options usage string. + + A text block. + Updated instance. + + + + Adds a text block with options usage string. + + A parsing computation result. + Thrown when parameter is null. + + + + Adds a text block with verbs usage string. + + The array of with verb commands. + Thrown when parameter is null. + Thrown if array is empty. + + + + Adds a text block with options usage string. + + The maximum length of the help screen. + A parsing computation result. + Thrown when parameter is null. + + + + Adds a text block with verbs usage string. + + The maximum length of the help screen. + The array of with verb commands. + Thrown when parameter is null. + Thrown if array is empty. + + + + Builds a string that contains a parsing error message. + + The containing the instance that collected command line arguments parsed with class. + The error formatting delegate. + The specialized sequence formatting delegate. + Number of spaces used to indent text. + The that contains the parsing error message. + + + + Builds a sequence of string that contains a parsing error message. + + The containing the instance that collected command line arguments parsed with class. + The error formatting delegate. + The specialized sequence formatting delegate. + Number of spaces used to indent text. + A sequence of that contains the parsing error message. + + + + Builds a string with usage text block created using data and metadata. + + Type of parsing computation result. + A parsing computation result. + Resulting formatted text. + + + + Builds a string with usage text block created using data and metadata. + + Type of parsing computation result. + A parsing computation result. + A mapping lambda normally used to translate text in other languages. + Resulting formatted text. + + + + Builds a string sequence with usage text block created using data and metadata. + + Type of parsing computation result. + A parsing computation result. + A mapping lambda normally used to translate text in other languages. + Resulting formatted text. + + + + Returns the help screen as a . + + The that contains the help screen. + + + + Provides base properties for creating an attribute, used to define multiple lines of text. + + + + + Initializes a new instance of the class. Used in derived type + using one line of text. + + The first line of text. + + + + Initializes a new instance of the class. Used in type + using two lines of text. + + The first line of text. + The second line of text. + + + + Initializes a new instance of the class. Used in type + using three lines of text. + + The first line of text. + The second line of text. + The third line of text. + + + + Initializes a new instance of the class. Used in type + using four lines of text. + + The first line of text. + The second line of text. + The third line of text. + The fourth line of text. + + + + Initializes a new instance of the class. Used in type + using five lines of text. + + The first line of text. + The second line of text. + The third line of text. + The fourth line of text. + The fifth line of text. + + + + Gets the all non-blank lines as string. + + A string of all non-blank lines. + + + + Gets the first line of text. + + + + + Gets the second line of text. + + + + + Gets third line of text. + + + + + Gets the fourth line of text. + + + + + Gets the fifth line of text. + + + + + Returns the last line with text. Preserves blank lines if user intended by skipping a line. + + The last index of line of the non-blank line. + + The string array to process. + + + + Exposes standard delegates to provide a mean to customize part of help screen generation. + This type is consumed by . + + + + + Create instance of , + + The instance. + + + + Factory to allow custom SentenceBuilder injection + + + + + Gets a delegate that returns the word 'required'. + + + + + Gets a delegate that returns the word 'group'. + + + + + Gets a delegate that returns that errors block heading text. + + + + + Gets a delegate that returns usage text block heading text. + + + + + Get a delegate that returns the help text of help command. + The delegates must accept a boolean that is equal true for options; otherwise false for verbs. + + + + + Get a delegate that returns the help text of vesion command. + The delegates must accept a boolean that is equal true for options; otherwise false for verbs. + + + + + Gets a delegate that handles singular error formatting. + The delegates must accept an and returns a string. + + + + + Gets a delegate that handles mutually exclusive set errors formatting. + The delegates must accept a sequence of and returns a string. + + + + + A utility class to word-wrap and indent blocks of text + + + + + Splits a string into a words and performs wrapping while also preserving line-breaks and sub-indentation + + The number of characters we can use for text + + This method attempts to wrap text without breaking words + For example, if columnWidth is 10 , the input + "a string for wrapping 01234567890123" + would return + "a string + "for + "wrapping + "0123456789 + "0123" + + this + + + + Indent all lines in the TextWrapper by the desired number of spaces + + The number of spaces to indent by + this + + + + Returns the current state of the TextWrapper as a string + + + + + + Convenience method to wraps and indent a string in a single operation + + The string to operate on + The number of spaces to indent by + The width of the column used for wrapping + + The string is wrapped _then_ indented so the columnWidth is the width of the + usable text block, and does NOT include the indentLevel. + + the processed string + + + + When presented with a word, either append to the last line in the list or start a new line + + A list of StringBuilders containing results so far + The individual word to append + The usable text space + + The 'word' can actually be an empty string. It's important to keep these - + empty strings allow us to preserve indentation and extra spaces within a line. + + The same list as is passed in + + + + Return the right part of a string in a way that compensates for Substring's deficiencies + + + + + Return the left part of a string in a way that compensates for Substring's deficiencies + + + + + Applied to a static property that yields a sequence of , + provides data to render usage section of help screen. + + + + + Application name, script or any means that starts current program. + + + + + Provides settings for when formatting command line from an options instance../>. + + + + + Gets or sets a value indicating whether unparsing process shall prefer short or long names. + + + + + Gets or sets a value indicating whether unparsing process shall group switches. + + + + + Gets or sets a value indicating whether unparsing process shall use equal sign with long names. + + + + + Gets or sets a value indicating whether unparsing process shall expose hidden options. + + + + + Gets or sets a value indicating whether unparsing process shall skip options with DefaultValue. + + + + + Factory method that creates an instance of with GroupSwitches set to true. + + A properly initalized instance. + + + + Factory method that creates an instance of with UseEqualToken set to true. + + A properly initalized instance. + + + + Provides overloads to unparse options instance. + + + + + Format a command line argument string from a parsed instance. + + Type of . + Parser instance. + A parsed (or manually correctly constructed instance). + A string with command line arguments. + + + + Format a command line argument string from a parsed instance in the form of string[]. + + Type of . + Parser instance. + A parsed (or manually correctly constructed instance). + A string[] with command line arguments. + + + + Format a command line argument string from a parsed instance. + + Type of . + Parser instance. + A parsed (or manually correctly constructed instance). + The lambda used to configure + aspects and behaviors of the unparsersing process. + A string with command line arguments. + + + + Format a command line argument string[] from a parsed instance. + + Type of . + Parser instance. + A parsed (or manually correctly constructed instance). + The lambda used to configure + aspects and behaviors of the unparsersing process. + A string[] with command line arguments. + + + + Returns a string array that contains the substrings in this instance that are delimited by space considering string between double quote. + + the commandline string + don't remove the quote + a string array that contains the substrings in this instance + + + + Models an value specification, or better how to handle values not bound to options. + + + + + Initializes a new instance of the class. + + + + + Gets the position this option has on the command line. + + + + + Gets or sets name of this positional value specification. + + + + + Models a verb command specification. + + + + + Initializes a new instance of the class. + + The long name of the verb command. + Whether the verb is the default verb. + aliases for this verb. i.e. "move" and "mv" + Thrown if is null, empty or whitespace and is false. + + + + Gets the verb name. + + + + + Gets or sets a value indicating whether a command line verb is visible in the help text. + + + + + Gets or sets a short description of this command line option. Usually a sentence summary. + + + + + Gets or sets the that contains the resources for . + + + + + Gets whether this verb is the default verb. + + + + + Gets or sets the aliases + + + + + Failed computation case. + + + + + Sccessful computation case. + + + + + Inject a value into the Either type, returning Right case. + + + + + Fail with a message. Not part of mathematical definition of a monad. + + + + + Monadic bind. + + + + + Transforms a Either's right value by using a specified mapping function. + + + + + Maps both parts of a Either type. Applies the first function if Either is Left. + Otherwise applies the second function. + + + + + Map operation compatible with Linq. + + + + + Returns a Either Right or fail with an exception. + + + + + Returns a Either Left or a defualt value. + + + + + Returns a Either Right or a defualt value. + + + + + Wraps a function, encapsulates any exception thrown within to a Either. + + + + + Attempts to cast an object. + Stores the cast value in 1Of2 if successful, otherwise stores the exception in 2Of2 + + + + + Equivalent to monadic operation. + Builds a value in case by default. + + + + + Safe function that returns Just(first element) or None. + + + + + Turns an empty sequence to Nothing, otherwise Just(sequence). + + + + + Returns the Cartesian product of two sequences by combining each element of the first set with each in the second + and applying the user=define projection to the pair. + + + + + Prepends a single value to a sequence. + + + + + Returns a sequence consisting of the head element and the given tail elements. + + + + + Returns a sequence consisting of the head elements and the given tail element. + + + + + Excludes elements from a sequence starting at a given index + + The type of the elements of the sequence + + + + Returns a sequence of + where the key is the zero-based index of the value in the source + sequence. + + + + + Returns a sequence of + where the key is the index of the value in the source sequence. + An additional parameter specifies the starting index. + + + + + Returns the result of applying a function to a sequence of + 1 element. + + + + + Returns the result of applying a function to a sequence of + 2 elements. + + + + + Returns the result of applying a function to a sequence of + 3 elements. + + + + + Returns the result of applying a function to a sequence of + 4 elements. + + + + + Immediately executes the given action on each element in the source sequence. + + + + + Returns a sequence resulting from applying a function to each + element in the source sequence and its + predecessor, with the exception of the first element which is + only returned as the predecessor of the second element. + + + + + Creates a delimited string from a sequence of values. The + delimiter used depends on the current culture of the executing thread. + + + + + Creates a delimited string from a sequence of values and + a given delimiter. + + + + + Return everything except first element and throws exception if empty. + + + + + Return everything except first element without throwing exception if empty. + + + + + Captures current state of a sequence. + + + + + Creates an immutable copy of a sequence. + + + + + Selects a random element. + + + + + Takes an element and a sequence and `intersperses' that element between its elements. + + + + + Flattens a sequence by one level. + + + + + Reduces a sequence of strings to a sequence of parts, splitted by space, + of each original string. + + + + + Discriminator for . + + + + + The Maybe type models an optional value. A value of type Maybe a either contains a value of type a (represented as Just a), + or it is empty (represented as Nothing). + + + + + Type discriminator. + + + + + Matches a value returning true and value itself via output parameter. + + + + + Matches an empty value returning true. + + + + + Models a when in empty state. + + + + + Models a when contains a value. + + + + + The wrapped value. + + + + + Provides static methods for manipulating . + + + + + Builds the empty case of . + + + + + Builds the case when contains a value. + + + + + Inject a value into the monadic type. + + + + + Sequentially compose two actions, passing any value produced by the first as an argument to the second. + + + + + Transforms an maybe value by using a specified mapping function. + + + + + If both maybes contain a value, it merges them into a maybe with a tupled value. + + + + + Provides convenience extension methods for . + + + + + Provides pattern matching using delegates. + + + + + Provides pattern matching using delegates over maybe with tupled wrapped value. + + + + + Matches a value returning true and tupled value itself via two output parameters. + + + + + Equivalent to monadic operation. + Builds a value in case is different from its default. + + + + + Invokes a function on this maybe value that itself yields a maybe. + + + + + Transforms this maybe value by using a specified mapping function. + + + + + Map operation compatible with Linq. + + + + + Bind operation compatible with Linq. + + + + + If contains a value executes an delegate over it. + + + + + If contans a value executes an delegate over it. + + + + + Returns true iffits argument is of the form . + + + + + Returns true iffits argument is of the form . + + + + + Extracts the element out of a and returns a default value if its argument is . + + + + + Extracts the element out of a and throws an error if its argument is . + + + + + If contains a values returns it, otherwise returns . + + + + + If contains a values executes a mapping function over it, otherwise returns . + + + + + If contains a values executes a mapping function over it, otherwise returns the value from . + + + + + Returns an empty list when given or a singleton list when given a . + + + + + Represents the result of a computation. + + Type that models the result of a successful computation. + Type that model a message related to a computation. + + + + Represents the result of a successful computation. + + Type that models the result of a successful computation. + Type that model a message related to a computation. + + + + Represents the result of a failed computation. + + Type that models the result of a successful computation. + Type that model a message related to a computation. + + + + Creates a Failure result with the given messages. + + + + + Creates a Failure result with the given message. + + + + + Creates a Success result with the given value. + + + + + Creates a Success result with the given value and the given message. + + + + + Creates a Success result with the given value and the given messages. + + + + + Executes the given function on a given success or captures the failure. + + + + + Wraps a value in a Success. + + + + + Wraps a value in a Success. + + + + + Wraps a value in a Success and adds a message. + + + + + Wraps a message in a Failure. + + + + + Returns true if the result was not successful. + + + + + Takes a Result and maps it with successFunc if it is a Success otherwise it maps it with failureFunc. + + + + + If the given result is a Success the wrapped value will be returned. + Otherwise the function throws an exception with Failure message of the result. + + + + + Appends the given messages with the messages in the given result. + + + + + If the result is a Success it executes the given function on the value. + Otherwise the exisiting failure is propagated. + + + + + Flattens a nested result given the Failure types are equal. + + + + + If the wrapped function is a success and the given result is a success the function is applied on the value. + Otherwise the exisiting error messages are propagated. + + + + + Lifts a function into a Result container and applies it on the given result. + + + + + Promote a function to a monad/applicative, scanning the monadic/applicative arguments from left to right. + + + + + Collects a sequence of Results and accumulates their values. + If the sequence contains an error the error will be propagated. + + + + + Extensions methods for easier usage. + + + + + Allows pattern matching on Results. + + + + + Allows pattern matching on Results. + + + + + Lifts a Func into a Result and applies it on the given result. + + + + + Collects a sequence of Results and accumulates their values. + If the sequence contains an error the error will be propagated. + + + + + Collects a sequence of Results and accumulates their values. + If the sequence contains an error the error will be propagated. + + + + + If the result is a Success it executes the given Func on the value. + Otherwise the exisiting failure is propagated. + + + + + If the result is a Success it executes the given Func on the value. + If the result of the Func is a Success it maps it using the given Func. + Otherwise the exisiting failure is propagated. + + + + + Lifts a Func into a Result and applies it on the given result. + + + + + Returns the error messages or fails if the result was a success. + + + + + Returns the result or fails if the result was an error. + + + + + Returns messages in case of success, otherwise an empty sequence. + + + + + Builds a Maybe type instance from a Result one. + + + + diff --git a/packages/CommandLineParser.2.9.1/lib/net45/CommandLine.dll b/packages/CommandLineParser.2.9.1/lib/net45/CommandLine.dll new file mode 100644 index 0000000..91e83b2 Binary files /dev/null and b/packages/CommandLineParser.2.9.1/lib/net45/CommandLine.dll differ diff --git a/packages/CommandLineParser.2.9.1/lib/net45/CommandLine.xml b/packages/CommandLineParser.2.9.1/lib/net45/CommandLine.xml new file mode 100644 index 0000000..fb09435 --- /dev/null +++ b/packages/CommandLineParser.2.9.1/lib/net45/CommandLine.xml @@ -0,0 +1,3285 @@ + + + + CommandLine + + + + + Models a base attribute to define command line syntax. + + + + + Initializes a new instance of the class. + + + + + Gets or sets a value indicating whether a command line option is required. + + + + + When applied to properties defines + the lower range of items. + + If not set, no lower range is enforced. + + + + When applied to properties defines + the upper range of items. + + If not set, no upper range is enforced. + + + + Gets or sets mapped property default value. + + + + + Gets or sets a short description of this command line option. Usually a sentence summary. + + + + + Gets or sets mapped property meta value. Usually an uppercase hint of required value type. + + + + + Gets or sets a value indicating whether a command line option is visible in the help text. + + + + + Gets or sets the that contains the resources for . + + + + + Whether this is an int option that counts how many times a flag was set rather than taking a value on the command line + + + + This information is denormalized to decouple Specification from PropertyInfo. + + + + Whether this value came from a long option with "=" separating the name from the value + + + + + Whether this value came from a sequence specified with a separator (e.g., "--files a.txt,b.txt,c.txt") + + + + + Whether this value came from args after the -- separator (when EnableDashDash = true) + + + + + Normalizes the given . + + The given minus all names, and their value if one was present, that are not found using . + + + + Discriminator enumeration of derivates. + + + + + Value of type. + + + + + Value of type. + + + + + Value of type. + + + + + Value of type. + + + + + Value of type. + + + + + Value of type. + + + + + Value of type. + + + + + Value of type. + + + + + Value of type. + + + + + Value of type. + + + + + Value of type. + + + + + Value of type. + + + + + Value of type. + + + + + Value of type. + + + + + Value of type. + + + + + Value of type. + + + + + Value of type. + + + + + Value of type. + + + + + Base type of all errors. + + All errors are defined within the system. There's no reason to create custom derivate types. + + + + Initializes a new instance of the class. + + Type discriminator tag. + Tells if error stops parsing process. + + + + Initializes a new instance of the class. + + Type discriminator tag. + + + + Error type discriminator, defined as enumeration. + + + + + Tells if error stops parsing process. + Filtered by . + + + + + Determines whether the specified is equal to the current . + + The to compare with the current . + true if the specified is equal to the current ; otherwise, false. + + + + Serves as a hash function for a particular type. + + A hash code for the current . + + + + Returns a value that indicates whether the current instance and a specified have the same value. + + The instance to compare. + true if this instance of and have the same value; otherwise, false. + + + + Base type of all errors related to bad token detection. + + + + + Initializes a new instance of the class. + + Error type. + Problematic token. + + + + The string containing the token text. + + + + + Determines whether the specified is equal to the current . + + The to compare with the current . + true if the specified is equal to the current ; otherwise, false. + + + + Serves as a hash function for a particular type. + + A hash code for the current . + + + + Returns a value that indicates whether the current instance and a specified have the same value. + + The instance to compare. + true if this instance of and have the same value; otherwise, false. + + + + Models an error generated when an invalid token is detected. + + + + + Base type of all erros with name information. + + + + + Initializes a new instance of the class. + + Error type. + Problematic name. + + + + Name information relative to this error instance. + + + + + Determines whether the specified is equal to the current . + + The to compare with the current . + true if the specified is equal to the current ; otherwise, false. + + + + Serves as a hash function for a particular type. + + A hash code for the current . + + + + Returns a value that indicates whether the current instance and a specified have the same value. + + The instance to compare. + true if this instance of and have the same value; otherwise, false. + + + + Models an error generated when an option lacks its value. + + + + + Models an error generated when an unknown option is detected. + + + + + Models an error generated when a required option is required. + + + + + Models an error generated when a an option from another set is defined. + + + + + Option's set name. + + + + + Models an error generated when a value conversion fails. + + + + + Models an error generated when a sequence value lacks elements. + + + + + Models an error generated when an option is repeated two or more times. + + + + + Models an error generated when an unknown verb is detected. + + + + + Models an error generated when a user explicitly requests help. + + + + + Models an error generated when a user explicitly requests help in verb commands scenario. + + + + + Verb command string. + + + + + of verb command. + + + + + true if verb command is found; otherwise false. + + + + + Models an error generated when no verb is selected. + + + + + Models an error generated when a user explicitly requests version. + + + + + Models as error generated when exception is thrown at Property.SetValue + + + + + The expection thrown from Property.SetValue + + + + + The value that had to be set to the property + + + + + Models an error generated when an invalid token is detected. + + + + + Models an error generated when multiple default verbs are defined. + + + + + return true when errors contain HelpXXXError + + + + + return true when errors contain VersionXXXError + + + + + redirect errs to Console.Error, and to Console.Out for help/version error + + + + + Breaks a collection into groups of a specified size. + + A collection of . + The number of items each group shall contain. + An enumeration of T[]. + An incomplete group at the end of the source collection will be silently dropped. + + + + Per thread assembly attribute overrides for testing. + + + + + Assembly attribute overrides for testing. + + + The implementation will fail if two or more attributes of the same type + are included in . + + + Attributes that replace the existing assembly attributes or null, + to clear any testing attributes. + + + + + Indicates whether the string value of a + starts with the input parameter. Returns false if either + the StringBuilder or input string is null or empty. + + The to test. + The to look for. + + + + + Indicates whether the string value of a + ends with the input parameter. Returns false if either + the StringBuilder or input string is null or empty. + + The to test. + The to look for. + + + + + Models name information, used in instances. + + + + + Represents an empty name information. Used when are tied to values, + rather than options. + + + + + Gets the short name of the name information. + + + + + Gets the long name of the name information. + + + + + Gets a formatted text with unified name information. + + + + + Determines whether the specified is equal to the current . + + The to compare with the current . + true if the specified is equal to the current ; otherwise, false. + + + + Serves as a hash function for a particular type. + + A hash code for the current . + + + + Returns a value that indicates whether the current instance and a specified have the same value. + + The instance to compare. + true if this instance of and have the same value; otherwise, false. + + + + Models a null result when constructing a in a faling verbs scenario. + + + + + Models an option specification. + + + + + Initializes a new instance of the class. + The default long name will be inferred from target property. + + + + + Initializes a new instance of the class. + + The long name of the option. + + + + Initializes a new instance of the class. + + The short name of the option. + The long name of the option or null if not used. + + + + Initializes a new instance of the class. + + The short name of the option.. + + + + Gets long name of this command line option. This name is usually a single english word. + + + + + Gets a short name of this command line option, made of one character. + + + + + Gets or sets the option's mutually exclusive set name. + + + + + If true, this is an int option that counts how many times a flag was set (e.g. "-v -v -v" or "-vvv" would return 3). + The property must be of type int (signed 32-bit integer). + + + + + When applying attribute to target properties, + it allows you to split an argument and consume its content as a sequence. + + + + + Gets or sets the option group name. When one or more options are grouped, at least one of them should have value. Required rules are ignored. + + + + + Provides methods to parse command line arguments. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class, + configurable with using a delegate. + + The delegate used to configure + aspects and behaviors of the parser. + + + + Finalizes an instance of the class. + + + + + Gets the singleton instance created with basic defaults. + + + + + Gets the instance that implements in use. + + + + + Parses a string array of command line arguments constructing values in an instance of type . + Grammar rules are defined decorating public properties with appropriate attributes. + + Type of the target instance built with parsed value. + A array of command line arguments, normally supplied by application entry point. + A containing an instance of type with parsed values + and a sequence of . + Thrown if one or more arguments are null. + + + + Parses a string array of command line arguments constructing values in an instance of type . + Grammar rules are defined decorating public properties with appropriate attributes. + + Type of the target instance built with parsed value. + A delegate used to initialize the target instance. + A array of command line arguments, normally supplied by application entry point. + A containing an instance of type with parsed values + and a sequence of . + Thrown if one or more arguments are null. + + + + Parses a string array of command line arguments for verb commands scenario, constructing the proper instance from the array of types supplied by . + Grammar rules are defined decorating public properties with appropriate attributes. + The must be applied to types in the array. + + A array of command line arguments, normally supplied by application entry point. + A array used to supply verb alternatives. + A containing the appropriate instance with parsed values as a + and a sequence of . + Thrown if one or more arguments are null. + Thrown if array is empty. + All types must expose a parameterless constructor. It's strongly recommended to use a generic overload. + + + + Frees resources owned by the instance. + + + + + Defines generic overloads for . + + + + + Parses a string array of command line arguments for verb commands scenario, constructing the proper instance from types as generic arguments. + Grammar rules are defined decorating public properties with appropriate attributes. + The must be applied to types in the array. + + The type of the first verb. + The type of the second verb. + A instance. + A array of command line arguments, normally supplied by application entry point. + A containing the appropriate instance with parsed values as a + and a sequence of . + Thrown if one or more arguments are null. + All types must expose a parameterless constructor. + + + + Parses a string array of command line arguments for verb commands scenario, constructing the proper instance from types as generic arguments. + Grammar rules are defined decorating public properties with appropriate attributes. + The must be applied to types in the array. + + The type of the first verb. + The type of the second verb. + The type of the third verb. + A instance. + A array of command line arguments, normally supplied by application entry point. + A containing the appropriate instance with parsed values as a + and a sequence of . + Thrown if one or more arguments are null. + All types must expose a parameterless constructor. + + + + Parses a string array of command line arguments for verb commands scenario, constructing the proper instance from types as generic arguments. + Grammar rules are defined decorating public properties with appropriate attributes. + The must be applied to types in the array. + + The type of the first verb. + The type of the second verb. + The type of the third verb. + The type of the fourth verb. + A instance. + A array of command line arguments, normally supplied by application entry point. + A containing the appropriate instance with parsed values as a + and a sequence of . + Thrown if one or more arguments are null. + All types must expose a parameterless constructor. + + + + Parses a string array of command line arguments for verb commands scenario, constructing the proper instance from types as generic arguments. + Grammar rules are defined decorating public properties with appropriate attributes. + The must be applied to types in the array. + + The type of the first verb. + The type of the second verb. + The type of the third verb. + The type of the fourth verb. + The type of the fifth verb. + A instance. + A array of command line arguments, normally supplied by application entry point. + A containing the appropriate instance with parsed values as a + and a sequence of . + Thrown if one or more arguments are null. + All types must expose a parameterless constructor. + + + + Parses a string array of command line arguments for verb commands scenario, constructing the proper instance from types as generic arguments. + Grammar rules are defined decorating public properties with appropriate attributes. + The must be applied to types in the array. + + The type of the first verb. + The type of the second verb. + The type of the third verb. + The type of the fourth verb. + The type of the fifth verb. + The type of the sixth verb. + A instance. + A array of command line arguments, normally supplied by application entry point. + A containing the appropriate instance with parsed values as a + and a sequence of . + Thrown if one or more arguments are null. + All types must expose a parameterless constructor. + + + + Parses a string array of command line arguments for verb commands scenario, constructing the proper instance from types as generic arguments. + Grammar rules are defined decorating public properties with appropriate attributes. + The must be applied to types in the array. + + The type of the first verb. + The type of the second verb. + The type of the third verb. + The type of the fourth verb. + The type of the fifth verb. + The type of the sixth verb. + The type of the seventh verb. + A instance. + A array of command line arguments, normally supplied by application entry point. + A containing the appropriate instance with parsed values as a + and a sequence of . + Thrown if one or more arguments are null. + All types must expose a parameterless constructor. + + + + Parses a string array of command line arguments for verb commands scenario, constructing the proper instance from types as generic arguments. + Grammar rules are defined decorating public properties with appropriate attributes. + The must be applied to types in the array. + + The type of the first verb. + The type of the second verb. + The type of the third verb. + The type of the fourth verb. + The type of the fifth verb. + The type of the sixth verb. + The type of the seventh verb. + The type of the eighth verb. + A instance. + A array of command line arguments, normally supplied by application entry point. + A containing the appropriate instance with parsed values as a + and a sequence of . + Thrown if one or more arguments are null. + All types must expose a parameterless constructor. + + + + Parses a string array of command line arguments for verb commands scenario, constructing the proper instance from types as generic arguments. + Grammar rules are defined decorating public properties with appropriate attributes. + The must be applied to types in the array. + + The type of the first verb. + The type of the second verb. + The type of the third verb. + The type of the fourth verb. + The type of the fifth verb. + The type of the sixth verb. + The type of the seventh verb. + The type of the eighth verb. + The type of the ninth verb. + A instance. + A array of command line arguments, normally supplied by application entry point. + A containing the appropriate instance with parsed values as a + and a sequence of . + Thrown if one or more arguments are null. + All types must expose a parameterless constructor. + + + + Parses a string array of command line arguments for verb commands scenario, constructing the proper instance from types as generic arguments. + Grammar rules are defined decorating public properties with appropriate attributes. + The must be applied to types in the array. + + The type of the first verb. + The type of the second verb. + The type of the third verb. + The type of the fourth verb. + The type of the fifth verb. + The type of the sixth verb. + The type of the seventh verb. + The type of the eighth verb. + The type of the ninth verb. + The type of the tenth verb. + A instance. + A array of command line arguments, normally supplied by application entry point. + A containing the appropriate instance with parsed values as a + and a sequence of . + Thrown if one or more arguments are null. + All types must expose a parameterless constructor. + + + + Parses a string array of command line arguments for verb commands scenario, constructing the proper instance from types as generic arguments. + Grammar rules are defined decorating public properties with appropriate attributes. + The must be applied to types in the array. + + The type of the first verb. + The type of the second verb. + The type of the third verb. + The type of the fourth verb. + The type of the fifth verb. + The type of the sixth verb. + The type of the seventh verb. + The type of the eighth verb. + The type of the ninth verb. + The type of the tenth verb. + The type of the eleventh verb. + A instance. + A array of command line arguments, normally supplied by application entry point. + A containing the appropriate instance with parsed values as a + and a sequence of . + Thrown if one or more arguments are null. + All types must expose a parameterless constructor. + + + + Parses a string array of command line arguments for verb commands scenario, constructing the proper instance from types as generic arguments. + Grammar rules are defined decorating public properties with appropriate attributes. + The must be applied to types in the array. + + The type of the first verb. + The type of the second verb. + The type of the third verb. + The type of the fourth verb. + The type of the fifth verb. + The type of the sixth verb. + The type of the seventh verb. + The type of the eighth verb. + The type of the ninth verb. + The type of the tenth verb. + The type of the eleventh verb. + The type of the twelfth verb. + A instance. + A array of command line arguments, normally supplied by application entry point. + A containing the appropriate instance with parsed values as a + and a sequence of . + Thrown if one or more arguments are null. + All types must expose a parameterless constructor. + + + + Parses a string array of command line arguments for verb commands scenario, constructing the proper instance from types as generic arguments. + Grammar rules are defined decorating public properties with appropriate attributes. + The must be applied to types in the array. + + The type of the first verb. + The type of the second verb. + The type of the third verb. + The type of the fourth verb. + The type of the fifth verb. + The type of the sixth verb. + The type of the seventh verb. + The type of the eighth verb. + The type of the ninth verb. + The type of the tenth verb. + The type of the eleventh verb. + The type of the twelfth verb. + The type of the thirteenth verb. + A instance. + A array of command line arguments, normally supplied by application entry point. + A containing the appropriate instance with parsed values as a + and a sequence of . + Thrown if one or more arguments are null. + All types must expose a parameterless constructor. + + + + Parses a string array of command line arguments for verb commands scenario, constructing the proper instance from types as generic arguments. + Grammar rules are defined decorating public properties with appropriate attributes. + The must be applied to types in the array. + + The type of the first verb. + The type of the second verb. + The type of the third verb. + The type of the fourth verb. + The type of the fifth verb. + The type of the sixth verb. + The type of the seventh verb. + The type of the eighth verb. + The type of the ninth verb. + The type of the tenth verb. + The type of the eleventh verb. + The type of the twelfth verb. + The type of the thirteenth verb. + The type of the fourteenth verb. + A instance. + A array of command line arguments, normally supplied by application entry point. + A containing the appropriate instance with parsed values as a + and a sequence of . + Thrown if one or more arguments are null. + All types must expose a parameterless constructor. + + + + Parses a string array of command line arguments for verb commands scenario, constructing the proper instance from types as generic arguments. + Grammar rules are defined decorating public properties with appropriate attributes. + The must be applied to types in the array. + + The type of the first verb. + The type of the second verb. + The type of the third verb. + The type of the fourth verb. + The type of the fifth verb. + The type of the sixth verb. + The type of the seventh verb. + The type of the eighth verb. + The type of the ninth verb. + The type of the tenth verb. + The type of the eleventh verb. + The type of the twelfth verb. + The type of the thirteenth verb. + The type of the fourteenth verb. + The type of the fifteenth verb. + A instance. + A array of command line arguments, normally supplied by application entry point. + A containing the appropriate instance with parsed values as a + and a sequence of . + Thrown if one or more arguments are null. + All types must expose a parameterless constructor. + + + + Parses a string array of command line arguments for verb commands scenario, constructing the proper instance from types as generic arguments. + Grammar rules are defined decorating public properties with appropriate attributes. + The must be applied to types in the array. + + The type of the first verb. + The type of the second verb. + The type of the third verb. + The type of the fourth verb. + The type of the fifth verb. + The type of the sixth verb. + The type of the seventh verb. + The type of the eighth verb. + The type of the ninth verb. + The type of the tenth verb. + The type of the eleventh verb. + The type of the twelfth verb. + The type of the thirteenth verb. + The type of the fourteenth verb. + The type of the fifteenth verb. + The type of the sixteenth verb. + A instance. + A array of command line arguments, normally supplied by application entry point. + A containing the appropriate instance with parsed values as a + and a sequence of . + Thrown if one or more arguments are null. + All types must expose a parameterless constructor. + + + + Discriminator enumeration of derivates. + + + + + Value of type. + + + + + Value of type. + + + + + Models a parser result. When inherited by , it contains an instance of type + with parsed values. + When inherited by , it contains a sequence of . + + The type with attributes that define the syntax of parsing rules. + + + + Parser result type discriminator, defined as enumeration. + + + + + Gets the instance with parsed values. If one or more errors occures, is returned. + + + + + Gets the sequence of parsing errors. If there are no errors, then an empty IEnumerable is returned. + + + + + It contains an instance of type with parsed values. + + The type with attributes that define the syntax of parsing rules. + + + + Determines whether the specified is equal to the current . + + The to compare with the current . + true if the specified is equal to the current ; otherwise, false. + + + + Serves as a hash function for a particular type. + + A hash code for the current . + + + + Returns a value that indicates whether the current instance and a specified have the same value. + + The instance to compare. + true if this instance of and have the same value; otherwise, false. + + + + It contains a sequence of . + + The type with attributes that define the syntax of parsing rules. + + + + Determines whether the specified is equal to the current . + + The to compare with the current . + true if the specified is equal to the current ; otherwise, false. + + + + Serves as a hash function for a particular type. + + A hash code for the current . + + + + Returns a value that indicates whether the current instance and a specified have the same value. + + The instance to compare. + true if this instance of and have the same value; otherwise, false. + + + + Provides convenience extension methods for . + + + + + Executes if contains + parsed values. + + Type of the target instance built with parsed value. + An instance. + The to execute. + The same instance. + + + + Executes if parsed values are of . + + Type of the target instance built with parsed value. + An verb result instance. + The to execute. + The same instance. + + + + Executes if lacks + parsed values and contains errors. + + Type of the target instance built with parsed value. + An instance. + The delegate to execute. + The same instance. + + + + Provides a way to transform result data into another value. + + Type of the target instance built with parsed value. + The type of the new value. + An instance. + Lambda executed on successful parsing. + Lambda executed on failed parsing. + The new value. + + + + Provides a way to transform result data into another value. + + First verb type. + + The result in verb scenario. + Lambda executed on successful parsing of . + Lambda executed on failed parsing. + The new value. + + + + Provides a way to transform result data into another value. + + First verb type. + Second verb type. + + The result in verb scenario. + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on failed parsing. + The new value. + + + + Provides a way to transform result data into another value. + + First verb type. + Second verb type. + Third verb type. + + The result in verb scenario. + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on failed parsing. + The new value. + + + + Provides a way to transform result data into another value. + + First verb type. + Second verb type. + Third verb type. + Fourth verb type. + + The result in verb scenario. + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on failed parsing. + The new value. + + + + Provides a way to transform result data into another value. + + First verb type. + Second verb type. + Third verb type. + Fourth verb type. + Fifth verb type. + + The result in verb scenario. + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on failed parsing. + The new value. + + + + Provides a way to transform result data into another value. + + First verb type. + Second verb type. + Third verb type. + Fourth verb type. + Fifth verb type. + Sixth verb type. + + The result in verb scenario. + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on failed parsing. + The new value. + + + + Provides a way to transform result data into another value. + + First verb type. + Second verb type. + Third verb type. + Fourth verb type. + Fifth verb type. + Sixth verb type. + Seventh verb type. + + The result in verb scenario. + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on failed parsing. + The new value. + + + + Provides a way to transform result data into another value. + + First verb type. + Second verb type. + Third verb type. + Fourth verb type. + Fifth verb type. + Sixth verb type. + Seventh verb type. + Eighth verb type. + + The result in verb scenario. + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on failed parsing. + The new value. + + + + Provides a way to transform result data into another value. + + First verb type. + Second verb type. + Third verb type. + Fourth verb type. + Fifth verb type. + Sixth verb type. + Seventh verb type. + Eighth verb type. + Ninth verb type. + + The result in verb scenario. + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on failed parsing. + The new value. + + + + Provides a way to transform result data into another value. + + First verb type. + Second verb type. + Third verb type. + Fourth verb type. + Fifth verb type. + Sixth verb type. + Seventh verb type. + Eighth verb type. + Ninth verb type. + Tenth verb type. + + The result in verb scenario. + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on failed parsing. + The new value. + + + + Provides a way to transform result data into another value. + + First verb type. + Second verb type. + Third verb type. + Fourth verb type. + Fifth verb type. + Sixth verb type. + Seventh verb type. + Eighth verb type. + Ninth verb type. + Tenth verb type. + Eleventh verb type. + + The result in verb scenario. + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on failed parsing. + The new value. + + + + Provides a way to transform result data into another value. + + First verb type. + Second verb type. + Third verb type. + Fourth verb type. + Fifth verb type. + Sixth verb type. + Seventh verb type. + Eighth verb type. + Ninth verb type. + Tenth verb type. + Eleventh verb type. + Twelfth verb type. + + The result in verb scenario. + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on failed parsing. + The new value. + + + + Provides a way to transform result data into another value. + + First verb type. + Second verb type. + Third verb type. + Fourth verb type. + Fifth verb type. + Sixth verb type. + Seventh verb type. + Eighth verb type. + Ninth verb type. + Tenth verb type. + Eleventh verb type. + Twelfth verb type. + Thirteenth verb type. + + The result in verb scenario. + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on failed parsing. + The new value. + + + + Provides a way to transform result data into another value. + + First verb type. + Second verb type. + Third verb type. + Fourth verb type. + Fifth verb type. + Sixth verb type. + Seventh verb type. + Eighth verb type. + Ninth verb type. + Tenth verb type. + Eleventh verb type. + Twelfth verb type. + Thirteenth verb type. + Fourteenth verb type. + + The result in verb scenario. + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on failed parsing. + The new value. + + + + Provides a way to transform result data into another value. + + First verb type. + Second verb type. + Third verb type. + Fourth verb type. + Fifth verb type. + Sixth verb type. + Seventh verb type. + Eighth verb type. + Ninth verb type. + Tenth verb type. + Eleventh verb type. + Twelfth verb type. + Thirteenth verb type. + Fourteenth verb type. + Fifteenth verb type. + + The result in verb scenario. + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on failed parsing. + The new value. + + + + Provides a way to transform result data into another value. + + First verb type. + Second verb type. + Third verb type. + Fourth verb type. + Fifth verb type. + Sixth verb type. + Seventh verb type. + Eighth verb type. + Ninth verb type. + Tenth verb type. + Eleventh verb type. + Twelfth verb type. + Thirteenth verb type. + Fourteenth verb type. + Fifteenth verb type. + Sixteenth verb type. + + The result in verb scenario. + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on failed parsing. + The new value. + + + + Executes asynchronously if contains + parsed values. + + Type of the target instance built with parsed value. + An instance. + The to execute. + The same instance as a instance. + + + + Executes asynchronously if parsed values are of . + + Type of the target instance built with parsed value. + An verb result instance. + The to execute. + The same instance as a instance. + + + + Executes asynchronously if lacks + parsed values and contains errors. + + Type of the target instance built with parsed value. + An instance. + The delegate to execute. + The same instance as a instance. + + + + Provides settings for . Once consumed cannot be reused. + + + + + Initializes a new instance of the class. + + + + + Finalizes an instance of the class. + + + + + Gets or sets a value indicating whether perform case sensitive comparisons. + Note that case insensitivity only applies to parameters, not the values + assigned to them (for example, enum parsing). + + + + + Gets or sets a value indicating whether perform case sensitive comparisons of values. + Note that case insensitivity only applies to values, not the parameters. + + + + + Gets or sets the culture used when parsing arguments to typed properties. + + + Default is invariant culture, . + + + + + Gets or sets the used for help method output. + Setting this property to null, will disable help screen. + + + It is the caller's responsibility to dispose or close the . + + + + + Gets or sets a value indicating whether the parser shall move on to the next argument and ignore the given argument if it + encounter an unknown arguments + + + true to allow parsing the arguments with different class options that do not have all the arguments. + + + This allows fragmented version class parsing, useful for project with add-on where add-ons also requires command line arguments but + when these are unknown by the main program at build time. + + + + + Gets or sets a value indicating whether implicit option or verb 'help' should be supported. + + + + + Gets or sets a value indicating whether implicit option or verb 'version' should be supported. + + + + + Gets or sets a value indicating whether enable double dash '--' syntax, + that forces parsing of all subsequent tokens as values. + If GetoptMode is true, this defaults to true, but can be turned off by explicitly specifying EnableDashDash = false. + + + + + Gets or sets the maximum width of the display. This determines word wrap when displaying the text. + + + + + Gets or sets a value indicating whether options are allowed to be specified multiple times. + If GetoptMode is true, this defaults to true, but can be turned off by explicitly specifying AllowMultiInstance = false. + + + + + Whether strict getopt-like processing is applied to option values; if true, AllowMultiInstance and EnableDashDash will default to true as well. + + + + + Whether getopt-like processing should follow the POSIX rules (the equivalent of using the "+" prefix in the C getopt() call). + If not explicitly set, will default to false unless the POSIXLY_CORRECT environment variable is set, in which case it will default to true. + + + + + Frees resources owned by the instance. + + + + + Models a multiline assembly license text. + + + + + Initializes a new instance of the class + with one line of text. + + First line of license text. + + + + Initializes a new instance of the class + with two lines of text. + + First line of license text. + Second line of license text. + + + + Initializes a new instance of the class + with three lines of text. + + First line of license text. + Second line of license text. + Third line of license text. + + + + Initializes a new instance of the class + with four lines of text. + + First line of license text. + Second line of license text. + Third line of license text. + Fourth line of license text. + + + + Initializes a new instance of the class + with five lines of text. + + First line of license text. + Second line of license text. + Third line of license text. + Fourth line of license text. + Fifth line of license text. + + + + Models a multiline assembly usage text. + + + + + Initializes a new instance of the class + with one line of text. + + First line of usage text. + + + + Initializes a new instance of the class + with two lines of text. + + First line of usage text. + Second line of usage text. + + + + Initializes a new instance of the class + with three lines of text. + + First line of usage text. + Second line of usage text. + Third line of usage text. + + + + Initializes a new instance of the class + with four lines of text. + + First line of usage text. + Second line of usage text. + Third line of usage text. + Fourth line of usage text. + + + + Initializes a new instance of the class + with five lines of text. + + First line of usage text. + Second line of usage text. + Third line of usage text. + Fourth line of usage text. + Fifth line of usage text. + + + + Models the copyright part of an help text. + You can assign it where you assign any instance. + + + + + An empty object used for initialization. + + + + + Initializes a new instance of the class + specifying author and year. + + The company or person holding the copyright. + The year of coverage of copyright. + Thrown when parameter is null or empty string. + + + + Initializes a new instance of the class + specifying author and copyrightYears. + + The company or person holding the copyright. + The copyrightYears of coverage of copyright. + Thrown when parameter is null or empty string. + Thrown when parameter is not supplied. + + + + Initializes a new instance of the class + specifying symbol case, author and copyrightYears. + + The case of the copyright symbol. + The company or person holding the copyright. + The copyrightYears of coverage of copyright. + Thrown when parameter is null or empty string. + Thrown when parameter is not supplied. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with an assembly attribute, this overrides all formatting. + + The attribute which text to use. + + + + Gets the default copyright information. + Retrieved from , if it exists, + otherwise it uses as copyright holder with the current year. + If neither exists it throws an . + + + + + Gets a different copyright word when overridden in a derived class. + + + + + Converts the copyright instance to a . + + This instance. + The that contains the copyright. + + + + Returns the copyright as a . + + The that contains the copyright. + + + + When overridden in a derived class, allows to specify a new algorithm to render copyright copyrightYears + as a instance. + + A array of copyrightYears. + A instance with copyright copyrightYears. + + + + Models a command line usage example. + + + + + Initializes a new instance of the class. + + Example description. + A instances sequence that defines command line arguments format. + A sample instance. + + + + Initializes a new instance of the class. + + Example description. + A instance that defines command line arguments format. + A sample instance. + + + + Initializes a new instance of the class. + + Example description. + A sample instance. + + + + Example description. + + + + + A sequence of format styles. + + + + + A sample instance. + + + + + Determines whether the specified is equal to the current . + + The to compare with the current . + true if the specified is equal to the current ; otherwise, false. + + + + Serves as a hash function for a particular type. + + A hash code for the current . + + + + Returns a value that indicates whether the current instance and a specified have the same value. + + The instance to compare. + true if this instance of and have the same value; otherwise, false. + + + + Models the heading part of an help text. + You can assign it where you assign any instance. + + + + + Initializes a new instance of the class + specifying program name and version. + + The name of the program. + The version of the program. + Thrown when parameter is null or empty string. + + + + An empty object used for initialization. + + + + + Gets the default heading instance. + The title is retrieved from , + or the assembly short name if its not defined. + The version is retrieved from , + or the assembly version if its not defined. + + + + + Converts the heading to a . + + This instance. + The that contains the heading. + + + + Returns the heading as a . + + The that contains the heading. + + + + Writes out a string and a new line using the program name specified in the constructor + and parameter. + + The message to write. + The target derived type. + Thrown when parameter is null or empty string. + Thrown when parameter is null. + + + + Writes out a string and a new line using the program name specified in the constructor + and parameter to standard output stream. + + The message to write. + Thrown when parameter is null or empty string. + + + + Writes out a string and a new line using the program name specified in the constructor + and parameter to standard error stream. + + The message to write. + Thrown when parameter is null or empty string. + + + + Provides means to format an help screen. + You can assign it in place of a instance. + + + + + The number of spaces between an option and its associated help text + + + + + The width of the option prefix (either "--" or " " + + + + + The total amount of extra space that needs to accounted for when indenting Option help text + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + specifying the sentence builder. + + + A instance. + + + + + Initializes a new instance of the class + specifying heading string. + + An heading string or an instance of . + Thrown when parameter is null or empty string. + + + + Initializes a new instance of the class + specifying the sentence builder and heading string. + + A instance. + A string with heading or an instance of . + + + + Initializes a new instance of the class + specifying heading and copyright strings. + + A string with heading or an instance of . + A string with copyright or an instance of . + Thrown when one or more parameters are null or empty strings. + + + + Initializes a new instance of the class + specifying heading and copyright strings. + + A instance. + A string with heading or an instance of . + A string with copyright or an instance of . + Thrown when one or more parameters are null or empty strings. + + + + Gets or sets the heading string. + You can directly assign a instance. + + + + + Gets or sets the copyright string. + You can directly assign a instance. + + + + + Gets or sets the maximum width of the display. This determines word wrap when displaying the text. + + The maximum width of the display. + + + + Gets or sets a value indicating whether the format of options should contain dashes. + It modifies behavior of method. + + + + + Gets or sets a value indicating whether to add an additional line after the description of the specification. + + + + + Gets or sets a value indicating whether to add newlines between help sections. + + + + + Gets or sets a value indicating whether to add the values of an enum after the description of the specification. + + + + + Gets or sets a value indicating whether implicit option or verb 'help' should be supported. + + + + + Gets or sets a value indicating whether implicit option or verb 'version' should be supported. + + + + + Gets the instance specified in constructor. + + + + + Creates a new instance of the class using common defaults. + + + An instance of class. + + The containing the instance that collected command line arguments parsed with class. + A delegate used to customize the text block of reporting parsing errors text block. + A delegate used to customize model used to render text block of usage examples. + If true the output style is consistent with verb commands (no dashes), otherwise it outputs options. + The maximum width of the display. + The parameter is not ontly a metter of formatting, it controls whether to handle verbs or options. + + + + Creates a default instance of the class, + automatically handling verbs or options scenario. + + The containing the instance that collected command line arguments parsed with class. + The maximum width of the display. + + An instance of class. + + This feature is meant to be invoked automatically by the parser, setting the HelpWriter property + of . + + + + Creates a custom instance of the class, + automatically handling verbs or options scenario. + + The containing the instance that collected command line arguments parsed with class. + A delegate used to customize the text block of reporting parsing errors text block. + The maximum width of the display. + + An instance of class. + + This feature is meant to be invoked automatically by the parser, setting the HelpWriter property + of . + + + + Supplies a default parsing error handler implementation. + + The containing the instance that collected command line arguments parsed with class. + The instance. + + + + Converts the help instance to a . + + This instance. + The that contains the help screen. + + + + Adds a text line after copyright and before options usage strings. + + A instance. + Updated instance. + Thrown when parameter is null or empty string. + + + + Adds a text line at the bottom, after options usage string. + + A instance. + Updated instance. + Thrown when parameter is null or empty string. + + + + Adds text lines after copyright and before options usage strings. + + A sequence of line to add. + Updated instance. + + + + Adds text lines at the bottom, after options usage string. + + A sequence of line to add. + Updated instance. + + + + Adds a text block of lines after copyright and before options usage strings. + + A text block. + Updated instance. + + + + Adds a text block of lines at the bottom, after options usage string. + + A text block. + Updated instance. + + + + Adds a text block with options usage string. + + A parsing computation result. + Thrown when parameter is null. + + + + Adds a text block with verbs usage string. + + The array of with verb commands. + Thrown when parameter is null. + Thrown if array is empty. + + + + Adds a text block with options usage string. + + The maximum length of the help screen. + A parsing computation result. + Thrown when parameter is null. + + + + Adds a text block with verbs usage string. + + The maximum length of the help screen. + The array of with verb commands. + Thrown when parameter is null. + Thrown if array is empty. + + + + Builds a string that contains a parsing error message. + + The containing the instance that collected command line arguments parsed with class. + The error formatting delegate. + The specialized sequence formatting delegate. + Number of spaces used to indent text. + The that contains the parsing error message. + + + + Builds a sequence of string that contains a parsing error message. + + The containing the instance that collected command line arguments parsed with class. + The error formatting delegate. + The specialized sequence formatting delegate. + Number of spaces used to indent text. + A sequence of that contains the parsing error message. + + + + Builds a string with usage text block created using data and metadata. + + Type of parsing computation result. + A parsing computation result. + Resulting formatted text. + + + + Builds a string with usage text block created using data and metadata. + + Type of parsing computation result. + A parsing computation result. + A mapping lambda normally used to translate text in other languages. + Resulting formatted text. + + + + Builds a string sequence with usage text block created using data and metadata. + + Type of parsing computation result. + A parsing computation result. + A mapping lambda normally used to translate text in other languages. + Resulting formatted text. + + + + Returns the help screen as a . + + The that contains the help screen. + + + + Provides base properties for creating an attribute, used to define multiple lines of text. + + + + + Initializes a new instance of the class. Used in derived type + using one line of text. + + The first line of text. + + + + Initializes a new instance of the class. Used in type + using two lines of text. + + The first line of text. + The second line of text. + + + + Initializes a new instance of the class. Used in type + using three lines of text. + + The first line of text. + The second line of text. + The third line of text. + + + + Initializes a new instance of the class. Used in type + using four lines of text. + + The first line of text. + The second line of text. + The third line of text. + The fourth line of text. + + + + Initializes a new instance of the class. Used in type + using five lines of text. + + The first line of text. + The second line of text. + The third line of text. + The fourth line of text. + The fifth line of text. + + + + Gets the all non-blank lines as string. + + A string of all non-blank lines. + + + + Gets the first line of text. + + + + + Gets the second line of text. + + + + + Gets third line of text. + + + + + Gets the fourth line of text. + + + + + Gets the fifth line of text. + + + + + Returns the last line with text. Preserves blank lines if user intended by skipping a line. + + The last index of line of the non-blank line. + + The string array to process. + + + + Exposes standard delegates to provide a mean to customize part of help screen generation. + This type is consumed by . + + + + + Create instance of , + + The instance. + + + + Factory to allow custom SentenceBuilder injection + + + + + Gets a delegate that returns the word 'required'. + + + + + Gets a delegate that returns the word 'group'. + + + + + Gets a delegate that returns that errors block heading text. + + + + + Gets a delegate that returns usage text block heading text. + + + + + Get a delegate that returns the help text of help command. + The delegates must accept a boolean that is equal true for options; otherwise false for verbs. + + + + + Get a delegate that returns the help text of vesion command. + The delegates must accept a boolean that is equal true for options; otherwise false for verbs. + + + + + Gets a delegate that handles singular error formatting. + The delegates must accept an and returns a string. + + + + + Gets a delegate that handles mutually exclusive set errors formatting. + The delegates must accept a sequence of and returns a string. + + + + + A utility class to word-wrap and indent blocks of text + + + + + Splits a string into a words and performs wrapping while also preserving line-breaks and sub-indentation + + The number of characters we can use for text + + This method attempts to wrap text without breaking words + For example, if columnWidth is 10 , the input + "a string for wrapping 01234567890123" + would return + "a string + "for + "wrapping + "0123456789 + "0123" + + this + + + + Indent all lines in the TextWrapper by the desired number of spaces + + The number of spaces to indent by + this + + + + Returns the current state of the TextWrapper as a string + + + + + + Convenience method to wraps and indent a string in a single operation + + The string to operate on + The number of spaces to indent by + The width of the column used for wrapping + + The string is wrapped _then_ indented so the columnWidth is the width of the + usable text block, and does NOT include the indentLevel. + + the processed string + + + + When presented with a word, either append to the last line in the list or start a new line + + A list of StringBuilders containing results so far + The individual word to append + The usable text space + + The 'word' can actually be an empty string. It's important to keep these - + empty strings allow us to preserve indentation and extra spaces within a line. + + The same list as is passed in + + + + Return the right part of a string in a way that compensates for Substring's deficiencies + + + + + Return the left part of a string in a way that compensates for Substring's deficiencies + + + + + Applied to a static property that yields a sequence of , + provides data to render usage section of help screen. + + + + + Application name, script or any means that starts current program. + + + + + Provides settings for when formatting command line from an options instance../>. + + + + + Gets or sets a value indicating whether unparsing process shall prefer short or long names. + + + + + Gets or sets a value indicating whether unparsing process shall group switches. + + + + + Gets or sets a value indicating whether unparsing process shall use equal sign with long names. + + + + + Gets or sets a value indicating whether unparsing process shall expose hidden options. + + + + + Gets or sets a value indicating whether unparsing process shall skip options with DefaultValue. + + + + + Factory method that creates an instance of with GroupSwitches set to true. + + A properly initalized instance. + + + + Factory method that creates an instance of with UseEqualToken set to true. + + A properly initalized instance. + + + + Provides overloads to unparse options instance. + + + + + Format a command line argument string from a parsed instance. + + Type of . + Parser instance. + A parsed (or manually correctly constructed instance). + A string with command line arguments. + + + + Format a command line argument string from a parsed instance in the form of string[]. + + Type of . + Parser instance. + A parsed (or manually correctly constructed instance). + A string[] with command line arguments. + + + + Format a command line argument string from a parsed instance. + + Type of . + Parser instance. + A parsed (or manually correctly constructed instance). + The lambda used to configure + aspects and behaviors of the unparsersing process. + A string with command line arguments. + + + + Format a command line argument string[] from a parsed instance. + + Type of . + Parser instance. + A parsed (or manually correctly constructed instance). + The lambda used to configure + aspects and behaviors of the unparsersing process. + A string[] with command line arguments. + + + + Returns a string array that contains the substrings in this instance that are delimited by space considering string between double quote. + + the commandline string + don't remove the quote + a string array that contains the substrings in this instance + + + + Models an value specification, or better how to handle values not bound to options. + + + + + Initializes a new instance of the class. + + + + + Gets the position this option has on the command line. + + + + + Gets or sets name of this positional value specification. + + + + + Models a verb command specification. + + + + + Initializes a new instance of the class. + + The long name of the verb command. + Whether the verb is the default verb. + aliases for this verb. i.e. "move" and "mv" + Thrown if is null, empty or whitespace and is false. + + + + Gets the verb name. + + + + + Gets or sets a value indicating whether a command line verb is visible in the help text. + + + + + Gets or sets a short description of this command line option. Usually a sentence summary. + + + + + Gets or sets the that contains the resources for . + + + + + Gets whether this verb is the default verb. + + + + + Gets or sets the aliases + + + + + Failed computation case. + + + + + Sccessful computation case. + + + + + Inject a value into the Either type, returning Right case. + + + + + Fail with a message. Not part of mathematical definition of a monad. + + + + + Monadic bind. + + + + + Transforms a Either's right value by using a specified mapping function. + + + + + Maps both parts of a Either type. Applies the first function if Either is Left. + Otherwise applies the second function. + + + + + Map operation compatible with Linq. + + + + + Returns a Either Right or fail with an exception. + + + + + Returns a Either Left or a defualt value. + + + + + Returns a Either Right or a defualt value. + + + + + Wraps a function, encapsulates any exception thrown within to a Either. + + + + + Attempts to cast an object. + Stores the cast value in 1Of2 if successful, otherwise stores the exception in 2Of2 + + + + + Equivalent to monadic operation. + Builds a value in case by default. + + + + + Safe function that returns Just(first element) or None. + + + + + Turns an empty sequence to Nothing, otherwise Just(sequence). + + + + + Returns the Cartesian product of two sequences by combining each element of the first set with each in the second + and applying the user=define projection to the pair. + + + + + Prepends a single value to a sequence. + + + + + Returns a sequence consisting of the head element and the given tail elements. + + + + + Returns a sequence consisting of the head elements and the given tail element. + + + + + Excludes elements from a sequence starting at a given index + + The type of the elements of the sequence + + + + Returns a sequence of + where the key is the zero-based index of the value in the source + sequence. + + + + + Returns a sequence of + where the key is the index of the value in the source sequence. + An additional parameter specifies the starting index. + + + + + Returns the result of applying a function to a sequence of + 1 element. + + + + + Returns the result of applying a function to a sequence of + 2 elements. + + + + + Returns the result of applying a function to a sequence of + 3 elements. + + + + + Returns the result of applying a function to a sequence of + 4 elements. + + + + + Immediately executes the given action on each element in the source sequence. + + + + + Returns a sequence resulting from applying a function to each + element in the source sequence and its + predecessor, with the exception of the first element which is + only returned as the predecessor of the second element. + + + + + Creates a delimited string from a sequence of values. The + delimiter used depends on the current culture of the executing thread. + + + + + Creates a delimited string from a sequence of values and + a given delimiter. + + + + + Return everything except first element and throws exception if empty. + + + + + Return everything except first element without throwing exception if empty. + + + + + Captures current state of a sequence. + + + + + Creates an immutable copy of a sequence. + + + + + Selects a random element. + + + + + Takes an element and a sequence and `intersperses' that element between its elements. + + + + + Flattens a sequence by one level. + + + + + Reduces a sequence of strings to a sequence of parts, splitted by space, + of each original string. + + + + + Discriminator for . + + + + + The Maybe type models an optional value. A value of type Maybe a either contains a value of type a (represented as Just a), + or it is empty (represented as Nothing). + + + + + Type discriminator. + + + + + Matches a value returning true and value itself via output parameter. + + + + + Matches an empty value returning true. + + + + + Models a when in empty state. + + + + + Models a when contains a value. + + + + + The wrapped value. + + + + + Provides static methods for manipulating . + + + + + Builds the empty case of . + + + + + Builds the case when contains a value. + + + + + Inject a value into the monadic type. + + + + + Sequentially compose two actions, passing any value produced by the first as an argument to the second. + + + + + Transforms an maybe value by using a specified mapping function. + + + + + If both maybes contain a value, it merges them into a maybe with a tupled value. + + + + + Provides convenience extension methods for . + + + + + Provides pattern matching using delegates. + + + + + Provides pattern matching using delegates over maybe with tupled wrapped value. + + + + + Matches a value returning true and tupled value itself via two output parameters. + + + + + Equivalent to monadic operation. + Builds a value in case is different from its default. + + + + + Invokes a function on this maybe value that itself yields a maybe. + + + + + Transforms this maybe value by using a specified mapping function. + + + + + Map operation compatible with Linq. + + + + + Bind operation compatible with Linq. + + + + + If contains a value executes an delegate over it. + + + + + If contans a value executes an delegate over it. + + + + + Returns true iffits argument is of the form . + + + + + Returns true iffits argument is of the form . + + + + + Extracts the element out of a and returns a default value if its argument is . + + + + + Extracts the element out of a and throws an error if its argument is . + + + + + If contains a values returns it, otherwise returns . + + + + + If contains a values executes a mapping function over it, otherwise returns . + + + + + If contains a values executes a mapping function over it, otherwise returns the value from . + + + + + Returns an empty list when given or a singleton list when given a . + + + + + Represents the result of a computation. + + Type that models the result of a successful computation. + Type that model a message related to a computation. + + + + Represents the result of a successful computation. + + Type that models the result of a successful computation. + Type that model a message related to a computation. + + + + Represents the result of a failed computation. + + Type that models the result of a successful computation. + Type that model a message related to a computation. + + + + Creates a Failure result with the given messages. + + + + + Creates a Failure result with the given message. + + + + + Creates a Success result with the given value. + + + + + Creates a Success result with the given value and the given message. + + + + + Creates a Success result with the given value and the given messages. + + + + + Executes the given function on a given success or captures the failure. + + + + + Wraps a value in a Success. + + + + + Wraps a value in a Success. + + + + + Wraps a value in a Success and adds a message. + + + + + Wraps a message in a Failure. + + + + + Returns true if the result was not successful. + + + + + Takes a Result and maps it with successFunc if it is a Success otherwise it maps it with failureFunc. + + + + + If the given result is a Success the wrapped value will be returned. + Otherwise the function throws an exception with Failure message of the result. + + + + + Appends the given messages with the messages in the given result. + + + + + If the result is a Success it executes the given function on the value. + Otherwise the exisiting failure is propagated. + + + + + Flattens a nested result given the Failure types are equal. + + + + + If the wrapped function is a success and the given result is a success the function is applied on the value. + Otherwise the exisiting error messages are propagated. + + + + + Lifts a function into a Result container and applies it on the given result. + + + + + Promote a function to a monad/applicative, scanning the monadic/applicative arguments from left to right. + + + + + Collects a sequence of Results and accumulates their values. + If the sequence contains an error the error will be propagated. + + + + + Extensions methods for easier usage. + + + + + Allows pattern matching on Results. + + + + + Allows pattern matching on Results. + + + + + Lifts a Func into a Result and applies it on the given result. + + + + + Collects a sequence of Results and accumulates their values. + If the sequence contains an error the error will be propagated. + + + + + Collects a sequence of Results and accumulates their values. + If the sequence contains an error the error will be propagated. + + + + + If the result is a Success it executes the given Func on the value. + Otherwise the exisiting failure is propagated. + + + + + If the result is a Success it executes the given Func on the value. + If the result of the Func is a Success it maps it using the given Func. + Otherwise the exisiting failure is propagated. + + + + + Lifts a Func into a Result and applies it on the given result. + + + + + Returns the error messages or fails if the result was a success. + + + + + Returns the result or fails if the result was an error. + + + + + Returns messages in case of success, otherwise an empty sequence. + + + + + Builds a Maybe type instance from a Result one. + + + + diff --git a/packages/CommandLineParser.2.9.1/lib/net461/CommandLine.dll b/packages/CommandLineParser.2.9.1/lib/net461/CommandLine.dll new file mode 100644 index 0000000..3221ce5 Binary files /dev/null and b/packages/CommandLineParser.2.9.1/lib/net461/CommandLine.dll differ diff --git a/packages/CommandLineParser.2.9.1/lib/net461/CommandLine.xml b/packages/CommandLineParser.2.9.1/lib/net461/CommandLine.xml new file mode 100644 index 0000000..fb09435 --- /dev/null +++ b/packages/CommandLineParser.2.9.1/lib/net461/CommandLine.xml @@ -0,0 +1,3285 @@ + + + + CommandLine + + + + + Models a base attribute to define command line syntax. + + + + + Initializes a new instance of the class. + + + + + Gets or sets a value indicating whether a command line option is required. + + + + + When applied to properties defines + the lower range of items. + + If not set, no lower range is enforced. + + + + When applied to properties defines + the upper range of items. + + If not set, no upper range is enforced. + + + + Gets or sets mapped property default value. + + + + + Gets or sets a short description of this command line option. Usually a sentence summary. + + + + + Gets or sets mapped property meta value. Usually an uppercase hint of required value type. + + + + + Gets or sets a value indicating whether a command line option is visible in the help text. + + + + + Gets or sets the that contains the resources for . + + + + + Whether this is an int option that counts how many times a flag was set rather than taking a value on the command line + + + + This information is denormalized to decouple Specification from PropertyInfo. + + + + Whether this value came from a long option with "=" separating the name from the value + + + + + Whether this value came from a sequence specified with a separator (e.g., "--files a.txt,b.txt,c.txt") + + + + + Whether this value came from args after the -- separator (when EnableDashDash = true) + + + + + Normalizes the given . + + The given minus all names, and their value if one was present, that are not found using . + + + + Discriminator enumeration of derivates. + + + + + Value of type. + + + + + Value of type. + + + + + Value of type. + + + + + Value of type. + + + + + Value of type. + + + + + Value of type. + + + + + Value of type. + + + + + Value of type. + + + + + Value of type. + + + + + Value of type. + + + + + Value of type. + + + + + Value of type. + + + + + Value of type. + + + + + Value of type. + + + + + Value of type. + + + + + Value of type. + + + + + Value of type. + + + + + Value of type. + + + + + Base type of all errors. + + All errors are defined within the system. There's no reason to create custom derivate types. + + + + Initializes a new instance of the class. + + Type discriminator tag. + Tells if error stops parsing process. + + + + Initializes a new instance of the class. + + Type discriminator tag. + + + + Error type discriminator, defined as enumeration. + + + + + Tells if error stops parsing process. + Filtered by . + + + + + Determines whether the specified is equal to the current . + + The to compare with the current . + true if the specified is equal to the current ; otherwise, false. + + + + Serves as a hash function for a particular type. + + A hash code for the current . + + + + Returns a value that indicates whether the current instance and a specified have the same value. + + The instance to compare. + true if this instance of and have the same value; otherwise, false. + + + + Base type of all errors related to bad token detection. + + + + + Initializes a new instance of the class. + + Error type. + Problematic token. + + + + The string containing the token text. + + + + + Determines whether the specified is equal to the current . + + The to compare with the current . + true if the specified is equal to the current ; otherwise, false. + + + + Serves as a hash function for a particular type. + + A hash code for the current . + + + + Returns a value that indicates whether the current instance and a specified have the same value. + + The instance to compare. + true if this instance of and have the same value; otherwise, false. + + + + Models an error generated when an invalid token is detected. + + + + + Base type of all erros with name information. + + + + + Initializes a new instance of the class. + + Error type. + Problematic name. + + + + Name information relative to this error instance. + + + + + Determines whether the specified is equal to the current . + + The to compare with the current . + true if the specified is equal to the current ; otherwise, false. + + + + Serves as a hash function for a particular type. + + A hash code for the current . + + + + Returns a value that indicates whether the current instance and a specified have the same value. + + The instance to compare. + true if this instance of and have the same value; otherwise, false. + + + + Models an error generated when an option lacks its value. + + + + + Models an error generated when an unknown option is detected. + + + + + Models an error generated when a required option is required. + + + + + Models an error generated when a an option from another set is defined. + + + + + Option's set name. + + + + + Models an error generated when a value conversion fails. + + + + + Models an error generated when a sequence value lacks elements. + + + + + Models an error generated when an option is repeated two or more times. + + + + + Models an error generated when an unknown verb is detected. + + + + + Models an error generated when a user explicitly requests help. + + + + + Models an error generated when a user explicitly requests help in verb commands scenario. + + + + + Verb command string. + + + + + of verb command. + + + + + true if verb command is found; otherwise false. + + + + + Models an error generated when no verb is selected. + + + + + Models an error generated when a user explicitly requests version. + + + + + Models as error generated when exception is thrown at Property.SetValue + + + + + The expection thrown from Property.SetValue + + + + + The value that had to be set to the property + + + + + Models an error generated when an invalid token is detected. + + + + + Models an error generated when multiple default verbs are defined. + + + + + return true when errors contain HelpXXXError + + + + + return true when errors contain VersionXXXError + + + + + redirect errs to Console.Error, and to Console.Out for help/version error + + + + + Breaks a collection into groups of a specified size. + + A collection of . + The number of items each group shall contain. + An enumeration of T[]. + An incomplete group at the end of the source collection will be silently dropped. + + + + Per thread assembly attribute overrides for testing. + + + + + Assembly attribute overrides for testing. + + + The implementation will fail if two or more attributes of the same type + are included in . + + + Attributes that replace the existing assembly attributes or null, + to clear any testing attributes. + + + + + Indicates whether the string value of a + starts with the input parameter. Returns false if either + the StringBuilder or input string is null or empty. + + The to test. + The to look for. + + + + + Indicates whether the string value of a + ends with the input parameter. Returns false if either + the StringBuilder or input string is null or empty. + + The to test. + The to look for. + + + + + Models name information, used in instances. + + + + + Represents an empty name information. Used when are tied to values, + rather than options. + + + + + Gets the short name of the name information. + + + + + Gets the long name of the name information. + + + + + Gets a formatted text with unified name information. + + + + + Determines whether the specified is equal to the current . + + The to compare with the current . + true if the specified is equal to the current ; otherwise, false. + + + + Serves as a hash function for a particular type. + + A hash code for the current . + + + + Returns a value that indicates whether the current instance and a specified have the same value. + + The instance to compare. + true if this instance of and have the same value; otherwise, false. + + + + Models a null result when constructing a in a faling verbs scenario. + + + + + Models an option specification. + + + + + Initializes a new instance of the class. + The default long name will be inferred from target property. + + + + + Initializes a new instance of the class. + + The long name of the option. + + + + Initializes a new instance of the class. + + The short name of the option. + The long name of the option or null if not used. + + + + Initializes a new instance of the class. + + The short name of the option.. + + + + Gets long name of this command line option. This name is usually a single english word. + + + + + Gets a short name of this command line option, made of one character. + + + + + Gets or sets the option's mutually exclusive set name. + + + + + If true, this is an int option that counts how many times a flag was set (e.g. "-v -v -v" or "-vvv" would return 3). + The property must be of type int (signed 32-bit integer). + + + + + When applying attribute to target properties, + it allows you to split an argument and consume its content as a sequence. + + + + + Gets or sets the option group name. When one or more options are grouped, at least one of them should have value. Required rules are ignored. + + + + + Provides methods to parse command line arguments. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class, + configurable with using a delegate. + + The delegate used to configure + aspects and behaviors of the parser. + + + + Finalizes an instance of the class. + + + + + Gets the singleton instance created with basic defaults. + + + + + Gets the instance that implements in use. + + + + + Parses a string array of command line arguments constructing values in an instance of type . + Grammar rules are defined decorating public properties with appropriate attributes. + + Type of the target instance built with parsed value. + A array of command line arguments, normally supplied by application entry point. + A containing an instance of type with parsed values + and a sequence of . + Thrown if one or more arguments are null. + + + + Parses a string array of command line arguments constructing values in an instance of type . + Grammar rules are defined decorating public properties with appropriate attributes. + + Type of the target instance built with parsed value. + A delegate used to initialize the target instance. + A array of command line arguments, normally supplied by application entry point. + A containing an instance of type with parsed values + and a sequence of . + Thrown if one or more arguments are null. + + + + Parses a string array of command line arguments for verb commands scenario, constructing the proper instance from the array of types supplied by . + Grammar rules are defined decorating public properties with appropriate attributes. + The must be applied to types in the array. + + A array of command line arguments, normally supplied by application entry point. + A array used to supply verb alternatives. + A containing the appropriate instance with parsed values as a + and a sequence of . + Thrown if one or more arguments are null. + Thrown if array is empty. + All types must expose a parameterless constructor. It's strongly recommended to use a generic overload. + + + + Frees resources owned by the instance. + + + + + Defines generic overloads for . + + + + + Parses a string array of command line arguments for verb commands scenario, constructing the proper instance from types as generic arguments. + Grammar rules are defined decorating public properties with appropriate attributes. + The must be applied to types in the array. + + The type of the first verb. + The type of the second verb. + A instance. + A array of command line arguments, normally supplied by application entry point. + A containing the appropriate instance with parsed values as a + and a sequence of . + Thrown if one or more arguments are null. + All types must expose a parameterless constructor. + + + + Parses a string array of command line arguments for verb commands scenario, constructing the proper instance from types as generic arguments. + Grammar rules are defined decorating public properties with appropriate attributes. + The must be applied to types in the array. + + The type of the first verb. + The type of the second verb. + The type of the third verb. + A instance. + A array of command line arguments, normally supplied by application entry point. + A containing the appropriate instance with parsed values as a + and a sequence of . + Thrown if one or more arguments are null. + All types must expose a parameterless constructor. + + + + Parses a string array of command line arguments for verb commands scenario, constructing the proper instance from types as generic arguments. + Grammar rules are defined decorating public properties with appropriate attributes. + The must be applied to types in the array. + + The type of the first verb. + The type of the second verb. + The type of the third verb. + The type of the fourth verb. + A instance. + A array of command line arguments, normally supplied by application entry point. + A containing the appropriate instance with parsed values as a + and a sequence of . + Thrown if one or more arguments are null. + All types must expose a parameterless constructor. + + + + Parses a string array of command line arguments for verb commands scenario, constructing the proper instance from types as generic arguments. + Grammar rules are defined decorating public properties with appropriate attributes. + The must be applied to types in the array. + + The type of the first verb. + The type of the second verb. + The type of the third verb. + The type of the fourth verb. + The type of the fifth verb. + A instance. + A array of command line arguments, normally supplied by application entry point. + A containing the appropriate instance with parsed values as a + and a sequence of . + Thrown if one or more arguments are null. + All types must expose a parameterless constructor. + + + + Parses a string array of command line arguments for verb commands scenario, constructing the proper instance from types as generic arguments. + Grammar rules are defined decorating public properties with appropriate attributes. + The must be applied to types in the array. + + The type of the first verb. + The type of the second verb. + The type of the third verb. + The type of the fourth verb. + The type of the fifth verb. + The type of the sixth verb. + A instance. + A array of command line arguments, normally supplied by application entry point. + A containing the appropriate instance with parsed values as a + and a sequence of . + Thrown if one or more arguments are null. + All types must expose a parameterless constructor. + + + + Parses a string array of command line arguments for verb commands scenario, constructing the proper instance from types as generic arguments. + Grammar rules are defined decorating public properties with appropriate attributes. + The must be applied to types in the array. + + The type of the first verb. + The type of the second verb. + The type of the third verb. + The type of the fourth verb. + The type of the fifth verb. + The type of the sixth verb. + The type of the seventh verb. + A instance. + A array of command line arguments, normally supplied by application entry point. + A containing the appropriate instance with parsed values as a + and a sequence of . + Thrown if one or more arguments are null. + All types must expose a parameterless constructor. + + + + Parses a string array of command line arguments for verb commands scenario, constructing the proper instance from types as generic arguments. + Grammar rules are defined decorating public properties with appropriate attributes. + The must be applied to types in the array. + + The type of the first verb. + The type of the second verb. + The type of the third verb. + The type of the fourth verb. + The type of the fifth verb. + The type of the sixth verb. + The type of the seventh verb. + The type of the eighth verb. + A instance. + A array of command line arguments, normally supplied by application entry point. + A containing the appropriate instance with parsed values as a + and a sequence of . + Thrown if one or more arguments are null. + All types must expose a parameterless constructor. + + + + Parses a string array of command line arguments for verb commands scenario, constructing the proper instance from types as generic arguments. + Grammar rules are defined decorating public properties with appropriate attributes. + The must be applied to types in the array. + + The type of the first verb. + The type of the second verb. + The type of the third verb. + The type of the fourth verb. + The type of the fifth verb. + The type of the sixth verb. + The type of the seventh verb. + The type of the eighth verb. + The type of the ninth verb. + A instance. + A array of command line arguments, normally supplied by application entry point. + A containing the appropriate instance with parsed values as a + and a sequence of . + Thrown if one or more arguments are null. + All types must expose a parameterless constructor. + + + + Parses a string array of command line arguments for verb commands scenario, constructing the proper instance from types as generic arguments. + Grammar rules are defined decorating public properties with appropriate attributes. + The must be applied to types in the array. + + The type of the first verb. + The type of the second verb. + The type of the third verb. + The type of the fourth verb. + The type of the fifth verb. + The type of the sixth verb. + The type of the seventh verb. + The type of the eighth verb. + The type of the ninth verb. + The type of the tenth verb. + A instance. + A array of command line arguments, normally supplied by application entry point. + A containing the appropriate instance with parsed values as a + and a sequence of . + Thrown if one or more arguments are null. + All types must expose a parameterless constructor. + + + + Parses a string array of command line arguments for verb commands scenario, constructing the proper instance from types as generic arguments. + Grammar rules are defined decorating public properties with appropriate attributes. + The must be applied to types in the array. + + The type of the first verb. + The type of the second verb. + The type of the third verb. + The type of the fourth verb. + The type of the fifth verb. + The type of the sixth verb. + The type of the seventh verb. + The type of the eighth verb. + The type of the ninth verb. + The type of the tenth verb. + The type of the eleventh verb. + A instance. + A array of command line arguments, normally supplied by application entry point. + A containing the appropriate instance with parsed values as a + and a sequence of . + Thrown if one or more arguments are null. + All types must expose a parameterless constructor. + + + + Parses a string array of command line arguments for verb commands scenario, constructing the proper instance from types as generic arguments. + Grammar rules are defined decorating public properties with appropriate attributes. + The must be applied to types in the array. + + The type of the first verb. + The type of the second verb. + The type of the third verb. + The type of the fourth verb. + The type of the fifth verb. + The type of the sixth verb. + The type of the seventh verb. + The type of the eighth verb. + The type of the ninth verb. + The type of the tenth verb. + The type of the eleventh verb. + The type of the twelfth verb. + A instance. + A array of command line arguments, normally supplied by application entry point. + A containing the appropriate instance with parsed values as a + and a sequence of . + Thrown if one or more arguments are null. + All types must expose a parameterless constructor. + + + + Parses a string array of command line arguments for verb commands scenario, constructing the proper instance from types as generic arguments. + Grammar rules are defined decorating public properties with appropriate attributes. + The must be applied to types in the array. + + The type of the first verb. + The type of the second verb. + The type of the third verb. + The type of the fourth verb. + The type of the fifth verb. + The type of the sixth verb. + The type of the seventh verb. + The type of the eighth verb. + The type of the ninth verb. + The type of the tenth verb. + The type of the eleventh verb. + The type of the twelfth verb. + The type of the thirteenth verb. + A instance. + A array of command line arguments, normally supplied by application entry point. + A containing the appropriate instance with parsed values as a + and a sequence of . + Thrown if one or more arguments are null. + All types must expose a parameterless constructor. + + + + Parses a string array of command line arguments for verb commands scenario, constructing the proper instance from types as generic arguments. + Grammar rules are defined decorating public properties with appropriate attributes. + The must be applied to types in the array. + + The type of the first verb. + The type of the second verb. + The type of the third verb. + The type of the fourth verb. + The type of the fifth verb. + The type of the sixth verb. + The type of the seventh verb. + The type of the eighth verb. + The type of the ninth verb. + The type of the tenth verb. + The type of the eleventh verb. + The type of the twelfth verb. + The type of the thirteenth verb. + The type of the fourteenth verb. + A instance. + A array of command line arguments, normally supplied by application entry point. + A containing the appropriate instance with parsed values as a + and a sequence of . + Thrown if one or more arguments are null. + All types must expose a parameterless constructor. + + + + Parses a string array of command line arguments for verb commands scenario, constructing the proper instance from types as generic arguments. + Grammar rules are defined decorating public properties with appropriate attributes. + The must be applied to types in the array. + + The type of the first verb. + The type of the second verb. + The type of the third verb. + The type of the fourth verb. + The type of the fifth verb. + The type of the sixth verb. + The type of the seventh verb. + The type of the eighth verb. + The type of the ninth verb. + The type of the tenth verb. + The type of the eleventh verb. + The type of the twelfth verb. + The type of the thirteenth verb. + The type of the fourteenth verb. + The type of the fifteenth verb. + A instance. + A array of command line arguments, normally supplied by application entry point. + A containing the appropriate instance with parsed values as a + and a sequence of . + Thrown if one or more arguments are null. + All types must expose a parameterless constructor. + + + + Parses a string array of command line arguments for verb commands scenario, constructing the proper instance from types as generic arguments. + Grammar rules are defined decorating public properties with appropriate attributes. + The must be applied to types in the array. + + The type of the first verb. + The type of the second verb. + The type of the third verb. + The type of the fourth verb. + The type of the fifth verb. + The type of the sixth verb. + The type of the seventh verb. + The type of the eighth verb. + The type of the ninth verb. + The type of the tenth verb. + The type of the eleventh verb. + The type of the twelfth verb. + The type of the thirteenth verb. + The type of the fourteenth verb. + The type of the fifteenth verb. + The type of the sixteenth verb. + A instance. + A array of command line arguments, normally supplied by application entry point. + A containing the appropriate instance with parsed values as a + and a sequence of . + Thrown if one or more arguments are null. + All types must expose a parameterless constructor. + + + + Discriminator enumeration of derivates. + + + + + Value of type. + + + + + Value of type. + + + + + Models a parser result. When inherited by , it contains an instance of type + with parsed values. + When inherited by , it contains a sequence of . + + The type with attributes that define the syntax of parsing rules. + + + + Parser result type discriminator, defined as enumeration. + + + + + Gets the instance with parsed values. If one or more errors occures, is returned. + + + + + Gets the sequence of parsing errors. If there are no errors, then an empty IEnumerable is returned. + + + + + It contains an instance of type with parsed values. + + The type with attributes that define the syntax of parsing rules. + + + + Determines whether the specified is equal to the current . + + The to compare with the current . + true if the specified is equal to the current ; otherwise, false. + + + + Serves as a hash function for a particular type. + + A hash code for the current . + + + + Returns a value that indicates whether the current instance and a specified have the same value. + + The instance to compare. + true if this instance of and have the same value; otherwise, false. + + + + It contains a sequence of . + + The type with attributes that define the syntax of parsing rules. + + + + Determines whether the specified is equal to the current . + + The to compare with the current . + true if the specified is equal to the current ; otherwise, false. + + + + Serves as a hash function for a particular type. + + A hash code for the current . + + + + Returns a value that indicates whether the current instance and a specified have the same value. + + The instance to compare. + true if this instance of and have the same value; otherwise, false. + + + + Provides convenience extension methods for . + + + + + Executes if contains + parsed values. + + Type of the target instance built with parsed value. + An instance. + The to execute. + The same instance. + + + + Executes if parsed values are of . + + Type of the target instance built with parsed value. + An verb result instance. + The to execute. + The same instance. + + + + Executes if lacks + parsed values and contains errors. + + Type of the target instance built with parsed value. + An instance. + The delegate to execute. + The same instance. + + + + Provides a way to transform result data into another value. + + Type of the target instance built with parsed value. + The type of the new value. + An instance. + Lambda executed on successful parsing. + Lambda executed on failed parsing. + The new value. + + + + Provides a way to transform result data into another value. + + First verb type. + + The result in verb scenario. + Lambda executed on successful parsing of . + Lambda executed on failed parsing. + The new value. + + + + Provides a way to transform result data into another value. + + First verb type. + Second verb type. + + The result in verb scenario. + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on failed parsing. + The new value. + + + + Provides a way to transform result data into another value. + + First verb type. + Second verb type. + Third verb type. + + The result in verb scenario. + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on failed parsing. + The new value. + + + + Provides a way to transform result data into another value. + + First verb type. + Second verb type. + Third verb type. + Fourth verb type. + + The result in verb scenario. + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on failed parsing. + The new value. + + + + Provides a way to transform result data into another value. + + First verb type. + Second verb type. + Third verb type. + Fourth verb type. + Fifth verb type. + + The result in verb scenario. + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on failed parsing. + The new value. + + + + Provides a way to transform result data into another value. + + First verb type. + Second verb type. + Third verb type. + Fourth verb type. + Fifth verb type. + Sixth verb type. + + The result in verb scenario. + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on failed parsing. + The new value. + + + + Provides a way to transform result data into another value. + + First verb type. + Second verb type. + Third verb type. + Fourth verb type. + Fifth verb type. + Sixth verb type. + Seventh verb type. + + The result in verb scenario. + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on failed parsing. + The new value. + + + + Provides a way to transform result data into another value. + + First verb type. + Second verb type. + Third verb type. + Fourth verb type. + Fifth verb type. + Sixth verb type. + Seventh verb type. + Eighth verb type. + + The result in verb scenario. + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on failed parsing. + The new value. + + + + Provides a way to transform result data into another value. + + First verb type. + Second verb type. + Third verb type. + Fourth verb type. + Fifth verb type. + Sixth verb type. + Seventh verb type. + Eighth verb type. + Ninth verb type. + + The result in verb scenario. + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on failed parsing. + The new value. + + + + Provides a way to transform result data into another value. + + First verb type. + Second verb type. + Third verb type. + Fourth verb type. + Fifth verb type. + Sixth verb type. + Seventh verb type. + Eighth verb type. + Ninth verb type. + Tenth verb type. + + The result in verb scenario. + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on failed parsing. + The new value. + + + + Provides a way to transform result data into another value. + + First verb type. + Second verb type. + Third verb type. + Fourth verb type. + Fifth verb type. + Sixth verb type. + Seventh verb type. + Eighth verb type. + Ninth verb type. + Tenth verb type. + Eleventh verb type. + + The result in verb scenario. + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on failed parsing. + The new value. + + + + Provides a way to transform result data into another value. + + First verb type. + Second verb type. + Third verb type. + Fourth verb type. + Fifth verb type. + Sixth verb type. + Seventh verb type. + Eighth verb type. + Ninth verb type. + Tenth verb type. + Eleventh verb type. + Twelfth verb type. + + The result in verb scenario. + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on failed parsing. + The new value. + + + + Provides a way to transform result data into another value. + + First verb type. + Second verb type. + Third verb type. + Fourth verb type. + Fifth verb type. + Sixth verb type. + Seventh verb type. + Eighth verb type. + Ninth verb type. + Tenth verb type. + Eleventh verb type. + Twelfth verb type. + Thirteenth verb type. + + The result in verb scenario. + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on failed parsing. + The new value. + + + + Provides a way to transform result data into another value. + + First verb type. + Second verb type. + Third verb type. + Fourth verb type. + Fifth verb type. + Sixth verb type. + Seventh verb type. + Eighth verb type. + Ninth verb type. + Tenth verb type. + Eleventh verb type. + Twelfth verb type. + Thirteenth verb type. + Fourteenth verb type. + + The result in verb scenario. + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on failed parsing. + The new value. + + + + Provides a way to transform result data into another value. + + First verb type. + Second verb type. + Third verb type. + Fourth verb type. + Fifth verb type. + Sixth verb type. + Seventh verb type. + Eighth verb type. + Ninth verb type. + Tenth verb type. + Eleventh verb type. + Twelfth verb type. + Thirteenth verb type. + Fourteenth verb type. + Fifteenth verb type. + + The result in verb scenario. + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on failed parsing. + The new value. + + + + Provides a way to transform result data into another value. + + First verb type. + Second verb type. + Third verb type. + Fourth verb type. + Fifth verb type. + Sixth verb type. + Seventh verb type. + Eighth verb type. + Ninth verb type. + Tenth verb type. + Eleventh verb type. + Twelfth verb type. + Thirteenth verb type. + Fourteenth verb type. + Fifteenth verb type. + Sixteenth verb type. + + The result in verb scenario. + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on failed parsing. + The new value. + + + + Executes asynchronously if contains + parsed values. + + Type of the target instance built with parsed value. + An instance. + The to execute. + The same instance as a instance. + + + + Executes asynchronously if parsed values are of . + + Type of the target instance built with parsed value. + An verb result instance. + The to execute. + The same instance as a instance. + + + + Executes asynchronously if lacks + parsed values and contains errors. + + Type of the target instance built with parsed value. + An instance. + The delegate to execute. + The same instance as a instance. + + + + Provides settings for . Once consumed cannot be reused. + + + + + Initializes a new instance of the class. + + + + + Finalizes an instance of the class. + + + + + Gets or sets a value indicating whether perform case sensitive comparisons. + Note that case insensitivity only applies to parameters, not the values + assigned to them (for example, enum parsing). + + + + + Gets or sets a value indicating whether perform case sensitive comparisons of values. + Note that case insensitivity only applies to values, not the parameters. + + + + + Gets or sets the culture used when parsing arguments to typed properties. + + + Default is invariant culture, . + + + + + Gets or sets the used for help method output. + Setting this property to null, will disable help screen. + + + It is the caller's responsibility to dispose or close the . + + + + + Gets or sets a value indicating whether the parser shall move on to the next argument and ignore the given argument if it + encounter an unknown arguments + + + true to allow parsing the arguments with different class options that do not have all the arguments. + + + This allows fragmented version class parsing, useful for project with add-on where add-ons also requires command line arguments but + when these are unknown by the main program at build time. + + + + + Gets or sets a value indicating whether implicit option or verb 'help' should be supported. + + + + + Gets or sets a value indicating whether implicit option or verb 'version' should be supported. + + + + + Gets or sets a value indicating whether enable double dash '--' syntax, + that forces parsing of all subsequent tokens as values. + If GetoptMode is true, this defaults to true, but can be turned off by explicitly specifying EnableDashDash = false. + + + + + Gets or sets the maximum width of the display. This determines word wrap when displaying the text. + + + + + Gets or sets a value indicating whether options are allowed to be specified multiple times. + If GetoptMode is true, this defaults to true, but can be turned off by explicitly specifying AllowMultiInstance = false. + + + + + Whether strict getopt-like processing is applied to option values; if true, AllowMultiInstance and EnableDashDash will default to true as well. + + + + + Whether getopt-like processing should follow the POSIX rules (the equivalent of using the "+" prefix in the C getopt() call). + If not explicitly set, will default to false unless the POSIXLY_CORRECT environment variable is set, in which case it will default to true. + + + + + Frees resources owned by the instance. + + + + + Models a multiline assembly license text. + + + + + Initializes a new instance of the class + with one line of text. + + First line of license text. + + + + Initializes a new instance of the class + with two lines of text. + + First line of license text. + Second line of license text. + + + + Initializes a new instance of the class + with three lines of text. + + First line of license text. + Second line of license text. + Third line of license text. + + + + Initializes a new instance of the class + with four lines of text. + + First line of license text. + Second line of license text. + Third line of license text. + Fourth line of license text. + + + + Initializes a new instance of the class + with five lines of text. + + First line of license text. + Second line of license text. + Third line of license text. + Fourth line of license text. + Fifth line of license text. + + + + Models a multiline assembly usage text. + + + + + Initializes a new instance of the class + with one line of text. + + First line of usage text. + + + + Initializes a new instance of the class + with two lines of text. + + First line of usage text. + Second line of usage text. + + + + Initializes a new instance of the class + with three lines of text. + + First line of usage text. + Second line of usage text. + Third line of usage text. + + + + Initializes a new instance of the class + with four lines of text. + + First line of usage text. + Second line of usage text. + Third line of usage text. + Fourth line of usage text. + + + + Initializes a new instance of the class + with five lines of text. + + First line of usage text. + Second line of usage text. + Third line of usage text. + Fourth line of usage text. + Fifth line of usage text. + + + + Models the copyright part of an help text. + You can assign it where you assign any instance. + + + + + An empty object used for initialization. + + + + + Initializes a new instance of the class + specifying author and year. + + The company or person holding the copyright. + The year of coverage of copyright. + Thrown when parameter is null or empty string. + + + + Initializes a new instance of the class + specifying author and copyrightYears. + + The company or person holding the copyright. + The copyrightYears of coverage of copyright. + Thrown when parameter is null or empty string. + Thrown when parameter is not supplied. + + + + Initializes a new instance of the class + specifying symbol case, author and copyrightYears. + + The case of the copyright symbol. + The company or person holding the copyright. + The copyrightYears of coverage of copyright. + Thrown when parameter is null or empty string. + Thrown when parameter is not supplied. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with an assembly attribute, this overrides all formatting. + + The attribute which text to use. + + + + Gets the default copyright information. + Retrieved from , if it exists, + otherwise it uses as copyright holder with the current year. + If neither exists it throws an . + + + + + Gets a different copyright word when overridden in a derived class. + + + + + Converts the copyright instance to a . + + This instance. + The that contains the copyright. + + + + Returns the copyright as a . + + The that contains the copyright. + + + + When overridden in a derived class, allows to specify a new algorithm to render copyright copyrightYears + as a instance. + + A array of copyrightYears. + A instance with copyright copyrightYears. + + + + Models a command line usage example. + + + + + Initializes a new instance of the class. + + Example description. + A instances sequence that defines command line arguments format. + A sample instance. + + + + Initializes a new instance of the class. + + Example description. + A instance that defines command line arguments format. + A sample instance. + + + + Initializes a new instance of the class. + + Example description. + A sample instance. + + + + Example description. + + + + + A sequence of format styles. + + + + + A sample instance. + + + + + Determines whether the specified is equal to the current . + + The to compare with the current . + true if the specified is equal to the current ; otherwise, false. + + + + Serves as a hash function for a particular type. + + A hash code for the current . + + + + Returns a value that indicates whether the current instance and a specified have the same value. + + The instance to compare. + true if this instance of and have the same value; otherwise, false. + + + + Models the heading part of an help text. + You can assign it where you assign any instance. + + + + + Initializes a new instance of the class + specifying program name and version. + + The name of the program. + The version of the program. + Thrown when parameter is null or empty string. + + + + An empty object used for initialization. + + + + + Gets the default heading instance. + The title is retrieved from , + or the assembly short name if its not defined. + The version is retrieved from , + or the assembly version if its not defined. + + + + + Converts the heading to a . + + This instance. + The that contains the heading. + + + + Returns the heading as a . + + The that contains the heading. + + + + Writes out a string and a new line using the program name specified in the constructor + and parameter. + + The message to write. + The target derived type. + Thrown when parameter is null or empty string. + Thrown when parameter is null. + + + + Writes out a string and a new line using the program name specified in the constructor + and parameter to standard output stream. + + The message to write. + Thrown when parameter is null or empty string. + + + + Writes out a string and a new line using the program name specified in the constructor + and parameter to standard error stream. + + The message to write. + Thrown when parameter is null or empty string. + + + + Provides means to format an help screen. + You can assign it in place of a instance. + + + + + The number of spaces between an option and its associated help text + + + + + The width of the option prefix (either "--" or " " + + + + + The total amount of extra space that needs to accounted for when indenting Option help text + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + specifying the sentence builder. + + + A instance. + + + + + Initializes a new instance of the class + specifying heading string. + + An heading string or an instance of . + Thrown when parameter is null or empty string. + + + + Initializes a new instance of the class + specifying the sentence builder and heading string. + + A instance. + A string with heading or an instance of . + + + + Initializes a new instance of the class + specifying heading and copyright strings. + + A string with heading or an instance of . + A string with copyright or an instance of . + Thrown when one or more parameters are null or empty strings. + + + + Initializes a new instance of the class + specifying heading and copyright strings. + + A instance. + A string with heading or an instance of . + A string with copyright or an instance of . + Thrown when one or more parameters are null or empty strings. + + + + Gets or sets the heading string. + You can directly assign a instance. + + + + + Gets or sets the copyright string. + You can directly assign a instance. + + + + + Gets or sets the maximum width of the display. This determines word wrap when displaying the text. + + The maximum width of the display. + + + + Gets or sets a value indicating whether the format of options should contain dashes. + It modifies behavior of method. + + + + + Gets or sets a value indicating whether to add an additional line after the description of the specification. + + + + + Gets or sets a value indicating whether to add newlines between help sections. + + + + + Gets or sets a value indicating whether to add the values of an enum after the description of the specification. + + + + + Gets or sets a value indicating whether implicit option or verb 'help' should be supported. + + + + + Gets or sets a value indicating whether implicit option or verb 'version' should be supported. + + + + + Gets the instance specified in constructor. + + + + + Creates a new instance of the class using common defaults. + + + An instance of class. + + The containing the instance that collected command line arguments parsed with class. + A delegate used to customize the text block of reporting parsing errors text block. + A delegate used to customize model used to render text block of usage examples. + If true the output style is consistent with verb commands (no dashes), otherwise it outputs options. + The maximum width of the display. + The parameter is not ontly a metter of formatting, it controls whether to handle verbs or options. + + + + Creates a default instance of the class, + automatically handling verbs or options scenario. + + The containing the instance that collected command line arguments parsed with class. + The maximum width of the display. + + An instance of class. + + This feature is meant to be invoked automatically by the parser, setting the HelpWriter property + of . + + + + Creates a custom instance of the class, + automatically handling verbs or options scenario. + + The containing the instance that collected command line arguments parsed with class. + A delegate used to customize the text block of reporting parsing errors text block. + The maximum width of the display. + + An instance of class. + + This feature is meant to be invoked automatically by the parser, setting the HelpWriter property + of . + + + + Supplies a default parsing error handler implementation. + + The containing the instance that collected command line arguments parsed with class. + The instance. + + + + Converts the help instance to a . + + This instance. + The that contains the help screen. + + + + Adds a text line after copyright and before options usage strings. + + A instance. + Updated instance. + Thrown when parameter is null or empty string. + + + + Adds a text line at the bottom, after options usage string. + + A instance. + Updated instance. + Thrown when parameter is null or empty string. + + + + Adds text lines after copyright and before options usage strings. + + A sequence of line to add. + Updated instance. + + + + Adds text lines at the bottom, after options usage string. + + A sequence of line to add. + Updated instance. + + + + Adds a text block of lines after copyright and before options usage strings. + + A text block. + Updated instance. + + + + Adds a text block of lines at the bottom, after options usage string. + + A text block. + Updated instance. + + + + Adds a text block with options usage string. + + A parsing computation result. + Thrown when parameter is null. + + + + Adds a text block with verbs usage string. + + The array of with verb commands. + Thrown when parameter is null. + Thrown if array is empty. + + + + Adds a text block with options usage string. + + The maximum length of the help screen. + A parsing computation result. + Thrown when parameter is null. + + + + Adds a text block with verbs usage string. + + The maximum length of the help screen. + The array of with verb commands. + Thrown when parameter is null. + Thrown if array is empty. + + + + Builds a string that contains a parsing error message. + + The containing the instance that collected command line arguments parsed with class. + The error formatting delegate. + The specialized sequence formatting delegate. + Number of spaces used to indent text. + The that contains the parsing error message. + + + + Builds a sequence of string that contains a parsing error message. + + The containing the instance that collected command line arguments parsed with class. + The error formatting delegate. + The specialized sequence formatting delegate. + Number of spaces used to indent text. + A sequence of that contains the parsing error message. + + + + Builds a string with usage text block created using data and metadata. + + Type of parsing computation result. + A parsing computation result. + Resulting formatted text. + + + + Builds a string with usage text block created using data and metadata. + + Type of parsing computation result. + A parsing computation result. + A mapping lambda normally used to translate text in other languages. + Resulting formatted text. + + + + Builds a string sequence with usage text block created using data and metadata. + + Type of parsing computation result. + A parsing computation result. + A mapping lambda normally used to translate text in other languages. + Resulting formatted text. + + + + Returns the help screen as a . + + The that contains the help screen. + + + + Provides base properties for creating an attribute, used to define multiple lines of text. + + + + + Initializes a new instance of the class. Used in derived type + using one line of text. + + The first line of text. + + + + Initializes a new instance of the class. Used in type + using two lines of text. + + The first line of text. + The second line of text. + + + + Initializes a new instance of the class. Used in type + using three lines of text. + + The first line of text. + The second line of text. + The third line of text. + + + + Initializes a new instance of the class. Used in type + using four lines of text. + + The first line of text. + The second line of text. + The third line of text. + The fourth line of text. + + + + Initializes a new instance of the class. Used in type + using five lines of text. + + The first line of text. + The second line of text. + The third line of text. + The fourth line of text. + The fifth line of text. + + + + Gets the all non-blank lines as string. + + A string of all non-blank lines. + + + + Gets the first line of text. + + + + + Gets the second line of text. + + + + + Gets third line of text. + + + + + Gets the fourth line of text. + + + + + Gets the fifth line of text. + + + + + Returns the last line with text. Preserves blank lines if user intended by skipping a line. + + The last index of line of the non-blank line. + + The string array to process. + + + + Exposes standard delegates to provide a mean to customize part of help screen generation. + This type is consumed by . + + + + + Create instance of , + + The instance. + + + + Factory to allow custom SentenceBuilder injection + + + + + Gets a delegate that returns the word 'required'. + + + + + Gets a delegate that returns the word 'group'. + + + + + Gets a delegate that returns that errors block heading text. + + + + + Gets a delegate that returns usage text block heading text. + + + + + Get a delegate that returns the help text of help command. + The delegates must accept a boolean that is equal true for options; otherwise false for verbs. + + + + + Get a delegate that returns the help text of vesion command. + The delegates must accept a boolean that is equal true for options; otherwise false for verbs. + + + + + Gets a delegate that handles singular error formatting. + The delegates must accept an and returns a string. + + + + + Gets a delegate that handles mutually exclusive set errors formatting. + The delegates must accept a sequence of and returns a string. + + + + + A utility class to word-wrap and indent blocks of text + + + + + Splits a string into a words and performs wrapping while also preserving line-breaks and sub-indentation + + The number of characters we can use for text + + This method attempts to wrap text without breaking words + For example, if columnWidth is 10 , the input + "a string for wrapping 01234567890123" + would return + "a string + "for + "wrapping + "0123456789 + "0123" + + this + + + + Indent all lines in the TextWrapper by the desired number of spaces + + The number of spaces to indent by + this + + + + Returns the current state of the TextWrapper as a string + + + + + + Convenience method to wraps and indent a string in a single operation + + The string to operate on + The number of spaces to indent by + The width of the column used for wrapping + + The string is wrapped _then_ indented so the columnWidth is the width of the + usable text block, and does NOT include the indentLevel. + + the processed string + + + + When presented with a word, either append to the last line in the list or start a new line + + A list of StringBuilders containing results so far + The individual word to append + The usable text space + + The 'word' can actually be an empty string. It's important to keep these - + empty strings allow us to preserve indentation and extra spaces within a line. + + The same list as is passed in + + + + Return the right part of a string in a way that compensates for Substring's deficiencies + + + + + Return the left part of a string in a way that compensates for Substring's deficiencies + + + + + Applied to a static property that yields a sequence of , + provides data to render usage section of help screen. + + + + + Application name, script or any means that starts current program. + + + + + Provides settings for when formatting command line from an options instance../>. + + + + + Gets or sets a value indicating whether unparsing process shall prefer short or long names. + + + + + Gets or sets a value indicating whether unparsing process shall group switches. + + + + + Gets or sets a value indicating whether unparsing process shall use equal sign with long names. + + + + + Gets or sets a value indicating whether unparsing process shall expose hidden options. + + + + + Gets or sets a value indicating whether unparsing process shall skip options with DefaultValue. + + + + + Factory method that creates an instance of with GroupSwitches set to true. + + A properly initalized instance. + + + + Factory method that creates an instance of with UseEqualToken set to true. + + A properly initalized instance. + + + + Provides overloads to unparse options instance. + + + + + Format a command line argument string from a parsed instance. + + Type of . + Parser instance. + A parsed (or manually correctly constructed instance). + A string with command line arguments. + + + + Format a command line argument string from a parsed instance in the form of string[]. + + Type of . + Parser instance. + A parsed (or manually correctly constructed instance). + A string[] with command line arguments. + + + + Format a command line argument string from a parsed instance. + + Type of . + Parser instance. + A parsed (or manually correctly constructed instance). + The lambda used to configure + aspects and behaviors of the unparsersing process. + A string with command line arguments. + + + + Format a command line argument string[] from a parsed instance. + + Type of . + Parser instance. + A parsed (or manually correctly constructed instance). + The lambda used to configure + aspects and behaviors of the unparsersing process. + A string[] with command line arguments. + + + + Returns a string array that contains the substrings in this instance that are delimited by space considering string between double quote. + + the commandline string + don't remove the quote + a string array that contains the substrings in this instance + + + + Models an value specification, or better how to handle values not bound to options. + + + + + Initializes a new instance of the class. + + + + + Gets the position this option has on the command line. + + + + + Gets or sets name of this positional value specification. + + + + + Models a verb command specification. + + + + + Initializes a new instance of the class. + + The long name of the verb command. + Whether the verb is the default verb. + aliases for this verb. i.e. "move" and "mv" + Thrown if is null, empty or whitespace and is false. + + + + Gets the verb name. + + + + + Gets or sets a value indicating whether a command line verb is visible in the help text. + + + + + Gets or sets a short description of this command line option. Usually a sentence summary. + + + + + Gets or sets the that contains the resources for . + + + + + Gets whether this verb is the default verb. + + + + + Gets or sets the aliases + + + + + Failed computation case. + + + + + Sccessful computation case. + + + + + Inject a value into the Either type, returning Right case. + + + + + Fail with a message. Not part of mathematical definition of a monad. + + + + + Monadic bind. + + + + + Transforms a Either's right value by using a specified mapping function. + + + + + Maps both parts of a Either type. Applies the first function if Either is Left. + Otherwise applies the second function. + + + + + Map operation compatible with Linq. + + + + + Returns a Either Right or fail with an exception. + + + + + Returns a Either Left or a defualt value. + + + + + Returns a Either Right or a defualt value. + + + + + Wraps a function, encapsulates any exception thrown within to a Either. + + + + + Attempts to cast an object. + Stores the cast value in 1Of2 if successful, otherwise stores the exception in 2Of2 + + + + + Equivalent to monadic operation. + Builds a value in case by default. + + + + + Safe function that returns Just(first element) or None. + + + + + Turns an empty sequence to Nothing, otherwise Just(sequence). + + + + + Returns the Cartesian product of two sequences by combining each element of the first set with each in the second + and applying the user=define projection to the pair. + + + + + Prepends a single value to a sequence. + + + + + Returns a sequence consisting of the head element and the given tail elements. + + + + + Returns a sequence consisting of the head elements and the given tail element. + + + + + Excludes elements from a sequence starting at a given index + + The type of the elements of the sequence + + + + Returns a sequence of + where the key is the zero-based index of the value in the source + sequence. + + + + + Returns a sequence of + where the key is the index of the value in the source sequence. + An additional parameter specifies the starting index. + + + + + Returns the result of applying a function to a sequence of + 1 element. + + + + + Returns the result of applying a function to a sequence of + 2 elements. + + + + + Returns the result of applying a function to a sequence of + 3 elements. + + + + + Returns the result of applying a function to a sequence of + 4 elements. + + + + + Immediately executes the given action on each element in the source sequence. + + + + + Returns a sequence resulting from applying a function to each + element in the source sequence and its + predecessor, with the exception of the first element which is + only returned as the predecessor of the second element. + + + + + Creates a delimited string from a sequence of values. The + delimiter used depends on the current culture of the executing thread. + + + + + Creates a delimited string from a sequence of values and + a given delimiter. + + + + + Return everything except first element and throws exception if empty. + + + + + Return everything except first element without throwing exception if empty. + + + + + Captures current state of a sequence. + + + + + Creates an immutable copy of a sequence. + + + + + Selects a random element. + + + + + Takes an element and a sequence and `intersperses' that element between its elements. + + + + + Flattens a sequence by one level. + + + + + Reduces a sequence of strings to a sequence of parts, splitted by space, + of each original string. + + + + + Discriminator for . + + + + + The Maybe type models an optional value. A value of type Maybe a either contains a value of type a (represented as Just a), + or it is empty (represented as Nothing). + + + + + Type discriminator. + + + + + Matches a value returning true and value itself via output parameter. + + + + + Matches an empty value returning true. + + + + + Models a when in empty state. + + + + + Models a when contains a value. + + + + + The wrapped value. + + + + + Provides static methods for manipulating . + + + + + Builds the empty case of . + + + + + Builds the case when contains a value. + + + + + Inject a value into the monadic type. + + + + + Sequentially compose two actions, passing any value produced by the first as an argument to the second. + + + + + Transforms an maybe value by using a specified mapping function. + + + + + If both maybes contain a value, it merges them into a maybe with a tupled value. + + + + + Provides convenience extension methods for . + + + + + Provides pattern matching using delegates. + + + + + Provides pattern matching using delegates over maybe with tupled wrapped value. + + + + + Matches a value returning true and tupled value itself via two output parameters. + + + + + Equivalent to monadic operation. + Builds a value in case is different from its default. + + + + + Invokes a function on this maybe value that itself yields a maybe. + + + + + Transforms this maybe value by using a specified mapping function. + + + + + Map operation compatible with Linq. + + + + + Bind operation compatible with Linq. + + + + + If contains a value executes an delegate over it. + + + + + If contans a value executes an delegate over it. + + + + + Returns true iffits argument is of the form . + + + + + Returns true iffits argument is of the form . + + + + + Extracts the element out of a and returns a default value if its argument is . + + + + + Extracts the element out of a and throws an error if its argument is . + + + + + If contains a values returns it, otherwise returns . + + + + + If contains a values executes a mapping function over it, otherwise returns . + + + + + If contains a values executes a mapping function over it, otherwise returns the value from . + + + + + Returns an empty list when given or a singleton list when given a . + + + + + Represents the result of a computation. + + Type that models the result of a successful computation. + Type that model a message related to a computation. + + + + Represents the result of a successful computation. + + Type that models the result of a successful computation. + Type that model a message related to a computation. + + + + Represents the result of a failed computation. + + Type that models the result of a successful computation. + Type that model a message related to a computation. + + + + Creates a Failure result with the given messages. + + + + + Creates a Failure result with the given message. + + + + + Creates a Success result with the given value. + + + + + Creates a Success result with the given value and the given message. + + + + + Creates a Success result with the given value and the given messages. + + + + + Executes the given function on a given success or captures the failure. + + + + + Wraps a value in a Success. + + + + + Wraps a value in a Success. + + + + + Wraps a value in a Success and adds a message. + + + + + Wraps a message in a Failure. + + + + + Returns true if the result was not successful. + + + + + Takes a Result and maps it with successFunc if it is a Success otherwise it maps it with failureFunc. + + + + + If the given result is a Success the wrapped value will be returned. + Otherwise the function throws an exception with Failure message of the result. + + + + + Appends the given messages with the messages in the given result. + + + + + If the result is a Success it executes the given function on the value. + Otherwise the exisiting failure is propagated. + + + + + Flattens a nested result given the Failure types are equal. + + + + + If the wrapped function is a success and the given result is a success the function is applied on the value. + Otherwise the exisiting error messages are propagated. + + + + + Lifts a function into a Result container and applies it on the given result. + + + + + Promote a function to a monad/applicative, scanning the monadic/applicative arguments from left to right. + + + + + Collects a sequence of Results and accumulates their values. + If the sequence contains an error the error will be propagated. + + + + + Extensions methods for easier usage. + + + + + Allows pattern matching on Results. + + + + + Allows pattern matching on Results. + + + + + Lifts a Func into a Result and applies it on the given result. + + + + + Collects a sequence of Results and accumulates their values. + If the sequence contains an error the error will be propagated. + + + + + Collects a sequence of Results and accumulates their values. + If the sequence contains an error the error will be propagated. + + + + + If the result is a Success it executes the given Func on the value. + Otherwise the exisiting failure is propagated. + + + + + If the result is a Success it executes the given Func on the value. + If the result of the Func is a Success it maps it using the given Func. + Otherwise the exisiting failure is propagated. + + + + + Lifts a Func into a Result and applies it on the given result. + + + + + Returns the error messages or fails if the result was a success. + + + + + Returns the result or fails if the result was an error. + + + + + Returns messages in case of success, otherwise an empty sequence. + + + + + Builds a Maybe type instance from a Result one. + + + + diff --git a/packages/CommandLineParser.2.9.1/lib/netstandard2.0/CommandLine.dll b/packages/CommandLineParser.2.9.1/lib/netstandard2.0/CommandLine.dll new file mode 100644 index 0000000..3eab2be Binary files /dev/null and b/packages/CommandLineParser.2.9.1/lib/netstandard2.0/CommandLine.dll differ diff --git a/packages/CommandLineParser.2.9.1/lib/netstandard2.0/CommandLine.xml b/packages/CommandLineParser.2.9.1/lib/netstandard2.0/CommandLine.xml new file mode 100644 index 0000000..fb09435 --- /dev/null +++ b/packages/CommandLineParser.2.9.1/lib/netstandard2.0/CommandLine.xml @@ -0,0 +1,3285 @@ + + + + CommandLine + + + + + Models a base attribute to define command line syntax. + + + + + Initializes a new instance of the class. + + + + + Gets or sets a value indicating whether a command line option is required. + + + + + When applied to properties defines + the lower range of items. + + If not set, no lower range is enforced. + + + + When applied to properties defines + the upper range of items. + + If not set, no upper range is enforced. + + + + Gets or sets mapped property default value. + + + + + Gets or sets a short description of this command line option. Usually a sentence summary. + + + + + Gets or sets mapped property meta value. Usually an uppercase hint of required value type. + + + + + Gets or sets a value indicating whether a command line option is visible in the help text. + + + + + Gets or sets the that contains the resources for . + + + + + Whether this is an int option that counts how many times a flag was set rather than taking a value on the command line + + + + This information is denormalized to decouple Specification from PropertyInfo. + + + + Whether this value came from a long option with "=" separating the name from the value + + + + + Whether this value came from a sequence specified with a separator (e.g., "--files a.txt,b.txt,c.txt") + + + + + Whether this value came from args after the -- separator (when EnableDashDash = true) + + + + + Normalizes the given . + + The given minus all names, and their value if one was present, that are not found using . + + + + Discriminator enumeration of derivates. + + + + + Value of type. + + + + + Value of type. + + + + + Value of type. + + + + + Value of type. + + + + + Value of type. + + + + + Value of type. + + + + + Value of type. + + + + + Value of type. + + + + + Value of type. + + + + + Value of type. + + + + + Value of type. + + + + + Value of type. + + + + + Value of type. + + + + + Value of type. + + + + + Value of type. + + + + + Value of type. + + + + + Value of type. + + + + + Value of type. + + + + + Base type of all errors. + + All errors are defined within the system. There's no reason to create custom derivate types. + + + + Initializes a new instance of the class. + + Type discriminator tag. + Tells if error stops parsing process. + + + + Initializes a new instance of the class. + + Type discriminator tag. + + + + Error type discriminator, defined as enumeration. + + + + + Tells if error stops parsing process. + Filtered by . + + + + + Determines whether the specified is equal to the current . + + The to compare with the current . + true if the specified is equal to the current ; otherwise, false. + + + + Serves as a hash function for a particular type. + + A hash code for the current . + + + + Returns a value that indicates whether the current instance and a specified have the same value. + + The instance to compare. + true if this instance of and have the same value; otherwise, false. + + + + Base type of all errors related to bad token detection. + + + + + Initializes a new instance of the class. + + Error type. + Problematic token. + + + + The string containing the token text. + + + + + Determines whether the specified is equal to the current . + + The to compare with the current . + true if the specified is equal to the current ; otherwise, false. + + + + Serves as a hash function for a particular type. + + A hash code for the current . + + + + Returns a value that indicates whether the current instance and a specified have the same value. + + The instance to compare. + true if this instance of and have the same value; otherwise, false. + + + + Models an error generated when an invalid token is detected. + + + + + Base type of all erros with name information. + + + + + Initializes a new instance of the class. + + Error type. + Problematic name. + + + + Name information relative to this error instance. + + + + + Determines whether the specified is equal to the current . + + The to compare with the current . + true if the specified is equal to the current ; otherwise, false. + + + + Serves as a hash function for a particular type. + + A hash code for the current . + + + + Returns a value that indicates whether the current instance and a specified have the same value. + + The instance to compare. + true if this instance of and have the same value; otherwise, false. + + + + Models an error generated when an option lacks its value. + + + + + Models an error generated when an unknown option is detected. + + + + + Models an error generated when a required option is required. + + + + + Models an error generated when a an option from another set is defined. + + + + + Option's set name. + + + + + Models an error generated when a value conversion fails. + + + + + Models an error generated when a sequence value lacks elements. + + + + + Models an error generated when an option is repeated two or more times. + + + + + Models an error generated when an unknown verb is detected. + + + + + Models an error generated when a user explicitly requests help. + + + + + Models an error generated when a user explicitly requests help in verb commands scenario. + + + + + Verb command string. + + + + + of verb command. + + + + + true if verb command is found; otherwise false. + + + + + Models an error generated when no verb is selected. + + + + + Models an error generated when a user explicitly requests version. + + + + + Models as error generated when exception is thrown at Property.SetValue + + + + + The expection thrown from Property.SetValue + + + + + The value that had to be set to the property + + + + + Models an error generated when an invalid token is detected. + + + + + Models an error generated when multiple default verbs are defined. + + + + + return true when errors contain HelpXXXError + + + + + return true when errors contain VersionXXXError + + + + + redirect errs to Console.Error, and to Console.Out for help/version error + + + + + Breaks a collection into groups of a specified size. + + A collection of . + The number of items each group shall contain. + An enumeration of T[]. + An incomplete group at the end of the source collection will be silently dropped. + + + + Per thread assembly attribute overrides for testing. + + + + + Assembly attribute overrides for testing. + + + The implementation will fail if two or more attributes of the same type + are included in . + + + Attributes that replace the existing assembly attributes or null, + to clear any testing attributes. + + + + + Indicates whether the string value of a + starts with the input parameter. Returns false if either + the StringBuilder or input string is null or empty. + + The to test. + The to look for. + + + + + Indicates whether the string value of a + ends with the input parameter. Returns false if either + the StringBuilder or input string is null or empty. + + The to test. + The to look for. + + + + + Models name information, used in instances. + + + + + Represents an empty name information. Used when are tied to values, + rather than options. + + + + + Gets the short name of the name information. + + + + + Gets the long name of the name information. + + + + + Gets a formatted text with unified name information. + + + + + Determines whether the specified is equal to the current . + + The to compare with the current . + true if the specified is equal to the current ; otherwise, false. + + + + Serves as a hash function for a particular type. + + A hash code for the current . + + + + Returns a value that indicates whether the current instance and a specified have the same value. + + The instance to compare. + true if this instance of and have the same value; otherwise, false. + + + + Models a null result when constructing a in a faling verbs scenario. + + + + + Models an option specification. + + + + + Initializes a new instance of the class. + The default long name will be inferred from target property. + + + + + Initializes a new instance of the class. + + The long name of the option. + + + + Initializes a new instance of the class. + + The short name of the option. + The long name of the option or null if not used. + + + + Initializes a new instance of the class. + + The short name of the option.. + + + + Gets long name of this command line option. This name is usually a single english word. + + + + + Gets a short name of this command line option, made of one character. + + + + + Gets or sets the option's mutually exclusive set name. + + + + + If true, this is an int option that counts how many times a flag was set (e.g. "-v -v -v" or "-vvv" would return 3). + The property must be of type int (signed 32-bit integer). + + + + + When applying attribute to target properties, + it allows you to split an argument and consume its content as a sequence. + + + + + Gets or sets the option group name. When one or more options are grouped, at least one of them should have value. Required rules are ignored. + + + + + Provides methods to parse command line arguments. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class, + configurable with using a delegate. + + The delegate used to configure + aspects and behaviors of the parser. + + + + Finalizes an instance of the class. + + + + + Gets the singleton instance created with basic defaults. + + + + + Gets the instance that implements in use. + + + + + Parses a string array of command line arguments constructing values in an instance of type . + Grammar rules are defined decorating public properties with appropriate attributes. + + Type of the target instance built with parsed value. + A array of command line arguments, normally supplied by application entry point. + A containing an instance of type with parsed values + and a sequence of . + Thrown if one or more arguments are null. + + + + Parses a string array of command line arguments constructing values in an instance of type . + Grammar rules are defined decorating public properties with appropriate attributes. + + Type of the target instance built with parsed value. + A delegate used to initialize the target instance. + A array of command line arguments, normally supplied by application entry point. + A containing an instance of type with parsed values + and a sequence of . + Thrown if one or more arguments are null. + + + + Parses a string array of command line arguments for verb commands scenario, constructing the proper instance from the array of types supplied by . + Grammar rules are defined decorating public properties with appropriate attributes. + The must be applied to types in the array. + + A array of command line arguments, normally supplied by application entry point. + A array used to supply verb alternatives. + A containing the appropriate instance with parsed values as a + and a sequence of . + Thrown if one or more arguments are null. + Thrown if array is empty. + All types must expose a parameterless constructor. It's strongly recommended to use a generic overload. + + + + Frees resources owned by the instance. + + + + + Defines generic overloads for . + + + + + Parses a string array of command line arguments for verb commands scenario, constructing the proper instance from types as generic arguments. + Grammar rules are defined decorating public properties with appropriate attributes. + The must be applied to types in the array. + + The type of the first verb. + The type of the second verb. + A instance. + A array of command line arguments, normally supplied by application entry point. + A containing the appropriate instance with parsed values as a + and a sequence of . + Thrown if one or more arguments are null. + All types must expose a parameterless constructor. + + + + Parses a string array of command line arguments for verb commands scenario, constructing the proper instance from types as generic arguments. + Grammar rules are defined decorating public properties with appropriate attributes. + The must be applied to types in the array. + + The type of the first verb. + The type of the second verb. + The type of the third verb. + A instance. + A array of command line arguments, normally supplied by application entry point. + A containing the appropriate instance with parsed values as a + and a sequence of . + Thrown if one or more arguments are null. + All types must expose a parameterless constructor. + + + + Parses a string array of command line arguments for verb commands scenario, constructing the proper instance from types as generic arguments. + Grammar rules are defined decorating public properties with appropriate attributes. + The must be applied to types in the array. + + The type of the first verb. + The type of the second verb. + The type of the third verb. + The type of the fourth verb. + A instance. + A array of command line arguments, normally supplied by application entry point. + A containing the appropriate instance with parsed values as a + and a sequence of . + Thrown if one or more arguments are null. + All types must expose a parameterless constructor. + + + + Parses a string array of command line arguments for verb commands scenario, constructing the proper instance from types as generic arguments. + Grammar rules are defined decorating public properties with appropriate attributes. + The must be applied to types in the array. + + The type of the first verb. + The type of the second verb. + The type of the third verb. + The type of the fourth verb. + The type of the fifth verb. + A instance. + A array of command line arguments, normally supplied by application entry point. + A containing the appropriate instance with parsed values as a + and a sequence of . + Thrown if one or more arguments are null. + All types must expose a parameterless constructor. + + + + Parses a string array of command line arguments for verb commands scenario, constructing the proper instance from types as generic arguments. + Grammar rules are defined decorating public properties with appropriate attributes. + The must be applied to types in the array. + + The type of the first verb. + The type of the second verb. + The type of the third verb. + The type of the fourth verb. + The type of the fifth verb. + The type of the sixth verb. + A instance. + A array of command line arguments, normally supplied by application entry point. + A containing the appropriate instance with parsed values as a + and a sequence of . + Thrown if one or more arguments are null. + All types must expose a parameterless constructor. + + + + Parses a string array of command line arguments for verb commands scenario, constructing the proper instance from types as generic arguments. + Grammar rules are defined decorating public properties with appropriate attributes. + The must be applied to types in the array. + + The type of the first verb. + The type of the second verb. + The type of the third verb. + The type of the fourth verb. + The type of the fifth verb. + The type of the sixth verb. + The type of the seventh verb. + A instance. + A array of command line arguments, normally supplied by application entry point. + A containing the appropriate instance with parsed values as a + and a sequence of . + Thrown if one or more arguments are null. + All types must expose a parameterless constructor. + + + + Parses a string array of command line arguments for verb commands scenario, constructing the proper instance from types as generic arguments. + Grammar rules are defined decorating public properties with appropriate attributes. + The must be applied to types in the array. + + The type of the first verb. + The type of the second verb. + The type of the third verb. + The type of the fourth verb. + The type of the fifth verb. + The type of the sixth verb. + The type of the seventh verb. + The type of the eighth verb. + A instance. + A array of command line arguments, normally supplied by application entry point. + A containing the appropriate instance with parsed values as a + and a sequence of . + Thrown if one or more arguments are null. + All types must expose a parameterless constructor. + + + + Parses a string array of command line arguments for verb commands scenario, constructing the proper instance from types as generic arguments. + Grammar rules are defined decorating public properties with appropriate attributes. + The must be applied to types in the array. + + The type of the first verb. + The type of the second verb. + The type of the third verb. + The type of the fourth verb. + The type of the fifth verb. + The type of the sixth verb. + The type of the seventh verb. + The type of the eighth verb. + The type of the ninth verb. + A instance. + A array of command line arguments, normally supplied by application entry point. + A containing the appropriate instance with parsed values as a + and a sequence of . + Thrown if one or more arguments are null. + All types must expose a parameterless constructor. + + + + Parses a string array of command line arguments for verb commands scenario, constructing the proper instance from types as generic arguments. + Grammar rules are defined decorating public properties with appropriate attributes. + The must be applied to types in the array. + + The type of the first verb. + The type of the second verb. + The type of the third verb. + The type of the fourth verb. + The type of the fifth verb. + The type of the sixth verb. + The type of the seventh verb. + The type of the eighth verb. + The type of the ninth verb. + The type of the tenth verb. + A instance. + A array of command line arguments, normally supplied by application entry point. + A containing the appropriate instance with parsed values as a + and a sequence of . + Thrown if one or more arguments are null. + All types must expose a parameterless constructor. + + + + Parses a string array of command line arguments for verb commands scenario, constructing the proper instance from types as generic arguments. + Grammar rules are defined decorating public properties with appropriate attributes. + The must be applied to types in the array. + + The type of the first verb. + The type of the second verb. + The type of the third verb. + The type of the fourth verb. + The type of the fifth verb. + The type of the sixth verb. + The type of the seventh verb. + The type of the eighth verb. + The type of the ninth verb. + The type of the tenth verb. + The type of the eleventh verb. + A instance. + A array of command line arguments, normally supplied by application entry point. + A containing the appropriate instance with parsed values as a + and a sequence of . + Thrown if one or more arguments are null. + All types must expose a parameterless constructor. + + + + Parses a string array of command line arguments for verb commands scenario, constructing the proper instance from types as generic arguments. + Grammar rules are defined decorating public properties with appropriate attributes. + The must be applied to types in the array. + + The type of the first verb. + The type of the second verb. + The type of the third verb. + The type of the fourth verb. + The type of the fifth verb. + The type of the sixth verb. + The type of the seventh verb. + The type of the eighth verb. + The type of the ninth verb. + The type of the tenth verb. + The type of the eleventh verb. + The type of the twelfth verb. + A instance. + A array of command line arguments, normally supplied by application entry point. + A containing the appropriate instance with parsed values as a + and a sequence of . + Thrown if one or more arguments are null. + All types must expose a parameterless constructor. + + + + Parses a string array of command line arguments for verb commands scenario, constructing the proper instance from types as generic arguments. + Grammar rules are defined decorating public properties with appropriate attributes. + The must be applied to types in the array. + + The type of the first verb. + The type of the second verb. + The type of the third verb. + The type of the fourth verb. + The type of the fifth verb. + The type of the sixth verb. + The type of the seventh verb. + The type of the eighth verb. + The type of the ninth verb. + The type of the tenth verb. + The type of the eleventh verb. + The type of the twelfth verb. + The type of the thirteenth verb. + A instance. + A array of command line arguments, normally supplied by application entry point. + A containing the appropriate instance with parsed values as a + and a sequence of . + Thrown if one or more arguments are null. + All types must expose a parameterless constructor. + + + + Parses a string array of command line arguments for verb commands scenario, constructing the proper instance from types as generic arguments. + Grammar rules are defined decorating public properties with appropriate attributes. + The must be applied to types in the array. + + The type of the first verb. + The type of the second verb. + The type of the third verb. + The type of the fourth verb. + The type of the fifth verb. + The type of the sixth verb. + The type of the seventh verb. + The type of the eighth verb. + The type of the ninth verb. + The type of the tenth verb. + The type of the eleventh verb. + The type of the twelfth verb. + The type of the thirteenth verb. + The type of the fourteenth verb. + A instance. + A array of command line arguments, normally supplied by application entry point. + A containing the appropriate instance with parsed values as a + and a sequence of . + Thrown if one or more arguments are null. + All types must expose a parameterless constructor. + + + + Parses a string array of command line arguments for verb commands scenario, constructing the proper instance from types as generic arguments. + Grammar rules are defined decorating public properties with appropriate attributes. + The must be applied to types in the array. + + The type of the first verb. + The type of the second verb. + The type of the third verb. + The type of the fourth verb. + The type of the fifth verb. + The type of the sixth verb. + The type of the seventh verb. + The type of the eighth verb. + The type of the ninth verb. + The type of the tenth verb. + The type of the eleventh verb. + The type of the twelfth verb. + The type of the thirteenth verb. + The type of the fourteenth verb. + The type of the fifteenth verb. + A instance. + A array of command line arguments, normally supplied by application entry point. + A containing the appropriate instance with parsed values as a + and a sequence of . + Thrown if one or more arguments are null. + All types must expose a parameterless constructor. + + + + Parses a string array of command line arguments for verb commands scenario, constructing the proper instance from types as generic arguments. + Grammar rules are defined decorating public properties with appropriate attributes. + The must be applied to types in the array. + + The type of the first verb. + The type of the second verb. + The type of the third verb. + The type of the fourth verb. + The type of the fifth verb. + The type of the sixth verb. + The type of the seventh verb. + The type of the eighth verb. + The type of the ninth verb. + The type of the tenth verb. + The type of the eleventh verb. + The type of the twelfth verb. + The type of the thirteenth verb. + The type of the fourteenth verb. + The type of the fifteenth verb. + The type of the sixteenth verb. + A instance. + A array of command line arguments, normally supplied by application entry point. + A containing the appropriate instance with parsed values as a + and a sequence of . + Thrown if one or more arguments are null. + All types must expose a parameterless constructor. + + + + Discriminator enumeration of derivates. + + + + + Value of type. + + + + + Value of type. + + + + + Models a parser result. When inherited by , it contains an instance of type + with parsed values. + When inherited by , it contains a sequence of . + + The type with attributes that define the syntax of parsing rules. + + + + Parser result type discriminator, defined as enumeration. + + + + + Gets the instance with parsed values. If one or more errors occures, is returned. + + + + + Gets the sequence of parsing errors. If there are no errors, then an empty IEnumerable is returned. + + + + + It contains an instance of type with parsed values. + + The type with attributes that define the syntax of parsing rules. + + + + Determines whether the specified is equal to the current . + + The to compare with the current . + true if the specified is equal to the current ; otherwise, false. + + + + Serves as a hash function for a particular type. + + A hash code for the current . + + + + Returns a value that indicates whether the current instance and a specified have the same value. + + The instance to compare. + true if this instance of and have the same value; otherwise, false. + + + + It contains a sequence of . + + The type with attributes that define the syntax of parsing rules. + + + + Determines whether the specified is equal to the current . + + The to compare with the current . + true if the specified is equal to the current ; otherwise, false. + + + + Serves as a hash function for a particular type. + + A hash code for the current . + + + + Returns a value that indicates whether the current instance and a specified have the same value. + + The instance to compare. + true if this instance of and have the same value; otherwise, false. + + + + Provides convenience extension methods for . + + + + + Executes if contains + parsed values. + + Type of the target instance built with parsed value. + An instance. + The to execute. + The same instance. + + + + Executes if parsed values are of . + + Type of the target instance built with parsed value. + An verb result instance. + The to execute. + The same instance. + + + + Executes if lacks + parsed values and contains errors. + + Type of the target instance built with parsed value. + An instance. + The delegate to execute. + The same instance. + + + + Provides a way to transform result data into another value. + + Type of the target instance built with parsed value. + The type of the new value. + An instance. + Lambda executed on successful parsing. + Lambda executed on failed parsing. + The new value. + + + + Provides a way to transform result data into another value. + + First verb type. + + The result in verb scenario. + Lambda executed on successful parsing of . + Lambda executed on failed parsing. + The new value. + + + + Provides a way to transform result data into another value. + + First verb type. + Second verb type. + + The result in verb scenario. + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on failed parsing. + The new value. + + + + Provides a way to transform result data into another value. + + First verb type. + Second verb type. + Third verb type. + + The result in verb scenario. + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on failed parsing. + The new value. + + + + Provides a way to transform result data into another value. + + First verb type. + Second verb type. + Third verb type. + Fourth verb type. + + The result in verb scenario. + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on failed parsing. + The new value. + + + + Provides a way to transform result data into another value. + + First verb type. + Second verb type. + Third verb type. + Fourth verb type. + Fifth verb type. + + The result in verb scenario. + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on failed parsing. + The new value. + + + + Provides a way to transform result data into another value. + + First verb type. + Second verb type. + Third verb type. + Fourth verb type. + Fifth verb type. + Sixth verb type. + + The result in verb scenario. + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on failed parsing. + The new value. + + + + Provides a way to transform result data into another value. + + First verb type. + Second verb type. + Third verb type. + Fourth verb type. + Fifth verb type. + Sixth verb type. + Seventh verb type. + + The result in verb scenario. + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on failed parsing. + The new value. + + + + Provides a way to transform result data into another value. + + First verb type. + Second verb type. + Third verb type. + Fourth verb type. + Fifth verb type. + Sixth verb type. + Seventh verb type. + Eighth verb type. + + The result in verb scenario. + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on failed parsing. + The new value. + + + + Provides a way to transform result data into another value. + + First verb type. + Second verb type. + Third verb type. + Fourth verb type. + Fifth verb type. + Sixth verb type. + Seventh verb type. + Eighth verb type. + Ninth verb type. + + The result in verb scenario. + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on failed parsing. + The new value. + + + + Provides a way to transform result data into another value. + + First verb type. + Second verb type. + Third verb type. + Fourth verb type. + Fifth verb type. + Sixth verb type. + Seventh verb type. + Eighth verb type. + Ninth verb type. + Tenth verb type. + + The result in verb scenario. + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on failed parsing. + The new value. + + + + Provides a way to transform result data into another value. + + First verb type. + Second verb type. + Third verb type. + Fourth verb type. + Fifth verb type. + Sixth verb type. + Seventh verb type. + Eighth verb type. + Ninth verb type. + Tenth verb type. + Eleventh verb type. + + The result in verb scenario. + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on failed parsing. + The new value. + + + + Provides a way to transform result data into another value. + + First verb type. + Second verb type. + Third verb type. + Fourth verb type. + Fifth verb type. + Sixth verb type. + Seventh verb type. + Eighth verb type. + Ninth verb type. + Tenth verb type. + Eleventh verb type. + Twelfth verb type. + + The result in verb scenario. + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on failed parsing. + The new value. + + + + Provides a way to transform result data into another value. + + First verb type. + Second verb type. + Third verb type. + Fourth verb type. + Fifth verb type. + Sixth verb type. + Seventh verb type. + Eighth verb type. + Ninth verb type. + Tenth verb type. + Eleventh verb type. + Twelfth verb type. + Thirteenth verb type. + + The result in verb scenario. + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on failed parsing. + The new value. + + + + Provides a way to transform result data into another value. + + First verb type. + Second verb type. + Third verb type. + Fourth verb type. + Fifth verb type. + Sixth verb type. + Seventh verb type. + Eighth verb type. + Ninth verb type. + Tenth verb type. + Eleventh verb type. + Twelfth verb type. + Thirteenth verb type. + Fourteenth verb type. + + The result in verb scenario. + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on failed parsing. + The new value. + + + + Provides a way to transform result data into another value. + + First verb type. + Second verb type. + Third verb type. + Fourth verb type. + Fifth verb type. + Sixth verb type. + Seventh verb type. + Eighth verb type. + Ninth verb type. + Tenth verb type. + Eleventh verb type. + Twelfth verb type. + Thirteenth verb type. + Fourteenth verb type. + Fifteenth verb type. + + The result in verb scenario. + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on failed parsing. + The new value. + + + + Provides a way to transform result data into another value. + + First verb type. + Second verb type. + Third verb type. + Fourth verb type. + Fifth verb type. + Sixth verb type. + Seventh verb type. + Eighth verb type. + Ninth verb type. + Tenth verb type. + Eleventh verb type. + Twelfth verb type. + Thirteenth verb type. + Fourteenth verb type. + Fifteenth verb type. + Sixteenth verb type. + + The result in verb scenario. + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on successful parsing of . + Lambda executed on failed parsing. + The new value. + + + + Executes asynchronously if contains + parsed values. + + Type of the target instance built with parsed value. + An instance. + The to execute. + The same instance as a instance. + + + + Executes asynchronously if parsed values are of . + + Type of the target instance built with parsed value. + An verb result instance. + The to execute. + The same instance as a instance. + + + + Executes asynchronously if lacks + parsed values and contains errors. + + Type of the target instance built with parsed value. + An instance. + The delegate to execute. + The same instance as a instance. + + + + Provides settings for . Once consumed cannot be reused. + + + + + Initializes a new instance of the class. + + + + + Finalizes an instance of the class. + + + + + Gets or sets a value indicating whether perform case sensitive comparisons. + Note that case insensitivity only applies to parameters, not the values + assigned to them (for example, enum parsing). + + + + + Gets or sets a value indicating whether perform case sensitive comparisons of values. + Note that case insensitivity only applies to values, not the parameters. + + + + + Gets or sets the culture used when parsing arguments to typed properties. + + + Default is invariant culture, . + + + + + Gets or sets the used for help method output. + Setting this property to null, will disable help screen. + + + It is the caller's responsibility to dispose or close the . + + + + + Gets or sets a value indicating whether the parser shall move on to the next argument and ignore the given argument if it + encounter an unknown arguments + + + true to allow parsing the arguments with different class options that do not have all the arguments. + + + This allows fragmented version class parsing, useful for project with add-on where add-ons also requires command line arguments but + when these are unknown by the main program at build time. + + + + + Gets or sets a value indicating whether implicit option or verb 'help' should be supported. + + + + + Gets or sets a value indicating whether implicit option or verb 'version' should be supported. + + + + + Gets or sets a value indicating whether enable double dash '--' syntax, + that forces parsing of all subsequent tokens as values. + If GetoptMode is true, this defaults to true, but can be turned off by explicitly specifying EnableDashDash = false. + + + + + Gets or sets the maximum width of the display. This determines word wrap when displaying the text. + + + + + Gets or sets a value indicating whether options are allowed to be specified multiple times. + If GetoptMode is true, this defaults to true, but can be turned off by explicitly specifying AllowMultiInstance = false. + + + + + Whether strict getopt-like processing is applied to option values; if true, AllowMultiInstance and EnableDashDash will default to true as well. + + + + + Whether getopt-like processing should follow the POSIX rules (the equivalent of using the "+" prefix in the C getopt() call). + If not explicitly set, will default to false unless the POSIXLY_CORRECT environment variable is set, in which case it will default to true. + + + + + Frees resources owned by the instance. + + + + + Models a multiline assembly license text. + + + + + Initializes a new instance of the class + with one line of text. + + First line of license text. + + + + Initializes a new instance of the class + with two lines of text. + + First line of license text. + Second line of license text. + + + + Initializes a new instance of the class + with three lines of text. + + First line of license text. + Second line of license text. + Third line of license text. + + + + Initializes a new instance of the class + with four lines of text. + + First line of license text. + Second line of license text. + Third line of license text. + Fourth line of license text. + + + + Initializes a new instance of the class + with five lines of text. + + First line of license text. + Second line of license text. + Third line of license text. + Fourth line of license text. + Fifth line of license text. + + + + Models a multiline assembly usage text. + + + + + Initializes a new instance of the class + with one line of text. + + First line of usage text. + + + + Initializes a new instance of the class + with two lines of text. + + First line of usage text. + Second line of usage text. + + + + Initializes a new instance of the class + with three lines of text. + + First line of usage text. + Second line of usage text. + Third line of usage text. + + + + Initializes a new instance of the class + with four lines of text. + + First line of usage text. + Second line of usage text. + Third line of usage text. + Fourth line of usage text. + + + + Initializes a new instance of the class + with five lines of text. + + First line of usage text. + Second line of usage text. + Third line of usage text. + Fourth line of usage text. + Fifth line of usage text. + + + + Models the copyright part of an help text. + You can assign it where you assign any instance. + + + + + An empty object used for initialization. + + + + + Initializes a new instance of the class + specifying author and year. + + The company or person holding the copyright. + The year of coverage of copyright. + Thrown when parameter is null or empty string. + + + + Initializes a new instance of the class + specifying author and copyrightYears. + + The company or person holding the copyright. + The copyrightYears of coverage of copyright. + Thrown when parameter is null or empty string. + Thrown when parameter is not supplied. + + + + Initializes a new instance of the class + specifying symbol case, author and copyrightYears. + + The case of the copyright symbol. + The company or person holding the copyright. + The copyrightYears of coverage of copyright. + Thrown when parameter is null or empty string. + Thrown when parameter is not supplied. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with an assembly attribute, this overrides all formatting. + + The attribute which text to use. + + + + Gets the default copyright information. + Retrieved from , if it exists, + otherwise it uses as copyright holder with the current year. + If neither exists it throws an . + + + + + Gets a different copyright word when overridden in a derived class. + + + + + Converts the copyright instance to a . + + This instance. + The that contains the copyright. + + + + Returns the copyright as a . + + The that contains the copyright. + + + + When overridden in a derived class, allows to specify a new algorithm to render copyright copyrightYears + as a instance. + + A array of copyrightYears. + A instance with copyright copyrightYears. + + + + Models a command line usage example. + + + + + Initializes a new instance of the class. + + Example description. + A instances sequence that defines command line arguments format. + A sample instance. + + + + Initializes a new instance of the class. + + Example description. + A instance that defines command line arguments format. + A sample instance. + + + + Initializes a new instance of the class. + + Example description. + A sample instance. + + + + Example description. + + + + + A sequence of format styles. + + + + + A sample instance. + + + + + Determines whether the specified is equal to the current . + + The to compare with the current . + true if the specified is equal to the current ; otherwise, false. + + + + Serves as a hash function for a particular type. + + A hash code for the current . + + + + Returns a value that indicates whether the current instance and a specified have the same value. + + The instance to compare. + true if this instance of and have the same value; otherwise, false. + + + + Models the heading part of an help text. + You can assign it where you assign any instance. + + + + + Initializes a new instance of the class + specifying program name and version. + + The name of the program. + The version of the program. + Thrown when parameter is null or empty string. + + + + An empty object used for initialization. + + + + + Gets the default heading instance. + The title is retrieved from , + or the assembly short name if its not defined. + The version is retrieved from , + or the assembly version if its not defined. + + + + + Converts the heading to a . + + This instance. + The that contains the heading. + + + + Returns the heading as a . + + The that contains the heading. + + + + Writes out a string and a new line using the program name specified in the constructor + and parameter. + + The message to write. + The target derived type. + Thrown when parameter is null or empty string. + Thrown when parameter is null. + + + + Writes out a string and a new line using the program name specified in the constructor + and parameter to standard output stream. + + The message to write. + Thrown when parameter is null or empty string. + + + + Writes out a string and a new line using the program name specified in the constructor + and parameter to standard error stream. + + The message to write. + Thrown when parameter is null or empty string. + + + + Provides means to format an help screen. + You can assign it in place of a instance. + + + + + The number of spaces between an option and its associated help text + + + + + The width of the option prefix (either "--" or " " + + + + + The total amount of extra space that needs to accounted for when indenting Option help text + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + specifying the sentence builder. + + + A instance. + + + + + Initializes a new instance of the class + specifying heading string. + + An heading string or an instance of . + Thrown when parameter is null or empty string. + + + + Initializes a new instance of the class + specifying the sentence builder and heading string. + + A instance. + A string with heading or an instance of . + + + + Initializes a new instance of the class + specifying heading and copyright strings. + + A string with heading or an instance of . + A string with copyright or an instance of . + Thrown when one or more parameters are null or empty strings. + + + + Initializes a new instance of the class + specifying heading and copyright strings. + + A instance. + A string with heading or an instance of . + A string with copyright or an instance of . + Thrown when one or more parameters are null or empty strings. + + + + Gets or sets the heading string. + You can directly assign a instance. + + + + + Gets or sets the copyright string. + You can directly assign a instance. + + + + + Gets or sets the maximum width of the display. This determines word wrap when displaying the text. + + The maximum width of the display. + + + + Gets or sets a value indicating whether the format of options should contain dashes. + It modifies behavior of method. + + + + + Gets or sets a value indicating whether to add an additional line after the description of the specification. + + + + + Gets or sets a value indicating whether to add newlines between help sections. + + + + + Gets or sets a value indicating whether to add the values of an enum after the description of the specification. + + + + + Gets or sets a value indicating whether implicit option or verb 'help' should be supported. + + + + + Gets or sets a value indicating whether implicit option or verb 'version' should be supported. + + + + + Gets the instance specified in constructor. + + + + + Creates a new instance of the class using common defaults. + + + An instance of class. + + The containing the instance that collected command line arguments parsed with class. + A delegate used to customize the text block of reporting parsing errors text block. + A delegate used to customize model used to render text block of usage examples. + If true the output style is consistent with verb commands (no dashes), otherwise it outputs options. + The maximum width of the display. + The parameter is not ontly a metter of formatting, it controls whether to handle verbs or options. + + + + Creates a default instance of the class, + automatically handling verbs or options scenario. + + The containing the instance that collected command line arguments parsed with class. + The maximum width of the display. + + An instance of class. + + This feature is meant to be invoked automatically by the parser, setting the HelpWriter property + of . + + + + Creates a custom instance of the class, + automatically handling verbs or options scenario. + + The containing the instance that collected command line arguments parsed with class. + A delegate used to customize the text block of reporting parsing errors text block. + The maximum width of the display. + + An instance of class. + + This feature is meant to be invoked automatically by the parser, setting the HelpWriter property + of . + + + + Supplies a default parsing error handler implementation. + + The containing the instance that collected command line arguments parsed with class. + The instance. + + + + Converts the help instance to a . + + This instance. + The that contains the help screen. + + + + Adds a text line after copyright and before options usage strings. + + A instance. + Updated instance. + Thrown when parameter is null or empty string. + + + + Adds a text line at the bottom, after options usage string. + + A instance. + Updated instance. + Thrown when parameter is null or empty string. + + + + Adds text lines after copyright and before options usage strings. + + A sequence of line to add. + Updated instance. + + + + Adds text lines at the bottom, after options usage string. + + A sequence of line to add. + Updated instance. + + + + Adds a text block of lines after copyright and before options usage strings. + + A text block. + Updated instance. + + + + Adds a text block of lines at the bottom, after options usage string. + + A text block. + Updated instance. + + + + Adds a text block with options usage string. + + A parsing computation result. + Thrown when parameter is null. + + + + Adds a text block with verbs usage string. + + The array of with verb commands. + Thrown when parameter is null. + Thrown if array is empty. + + + + Adds a text block with options usage string. + + The maximum length of the help screen. + A parsing computation result. + Thrown when parameter is null. + + + + Adds a text block with verbs usage string. + + The maximum length of the help screen. + The array of with verb commands. + Thrown when parameter is null. + Thrown if array is empty. + + + + Builds a string that contains a parsing error message. + + The containing the instance that collected command line arguments parsed with class. + The error formatting delegate. + The specialized sequence formatting delegate. + Number of spaces used to indent text. + The that contains the parsing error message. + + + + Builds a sequence of string that contains a parsing error message. + + The containing the instance that collected command line arguments parsed with class. + The error formatting delegate. + The specialized sequence formatting delegate. + Number of spaces used to indent text. + A sequence of that contains the parsing error message. + + + + Builds a string with usage text block created using data and metadata. + + Type of parsing computation result. + A parsing computation result. + Resulting formatted text. + + + + Builds a string with usage text block created using data and metadata. + + Type of parsing computation result. + A parsing computation result. + A mapping lambda normally used to translate text in other languages. + Resulting formatted text. + + + + Builds a string sequence with usage text block created using data and metadata. + + Type of parsing computation result. + A parsing computation result. + A mapping lambda normally used to translate text in other languages. + Resulting formatted text. + + + + Returns the help screen as a . + + The that contains the help screen. + + + + Provides base properties for creating an attribute, used to define multiple lines of text. + + + + + Initializes a new instance of the class. Used in derived type + using one line of text. + + The first line of text. + + + + Initializes a new instance of the class. Used in type + using two lines of text. + + The first line of text. + The second line of text. + + + + Initializes a new instance of the class. Used in type + using three lines of text. + + The first line of text. + The second line of text. + The third line of text. + + + + Initializes a new instance of the class. Used in type + using four lines of text. + + The first line of text. + The second line of text. + The third line of text. + The fourth line of text. + + + + Initializes a new instance of the class. Used in type + using five lines of text. + + The first line of text. + The second line of text. + The third line of text. + The fourth line of text. + The fifth line of text. + + + + Gets the all non-blank lines as string. + + A string of all non-blank lines. + + + + Gets the first line of text. + + + + + Gets the second line of text. + + + + + Gets third line of text. + + + + + Gets the fourth line of text. + + + + + Gets the fifth line of text. + + + + + Returns the last line with text. Preserves blank lines if user intended by skipping a line. + + The last index of line of the non-blank line. + + The string array to process. + + + + Exposes standard delegates to provide a mean to customize part of help screen generation. + This type is consumed by . + + + + + Create instance of , + + The instance. + + + + Factory to allow custom SentenceBuilder injection + + + + + Gets a delegate that returns the word 'required'. + + + + + Gets a delegate that returns the word 'group'. + + + + + Gets a delegate that returns that errors block heading text. + + + + + Gets a delegate that returns usage text block heading text. + + + + + Get a delegate that returns the help text of help command. + The delegates must accept a boolean that is equal true for options; otherwise false for verbs. + + + + + Get a delegate that returns the help text of vesion command. + The delegates must accept a boolean that is equal true for options; otherwise false for verbs. + + + + + Gets a delegate that handles singular error formatting. + The delegates must accept an and returns a string. + + + + + Gets a delegate that handles mutually exclusive set errors formatting. + The delegates must accept a sequence of and returns a string. + + + + + A utility class to word-wrap and indent blocks of text + + + + + Splits a string into a words and performs wrapping while also preserving line-breaks and sub-indentation + + The number of characters we can use for text + + This method attempts to wrap text without breaking words + For example, if columnWidth is 10 , the input + "a string for wrapping 01234567890123" + would return + "a string + "for + "wrapping + "0123456789 + "0123" + + this + + + + Indent all lines in the TextWrapper by the desired number of spaces + + The number of spaces to indent by + this + + + + Returns the current state of the TextWrapper as a string + + + + + + Convenience method to wraps and indent a string in a single operation + + The string to operate on + The number of spaces to indent by + The width of the column used for wrapping + + The string is wrapped _then_ indented so the columnWidth is the width of the + usable text block, and does NOT include the indentLevel. + + the processed string + + + + When presented with a word, either append to the last line in the list or start a new line + + A list of StringBuilders containing results so far + The individual word to append + The usable text space + + The 'word' can actually be an empty string. It's important to keep these - + empty strings allow us to preserve indentation and extra spaces within a line. + + The same list as is passed in + + + + Return the right part of a string in a way that compensates for Substring's deficiencies + + + + + Return the left part of a string in a way that compensates for Substring's deficiencies + + + + + Applied to a static property that yields a sequence of , + provides data to render usage section of help screen. + + + + + Application name, script or any means that starts current program. + + + + + Provides settings for when formatting command line from an options instance../>. + + + + + Gets or sets a value indicating whether unparsing process shall prefer short or long names. + + + + + Gets or sets a value indicating whether unparsing process shall group switches. + + + + + Gets or sets a value indicating whether unparsing process shall use equal sign with long names. + + + + + Gets or sets a value indicating whether unparsing process shall expose hidden options. + + + + + Gets or sets a value indicating whether unparsing process shall skip options with DefaultValue. + + + + + Factory method that creates an instance of with GroupSwitches set to true. + + A properly initalized instance. + + + + Factory method that creates an instance of with UseEqualToken set to true. + + A properly initalized instance. + + + + Provides overloads to unparse options instance. + + + + + Format a command line argument string from a parsed instance. + + Type of . + Parser instance. + A parsed (or manually correctly constructed instance). + A string with command line arguments. + + + + Format a command line argument string from a parsed instance in the form of string[]. + + Type of . + Parser instance. + A parsed (or manually correctly constructed instance). + A string[] with command line arguments. + + + + Format a command line argument string from a parsed instance. + + Type of . + Parser instance. + A parsed (or manually correctly constructed instance). + The lambda used to configure + aspects and behaviors of the unparsersing process. + A string with command line arguments. + + + + Format a command line argument string[] from a parsed instance. + + Type of . + Parser instance. + A parsed (or manually correctly constructed instance). + The lambda used to configure + aspects and behaviors of the unparsersing process. + A string[] with command line arguments. + + + + Returns a string array that contains the substrings in this instance that are delimited by space considering string between double quote. + + the commandline string + don't remove the quote + a string array that contains the substrings in this instance + + + + Models an value specification, or better how to handle values not bound to options. + + + + + Initializes a new instance of the class. + + + + + Gets the position this option has on the command line. + + + + + Gets or sets name of this positional value specification. + + + + + Models a verb command specification. + + + + + Initializes a new instance of the class. + + The long name of the verb command. + Whether the verb is the default verb. + aliases for this verb. i.e. "move" and "mv" + Thrown if is null, empty or whitespace and is false. + + + + Gets the verb name. + + + + + Gets or sets a value indicating whether a command line verb is visible in the help text. + + + + + Gets or sets a short description of this command line option. Usually a sentence summary. + + + + + Gets or sets the that contains the resources for . + + + + + Gets whether this verb is the default verb. + + + + + Gets or sets the aliases + + + + + Failed computation case. + + + + + Sccessful computation case. + + + + + Inject a value into the Either type, returning Right case. + + + + + Fail with a message. Not part of mathematical definition of a monad. + + + + + Monadic bind. + + + + + Transforms a Either's right value by using a specified mapping function. + + + + + Maps both parts of a Either type. Applies the first function if Either is Left. + Otherwise applies the second function. + + + + + Map operation compatible with Linq. + + + + + Returns a Either Right or fail with an exception. + + + + + Returns a Either Left or a defualt value. + + + + + Returns a Either Right or a defualt value. + + + + + Wraps a function, encapsulates any exception thrown within to a Either. + + + + + Attempts to cast an object. + Stores the cast value in 1Of2 if successful, otherwise stores the exception in 2Of2 + + + + + Equivalent to monadic operation. + Builds a value in case by default. + + + + + Safe function that returns Just(first element) or None. + + + + + Turns an empty sequence to Nothing, otherwise Just(sequence). + + + + + Returns the Cartesian product of two sequences by combining each element of the first set with each in the second + and applying the user=define projection to the pair. + + + + + Prepends a single value to a sequence. + + + + + Returns a sequence consisting of the head element and the given tail elements. + + + + + Returns a sequence consisting of the head elements and the given tail element. + + + + + Excludes elements from a sequence starting at a given index + + The type of the elements of the sequence + + + + Returns a sequence of + where the key is the zero-based index of the value in the source + sequence. + + + + + Returns a sequence of + where the key is the index of the value in the source sequence. + An additional parameter specifies the starting index. + + + + + Returns the result of applying a function to a sequence of + 1 element. + + + + + Returns the result of applying a function to a sequence of + 2 elements. + + + + + Returns the result of applying a function to a sequence of + 3 elements. + + + + + Returns the result of applying a function to a sequence of + 4 elements. + + + + + Immediately executes the given action on each element in the source sequence. + + + + + Returns a sequence resulting from applying a function to each + element in the source sequence and its + predecessor, with the exception of the first element which is + only returned as the predecessor of the second element. + + + + + Creates a delimited string from a sequence of values. The + delimiter used depends on the current culture of the executing thread. + + + + + Creates a delimited string from a sequence of values and + a given delimiter. + + + + + Return everything except first element and throws exception if empty. + + + + + Return everything except first element without throwing exception if empty. + + + + + Captures current state of a sequence. + + + + + Creates an immutable copy of a sequence. + + + + + Selects a random element. + + + + + Takes an element and a sequence and `intersperses' that element between its elements. + + + + + Flattens a sequence by one level. + + + + + Reduces a sequence of strings to a sequence of parts, splitted by space, + of each original string. + + + + + Discriminator for . + + + + + The Maybe type models an optional value. A value of type Maybe a either contains a value of type a (represented as Just a), + or it is empty (represented as Nothing). + + + + + Type discriminator. + + + + + Matches a value returning true and value itself via output parameter. + + + + + Matches an empty value returning true. + + + + + Models a when in empty state. + + + + + Models a when contains a value. + + + + + The wrapped value. + + + + + Provides static methods for manipulating . + + + + + Builds the empty case of . + + + + + Builds the case when contains a value. + + + + + Inject a value into the monadic type. + + + + + Sequentially compose two actions, passing any value produced by the first as an argument to the second. + + + + + Transforms an maybe value by using a specified mapping function. + + + + + If both maybes contain a value, it merges them into a maybe with a tupled value. + + + + + Provides convenience extension methods for . + + + + + Provides pattern matching using delegates. + + + + + Provides pattern matching using delegates over maybe with tupled wrapped value. + + + + + Matches a value returning true and tupled value itself via two output parameters. + + + + + Equivalent to monadic operation. + Builds a value in case is different from its default. + + + + + Invokes a function on this maybe value that itself yields a maybe. + + + + + Transforms this maybe value by using a specified mapping function. + + + + + Map operation compatible with Linq. + + + + + Bind operation compatible with Linq. + + + + + If contains a value executes an delegate over it. + + + + + If contans a value executes an delegate over it. + + + + + Returns true iffits argument is of the form . + + + + + Returns true iffits argument is of the form . + + + + + Extracts the element out of a and returns a default value if its argument is . + + + + + Extracts the element out of a and throws an error if its argument is . + + + + + If contains a values returns it, otherwise returns . + + + + + If contains a values executes a mapping function over it, otherwise returns . + + + + + If contains a values executes a mapping function over it, otherwise returns the value from . + + + + + Returns an empty list when given or a singleton list when given a . + + + + + Represents the result of a computation. + + Type that models the result of a successful computation. + Type that model a message related to a computation. + + + + Represents the result of a successful computation. + + Type that models the result of a successful computation. + Type that model a message related to a computation. + + + + Represents the result of a failed computation. + + Type that models the result of a successful computation. + Type that model a message related to a computation. + + + + Creates a Failure result with the given messages. + + + + + Creates a Failure result with the given message. + + + + + Creates a Success result with the given value. + + + + + Creates a Success result with the given value and the given message. + + + + + Creates a Success result with the given value and the given messages. + + + + + Executes the given function on a given success or captures the failure. + + + + + Wraps a value in a Success. + + + + + Wraps a value in a Success. + + + + + Wraps a value in a Success and adds a message. + + + + + Wraps a message in a Failure. + + + + + Returns true if the result was not successful. + + + + + Takes a Result and maps it with successFunc if it is a Success otherwise it maps it with failureFunc. + + + + + If the given result is a Success the wrapped value will be returned. + Otherwise the function throws an exception with Failure message of the result. + + + + + Appends the given messages with the messages in the given result. + + + + + If the result is a Success it executes the given function on the value. + Otherwise the exisiting failure is propagated. + + + + + Flattens a nested result given the Failure types are equal. + + + + + If the wrapped function is a success and the given result is a success the function is applied on the value. + Otherwise the exisiting error messages are propagated. + + + + + Lifts a function into a Result container and applies it on the given result. + + + + + Promote a function to a monad/applicative, scanning the monadic/applicative arguments from left to right. + + + + + Collects a sequence of Results and accumulates their values. + If the sequence contains an error the error will be propagated. + + + + + Extensions methods for easier usage. + + + + + Allows pattern matching on Results. + + + + + Allows pattern matching on Results. + + + + + Lifts a Func into a Result and applies it on the given result. + + + + + Collects a sequence of Results and accumulates their values. + If the sequence contains an error the error will be propagated. + + + + + Collects a sequence of Results and accumulates their values. + If the sequence contains an error the error will be propagated. + + + + + If the result is a Success it executes the given Func on the value. + Otherwise the exisiting failure is propagated. + + + + + If the result is a Success it executes the given Func on the value. + If the result of the Func is a Success it maps it using the given Func. + Otherwise the exisiting failure is propagated. + + + + + Lifts a Func into a Result and applies it on the given result. + + + + + Returns the error messages or fails if the result was a success. + + + + + Returns the result or fails if the result was an error. + + + + + Returns messages in case of success, otherwise an empty sequence. + + + + + Builds a Maybe type instance from a Result one. + + + +