use std::path::PathBuf;
use clap::Parser;
use clap::Subcommand;
#[derive(Parser, Debug)]
#[command(author = "mxsm", version = "0.2.0", about = "RocketMQ CLI(Rust)")]
pub struct RootCli {
#[command(subcommand)]
pub command: Commands,
}
#[derive(Debug, Subcommand)]
pub enum Commands {
#[command(
arg_required_else_help = true,
author = "mxsm",
version = "0.2.0",
about = "read message log file"
)]
ReadMessageLog {
#[arg(
short,
long,
value_name = "FILE",
default_missing_value = "None",
help = "message log file path"
)]
config: Option<PathBuf>,
#[arg(
short = 'f',
long,
value_name = "FROM",
default_missing_value = "None",
help = "The number of data started to be read, default to read from the beginning. \
start from 0"
)]
from: Option<u32>,
#[arg(
short = 't',
long,
value_name = "TO",
default_missing_value = "None",
help = "The position of the data for ending the reading, defaults to reading until \
the end of the file."
)]
to: Option<u32>,
},
}