radix_clis/scrypto/
mod.rs1mod cmd_build;
2mod cmd_coverage;
3mod cmd_fmt;
4mod cmd_new_package;
5mod cmd_test;
6mod error;
7
8pub use cmd_build::*;
9pub use cmd_coverage::*;
10pub use cmd_fmt::*;
11pub use cmd_new_package::*;
12pub use cmd_test::*;
13pub use error::*;
14
15use clap::{Parser, Subcommand};
16
17#[derive(Parser, Debug)]
19#[clap(author, version, about, long_about = None, name = "scrypto")]
20pub struct ScryptoCli {
21 #[clap(subcommand)]
22 command: Command,
23}
24
25#[derive(Subcommand, Debug)]
26pub enum Command {
27 Build(Build),
28 Coverage(Coverage),
29 Fmt(Fmt),
30 NewPackage(NewPackage),
31 Test(Test),
32}
33
34pub fn run() -> Result<(), String> {
35 let cli = ScryptoCli::parse();
36
37 match cli.command {
38 Command::Build(cmd) => cmd.run(),
39 Command::Coverage(cmd) => cmd.run().map_err(|error| error.to_string()),
40 Command::Fmt(cmd) => cmd.run(),
41 Command::NewPackage(cmd) => cmd.run(),
42 Command::Test(cmd) => cmd.run(),
43 }
44}