use std::path::PathBuf;
use clap::Parser;
mod catalog;
mod commands;
mod formats;
mod schema;
pub(super) use catalog::{CatalogArgs, CatalogFormat, CatalogKind};
pub(super) use commands::Command;
pub(super) use formats::{DecompileFormat, DisasmFormat, InfoFormat, TokensFormat};
pub(super) use schema::SchemaArgs;
#[derive(Debug, Parser)]
#[command(author, version, about = "Inspect Neo N3 NEF bytecode", long_about = None)]
pub struct Cli {
#[arg(long, global = true)]
pub(super) manifest: Option<PathBuf>,
#[arg(long, global = true)]
pub(super) json_compact: bool,
#[arg(long, global = true)]
pub(super) strict_manifest: bool,
#[command(subcommand)]
pub(super) command: Command,
}