use clap::{Parser, Subcommand}; use crate::blockchains::Blockchain; #[derive(Parser)] #[command(version, about, long_about = None)] pub struct Cli { #[arg(short, long, default_value = "config.yaml")] pub config: String, #[command(subcommand)] pub command: Commands, } #[derive(Subcommand)] pub enum Commands { Search { blockchain: Option, #[command(subcommand)] command: SearchSubcommand, }, Snapshots { blockchain: Blockchain, #[command(subcommand)] command: SnapshotSubcommand, }, } #[derive(Subcommand)] pub enum SearchSubcommand { Run, } #[derive(Subcommand)] pub enum SnapshotSubcommand { Load { path: String }, }