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

macro enum-display-macro

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

#1452 in Procedural macros

Download history 10792/week @ 2023-12-13 10470/week @ 2023-12-20 8463/week @ 2023-12-27 12518/week @ 2024-01-03 13471/week @ 2024-01-10 15516/week @ 2024-01-17 12290/week @ 2024-01-24 12961/week @ 2024-01-31 7601/week @ 2024-02-07 7193/week @ 2024-02-14 11235/week @ 2024-02-21 12543/week @ 2024-02-28 10315/week @ 2024-03-06 10331/week @ 2024-03-13 12947/week @ 2024-03-20 9656/week @ 2024-03-27

45,521 downloads per month
Used in 14 crates (via enum-display)

MIT license

6KB
88 lines

enum-display

GitHub crates.io version docs.rs docs crates.io version CI build

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
~42K SLoC