mirror of
https://github.com/crazywhalecc/static-php-cli.git
synced 2026-07-16 13:25:36 +08:00
feat: add --installed flag to check-update, improve CLI and InteractiveTerm
- Add --installed option to check-update command to compare against on-disk version (tool packages) - Support use_installed parameter in ArtifactDownloader::checkUpdate/checkUpdates - Add -y shorthand for --auto-fix in doctor command - Hook InteractiveTerm::init() in ConsoleApplication::doRun() to properly inject Symfony input/output
This commit is contained in:
@@ -32,7 +32,10 @@ use StaticPHP\Command\SPCConfigCommand;
|
||||
use StaticPHP\Package\TargetPackage;
|
||||
use StaticPHP\Registry\PackageLoader;
|
||||
use StaticPHP\Registry\Registry;
|
||||
use StaticPHP\Util\InteractiveTerm;
|
||||
use Symfony\Component\Console\Application;
|
||||
use Symfony\Component\Console\Input\InputInterface;
|
||||
use Symfony\Component\Console\Output\OutputInterface;
|
||||
|
||||
class ConsoleApplication extends Application
|
||||
{
|
||||
@@ -104,4 +107,15 @@ class ConsoleApplication extends Application
|
||||
{
|
||||
self::$additional_commands = array_merge(self::$additional_commands, $additional_commands);
|
||||
}
|
||||
|
||||
/**
|
||||
* Hook Symfony's doRun() to inject the real input/output into InteractiveTerm before
|
||||
* any command executes. From this point forward, InteractiveTerm uses the configured
|
||||
* Console (respecting --no-ansi, --verbose, etc.) instead of the lazy STDERR fallback.
|
||||
*/
|
||||
public function doRun(InputInterface $input, OutputInterface $output): int
|
||||
{
|
||||
InteractiveTerm::init($input, $output);
|
||||
return parent::doRun($input, $output);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user