comment($question . ': yes.'); return true; } // Automatically cancel confirmations if the --no argument was supplied. elseif (Drush::negative()) { $this->warning($question . ': no.'); return false; } $return = parent::confirm($question, $default); return $return; } /** * @param string $question * @param array $choices * If an associative array is passed, the chosen *key* is returned. * @param null $default * @return mixed */ public function choice($question, array $choices, $default = null) { $choices = array_merge(['cancel' => 'Cancel'], $choices) ; $choices_values = array_values($choices); $return = parent::choice($question, $choices_values, $default); if ($return == 'Cancel') { throw new UserAbortException(); } else { return array_search($return, $choices); } } public function warning($message) { $this->block($message, 'WARNING', 'fg=black;bg=yellow', ' ! ', true); } public function note($message) { $this->block($message, 'NOTE', 'fg=black;bg=yellow', ' ! '); } public function caution($message) { $this->block($message, 'CAUTION', 'fg=black;bg=yellow', ' ! ', true); } }