protected function execute(InputInterface $input, OutputInterface $output)
{
// When used as a default command,
// Symfony doesn't read the default parameters.
// This will parse the parameters
if ($input instanceof ArrayInput) {
$argv = $_SERVER['argv'];
$argv[0] = $this->getName();
array_unshift($argv, 'binary_name');
$input = new ArgvInput($argv, $this->getDefinition());
}
$daux = $this->prepareDaux($input);
$width = $this->getApplication()->getTerminalDimensions()[0];
// Instiantiate the processor if one is defined
$this->prepareProcessor($daux, $input, $output, $width);
// Generate the tree
$daux->generateTree();
// Generate the documentation
$daux->getGenerator()->generateAll($input, $output, $width);
}