use clap::Parser;
use std::path::PathBuf;
#[derive(Debug, Clone, Default, PartialEq, Eq)]
pub struct StartupState {
pub file_path: Option<PathBuf>,
pub initial_position: usize,
}
#[derive(Parser, Debug)]
#[command(
author,
version,
about = "A modern, fast, multiple sequence alignment browser - built for the terminal."
)]
pub struct Cli {
#[arg(value_name = "FILE")]
pub file: Option<PathBuf>,
#[arg(short, long, default_value_t = 1)]
pub position: usize,
#[arg(long)]
pub debug: bool,
}
impl Cli {
#[must_use]
pub fn load_startup_sate(self) -> StartupState {
StartupState {
file_path: self.file,
initial_position: self.position.saturating_sub(1),
}
}
}