/** * {@inheritdoc} */ protected function execute(InputInterface $input, OutputInterface $output) { if ($input->getOption('list')) { $output->writeln(Loader::getCategories($this->path())); return; } $categories = $input->getArgument('categories'); $number = $input->getOption('number'); $set = Loader::init($number, $categories, $this->path()); if ($set->getQuestions()) { $output->writeln(sprintf('Starting a new set of <info>%s</info> questions (available questions: <info>%s</info>)', count($set->getQuestions()), Loader::count(array(), $this->path()))); $this->askQuestions($set, $input, $output); $this->displayResults($set, $output); } else { $output->writeln('<error>✗</error> No questions can be found.'); } }