#macro-derive #enums #display #macro #derive

enum-display

A macro to derive Display for enums

5 releases

0.1.4 Feb 9, 2024
0.1.3 Sep 28, 2022
0.1.2 Sep 28, 2022
0.1.1 Sep 28, 2022
0.1.0 Sep 28, 2022

#279 in Rust patterns

Download history 1750/week @ 2024-09-16 3996/week @ 2024-09-23 2094/week @ 2024-09-30 2382/week @ 2024-10-07 2721/week @ 2024-10-14 2050/week @ 2024-10-21 3114/week @ 2024-10-28 2784/week @ 2024-11-04 2834/week @ 2024-11-11 3402/week @ 2024-11-18 2318/week @ 2024-11-25 2595/week @ 2024-12-02 3474/week @ 2024-12-09 2317/week @ 2024-12-16 1301/week @ 2024-12-23 1599/week @ 2024-12-30

8,854 downloads per month
Used in 15 crates (7 directly)

MIT license

6KB
83 lines

enum-display

enum-display is a crate for implementing std::fmt::Display on enum variants with macros.

Simple Example

use enum_display::EnumDisplay;

#[derive(EnumDisplay)]
enum Color {
  Red,
  Green,
  Blue,
}

assert_eq!(Color::Red.to_string(), "Red");
assert_eq!(Color::Green.to_string(), "Green");
assert_eq!(Color::Blue.to_string(), "Blue");

Example With Custom Case Transform

Any case from convert_case is supported.

use enum_display::EnumDisplay;

#[derive(EnumDisplay)]
#[enum_display(case = "Kebab")]
enum Message {
    HelloGreeting { name: String },
}

assert_eq!(Message::HelloGreeting { name: "Alice".to_string() }.to_string(), "hello-greeting");

lib.rs:

enum-display is a crate for implementing std::fmt::Display on enum variants with macros.

Simple Example

use enum_display::EnumDisplay;

#[derive(EnumDisplay)]
enum Color {
   Red,
   Green,
   Blue,
}

assert_eq!(Color::Red.to_string(), "Red");
assert_eq!(Color::Green.to_string(), "Green");
assert_eq!(Color::Blue.to_string(), "Blue");

Example With Custom Case Transform

Any case from convert_case is supported.

use enum_display::EnumDisplay;

#[derive(EnumDisplay)]
#[enum_display(case = "Kebab")]
enum Message {
    HelloGreeting { name: String },
}

assert_eq!(Message::HelloGreeting { name: "Alice".to_string() }.to_string(), "hello-greeting");

Dependencies

~2MB
~43K SLoC