Version 1
[yaffs-website] / vendor / consolidation / annotated-command / src / Help / HelpCommand.php
diff --git a/vendor/consolidation/annotated-command/src/Help/HelpCommand.php b/vendor/consolidation/annotated-command/src/Help/HelpCommand.php
new file mode 100644 (file)
index 0000000..d540d2a
--- /dev/null
@@ -0,0 +1,48 @@
+<?php
+namespace Consolidation\AnnotatedCommand\Help;
+
+use Symfony\Component\Console\Application;
+use Symfony\Component\Console\Descriptor\XmlDescriptor;
+use Symfony\Component\Console\Input\InputInterface;
+use Symfony\Component\Console\Output\OutputInterface;
+
+class HelpCommand
+{
+    /** var Application */
+    protected $application;
+
+    /**
+     * Create a help document from a Symfony Console command
+     */
+    public function __construct(Application $application)
+    {
+        $this->application = $application;
+    }
+
+    public function getApplication()
+    {
+        return $this->application;
+    }
+
+    /**
+     * Run the help command
+     *
+     * @command my-help
+     * @return \Consolidation\AnnotatedCommand\Help\HelpDocument
+     */
+    public function help($commandName = 'help')
+    {
+        $command = $this->getApplication()->find($commandName);
+
+        $helpDocument = $this->getHelpDocument($command);
+        return $helpDocument;
+    }
+
+    /**
+     * Create a help document.
+     */
+    protected function getHelpDocument($command)
+    {
+        return new HelpDocument($command);
+    }
+}