#!/usr/bin/env php discover(); $parser = new ArgvParser($argv); $commandName = $parser->getCommandName() ?: 'list'; $command = $runner->find($commandName); $output = new OutputAdapter(!$parser->isNoAnsi()); $output->setVerbosity($parser->getVerbosity()); if (!$command) { $output->error(sprintf('Command "%s" not found.', $commandName)); exit(1); } // Map remaining arguments to command arguments $cmdArgs = $command->getArguments(); $remaining = $parser->getRemainingArguments(); $mappedArgs = []; $i = 0; foreach ($cmdArgs as $name => $desc) { if (isset($remaining[$i])) { $mappedArgs[$name] = $remaining[$i]; } $i++; } $input = new InputAdapter($mappedArgs, []); $exitCode = $runner->run($command, $input, $output); exit($exitCode);