#[cfg(not(any(feature = "native", feature = "wasm")))]
compile_error!("You need to enable one of native, wasm features");
#[cfg(all(feature = "native", feature = "wasm"))]
compile_error!("You cannot enable both native and wasm features");
pub enum StkArgs {
Play,
}
#[cfg(not(target_arch = "wasm32"))]
pub fn parse_args() -> StkArgs {
let mut pargs = pico_args::Arguments::from_env();
if pargs.contains(["-h", "--help"]) {
print_help();
std::process::exit(0);
}
if pargs.contains(["-v", "--version"]) {
println!("{}", env!("CARGO_PKG_VERSION"));
std::process::exit(0);
}
let subcommand = pargs.subcommand().unwrap();
match subcommand.as_deref() {
None | Some("play") => StkArgs::Play,
Some(unknown) => {
eprintln!("unknown subcommand: {unknown}");
eprintln!("-h, --help for help");
std::process::exit(1);
}
}
}
fn print_help() {
println!("\
USAGE:
starkingdoms [FLAGS] [subcommand]
FLAGS:
-h, --help Prints help information
-v, --version Prints version information
SUBCOMMANDS:
play Run the game (default)");
}