1mod command;
2
3#[derive(Debug, argh::FromArgs)]
4#[argh(description = "a CLI tool with utilities to make interacting with rpgmv games easier")]
5struct Options {
6 #[argh(subcommand)]
7 subcommand: SubCommand,
8}
9
10#[derive(Debug, argh::FromArgs)]
11#[argh(subcommand)]
12enum SubCommand {
13 Decrypt(self::command::decrypt::Options),
14 Commands2Py(self::command::commands2py::Options),
15 EncryptPng(self::command::encrypt_png::Options),
16}
17
18fn main() -> anyhow::Result<()> {
19 let options: Options = argh::from_env();
20
21 match options.subcommand {
22 SubCommand::Decrypt(options) => self::command::decrypt::exec(options)?,
23 SubCommand::Commands2Py(options) => self::command::commands2py::exec(options)?,
24 SubCommand::EncryptPng(options) => self::command::encrypt_png::exec(options)?,
25 }
26
27 Ok(())
28}