use clap::ValueEnum;
#[derive(Clone, Debug, ValueEnum)]
pub enum ReleaseKind {
Patch,
Minor,
Major,
}
impl std::str::FromStr for ReleaseKind {
type Err = String;
fn from_str(s: &str) -> Result<Self, Self::Err> {
match s.to_ascii_lowercase().as_str() {
"patch" | "p" => Ok(ReleaseKind::Patch),
"minor" | "m" => Ok(ReleaseKind::Minor),
"major" | "M" => Ok(ReleaseKind::Major),
_ => Err("invalid bump kind".into()),
}
}
}