pub mod detail_level;
pub mod input_stream_address;
pub mod log_format;
pub mod when;
pub use detail_level::*;
pub use input_stream_address::*;
pub use log_format::*;
pub use when::*;
use clap::{Parser, ValueHint};
#[derive(Debug, Parser)]
#[clap(name = "sane-fmt", rename_all = "kebab", version)]
pub struct CliOpt {
#[clap(long)]
pub stdio: bool,
#[clap(long, short = 'w')]
pub write: bool,
#[clap(long, value_enum, default_value_t = DetailLevel::Name)]
pub details: DetailLevel,
#[clap(long)]
pub hide_passed: bool,
#[clap(long, value_enum, default_value_t = When::Auto)]
pub color: When,
#[clap(long, value_enum, default_value_t = LogFormat::Human)]
pub log_format: LogFormat,
#[clap(long, short = 'I', value_hint = ValueHint::FilePath)]
pub include: Option<InputStreamAddress>,
#[clap(value_hint = ValueHint::AnyPath)]
pub files: Vec<String>,
}