diff options
| author | nsfisis <nsfisis@gmail.com> | 2026-07-04 22:43:46 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2026-07-05 00:32:15 +0900 |
| commit | b36410024e46a7de5314af6549ba39bf88fe598c (patch) | |
| tree | 7011b27eaed4da0b38978b17cb700fee958d1e33 /crates/shirabe/src/installer/plugin_installer.rs | |
| parent | b556dbb66123145983df7a62949061029e38f0a3 (diff) | |
| download | php-shirabe-b36410024e46a7de5314af6549ba39bf88fe598c.tar.gz php-shirabe-b36410024e46a7de5314af6549ba39bf88fe598c.tar.zst php-shirabe-b36410024e46a7de5314af6549ba39bf88fe598c.zip | |
feat(installation-manager): render install/download progress bar
Real Composer shows a ProgressBar during InstallationManager's
waitOnPromises (`Package operations: N installs` ... `0/109 [>---] 0%`
... `100%`), but this port never wired one up: output_progress was set
by callers and never consulted. This adds the same gating PHP uses
(output_progress, ConsoleIO, not CI, not debug, more than one
operation) for both the download phase and the install/extract phase.
The port runs downloads/installs serially rather than as concurrently
polled promises (see the existing TODO(phase-c-promise) notes), so
there is no active-job count to poll for intermediate snapshots.
Stepping the bar per completed operation was tried first, but it
interleaves with the "- Installing ..." lines mid-terminal-line since
both share the same overwrite/newline state; rendering a single 0% ->
100% jump after each phase avoids that garbling at the cost of the
timing-driven intermediate snapshots real Composer shows.
Diffstat (limited to 'crates/shirabe/src/installer/plugin_installer.rs')
0 files changed, 0 insertions, 0 deletions
