Returns the synopsis for the command.
public getSynopsis ( boolean $short = false ) : string | ||
$short | boolean | Whether to show the short version of the synopsis (with options folded) or not |
Résultat | string | The synopsis |
/** * @inheritdoc */ protected function describeCommand(Command $command, array $options = array()) { $command->getSynopsis(); $command->mergeApplicationDefinition(false); $this->writeText("<comment>Command:</comment> " . $command->getName(), $options); if ($aliases = $command->getAliases()) { $this->writeText("\n"); $this->writeText('<comment>Aliases:</comment> ' . implode(', ', $aliases), $options); } if ($description = $command->getDescription()) { $this->writeText("\n"); $this->writeText("<comment>Description:</comment> {$description}", $options); } $this->writeText("\n\n"); $this->writeText('<comment>Usage:</comment>', $options); $this->writeText("\n"); $this->writeText(' ' . $command->getSynopsis(), $options); $this->writeText("\n"); if ($definition = $command->getNativeDefinition()) { $this->writeText("\n"); $this->describeInputDefinition($definition, $options); } if ($help = $command->getProcessedHelp()) { $this->writeText("\n"); $this->writeText('<comment>Help:</comment>', $options); $this->writeText("\n"); $this->writeText(' ' . str_replace("\n", "\n ", $help), $options); $this->writeText("\n"); } }
protected function describeCommand(Command $command, array $options = array()) { $command->getSynopsis(true); $command->getSynopsis(false); $command->mergeApplicationDefinition(false); $this->writeText('<comment>Usage:</comment>', $options); foreach (array_merge(array($command->getSynopsis(true)), $command->getAliases(), $command->getUsages()) as $usage) { $this->writeText("\n"); $this->writeText(' ' . $usage, $options); } $this->writeText("\n"); $definition = $command->getNativeDefinition(); if ($definition->getOptions() || $definition->getArguments()) { $this->writeText("\n"); $this->describeInputDefinition($definition, $options); $this->writeText("\n"); } if ($help = $command->getProcessedHelp()) { $this->writeText("\n"); $this->writeText('<comment>Help:</comment>', $options); $this->writeText("\n"); $this->writeText(' ' . str_replace("\n", "\n ", $help), $options); $this->writeText("\n"); } }
/** * @inheritdoc */ protected function describeCommand(Command $command, array $options = []) { $command->getSynopsis(); $command->mergeApplicationDefinition(false); $this->write($command->getName() . "\n" . str_repeat('-', strlen($command->getName())) . "\n"); if ($description = $command->getDescription()) { $this->write("{$description}\n\n"); } $aliases = $command instanceof CommandBase ? $command->getVisibleAliases() : $command->getAliases(); if ($aliases) { $this->write('Aliases: ' . '`' . implode('`, `', $aliases) . '`' . "\n\n"); } $executableName = 'platform'; $this->write("## Usage:\n\n```\n{$executableName} " . $command->getSynopsis() . "\n```\n\n"); if ($help = $command->getProcessedHelp()) { $this->write($help); $this->write("\n\n"); } if ($command->getNativeDefinition()) { $this->describeInputDefinition($command->getNativeDefinition()); $this->write("\n\n"); } if ($command instanceof CommandBase && ($examples = $command->getExamples())) { $this->write('## Examples'); $this->write("\n"); $name = $command->getName(); foreach ($examples as $arguments => $description) { $this->write("\n* {$description}: \n ```\n platform {$name} {$arguments}\n ```\n"); } $this->write("\n"); } }
private function updateCommandDefinition(Command $command, OutputInterface $output) { $eventDispatcher = $this->getApplication()->getDispatcher(); $input = new ArrayInput(['command' => $command->getName()]); $event = new ConsoleCommandEvent($command, $input, $output); $eventDispatcher->dispatch(GushEvents::DECORATE_DEFINITION, $event); $command->getSynopsis(true); $command->getSynopsis(false); $command->mergeApplicationDefinition(); try { $input->bind($command->getDefinition()); } catch (\Exception $e) { $output->writeln('<error>Something went wrong: </error>' . $e->getMessage()); return; } $eventDispatcher->dispatch(GushEvents::INITIALIZE, $event); // The options were set on the input but now we need to set them on the Command definition if ($options = $input->getOptions()) { foreach ($options as $name => $value) { $option = $command->getDefinition()->getOption($name); if ($option->acceptValue()) { $option->setDefault($value); } } } }
/** * {@inheritdoc} */ protected function describeCommand(Command $command, array $options = array()) { $command->getSynopsis(); $command->mergeApplicationDefinition(false); $markdown = $command->getName() . "\n" . str_repeat('-', strlen($command->getName())) . "\n\n" . '* Description: ' . ($command->getDescription() ?: '<none>') . "\n" . '* Usage: `' . $command->getSynopsis() . '`' . "\n" . '* Aliases: ' . (count($command->getAliases()) ? '`' . implode('`, `', $command->getAliases()) . '`' : '<none>'); if ($help = $command->getProcessedHelp()) { $markdown .= "\n\n" . $help; } if ($definitionMarkdown = $this->describeInputDefinition($command->getNativeDefinition())) { $markdown .= "\n\n" . $definitionMarkdown; } return $markdown; }
/** * {@inheritdoc} */ protected function describeCommand(Command $command, array $options = array()) { $command->getSynopsis(); $command->mergeApplicationDefinition(false); $this->write($command->getName() . "\n" . str_repeat('-', strlen($command->getName())) . "\n\n" . '* Description: ' . ($command->getDescription() ?: '<none>') . "\n" . '* Usage:' . "\n\n" . array_reduce(array_merge(array($command->getSynopsis()), $command->getAliases(), $command->getUsages()), function ($carry, $usage) { return $carry .= ' * `' . $usage . '`' . "\n"; })); if ($help = $command->getProcessedHelp()) { $this->write("\n"); $this->write($help); } if ($command->getNativeDefinition()) { $this->write("\n\n"); $this->describeInputDefinition($command->getNativeDefinition()); } }
/** * {@inheritdoc} */ protected function describeCommand(Command $command, array $options = array()) { $command->getSynopsis(); $command->mergeApplicationDefinition(false); $messages = array('<comment>Usage:</comment>', ' ' . $command->getSynopsis(), ''); if ($command->getAliases()) { $messages[] = '<comment>Aliases:</comment> <info>' . implode(', ', $command->getAliases()) . '</info>'; } $messages[] = $this->describeInputDefinition($command->getNativeDefinition()); if ($help = $command->getProcessedHelp()) { $messages[] = '<comment>Help:</comment>'; $messages[] = ' ' . str_replace("\n", "\n ", $help) . "\n"; } $output = implode("\n", $messages); return isset($options['raw_text']) && $options['raw_text'] ? strip_tags($output) : $output; }
/** * {@inheritdoc} */ public function renderException(\Exception $e, OutputInterface $output) { $output->writeln('', OutputInterface::VERBOSITY_QUIET); do { $exceptionName = get_class($e); if (($pos = strrpos($exceptionName, '\\')) !== false) { $exceptionName = substr($exceptionName, $pos + 1); } $title = sprintf(' [%s] ', $exceptionName); $len = strlen($title); $width = $this->getTerminalWidth() ? $this->getTerminalWidth() - 1 : PHP_INT_MAX; // HHVM only accepts 32 bits integer in str_split, even when PHP_INT_MAX is a 64 bit integer: https://github.com/facebook/hhvm/issues/1327 if (defined('HHVM_VERSION') && $width > 1 << 31) { $width = 1 << 31; } $formatter = $output->getFormatter(); $lines = array(); foreach (preg_split('/\\r?\\n/', $e->getMessage()) as $line) { foreach (str_split($line, $width - 4) as $chunk) { // pre-format lines to get the right string length $lineLength = strlen(preg_replace('/\\[[^m]*m/', '', $formatter->format($chunk))) + 4; $lines[] = array($chunk, $lineLength); $len = max($lineLength, $len); } } $messages = array(); $messages[] = $emptyLine = $formatter->format(sprintf('<error>%s</error>', str_repeat(' ', $len))); $messages[] = $formatter->format(sprintf('<error>%s%s</error>', $title, str_repeat(' ', max(0, $len - strlen($title))))); foreach ($lines as $line) { $messages[] = $formatter->format(sprintf('<error> %s %s</error>', $line[0], str_repeat(' ', $len - $line[1]))); } $messages[] = $emptyLine; $messages[] = ''; $output->writeln($messages, OutputInterface::OUTPUT_RAW | OutputInterface::VERBOSITY_QUIET); if (OutputInterface::VERBOSITY_VERBOSE <= $output->getVerbosity()) { $output->writeln('<comment>Exception trace:</comment>', OutputInterface::VERBOSITY_QUIET); // exception related properties $trace = $e->getTrace(); array_unshift($trace, array('function' => '', 'file' => $e->getFile() !== null ? $e->getFile() : 'n/a', 'line' => $e->getLine() !== null ? $e->getLine() : 'n/a', 'args' => array())); for ($i = 0, $count = count($trace); $i < $count; ++$i) { $class = isset($trace[$i]['class']) ? $trace[$i]['class'] : ''; $type = isset($trace[$i]['type']) ? $trace[$i]['type'] : ''; $function = $trace[$i]['function']; $file = isset($trace[$i]['file']) ? $trace[$i]['file'] : 'n/a'; $line = isset($trace[$i]['line']) ? $trace[$i]['line'] : 'n/a'; $output->writeln(sprintf(' %s%s%s() at <info>%s:%s</info>', $class, $type, $function, $file, $line), OutputInterface::VERBOSITY_QUIET); } $output->writeln('', OutputInterface::VERBOSITY_QUIET); } } while ($e = $e->getPrevious()); if (null !== $this->currentCommand && $this->currentCommand->getName() !== 'welcome') { $output->writeln(sprintf('Usage: <info>%s</info>', $this->currentCommand->getSynopsis()), OutputInterface::VERBOSITY_QUIET); $output->writeln('', OutputInterface::VERBOSITY_QUIET); $output->writeln(sprintf('For more information, type: <info>%s help %s</info>', $this->cliConfig->get('application.executable'), $this->currentCommand->getName()), OutputInterface::VERBOSITY_QUIET); $output->writeln('', OutputInterface::VERBOSITY_QUIET); } }
/** * @param Command $command * * @return \DOMDocument */ public function getCommandDocument(Command $command) { $dom = new \DOMDocument('1.0', 'UTF-8'); $dom->appendChild($commandXML = $dom->createElement('command')); $command->getSynopsis(); $command->mergeApplicationDefinition(false); $commandXML->setAttribute('id', $command->getName()); $commandXML->setAttribute('name', $command->getName()); $commandXML->appendChild($usagesXML = $dom->createElement('usages')); foreach (array_merge(array($command->getSynopsis()), $command->getAliases(), $command->getUsages()) as $usage) { $usagesXML->appendChild($dom->createElement('usage', $usage)); } $commandXML->appendChild($descriptionXML = $dom->createElement('description')); $descriptionXML->appendChild($dom->createTextNode(str_replace("\n", "\n ", $command->getDescription()))); $commandXML->appendChild($helpXML = $dom->createElement('help')); $helpXML->appendChild($dom->createTextNode(str_replace("\n", "\n ", $command->getProcessedHelp()))); $definitionXML = $this->getInputDefinitionDocument($command->getNativeDefinition()); $this->appendDocument($commandXML, $definitionXML->getElementsByTagName('definition')->item(0)); return $dom; }
/** * @inheritdoc */ protected function describeCommand(Command $command, array $options = []) { $command->getSynopsis(); $command->mergeApplicationDefinition(false); $this->writeText("<comment>Command:</comment> " . $command->getName(), $options); $aliases = $command instanceof CommandBase ? $command->getVisibleAliases() : $command->getAliases(); if ($aliases) { $this->writeText("\n"); $this->writeText('<comment>Aliases:</comment> ' . implode(', ', $aliases), $options); } if ($description = $command->getDescription()) { $this->writeText("\n"); $this->writeText("<comment>Description:</comment> {$description}", $options); } $this->writeText("\n\n"); $this->writeText('<comment>Usage:</comment>', $options); $this->writeText("\n"); $executableName = 'platform'; $this->writeText(' ' . $executableName . ' ' . $command->getSynopsis(), $options); $this->writeText("\n"); if ($definition = $command->getNativeDefinition()) { $this->writeText("\n"); $this->describeInputDefinition($definition, $options); $this->writeText("\n"); } if ($help = $command->getProcessedHelp()) { $this->writeText("\n"); $this->writeText('<comment>Help:</comment>', $options); $this->writeText("\n"); $this->writeText(' ' . str_replace("\n", "\n ", $help), $options); $this->writeText("\n"); } if ($command instanceof CommandBase && ($examples = $command->getExamples())) { $this->writeText("\n"); $this->writeText('<comment>Examples:</comment>', $options); $name = $command->getName(); foreach ($examples as $arguments => $description) { $this->writeText("\n {$description}:\n <info>platform {$name} {$arguments}</info>\n"); } } }
/** * {@inheritdoc} */ protected function describeCommand(Command $command, array $options = array()) { $command->getSynopsis(); $command->mergeApplicationDefinition(false); return $this->output(array('name' => $command->getName(), 'usage' => $command->getSynopsis(), 'description' => $command->getDescription(), 'help' => $command->getProcessedHelp(), 'aliases' => $command->getAliases(), 'definition' => $this->describeInputDefinition($command->getNativeDefinition(), array('as_array' => true))), $options); }
/** * @param Command $command * * @return array */ private function getCommandData(Command $command) { $command->getSynopsis(); $command->mergeApplicationDefinition(false); return array('name' => $command->getName(), 'usage' => array_merge(array($command->getSynopsis()), $command->getUsages(), $command->getAliases()), 'description' => $command->getDescription(), 'help' => $command->getProcessedHelp(), 'definition' => $this->getInputDefinitionData($command->getNativeDefinition())); }
/** * {@inheritdoc} */ public function getSynopsis($short = false) { return $this->decoratedCommand->getSynopsis($short); }
public function getSynopsis() { return parent::getSynopsis() . "\n\n<comment>Description:</comment>\n " . $this->getDescription(); }
public function getSynopsis($short = false) { return $this->innerCommand->getSynopsis($short); }
/** * Merge in job definition * * @param bool $short Whether to return short synopsis * * @return string */ public function getSynopsis($short = false) { if (!$this->jobDefinitionMerged) { $definition = $this->getJob()->getDefinition(); $this->getDefinition()->addOptions($definition->getOptions()); $this->getDefinition()->addArguments($definition->getArguments()); $this->jobDefinitionMerged = true; } return preg_replace('/^generic:([^:]+):([^ ]+)/', '--$1=$2', parent::getSynopsis($short)); }
protected function describeCommand(Command $command, array $options = array()) { $dom = new \DOMDocument('1.0', 'UTF-8'); $dom->appendChild($commandXML = $dom->createElement('command')); $command->getSynopsis(); $command->mergeApplicationDefinition(false); $commandXML->setAttribute('id', $command->getName()); $commandXML->setAttribute('name', $command->getName()); $commandXML->appendChild($usageXML = $dom->createElement('usage')); $usageXML->appendChild($dom->createTextNode(sprintf($command->getSynopsis(), ''))); $commandXML->appendChild($descriptionXML = $dom->createElement('description')); $descriptionXML->appendChild($dom->createTextNode(str_replace("\n", "\n ", $command->getDescription()))); $commandXML->appendChild($helpXML = $dom->createElement('help')); $helpXML->appendChild($dom->createTextNode(str_replace("\n", "\n ", $command->getProcessedHelp()))); $commandXML->appendChild($aliasesXML = $dom->createElement('aliases')); foreach ($command->getAliases() as $alias) { $aliasesXML->appendChild($aliasXML = $dom->createElement('alias')); $aliasXML->appendChild($dom->createTextNode($alias)); } $definitionXML = $this->describeInputDefinition($command->getNativeDefinition(), array('as_dom' => true)); $this->appendDocument($commandXML, $definitionXML->getElementsByTagName('definition')->item(0)); return $this->output($dom, $options); }