diff options
| author | nsfisis <nsfisis@gmail.com> | 2026-06-12 03:19:34 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2026-06-12 03:19:34 +0900 |
| commit | efe5bdb1987411a473d4af15451a376d20928245 (patch) | |
| tree | 54d3c9e7ab92cfc7d7ec3d90ca3f29e828d929c4 /crates/shirabe/src/downloader | |
| parent | 981cae63d9777b877aa9f96907c7995ec020fbf9 (diff) | |
| download | php-shirabe-efe5bdb1987411a473d4af15451a376d20928245.tar.gz php-shirabe-efe5bdb1987411a473d4af15451a376d20928245.tar.zst php-shirabe-efe5bdb1987411a473d4af15451a376d20928245.zip | |
refactor(php-shim): replace literal sprintf calls with format!
Convert every sprintf() call with a compile-time literal format string to
format!, implementing Display for PhpMixed (delegating to php_to_string) so
PhpMixed values render with PHP string semantics through {}. Also merge the
format!-wrapped and conditional-literal dynamic sites into single format!
calls. Genuinely runtime format strings (table styles, configurable error
messages, command synopsis, progress-bar modifiers, regex-built messages)
still go through sprintf.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Diffstat (limited to 'crates/shirabe/src/downloader')
| -rw-r--r-- | crates/shirabe/src/downloader/download_manager.rs | 24 | ||||
| -rw-r--r-- | crates/shirabe/src/downloader/git_downloader.rs | 6 |
2 files changed, 13 insertions, 17 deletions
diff --git a/crates/shirabe/src/downloader/download_manager.rs b/crates/shirabe/src/downloader/download_manager.rs index af23353..209c6ee 100644 --- a/crates/shirabe/src/downloader/download_manager.rs +++ b/crates/shirabe/src/downloader/download_manager.rs @@ -110,12 +110,10 @@ impl DownloadManager { let r#type = strtolower(r#type); if !self.downloaders.contains_key(&r#type) { return Err(InvalidArgumentException { - message: sprintf( - "Unknown downloader type: %s. Available types: %s.", - &[ - PhpMixed::String(r#type), - PhpMixed::String(implode(", ", &array_keys(&self.downloaders))), - ], + message: format!( + "Unknown downloader type: {}. Available types: {}.", + PhpMixed::String(r#type), + PhpMixed::String(implode(", ", &array_keys(&self.downloaders))), ), code: 0, } @@ -159,14 +157,12 @@ impl DownloadManager { let downloader_installation_source = downloader.borrow().get_installation_source(); if installation_source.as_deref() != Some(&downloader_installation_source) { return Err(LogicException { - message: sprintf( - "Downloader \"%s\" is a %s type downloader and can not be used to download %s for package %s", - &[ - PhpMixed::String(shirabe_php_shim::get_class_obj(&*downloader.borrow())), - PhpMixed::String(downloader_installation_source), - PhpMixed::String(installation_source.clone().unwrap_or_default()), - PhpMixed::String(package.to_string()), - ], + message: format!( + "Downloader \"{}\" is a {} type downloader and can not be used to download {} for package {}", + PhpMixed::String(shirabe_php_shim::get_class_obj(&*downloader.borrow())), + PhpMixed::String(downloader_installation_source), + PhpMixed::String(installation_source.clone().unwrap_or_default()), + PhpMixed::String(package.to_string()), ), code: 0, } diff --git a/crates/shirabe/src/downloader/git_downloader.rs b/crates/shirabe/src/downloader/git_downloader.rs index 47dd959..b7145b6 100644 --- a/crates/shirabe/src/downloader/git_downloader.rs +++ b/crates/shirabe/src/downloader/git_downloader.rs @@ -824,9 +824,9 @@ impl VcsDownloader for GitDownloader { io_interface::NORMAL, ); self.inner.io.write_error3( - &sprintf( - " Cloning to cache at %s", - &[PhpMixed::String(cache_path.clone())], + &format!( + " Cloning to cache at {}", + PhpMixed::String(cache_path.clone()), ), true, io_interface::DEBUG, |
