extern crate fs_extra;
use clap::Parser;
use fs_extra::dir::create;
use include_dir::{Dir, include_dir};
static TEMPLATE_DIR: Dir = include_dir!("$CARGO_MANIFEST_DIR/template");
#[derive(Parser, Debug)]
#[command(version, about, long_about = None)]
struct Cli {
#[arg(long)]
plugin_name: String,
#[arg(long, default_value_t = 8080)]
port: u16,
}
fn main() {
let args = Cli::parse();
let plugin_name = args.plugin_name;
let port = args.port;
println!(
"Plugin: {:?} will be running on port: {:?}",
plugin_name, port
);
let to = plugin_name;
create(to.clone(), true).expect("Failed to create a folder");
TEMPLATE_DIR
.extract(to.clone())
.expect("Failed to extract the template folder!");
}