コード例 #1
0
ファイル: MarkdownDescriptor.php プロジェクト: Danack/Console
 /**
  * {@inheritdoc}
  */
 protected function describeCommand(AbstractCommand $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 ($definition = $command->getNativeDefinition()) {
         $this->write("\n\n");
         $this->describeInputDefinition($command->getNativeDefinition());
     }
 }
コード例 #2
0
ファイル: XmlDescriptor.php プロジェクト: Danack/Console
 /**
  * @param AbstractCommand $command
  *
  * @return \DOMDocument
  */
 public function getCommandDocument(AbstractCommand $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($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->getInputDefinitionDocument($command->getNativeDefinition());
     $this->appendDocument($commandXML, $definitionXML->getElementsByTagName('definition')->item(0));
     return $dom;
 }
コード例 #3
0
ファイル: JsonDescriptor.php プロジェクト: Danack/Console
 /**
  * @param AbstractCommand $command
  *
  * @return array
  */
 private function getCommandData(AbstractCommand $command)
 {
     $command->getSynopsis();
     $command->mergeApplicationDefinition(false);
     return array('name' => $command->getName(), 'usage' => $command->getSynopsis(), 'description' => $command->getDescription(), 'help' => $command->getProcessedHelp(), 'aliases' => $command->getAliases(), 'definition' => $this->getInputDefinitionData($command->getNativeDefinition()));
 }