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 }