1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
pub enum Generation {
    Kanto,
    Johto,
    Hoenn,
    Sinnoh,
    Unova,
    Kalos,
    Alola,
    Galar,
    Paldea,
}

impl std::fmt::Display for Generation {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        let gen_str = match self {
            Generation::Kanto => "Kanto",
            Generation::Johto => "Johto",
            Generation::Hoenn => "Hoenn",
            Generation::Sinnoh => "Sinnoh",
            Generation::Unova => "Unova",
            Generation::Kalos => "Kalos",
            Generation::Alola => "Alola",
            Generation::Galar => "Galar",
            Generation::Paldea => "Paldea",
        };
        write!(f, "{}", gen_str)
    }
}