/**
  * {@inheritdoc}
  */
 public function setDefinition(Definition $definition)
 {
     $definition->addOption(new Option('daemon', Option::NONE))->setShortcut('d')->setDescription('Run in daemon mode')->end();
     return parent::setDefinition($definition);
 }
 /**
  * Constructor.
  *
  * @param ContainerBuilder $container
  */
 public function __construct(ContainerBuilder $container)
 {
     $this->container = $container;
     parent::__construct();
 }
 /**
  * Build options list.
  *
  * @param AbstractConsole $console
  *
  * @return array
  */
 private function buildOptions(AbstractConsole $console)
 {
     $options = $console->getDefinition()->getOptions();
     $data = array();
     foreach ($options as $option) {
         $shortcut = '    ';
         $required = '';
         if (null !== ($short = $option->getShortcut())) {
             $shortcut = sprintf('-%s, ', $short);
         }
         if ($option->isRequired()) {
             $required = '=' . strtoupper($option->getName());
         }
         $data[] = '  ' . sprintf('<style name="info">%s</style>', $shortcut . sprintf('--%s', $option->getName()) . $required);
     }
     return $data;
 }
 /**
  * Write help.
  *
  * @param AbstractConsole $console
  * @param array           $options
  */
 public function writeHelp(AbstractConsole $console, array $options = array())
 {
     $opt = array();
     if (!empty($options)) {
         foreach ($options as $option => $arg) {
             if ('no-ansi' !== $option) {
                 continue;
             }
             $option = sprintf('--%s', $option);
             if (!is_bool($arg)) {
                 $option .= '=' . $arg;
             }
             $opt[] = $option;
         }
     }
     $help = $this->getConsole('help');
     $input = new ArgvInput(array_merge(array(null, $console->getName()), $opt));
     $help->run($input);
 }