2021-05-10 00:23:30 +00:00
< ? php
/*
* This file is part of the Symfony package .
*
* ( c ) Fabien Potencier < fabien @ symfony . com >
*
* For the full copyright and license information , please view the LICENSE
* file that was distributed with this source code .
*/
2021-08-10 07:12:30 +00:00
namespace RectorPrefix20210810\Symfony\Component\Console\Command ;
2021-05-10 00:23:30 +00:00
2021-08-10 07:12:30 +00:00
use RectorPrefix20210810\Symfony\Component\Console\Helper\DescriptorHelper ;
use RectorPrefix20210810\Symfony\Component\Console\Input\InputArgument ;
use RectorPrefix20210810\Symfony\Component\Console\Input\InputInterface ;
use RectorPrefix20210810\Symfony\Component\Console\Input\InputOption ;
use RectorPrefix20210810\Symfony\Component\Console\Output\OutputInterface ;
2021-05-10 00:23:30 +00:00
/**
* HelpCommand displays the help for a given command .
*
* @ author Fabien Potencier < fabien @ symfony . com >
*/
2021-08-10 07:12:30 +00:00
class HelpCommand extends \RectorPrefix20210810\Symfony\Component\Console\Command\Command
2021-05-10 00:23:30 +00:00
{
private $command ;
/**
* { @ inheritdoc }
*/
protected function configure ()
{
$this -> ignoreValidationErrors ();
2021-08-10 07:12:30 +00:00
$this -> setName ( 'help' ) -> setDefinition ([ new \RectorPrefix20210810\Symfony\Component\Console\Input\InputArgument ( 'command_name' , \RectorPrefix20210810\Symfony\Component\Console\Input\InputArgument :: OPTIONAL , 'The command name' , 'help' ), new \RectorPrefix20210810\Symfony\Component\Console\Input\InputOption ( 'format' , null , \RectorPrefix20210810\Symfony\Component\Console\Input\InputOption :: VALUE_REQUIRED , 'The output format (txt, xml, json, or md)' , 'txt' ), new \RectorPrefix20210810\Symfony\Component\Console\Input\InputOption ( 'raw' , null , \RectorPrefix20210810\Symfony\Component\Console\Input\InputOption :: VALUE_NONE , 'To output raw command help' )]) -> setDescription ( 'Display help for a command' ) -> setHelp ( <<< 'EOF'
2021-05-10 00:23:30 +00:00
The < info >% command . name %</ info > command displays help for a given command :
< info >% command . full_name % list </ info >
You can also output the help in other formats by using the < comment >-- format </ comment > option :
< info >% command . full_name % -- format = xml list </ info >
To display the list of available commands , please use the < info > list </ info > command .
EOF
);
}
2021-07-05 22:50:18 +00:00
/**
* @ param \Symfony\Component\Console\Command\Command $command
*/
public function setCommand ( $command )
2021-05-10 00:23:30 +00:00
{
$this -> command = $command ;
}
/**
* { @ inheritdoc }
2021-07-05 22:50:18 +00:00
* @ param \Symfony\Component\Console\Input\InputInterface $input
* @ param \Symfony\Component\Console\Output\OutputInterface $output
2021-05-10 00:23:30 +00:00
*/
2021-07-05 22:50:18 +00:00
protected function execute ( $input , $output )
2021-05-10 00:23:30 +00:00
{
if ( null === $this -> command ) {
$this -> command = $this -> getApplication () -> find ( $input -> getArgument ( 'command_name' ));
}
2021-08-10 07:12:30 +00:00
$helper = new \RectorPrefix20210810\Symfony\Component\Console\Helper\DescriptorHelper ();
2021-05-10 00:23:30 +00:00
$helper -> describe ( $output , $this -> command , [ 'format' => $input -> getOption ( 'format' ), 'raw_text' => $input -> getOption ( 'raw' )]);
$this -> command = null ;
return 0 ;
}
}