Current File : /home/pacjaorg/public_html/dnpsom/libraries/vendor/joomla/console/src/Command/ListCommand.php |
<?php
/**
* Part of the Joomla Framework Console Package
*
* @copyright Copyright (C) 2005 - 2021 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE
*/
namespace Joomla\Console\Command;
use Joomla\Console\Helper\DescriptorHelper;
use Symfony\Component\Console\Input\InputArgument;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface;
/**
* Command listing all available commands.
*
* @since 2.0.0
*/
class ListCommand extends AbstractCommand
{
/**
* The default command name
*
* @var string
* @since 2.0.0
*/
protected static $defaultName = 'list';
/**
* Configure the command.
*
* @return void
*
* @since 2.0.0
*/
protected function configure(): void
{
$this->setDescription("List the application's available commands");
$this->addArgument('namespace', InputArgument::OPTIONAL, 'The namespace name');
$this->setHelp(<<<'EOF'
The <info>%command.name%</info> command lists all of the application's commands:
<info>php %command.full_name%</info>
EOF
);
}
/**
* Internal function to execute the command.
*
* @param InputInterface $input The input to inject into the command.
* @param OutputInterface $output The output to inject into the command.
*
* @return integer The command exit code
*
* @since 2.0.0
*/
protected function doExecute(InputInterface $input, OutputInterface $output): int
{
$descriptor = new DescriptorHelper;
if ($this->getHelperSet() !== null)
{
$this->getHelperSet()->set($descriptor);
}
$descriptor->describe(
$output,
$this->getApplication(),
[
'namespace' => $input->getArgument('namespace'),
]
);
return 0;
}
}