public function handleList(Args $args, IO $io)
{
$table = new Table(TableStyle::borderless());
foreach ($this->installerManager->getInstallerDescriptors() as $descriptor) {
$className = $descriptor->getClassName();
if (!$args->isOptionSet('long')) {
$className = StringUtil::getShortClassName($className);
}
$parameters = array();
foreach ($descriptor->getParameters() as $parameterName => $parameter) {
if (!$parameter->isRequired()) {
$parameterName .= '=' . StringUtil::formatValue($parameter->getDefaultValue());
}
$parameters[] = $parameterName;
}
$description = $descriptor->getDescription();
if ($parameters) {
// non-breaking space
$description .= ' <c1>(' . implode(", ", $parameters) . ')</c1>';
}
$table->addRow(array('<u>' . $descriptor->getName() . '</u>', '<c1>' . $className . '</c1>', $description));
}
$table->render($io);
return 0;
}