feat(cli): add multi-applet dispatcher with subcommand support

This commit is contained in:
Nils Andreas Svee committed 2026-06-20 22:59:48 +07:00
1 parent efaa60cbd4
commit fe776e6672
1 file changed
+6 -7
+6 -7
View File
@@ -22,13 +22,12 @@ fn main() -> ExitCode {
fn run_from_env() -> Result<(), Box<dyn std::error::Error>> { fn run_from_env() -> Result<(), Box<dyn std::error::Error>> {
let argv: Vec<OsString> = env::args_os().collect(); let argv: Vec<OsString> = env::args_os().collect();
let argv0 = argv let (requested, argv) = match dispatch_from_argv(argv)? {
.first() AppletDispatch::Run { applet, argv } => (applet, argv),
.and_then(|arg| arg.to_str()) AppletDispatch::Help(help) => {
.unwrap_or("irtt-rs"); print!("{help}");
let requested = match detect_applet_from_argv0(argv0) { return Ok(());
Some(applet) => applet, }
None => default_requested_applet()?,
}; };
let shutdown_requested = Arc::new(AtomicBool::new(false)); let shutdown_requested = Arc::new(AtomicBool::new(false));