aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe/src/downloader
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2026-06-12 03:19:34 +0900
committernsfisis <nsfisis@gmail.com>2026-06-12 03:19:34 +0900
commitefe5bdb1987411a473d4af15451a376d20928245 (patch)
tree54d3c9e7ab92cfc7d7ec3d90ca3f29e828d929c4 /crates/shirabe/src/downloader
parent981cae63d9777b877aa9f96907c7995ec020fbf9 (diff)
downloadphp-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.rs24
-rw-r--r--crates/shirabe/src/downloader/git_downloader.rs6
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,