options to env handling
This commit is contained in:
@ -1,12 +1,27 @@
|
||||
use clap::{ArgMatches, Command, arg};
|
||||
use crate::cli::env_settings;
|
||||
use crate::utils::validate_name;
|
||||
|
||||
pub fn create_subcommand() -> Command {
|
||||
let mut arguments = vec![
|
||||
arg!(<NAME> "Name of the server"),
|
||||
arg!([SERVER_ZIP] "initial server zip"),
|
||||
];
|
||||
|
||||
arguments.extend(env_settings::get_args());
|
||||
|
||||
Command::new("add")
|
||||
.about("add a server")
|
||||
.arg(arg!(<NAME> "Name of the server"))
|
||||
.arg(arg!(-v --version <VERSION> "minecraft version of the server"))
|
||||
.args(arguments.as_slice())
|
||||
}
|
||||
|
||||
pub fn subcommand(arg: &ArgMatches) {
|
||||
println!("got add, sub : {:?}", arg);
|
||||
|
||||
pub fn subcommand(arg: &ArgMatches) -> Result<(), String>{
|
||||
if !validate_name(arg.get_one::<String>("NAME").unwrap()) {
|
||||
return Err("Invalid name provided".to_string());
|
||||
}
|
||||
|
||||
|
||||
println!("{}", env_settings::args_to_env(arg));
|
||||
Ok(())
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user