/ src / cli.rs
cli.rs
 1  use crate::version::{bump_version, string_to_version, version_to_string};
 2  use dialoguer::Select;
 3  
 4  pub fn prompt_new_version(current_version: &str) -> String {
 5    let version = string_to_version(current_version);
 6  
 7    let selection = Select::new()
 8      .with_prompt(format!(
 9        "We're currently at {current_version}, next bump should be a"
10      ))
11      .items(&[
12        format!("major ({})", version_to_string(bump_version(&version, 0))),
13        format!("minor ({})", version_to_string(bump_version(&version, 1))),
14        format!("patch ({})", version_to_string(bump_version(&version, 2))),
15      ])
16      .default(2) // default to patch.
17      .interact()
18      .unwrap();
19  
20    version_to_string(bump_version(&version, selection))
21  }