Can be overridden to provide the original command representation when it would otherwise
be changed by merging with the application InputDefinition.
This method is not part of public API and should not be used directly.
public getNativeDefinition ( ) : Symfony\Component\Console\Input\InputDefinition | ||
return | Symfony\Component\Console\Input\InputDefinition | An InputDefinition instance |
/** * @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"); } }
/** * {@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: `' . $command->getSynopsis() . '`' . "\n" . '* Aliases: ' . (count($command->getAliases()) ? '`' . implode('`, `', $command->getAliases()) . '`' : '<none>')); if ($help = $command->getProcessedHelp()) { $this->write("\n\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); $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()); } }
/** * Get the combined options of the application and entered command * * @return InputOption[] */ protected function getAllOptions() { if (!$this->command) { return $this->application->getDefinition()->getOptions(); } return array_merge($this->command->getNativeDefinition()->getOptions(), $this->application->getDefinition()->getOptions()); }
/** * @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"); } }
/** * @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(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 = 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 getNativeDefinition() { return $this->decoratedCommand->getNativeDefinition(); }
public function getNativeDefinition() { return $this->innerCommand->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; }
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); }