/**
* @inheritdoc
*/
protected function describeCommand(Command $command, array $options = array())
{
$command->getSynopsis();
$command->mergeApplicationDefinition(false);
$this->writeText("<comment>Command:</comment> " . $command->getName(), $options);
if ($aliases = $command->getAliases()) {
$this->writeText("\n");
$this->writeText('<comment>Aliases:</comment> ' . implode(', ', $aliases), $options);
}
if ($description = $command->getDescription()) {
$this->writeText("\n");
$this->writeText("<comment>Description:</comment> {$description}", $options);
}
$this->writeText("\n\n");
$this->writeText('<comment>Usage:</comment>', $options);
$this->writeText("\n");
$this->writeText(' ' . $command->getSynopsis(), $options);
$this->writeText("\n");
if ($definition = $command->getNativeDefinition()) {
$this->writeText("\n");
$this->describeInputDefinition($definition, $options);
}
if ($help = $command->getProcessedHelp()) {
$this->writeText("\n");
$this->writeText('<comment>Help:</comment>', $options);
$this->writeText("\n");
$this->writeText(' ' . str_replace("\n", "\n ", $help), $options);
$this->writeText("\n");
}
}