38 lines
741 B
Rust
38 lines
741 B
Rust
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<Blockchain>,
|
|
|
|
#[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 },
|
|
} |