From 021eb01feb321ecc1bee72ed3aff47c52ceb5c3b Mon Sep 17 00:00:00 2001 From: Gavrilikhin Daniil Date: Sat, 6 May 2023 12:55:44 +0800 Subject: [PATCH] Adjust `miette!` a little bit --- src/eyreish/macros.rs | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/eyreish/macros.rs b/src/eyreish/macros.rs index 0bc5520..0f3e3df 100644 --- a/src/eyreish/macros.rs +++ b/src/eyreish/macros.rs @@ -130,8 +130,7 @@ macro_rules! ensure { /// string with arguments. It also can take any custom type which implements /// `Debug` and `Display`. /// -/// # Example -/// +/// # Examples /// ``` /// # type V = (); /// # @@ -146,6 +145,11 @@ macro_rules! ensure { /// # Ok(()) /// } /// ``` +/// ``` +/// use miette::miette; +/// +/// let err = miette!("expected '('", code = "expected::lparen"); +/// ``` /// /// ## `anyhow`/`eyre` Users /// @@ -162,6 +166,12 @@ macro_rules! miette { let error = $err; (&error).miette_kind().new(error) }); + ($msg:literal, $(code = $code:literal)? ) => { + $crate::Report::from( + $crate::MietteDiagnostic::new($msg) + $(.with_code($code))? + ) + }; ($fmt:expr, $($arg:tt)*) => { $crate::private::new_adhoc(format!($fmt, $($arg)*)) };