aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/mozart-console-macros/src/lib.rs
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2026-05-09 12:15:21 +0900
committernsfisis <nsfisis@gmail.com>2026-05-09 12:15:53 +0900
commitf18c18cd15f180b5067069ec6f10530515715f3d (patch)
tree85ea3d3f10da9b32359dc3797fc7e6d262ae6752 /crates/mozart-console-macros/src/lib.rs
parentf0192390ae1d89981f59395307e885a595f86eef (diff)
downloadphp-mozart-f18c18cd15f180b5067069ec6f10530515715f3d.tar.gz
php-mozart-f18c18cd15f180b5067069ec6f10530515715f3d.tar.zst
php-mozart-f18c18cd15f180b5067069ec6f10530515715f3d.zip
refactor(console): accept format args directly in console_writeln! macros
Eliminate the nested &console_format!(...) boilerplate at every call site by teaching console_writeln!, console_write!, console_writeln_error!, and console_write_error! to accept a format literal + variadic args directly, matching the println!/eprintln! ergonomics. Propagate the format string span into generated code so rustc errors point to the right location. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Diffstat (limited to 'crates/mozart-console-macros/src/lib.rs')
-rw-r--r--crates/mozart-console-macros/src/lib.rs6
1 files changed, 5 insertions, 1 deletions
diff --git a/crates/mozart-console-macros/src/lib.rs b/crates/mozart-console-macros/src/lib.rs
index 3af6f82..0678ecd 100644
--- a/crates/mozart-console-macros/src/lib.rs
+++ b/crates/mozart-console-macros/src/lib.rs
@@ -39,7 +39,11 @@ fn console_format_impl(
let args: ConsoleFormatArgs = syn::parse2(input)?;
let segments = parser::parse_format_string(&args.format_str)
.map_err(|msg| syn::Error::new(args.format_str_span, msg))?;
- Ok(codegen::generate(&segments, &args.extra_args))
+ Ok(codegen::generate(
+ &segments,
+ &args.extra_args,
+ args.format_str_span,
+ ))
}
struct ConsoleFormatArgs {