aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/mozart/src/main.rs
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2026-02-22 22:53:09 +0900
committernsfisis <nsfisis@gmail.com>2026-02-22 22:53:22 +0900
commit6f3802fd9f39c4e5847d130b4417b5cdfb66972d (patch)
tree166cca2cf0645d280bfa376a513a049c70241dea /crates/mozart/src/main.rs
parent1d33728151b282949e7e14646e722d7775de4453 (diff)
downloadphp-mozart-6f3802fd9f39c4e5847d130b4417b5cdfb66972d.tar.gz
php-mozart-6f3802fd9f39c4e5847d130b4417b5cdfb66972d.tar.zst
php-mozart-6f3802fd9f39c4e5847d130b4417b5cdfb66972d.zip
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!("<info>text {name}</info>")`. 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 <noreply@anthropic.com>
Diffstat (limited to 'crates/mozart/src/main.rs')
-rw-r--r--crates/mozart/src/main.rs7
1 files changed, 5 insertions, 2 deletions
diff --git a/crates/mozart/src/main.rs b/crates/mozart/src/main.rs
index 04dd6d1..ed7c4ad 100644
--- a/crates/mozart/src/main.rs
+++ b/crates/mozart/src/main.rs
@@ -48,13 +48,16 @@ async fn main() {
if let Some(mozart_err) = e.downcast_ref::<exit_code::MozartError>() {
// Only print a message when there is one (bail_silent produces empty message).
if !mozart_err.message.is_empty() {
- eprintln!("{}", mozart_core::console::error(&mozart_err.message));
+ eprintln!(
+ "{}",
+ mozart_core::console_format!("<error>{}</error>", mozart_err.message)
+ );
}
std::process::exit(mozart_err.exit_code);
}
// Generic anyhow error — print and exit with GENERAL_ERROR.
- eprintln!("{}", mozart_core::console::error(&format!("{e:#}")));
+ eprintln!("{}", mozart_core::console_format!("<error>{e:#}</error>"));
std::process::exit(exit_code::GENERAL_ERROR);
}
}