From 6f3802fd9f39c4e5847d130b4417b5cdfb66972d Mon Sep 17 00:00:00 2001 From: nsfisis Date: Sun, 22 Feb 2026 22:53:09 +0900 Subject: refactor(console): add console_format! proc macro and migrate all commands Introduce a Symfony Console-style tag macro that replaces verbose patterns like `console::info(&format!("text {name}"))` with `console_format!("text {name}")`. Supports all 6 tag types (info, comment, error, question, highlight, warning) with format argument distribution across multiple tagged segments. Co-Authored-By: Claude Opus 4.6 --- crates/mozart/src/commands/update.rs | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) (limited to 'crates/mozart/src/commands/update.rs') diff --git a/crates/mozart/src/commands/update.rs b/crates/mozart/src/commands/update.rs index 7fbec1c..8bd694b 100644 --- a/crates/mozart/src/commands/update.rs +++ b/crates/mozart/src/commands/update.rs @@ -1,5 +1,6 @@ use clap::Args; use mozart_core::console; +use mozart_core::console_format; use mozart_core::package::{self, Stability}; use mozart_registry::lockfile; use mozart_registry::resolver::{self, PlatformConfig, ResolveRequest, ResolvedPackage}; @@ -703,13 +704,13 @@ pub async fn execute( // Step 2: Handle deprecated flags if args.dev { - console.info(&console::warning( - "The --dev option is deprecated. Dev packages are updated by default.", + console.info(&console_format!( + "The --dev option is deprecated. Dev packages are updated by default." )); } if args.no_suggest { - console.info(&console::warning( - "The --no-suggest option is deprecated and has no effect.", + console.info(&console_format!( + "The --no-suggest option is deprecated and has no effect." )); } @@ -810,10 +811,10 @@ pub async fn execute( match lockfile::LockFile::read_from_file(&lock_path) { Ok(l) => Some(l), Err(e) => { - console.info(&console::warning(&format!( - "Could not read existing composer.lock: {}. Treating as a fresh install.", + console.info(&console_format!( + "Could not read existing composer.lock: {}. Treating as a fresh install.", e - ))); + )); None } } @@ -879,8 +880,8 @@ pub async fn execute( if args.interactive { match &old_lock { None => { - console.info(&console::warning( - "No lock file found. --interactive mode skipped.", + console.info(&console_format!( + "No lock file found. --interactive mode skipped." )); vec![] } @@ -1121,8 +1122,8 @@ pub async fn execute( .map(|s| s.eq_ignore_ascii_case("source")) .unwrap_or(false); if prefer_source { - console.info(&mozart_core::console::warning( - "Warning: Source installs are not yet supported. Falling back to dist.", + console.info(&console_format!( + "Warning: Source installs are not yet supported. Falling back to dist." )); } -- cgit v1.3.1