use clap::{Parser, Subcommand};
use std::path::PathBuf;
#[derive(Parser)]
#[command(name = "magnum")]
#[command(about = "MagnumDB Command Line Interface", long_about = None)]
#[command(version)]
pub struct Cli {
#[command(subcommand)]
pub command: Option<Commands>,
}
#[derive(Subcommand)]
pub enum Commands {
Init {
#[arg(short, long, default_value = "./data")]
path: PathBuf,
},
Start {
#[arg(short, long, default_value = "magnum.toml")]
config: PathBuf,
},
Stop,
Shell,
Backup {
#[arg(short, long)]
destination: PathBuf,
},
Restore {
#[arg(short, long)]
source: PathBuf,
},
Config,
Version,
Benchmark,
}