From 4cf4df703a6d768cc7df86dbbaacaf9882c8c42d Mon Sep 17 00:00:00 2001 From: eatradish Date: Tue, 7 Jan 2025 16:10:40 +0800 Subject: [PATCH] feat: re-add ask config onboard ui --- cli/src/actions/workspace.rs | 4 ++-- cli/src/config.rs | 7 ++++++- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/cli/src/actions/workspace.rs b/cli/src/actions/workspace.rs index 22face8..a9c8a51 100644 --- a/cli/src/actions/workspace.rs +++ b/cli/src/actions/workspace.rs @@ -8,7 +8,7 @@ use dialoguer::{theme::ColorfulTheme, Confirm, FuzzySelect, Input}; use log::info; use crate::{ - config::{ask_for_init_config, patch_instance_config, patch_workspace_config}, + config::{ask_for_config, patch_instance_config, patch_workspace_config}, download::{download_file, pick_latest_rootfs, CIEL_MAINLINE_ARCHS, CIEL_RETRO_ARCHS}, logger::style_bool, make_progress_bar, @@ -75,7 +75,7 @@ pub fn new_workspace(args: &ArgMatches) -> Result<()> { if arch.is_none() { arch = Some(ask_for_target_arch()?.to_owned()) } - ask_for_init_config(&mut config)?; + ask_for_config(&mut config)?; } else { info!("Running in unattended mode, using default configuration ..."); } diff --git a/cli/src/config.rs b/cli/src/config.rs index ac3ac5e..cc07859 100644 --- a/cli/src/config.rs +++ b/cli/src/config.rs @@ -81,6 +81,11 @@ pub fn config_instance(instance: &str, args: &ArgMatches) -> Result<()> { /// Applies workspace configuration patches from [ArgMatches]. pub fn patch_workspace_config(args: &ArgMatches, config: &mut WorkspaceConfig) -> Result<()> { + if !args.args_present() { + ask_for_config(config)?; + return Ok(()); + } + if let Some(maintainer) = args.get_one::("maintainer") { if maintainer != &config.maintainer { WorkspaceConfig::validate_maintainer(maintainer)?; @@ -138,7 +143,7 @@ pub fn patch_instance_config(args: &ArgMatches, config: &mut InstanceConfig) -> } /// Shows a series of prompts to let the user select the configurations -pub fn ask_for_init_config(config: &mut WorkspaceConfig) -> Result<()> { +pub fn ask_for_config(config: &mut WorkspaceConfig) -> Result<()> { let theme = ColorfulTheme::default(); config.maintainer = Input::::with_theme(&theme) .with_prompt("Maintainer")