On 2/26/14, 5:37 AM, Vladimir Panteleev wrote:
On Wednesday, 26 February 2014 at 09:57:19 UTC, Andrew Edwards wrote:
Request a small example of how to use getopt to accomplish the following:
[1] program subcommand //process subcommand with default arguments if any
[2] program -h subcommand //output help information about subcommand
[3] program subcommand --option1 --option2 true option3=log.txt //
process subcommand with user specified options
import std.getopt;
void main(string[] args)
{
bool help;
getopt(args,
"h|help", &help,
config.stopOnFirstNonOption,
);
if (args.length == 1)
{
// Print general help and list of commands
return;
}
auto subcommand = args[1];
switch (subcommand)
{
case "subcommand":
{
if (help)
{
// Print help for subcommand
return;
}
bool option1;
string option2, option3;
getopt(args,
"option1", &option1,
"option2", &option2,
"option3", &option3,
);
// Process subcommand with specified options
break;
}
default:
throw new Exception("Unknown subcommand "~ subcommand);
}
}
Thank you very much.