Skip to main content

orrery_cli/
args.rs

1//! Command-line argument definitions for the Orrery CLI.
2//!
3//! This module defines the [`Args`] structure parsed from the command line
4//! using [`clap`]. Arguments control input/output paths, configuration file
5//! selection, and logging verbosity.
6
7use clap::Parser;
8
9/// Command-line arguments for the Orrery diagram tool
10#[derive(Parser, Debug)]
11#[command(author, version, about, long_about = None)]
12pub struct Args {
13    /// Path to the input Orrery file
14    #[arg(help = "Path to the input file")]
15    pub input: String,
16
17    /// Path to the output SVG file
18    #[arg(short, long, default_value = "out.svg")]
19    pub output: String,
20
21    /// Path to configuration file (TOML)
22    #[arg(short, long)]
23    pub config: Option<String>,
24
25    /// Log level (off, error, warn, info, debug, trace)
26    #[arg(long, default_value = "info")]
27    pub log_level: String,
28}