⚠️ !!This is currently pre-alpha software!! ⚠️

Allows for easy manipulation of debug formatting through a derive macro

```rust use smart_debug::SmartDebug; use std::fmt;

[derive(SmartDebug, Default)]

[debug(ignore_defaults)]

struct Text { #[debug(noignore)] text: &'static str, #[debug(wrapper = DebugInline)] hyperlink: Option<&'static str>, isbold: bool, is_italics: bool, }

// Wrapper that displays inline even when using pretty formatting ({:#?}) struct DebugInline<'inner, T>(pub &'inner T);

impl fmt::Debug for DebugInline<', T> { fn fmt(&self, f: &mut fmt::Formatter<'>) -> fmt::Result { f.writefmt(formatargs!("{:?}", self.0)) } }

const EXPECTED: &str = r#" Text { text: "Look! A link", hyperlink: Some("https://example.org"), .. } "#;

fn main() { let text = Text { text: "Look! A link", hyperlink: Some("https://example.org"), ..Text::default() };

let formatted = format!("\n{text:#?}\n");
assert_eq!(formatted, EXPECTED);

} ```