public function __construct(ArgsFormat $format)
{
parent::__construct();
$i = 1;
foreach ($format->getCommandNames() as $commandName) {
do {
$argName = 'cmd' . $i++;
} while ($format->hasArgument($argName));
$this->addArgument($argument = $this->adaptCommandName($commandName, $argName));
$this->commandNames[$argument->getName()] = $commandName;
}
foreach ($format->getCommandOptions() as $commandOption) {
$this->addOption($this->adaptCommandOption($commandOption));
}
foreach ($format->getOptions() as $option) {
$this->addOption($this->adaptOption($option));
}
foreach ($format->getArguments() as $argument) {
$this->addArgument($this->adaptArgument($argument));
}
}