use clap::Parser;
use std::path::PathBuf;
#[derive(Parser, Debug)]
#[command(name = "dbt-lineage", about = "Visualize dbt model lineage")]
pub struct Cli {
pub model: Option<String>,
#[arg(short = 'p', long = "project-dir", default_value = ".")]
pub project_dir: PathBuf,
#[arg(short = 'u', long)]
pub upstream: Option<usize>,
#[arg(short = 'd', long)]
pub downstream: Option<usize>,
#[arg(short = 'i', long)]
pub interactive: bool,
#[arg(short = 'o', long, default_value = "ascii")]
pub output: OutputFormat,
#[arg(long)]
pub include_tests: bool,
#[arg(long)]
pub include_seeds: bool,
#[arg(long)]
pub include_snapshots: bool,
#[arg(long)]
pub include_exposures: bool,
}
#[derive(Debug, Clone, clap::ValueEnum)]
pub enum OutputFormat {
Ascii,
Dot,
}