<AssemblyVersion>0.2.0.0</AssemblyVersion>
<AssemblyVersion>0.2.1.0</AssemblyVersion>
<AssemblyVersion>0.2.2.0</AssemblyVersion>
+ <AssemblyVersion>0.2.3.0</AssemblyVersion>
</AssemblyInfo>
<ThreadingSafetyStatement>
All public static members of this type are safe for multithreaded
Response files, as used by <c>mcs</c> and other compiler tools, may be
supported by using <see cref="T:Mono.Options.ResponseFileSource" />.
</para>
+ <para>
+ "Headers" -- string constants which allow grouping of options in the
+ output of
+ <see cref="M:Mono.Options.OptionSet.WriteOptionDescriptions(System.IO.TextWriter)" />
+ -- may be provided "inline" with the actual options. The <c>greet</c>
+ example below shows such usage.
+ </para>
<para>
Three conditions must be met for a sequence of arguments to be
considered as a match for an <see cref="T:Mono.Options.Option" />:
</remarks>
<example>
<para>
- The following example demonstrates some simple usage of
+ The following <c>greet</c> example demonstrates some simple usage of
<see cref="T:Mono.Options.OptionSet" />.
</para>
<code lang="C#" src="examples/greet.cs">using System;
int repeat = 1;
var p = new OptionSet () {
+ "Usage: greet [OPTIONS]+ message",
+ "Greet a list of individuals with an optional message.",
+ "If no message is specified, a generic greeting is used.",
+ "",
+ "Options:",
{ "n|name=", "the {NAME} of someone to greet.",
v => names.Add (v) },
{ "r|repeat=",
}
if (show_help) {
- ShowHelp (p);
+ p.WriteOptionDescriptions (Console.Out);
return;
}
}
}
- static void ShowHelp (OptionSet p)
- {
- Console.WriteLine ("Usage: greet [OPTIONS]+ message");
- Console.WriteLine ("Greet a list of individuals with an optional message.");
- Console.WriteLine ("If no message is specified, a generic greeting is used.");
- Console.WriteLine ();
- Console.WriteLine ("Options:");
- p.WriteOptionDescriptions (Console.Out);
- }
-
static void Debug (string format, params object[] args)
{
if (verbosity > 0) {
string color = null;
var p = new OptionSet () {
- // gcc-like options
+ "Usage: bundling [OPTIONS]+",
+ "Demo program to show the effects of bundling options and their values",
+ "",
+ "gcc-like options:",
{ "D:", "Predefine a macro with an (optional) value.",
(m, v) => {
if (m == null)
(m, v) => macros.Add (m, v) },
{ "o=", "Specify the output file", v => output = v },
- // tar-like options
+ "",
+ "tar-like options:",
{ "f=", "The input file", v => input = v },
{ "x", "Extract the file", v => extract = v != null },
{ "c", "Create the file", v => create = v != null },
{ "t", "List the file", v => list = v != null },
- // ls-like optional values
+ "",
+ "ls-like optional values:",
{ "color:", "control whether and when color is used",
v => color = v },
- // other...
+ "",
+ "other:",
{ "h|help", "show this message and exit",
v => show_help = v != null },
// default
}
if (show_help) {
- ShowHelp (p);
+ p.WriteOptionDescriptions (Console.Out);
return;
}
Console.WriteLine ("\t List: {0}", list);
Console.WriteLine ("\t Color: {0}", color ?? "<null>");
}
-
- static void ShowHelp (OptionSet p)
- {
- Console.WriteLine ("Usage: bundling [OPTIONS]+");
- Console.WriteLine ("Demo program to show the effects of bundling options and their values");
- Console.WriteLine ();
- Console.WriteLine ("Options:");
- p.WriteOptionDescriptions (Console.Out);
- }
}
</code>
Usage: bundling [OPTIONS]+
Demo program to show the effects of bundling options and their values
-Options:
+gcc-like options:
-D[=VALUE1:VALUE2] Predefine a macro with an (optional) value.
-d=VALUE1-->VALUE2 Alternate macro syntax.
-o=VALUE Specify the output file
+
+tar-like options:
-f=VALUE The input file
-x Extract the file
-c Create the file
-t List the file
+
+ls-like optional values:
--color[=VALUE] control whether and when color is used
+
+other:
-h, --help show this message and exit
$ mono bundling.exe -D
<AssemblyVersion>0.2.0.0</AssemblyVersion>
<AssemblyVersion>0.2.1.0</AssemblyVersion>
<AssemblyVersion>0.2.2.0</AssemblyVersion>
+ <AssemblyVersion>0.2.3.0</AssemblyVersion>
</AssemblyInfo>
<Parameters />
<Docs>
<AssemblyVersion>0.2.0.0</AssemblyVersion>
<AssemblyVersion>0.2.1.0</AssemblyVersion>
<AssemblyVersion>0.2.2.0</AssemblyVersion>
+ <AssemblyVersion>0.2.3.0</AssemblyVersion>
</AssemblyInfo>
<Parameters>
<Parameter Name="localizer" Type="System.Converter<System.String,System.String>" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>0.2.2.0</AssemblyVersion>
+ <AssemblyVersion>0.2.3.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>Mono.Options.OptionSet</ReturnType>
<AssemblyVersion>0.2.0.0</AssemblyVersion>
<AssemblyVersion>0.2.1.0</AssemblyVersion>
<AssemblyVersion>0.2.2.0</AssemblyVersion>
+ <AssemblyVersion>0.2.3.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>Mono.Options.OptionSet</ReturnType>
</exception>
</Docs>
</Member>
+ <Member MemberName="Add">
+ <MemberSignature Language="C#" Value="public Mono.Options.OptionSet Add (string header);" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class Mono.Options.OptionSet Add(string header) cil managed" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>0.2.3.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>Mono.Options.OptionSet</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="header" Type="System.String" />
+ </Parameters>
+ <Docs>
+ <param name="header">
+ A <see cref="T:System.String" /> containing the header to display
+ during <see cref="M:Mono.Options.OptionSet.WriteOptionDescriptions(System.IO.TextWriter)" />.
+ </param>
+ <summary>
+ Declare a header to be printed during
+ <see cref="M:Mono.Options.OptionSet.WriteOptionDescriptions(System.IO.TextWriter)" />.
+ </summary>
+ <returns>
+ The current <see cref="T:Mono.Options.OptionSet" /> instance.
+ This is to permit method chaining.
+ </returns>
+ <remarks>
+ <para>
+ The <c>Add(string)</c> method can be used to provide option groupin
+ in the output generatedy by
+ <see cref="M:Mono.Options.OptionSet.WriteOptionDescriptions(System.IO.TextWriter)" />.
+ </para>
+ </remarks>
+ </Docs>
+ </Member>
<Member MemberName="Add">
<MemberSignature Language="C#" Value="public Mono.Options.OptionSet Add (string prototype, Mono.Options.OptionAction<string,string> action);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig instance class Mono.Options.OptionSet Add(string prototype, class Mono.Options.OptionAction`2<string, string> action) cil managed" />
<AssemblyVersion>0.2.0.0</AssemblyVersion>
<AssemblyVersion>0.2.1.0</AssemblyVersion>
<AssemblyVersion>0.2.2.0</AssemblyVersion>
+ <AssemblyVersion>0.2.3.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>Mono.Options.OptionSet</ReturnType>
<AssemblyVersion>0.2.0.0</AssemblyVersion>
<AssemblyVersion>0.2.1.0</AssemblyVersion>
<AssemblyVersion>0.2.2.0</AssemblyVersion>
+ <AssemblyVersion>0.2.3.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>Mono.Options.OptionSet</ReturnType>
<AssemblyVersion>0.2.0.0</AssemblyVersion>
<AssemblyVersion>0.2.1.0</AssemblyVersion>
<AssemblyVersion>0.2.2.0</AssemblyVersion>
+ <AssemblyVersion>0.2.3.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>Mono.Options.OptionSet</ReturnType>
<AssemblyVersion>0.2.0.0</AssemblyVersion>
<AssemblyVersion>0.2.1.0</AssemblyVersion>
<AssemblyVersion>0.2.2.0</AssemblyVersion>
+ <AssemblyVersion>0.2.3.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>Mono.Options.OptionSet</ReturnType>
<AssemblyVersion>0.2.0.0</AssemblyVersion>
<AssemblyVersion>0.2.1.0</AssemblyVersion>
<AssemblyVersion>0.2.2.0</AssemblyVersion>
+ <AssemblyVersion>0.2.3.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>Mono.Options.OptionSet</ReturnType>
<AssemblyVersion>0.2.0.0</AssemblyVersion>
<AssemblyVersion>0.2.1.0</AssemblyVersion>
<AssemblyVersion>0.2.2.0</AssemblyVersion>
+ <AssemblyVersion>0.2.3.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>Mono.Options.OptionSet</ReturnType>
<AssemblyVersion>0.2.0.0</AssemblyVersion>
<AssemblyVersion>0.2.1.0</AssemblyVersion>
<AssemblyVersion>0.2.2.0</AssemblyVersion>
+ <AssemblyVersion>0.2.3.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>Mono.Options.OptionSet</ReturnType>
<AssemblyVersion>0.2.0.0</AssemblyVersion>
<AssemblyVersion>0.2.1.0</AssemblyVersion>
<AssemblyVersion>0.2.2.0</AssemblyVersion>
+ <AssemblyVersion>0.2.3.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>Mono.Options.OptionSet</ReturnType>
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyVersion>0.2.2.0</AssemblyVersion>
+ <AssemblyVersion>0.2.3.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Collections.ObjectModel.ReadOnlyCollection<Mono.Options.ArgumentSource></ReturnType>
<AssemblyVersion>0.2.0.0</AssemblyVersion>
<AssemblyVersion>0.2.1.0</AssemblyVersion>
<AssemblyVersion>0.2.2.0</AssemblyVersion>
+ <AssemblyVersion>0.2.3.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>Mono.Options.OptionContext</ReturnType>
<AssemblyInfo>
<AssemblyVersion>0.2.1.0</AssemblyVersion>
<AssemblyVersion>0.2.2.0</AssemblyVersion>
+ <AssemblyVersion>0.2.3.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.String</ReturnType>
<AssemblyVersion>0.2.0.0</AssemblyVersion>
<AssemblyVersion>0.2.1.0</AssemblyVersion>
<AssemblyVersion>0.2.2.0</AssemblyVersion>
+ <AssemblyVersion>0.2.3.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute>
<AssemblyVersion>0.2.0.0</AssemblyVersion>
<AssemblyVersion>0.2.1.0</AssemblyVersion>
<AssemblyVersion>0.2.2.0</AssemblyVersion>
+ <AssemblyVersion>0.2.3.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
<AssemblyVersion>0.2.0.0</AssemblyVersion>
<AssemblyVersion>0.2.1.0</AssemblyVersion>
<AssemblyVersion>0.2.2.0</AssemblyVersion>
+ <AssemblyVersion>0.2.3.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
<AssemblyVersion>0.2.0.0</AssemblyVersion>
<AssemblyVersion>0.2.1.0</AssemblyVersion>
<AssemblyVersion>0.2.2.0</AssemblyVersion>
+ <AssemblyVersion>0.2.3.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Converter<System.String,System.String></ReturnType>
<AssemblyVersion>0.2.0.0</AssemblyVersion>
<AssemblyVersion>0.2.1.0</AssemblyVersion>
<AssemblyVersion>0.2.2.0</AssemblyVersion>
+ <AssemblyVersion>0.2.3.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Collections.Generic.List<System.String></ReturnType>
int repeat = 1;
var p = new OptionSet () {
+ "Usage: greet [OPTIONS]+ message",
+ "Greet a list of individuals with an optional message.",
+ "If no message is specified, a generic greeting is used.",
+ "",
+ "Options:",
{ "n|name=", "the {NAME} of someone to greet.",
v => names.Add (v) },
{ "r|repeat=",
}
if (show_help) {
- ShowHelp (p);
+ p.WriteOptionDescriptions (Console.Out);
return;
}
}
}
- static void ShowHelp (OptionSet p)
- {
- Console.WriteLine ("Usage: greet [OPTIONS]+ message");
- Console.WriteLine ("Greet a list of individuals with an optional message.");
- Console.WriteLine ("If no message is specified, a generic greeting is used.");
- Console.WriteLine ();
- Console.WriteLine ("Options:");
- p.WriteOptionDescriptions (Console.Out);
- }
-
static void Debug (string format, params object[] args)
{
if (verbosity > 0) {
<AssemblyVersion>0.2.0.0</AssemblyVersion>
<AssemblyVersion>0.2.1.0</AssemblyVersion>
<AssemblyVersion>0.2.2.0</AssemblyVersion>
+ <AssemblyVersion>0.2.3.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
<AssemblyVersion>0.2.0.0</AssemblyVersion>
<AssemblyVersion>0.2.1.0</AssemblyVersion>
<AssemblyVersion>0.2.2.0</AssemblyVersion>
+ <AssemblyVersion>0.2.3.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
<AssemblyVersion>0.2.0.0</AssemblyVersion>
<AssemblyVersion>0.2.1.0</AssemblyVersion>
<AssemblyVersion>0.2.2.0</AssemblyVersion>
+ <AssemblyVersion>0.2.3.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
<AssemblyVersion>0.2.0.0</AssemblyVersion>
<AssemblyVersion>0.2.1.0</AssemblyVersion>
<AssemblyVersion>0.2.2.0</AssemblyVersion>
+ <AssemblyVersion>0.2.3.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
int repeat = 1;
var p = new OptionSet () {
+ "Usage: greet [OPTIONS]+ message",
+ "Greet a list of individuals with an optional message.",
+ "If no message is specified, a generic greeting is used.",
+ "",
+ "Options:",
{ "n|name=", "the {NAME} of someone to greet.",
v => names.Add (v) },
{ "r|repeat=",
}
if (show_help) {
- ShowHelp (p);
+ p.WriteOptionDescriptions (Console.Out);
return;
}
}
}
- static void ShowHelp (OptionSet p)
- {
- Console.WriteLine ("Usage: greet [OPTIONS]+ message");
- Console.WriteLine ("Greet a list of individuals with an optional message.");
- Console.WriteLine ("If no message is specified, a generic greeting is used.");
- Console.WriteLine ();
- Console.WriteLine ("Options:");
- p.WriteOptionDescriptions (Console.Out);
- }
-
static void Debug (string format, params object[] args)
{
if (verbosity > 0) {