From efe5bdb1987411a473d4af15451a376d20928245 Mon Sep 17 00:00:00 2001 From: nsfisis Date: Fri, 12 Jun 2026 03:19:34 +0900 Subject: 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) --- crates/shirabe/src/command/config_command.rs | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) (limited to 'crates/shirabe/src/command/config_command.rs') diff --git a/crates/shirabe/src/command/config_command.rs b/crates/shirabe/src/command/config_command.rs index 342797c..2bcb681 100644 --- a/crates/shirabe/src/command/config_command.rs +++ b/crates/shirabe/src/command/config_command.rs @@ -649,7 +649,7 @@ impl ConfigCommand { if !boolean_validator(&PhpMixed::String(values[0].clone())) { return Err(RuntimeException { - message: sprintf("\"%s\" is an invalid value", &[values[0].clone().into()]), + message: format!("\"{}\" is an invalid value", values[0].clone()), code: 0, } .into()); @@ -1169,10 +1169,7 @@ impl ConfigCommand { String::new() }; return Err(RuntimeException { - message: sprintf( - &format!("\"%s\" is an invalid value{}", suffix), - &[values[0].clone().into()], - ), + message: format!("\"{}\" is an invalid value{}", values[0].clone(), suffix), code: 0, } .into()); @@ -1239,9 +1236,10 @@ impl ConfigCommand { String::new() }; return Err(RuntimeException { - message: sprintf( - &format!("%s is an invalid value{}", suffix), - &[json_encode(&values_mixed).into()], + message: format!( + "{} is an invalid value{}", + PhpMixed::from(json_encode(&values_mixed)), + suffix ), code: 0, } -- cgit v1.3.1