oseda_cli/
tags.rs

1use serde::{Deserialize, Serialize};
2use strum::IntoEnumIterator;
3use strum_macros::{Display, EnumIter, EnumString};
4
5#[derive(Serialize, Deserialize, Debug, Clone, Copy, Display, EnumIter, EnumString)]
6#[strum(ascii_case_insensitive)]
7pub enum Tag {
8    Aerospace,
9    Business,
10    ComputerScience,
11    Economics,
12    Education,
13    Engineering,
14    Geography,
15    HealthMedicine,
16    History,
17    LanguageArts,
18    LiberalArts,
19    Mathematics,
20    Politics,
21    Psychology,
22    Science,
23    // Custom(String),
24}
25// TODO document me
26// Custom tags must be added by hand to the oseda-config.json
27
28impl Tag {
29    pub fn to_vec() -> Vec<Tag> {
30        Tag::iter().collect()
31    }
32}