public static void Main()
private static void PrintUsage(OptionSchema schema, TextWriter output)
"usage: command [Options...] [--] Arguments...",
var messages = usage.Concat(schema.GetHelpMessage());
foreach (var m in messages)
public static void ParseArgs(string[] args)
var schema = Options.NewSchema()
"Specify an input file\n"
+ "The FILE can be - for standard input")
.Add("help", 'h', "Show help and exit");
var setting = schema.Parse(args);
var options = setting.Options;
var arguments = setting.Arguments;
foreach (var o in options)
PrintUsage(schema, Console.Out);
catch (OptionParsingException e)
var output = Console.Error;
output.WriteLine(e.Message);
PrintUsage(schema, output);