feat(cli): add multi-applet dispatcher with subcommand support
This commit is contained in:
1 parent
efaa60cbd4
commit
fe776e6672
1 file changed
+6
-7
@@ -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));
|
||||||
|
|||||||
Reference in new issue
Block a user