1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37mod cli;
use anyhow::Result;
use clap::{Parser, Subcommand};
#[derive(Parser)]
#[command(name = "darkomen", version, about, next_line_help(false))]
pub struct Cli {
#[command(subcommand)]
pub subcommand: Subcommands,
}
#[derive(Subcommand)]
pub enum Subcommands {
Army(cli::army::ArmyArgs),
BattleTabletop(cli::battle_tabletop::BattleTabletopArgs),
Gameflow(cli::gameflow::GameflowArgs),
M3d(cli::m3d::M3dArgs),
Portrait(cli::portrait::PortraitArgs),
Project(cli::project::ProjectArgs),
}
fn main() -> Result<()> {
let cli = Cli::parse();
match cli.subcommand {
Subcommands::Army(args) => cli::army::run(&args)?,
Subcommands::BattleTabletop(args) => cli::battle_tabletop::run(&args)?,
Subcommands::Gameflow(args) => cli::gameflow::run(&args)?,
Subcommands::M3d(args) => cli::m3d::run(&args)?,
Subcommands::Portrait(args) => cli::portrait::run(&args)?,
Subcommands::Project(args) => cli::project::run(&args)?,
}
Ok(())
}