public string GetUsage(string verb)
{
HelpText helpText;
if (verb == null)
{
helpText=HelpText.AutoBuild(this,(HelpText current) => HelpText.DefaultParsingErrorsHandler(this, current),true);
helpText = UsageHeading(helpText);
// usage
helpText.AddPreOptionsLine(string.Format("Usage: \n {0} [-?] [applet [-?|options]]", Path.GetFileName(System.Reflection.Assembly.GetEntryAssembly().Location)));
}
else
{
helpText=HelpText.AutoBuild(this, verb);
helpText = UsageHeading(helpText);
// additional description - specific for the applet
var additionalDescription = System.Type.GetType("Clues." + verb + ", core").GetAttributeValue(typeof(AdditionalDescription), "Text");
if(!string.IsNullOrEmpty(additionalDescription))
helpText.AddPreOptionsLine("\n" + additionalDescription);
// applet usage example
var usageExample = System.Type.GetType("Clues." + verb + ", core").GetAttributeValue(typeof(UsageExample),"Text");
if(!string.IsNullOrEmpty(usageExample))
helpText.AddPreOptionsLine("\nUsage Example:\n" + usageExample);
// usage
helpText.AddPreOptionsLine("\nAvailable options for " + verb + ":");
}
// bug: to remove copyright it cannot be empty, so finishing the header in the copyright field
return helpText;
}