
| Current Path : /var/www/html/sirius-pallets/vendor/consolidation/annotated-command/src/Attributes/ |
Linux ift1.ift-informatik.de 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64 |
| Current File : /var/www/html/sirius-pallets/vendor/consolidation/annotated-command/src/Attributes/Argument.php |
<?php
namespace Consolidation\AnnotatedCommand\Attributes;
use Attribute;
use Consolidation\AnnotatedCommand\Parser\CommandInfo;
#[Attribute(Attribute::TARGET_METHOD | Attribute::IS_REPEATABLE)]
class Argument
{
/**
* @param $name
* The name of the argument.
* @param $description
* A one line description.
* @param $suggestedValues
* An array of suggestions or a Closure which gets them. See https://symfony.com/blog/new-in-symfony-6-1-improved-console-autocompletion#completion-values-in-input-definitions.
*/
public function __construct(
public string $name,
public string $description,
public array|\Closure $suggestedValues = []
) {
}
public static function handle(\ReflectionAttribute $attribute, CommandInfo $commandInfo)
{
$instance = $attribute->newInstance();
$commandInfo->addArgumentDescription($instance->name, $instance->description, $instance->suggestedValues);
}
}