use argh::FromArgs;
#[derive(FromArgs, PartialEq, Debug)]
pub struct FlowmiumOptions {
#[argh(subcommand)]
pub command: Command,
}
#[derive(FromArgs, PartialEq, Debug)]
#[argh(subcommand)]
pub enum Command {
Init(InitOpts),
Task(TaskOpts),
Server(ServerOpts),
}
#[derive(FromArgs, PartialEq, Debug)]
#[argh(subcommand, name = "task")]
pub struct TaskOpts {
#[argh(greedy, positional)]
pub cmd: Vec<String>,
}
#[derive(FromArgs, PartialEq, Debug)]
#[argh(subcommand, name = "init")]
pub struct InitOpts {
#[argh(positional)]
pub src: String,
#[argh(positional)]
pub dest: String,
}
#[derive(FromArgs, PartialEq, Debug)]
#[argh(subcommand, name = "server")]
pub struct ServerOpts {
#[argh(option)]
pub port: u16,
}