mirror of
https://github.com/crazywhalecc/static-php-cli.git
synced 2026-03-19 13:24:51 +08:00
Allow shell completion for build:libs command
This commit is contained in:
parent
d6af728e79
commit
0c386e967a
@ -6,8 +6,10 @@ namespace StaticPHP\Command;
|
||||
|
||||
use StaticPHP\Artifact\DownloaderOptions;
|
||||
use StaticPHP\Package\PackageInstaller;
|
||||
use StaticPHP\Registry\PackageLoader;
|
||||
use StaticPHP\Util\V2CompatLayer;
|
||||
use Symfony\Component\Console\Attribute\AsCommand;
|
||||
use Symfony\Component\Console\Completion\CompletionInput;
|
||||
use Symfony\Component\Console\Input\InputArgument;
|
||||
use Symfony\Component\Console\Input\InputOption;
|
||||
|
||||
@ -16,7 +18,19 @@ class BuildLibsCommand extends BaseCommand
|
||||
{
|
||||
public function configure(): void
|
||||
{
|
||||
$this->addArgument('libraries', InputArgument::REQUIRED, 'The library packages will be compiled, comma separated');
|
||||
$this->addArgument(
|
||||
'libraries',
|
||||
InputArgument::REQUIRED,
|
||||
'The library packages will be compiled, comma separated',
|
||||
suggestedValues: function (CompletionInput $input) {
|
||||
$packages = [];
|
||||
foreach (PackageLoader::getPackages(['target', 'library']) as $name => $_) {
|
||||
$packages[] = $name;
|
||||
}
|
||||
$val = $input->getCompletionValue();
|
||||
return array_filter($packages, fn ($name) => str_starts_with($name, $val));
|
||||
}
|
||||
);
|
||||
// Builder options
|
||||
$this->getDefinition()->addOptions([
|
||||
new InputOption('with-suggests', ['L', 'E'], null, 'Resolve and install suggested packages as well'),
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user