options to env handling

This commit is contained in:
2026-06-05 00:38:12 +02:00
parent 37ce941e02
commit e52763c35e
5 changed files with 90 additions and 8 deletions

View File

@ -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(())
}