using System.Collections.Generic;
public static void Main()
var args = "--help".Split();
static int UseCase(string[] args)
var parser = new CommandLine.Parser(with => with.HelpWriter = null);
var parserResult = parser.ParseArguments<Options>(args);
return parserResult.MapResult(
(Options options) => Run(options),
errs => DisplayHelp<Options>(parserResult));
static int DisplayHelp<T>(ParserResult<T> result)
var helpText = HelpText.AutoBuild(result, h =>
h.AdditionalNewLineAfterOption = false;
h.Heading = "Myapp 2.0.0-beta";
h.Copyright = "Copyright (c) 2019 Global.com";
Console.WriteLine(helpText);
static int Run(Options options)
[Option('r', "read", Required = false, HelpText = "Input files to be processed.")]
public IEnumerable<string> InputFiles
[Option(Default = false, HelpText = "Prints all messages to standard output.")]
[Option("stdin", Default = false, HelpText = "Read from stdin")]
[Value(0, MetaName = "offset", HelpText = "File offset.")]