use std::path::PathBuf;
use clap::{Parser, ValueEnum};
#[derive(Parser, Debug)]
#[command(name = "docspec")]
#[command(version = "0.1.0")]
#[command(about = "Convert documents between formats using streaming event pipeline", long_about = None)]
pub struct Cli {
#[arg(long, value_name = "WHEN", default_value = "auto")]
pub color: ColorChoice,
#[arg(short, long)]
pub from: Option<Format>,
#[arg(value_name = "FILE")]
pub input: Option<PathBuf>,
#[arg(short, long, value_name = "FILE")]
pub output: Option<PathBuf>,
#[arg(short, long)]
pub to: Option<Format>,
}
#[derive(Clone, Copy, Debug, ValueEnum)]
pub enum Format {
#[value(name = "blocknote")]
Blocknote,
#[value(name = "markdown")]
Markdown,
}
#[derive(Clone, Copy, Debug, ValueEnum)]
pub enum ColorChoice {
#[value(name = "always")]
Always,
#[value(name = "auto")]
Auto,
#[value(name = "never")]
Never,
}