refactor: separate clap command logic into a function
This commit is contained in:
parent
ba872917c2
commit
703a3e2c18
@ -23,7 +23,30 @@ fn main() {
|
|||||||
};
|
};
|
||||||
env_logger::builder().filter_level(log_level).format_timestamp(None).init();
|
env_logger::builder().filter_level(log_level).format_timestamp(None).init();
|
||||||
|
|
||||||
let cmd = Command::new("detee-cli")
|
let cmd = clap_cmd();
|
||||||
|
let matches = cmd.clone().get_matches();
|
||||||
|
match matches.get_one::<String>("format").unwrap().as_str() {
|
||||||
|
"json" => std::env::set_var("FORMAT", "JSON"),
|
||||||
|
"yaml" => std::env::set_var("FORMAT", "YAML"),
|
||||||
|
_ => (),
|
||||||
|
}
|
||||||
|
match matches.subcommand() {
|
||||||
|
Some(("completion", subcom_args)) => handle_completion(subcom_args, cmd),
|
||||||
|
Some(("app", subcom_args)) => handle_app(subcom_args),
|
||||||
|
Some(("vm", subcom_args)) => handle_vm(subcom_args),
|
||||||
|
Some(("vm-node", subcom_args)) => handle_vm_nodes(subcom_args),
|
||||||
|
Some(("operator", subcom_args)) => handle_operators(subcom_args),
|
||||||
|
Some(("packager", subcom_args)) => cli_print(handle_packagers(subcom_args)),
|
||||||
|
Some(("account", subcom_args)) => handle_account(subcom_args),
|
||||||
|
_ => {
|
||||||
|
println!("No valid subcommand provided. Use --help for more information.");
|
||||||
|
std::process::exit(0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fn clap_cmd() -> Command {
|
||||||
|
Command::new("detee-cli")
|
||||||
.version("0.0.1")
|
.version("0.0.1")
|
||||||
.author("https://detee.ltd")
|
.author("https://detee.ltd")
|
||||||
.about(ABOUT)
|
.about(ABOUT)
|
||||||
@ -550,25 +573,5 @@ fn main() {
|
|||||||
.required(true)
|
.required(true)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
);
|
)
|
||||||
|
|
||||||
let matches = cmd.clone().get_matches();
|
|
||||||
match matches.get_one::<String>("format").unwrap().as_str() {
|
|
||||||
"json" => std::env::set_var("FORMAT", "JSON"),
|
|
||||||
"yaml" => std::env::set_var("FORMAT", "YAML"),
|
|
||||||
_ => (),
|
|
||||||
}
|
|
||||||
match matches.subcommand() {
|
|
||||||
Some(("completion", subcom_args)) => handle_completion(subcom_args, cmd),
|
|
||||||
Some(("app", subcom_args)) => handle_app(subcom_args),
|
|
||||||
Some(("vm", subcom_args)) => handle_vm(subcom_args),
|
|
||||||
Some(("vm-node", subcom_args)) => handle_vm_nodes(subcom_args),
|
|
||||||
Some(("operator", subcom_args)) => handle_operators(subcom_args),
|
|
||||||
Some(("packager", subcom_args)) => cli_print(handle_packagers(subcom_args)),
|
|
||||||
Some(("account", subcom_args)) => handle_account(subcom_args),
|
|
||||||
_ => {
|
|
||||||
println!("No valid subcommand provided. Use --help for more information.");
|
|
||||||
std::process::exit(0);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user