diff --git a/src/main.rs b/src/main.rs index ce2e924..dd4540f 100644 --- a/src/main.rs +++ b/src/main.rs @@ -181,11 +181,28 @@ fn change_namespace(db_conn: &mut db::DbHandle, master_key: [u8; 32]) -> String namespaces[selection].name.to_owned() } +fn create_namespace(db_conn: &mut db::DbHandle, master_key: [u8; 32]) -> String { + let namespace: String = Input::with_theme(&ColorfulTheme::default()) + .with_prompt("Namespace") + .default("main".to_owned()) + .interact() + .unwrap(); + namespace +} + fn shell(db_conn: &mut db::DbHandle, master_key: [u8; 32], _namespace: &str) { let mut namespace: String = _namespace.to_owned(); loop { - let selections = &["get", "list", "set", "generate", "change namespace", "exit"]; + let selections = &[ + "get", + "list", + "set", + "generate", + "change namespace", + "create namespace", + "exit", + ]; let main_menu_prompt = format!("Main Menu ({})", namespace); let selection = Select::with_theme(&ColorfulTheme::default()) @@ -202,6 +219,9 @@ fn shell(db_conn: &mut db::DbHandle, master_key: [u8; 32], _namespace: &str) { "change namespace" => { namespace = change_namespace(db_conn, master_key); } + "create namespace" => { + namespace = create_namespace(db_conn, master_key); + } "exit" => break, _ => panic!("Unrecognized command"), };