environment = $input->getOption('env'); $this->language = $input->getOption('lang') ?? $this->language; $this->init(); return parent::getCommandName($input); } /** * @return void */ protected function init(): void { if ($this->initialized) { return; } $this->initialized = true; $grav = Grav::instance(); $grav->setup($this->environment); } /** * Add global a --env option. * * @return InputDefinition */ protected function getDefaultInputDefinition(): InputDefinition { $inputDefinition = parent::getDefaultInputDefinition(); $inputDefinition->addOption( new InputOption( 'env', null, InputOption::VALUE_OPTIONAL, 'Use environment configuration (defaults to localhost)' ) ); $inputDefinition->addOption( new InputOption( 'lang', null, InputOption::VALUE_OPTIONAL, 'Language to be used (defaults to en)' ) ); return $inputDefinition; } /** * @param InputInterface $input * @param OutputInterface $output * @return void */ protected function configureIO(InputInterface $input, OutputInterface $output) { $formatter = $output->getFormatter(); $formatter->setStyle('normal', new OutputFormatterStyle('white')); $formatter->setStyle('yellow', new OutputFormatterStyle('yellow', null, ['bold'])); $formatter->setStyle('red', new OutputFormatterStyle('red', null, ['bold'])); $formatter->setStyle('cyan', new OutputFormatterStyle('cyan', null, ['bold'])); $formatter->setStyle('green', new OutputFormatterStyle('green', null, ['bold'])); $formatter->setStyle('magenta', new OutputFormatterStyle('magenta', null, ['bold'])); $formatter->setStyle('white', new OutputFormatterStyle('white', null, ['bold'])); parent::configureIO($input, $output); } }