From 9f305c589ee647fdf514f3608761b99dcf2719c6 Mon Sep 17 00:00:00 2001 From: 7000pctAUTO Date: Tue, 3 Feb 2026 09:41:14 +0000 Subject: [PATCH] Initial upload with CI/CD workflow --- app/src/main.rs | 53 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 app/src/main.rs diff --git a/app/src/main.rs b/app/src/main.rs new file mode 100644 index 0000000..4e248d7 --- /dev/null +++ b/app/src/main.rs @@ -0,0 +1,53 @@ +mod cli; +mod parser; +mod tui; +mod config; +mod generator; + +use anyhow::Result; +use cli::{Cli, Commands}; +use config::Config; +use tui::TuiApp; + +#[tokio::main] +async fn main() -> Result<()> { + let cli = Cli::parse(); + let config = Config::load_or_default()?; + + match &cli.command { + Commands::Generate { command, output } => { + let parsed = parser::HelpParser::parse_command(command).await?; + if let Some(path) = output { + config::ConfigManager::export_config(&parsed, path)?; + } + println!("Successfully parsed command: {}", command); + } + Commands::Interactive { command } => { + let parsed = if let Some(cmd) = command { + parser::HelpParser::parse_command(cmd).await? + } else { + parser::HelpParser::parse_default_commands().await? + }; + let mut app = TuiApp::new(parsed, config); + app.run().await?; + } + Commands::Export { command, output } => { + let parsed = parser::HelpParser::parse_command(command).await?; + config::ConfigManager::export_config(&parsed, output)?; + } + Commands::List => { + let commands = config::ConfigManager::list_saved_configs()?; + for cmd in commands { + println!("- {}", cmd); + } + } + Commands::Run { name } => { + if let Some(parsed) = config::ConfigManager::load_config(name)? { + let mut app = TuiApp::new(parsed, config); + app.run().await?; + } + } + } + + Ok(()) +}