quinjet 0.0.69

A fast, live, keyboard-first Git source-control interface for the terminal
use std::path::PathBuf;

use clap::{Args, ValueHint};

use crate::theme::{AppearanceChoice, HostTheme, ThemeName};

#[derive(Debug, Args)]
pub(super) struct TuiArgs {
    #[doc = " Git repository to open"]
    #[arg(default_value = ".", value_hint = ValueHint::DirPath)]
    pub(super) path: PathBuf,
    #[doc = " Disable mouse capture"]
    #[arg(long)]
    pub(super) no_mouse: bool,
    #[doc = " Listen for forwarded GitHub webhooks on a port or host:port"]
    #[arg(long, value_name = "ADDRESS")]
    pub(super) webhook_listen: Option<String>,
    #[doc = " Color palette to use throughout the interface"]
    #[arg(long, value_enum, default_value_t, conflicts_with = "theme_palette")]
    pub(super) theme: ThemeName,
    #[doc = " Host-provided light and dark color palettes as JSON"]
    #[arg(long, value_name = "JSON")]
    pub(super) theme_palette: Option<HostTheme>,
    #[doc = " Use the system, light, or dark variant of the palette"]
    #[arg(long, value_enum, default_value_t)]
    pub(super) appearance: AppearanceChoice,
    #[doc = " Open the interface focused on this pull request"]
    #[arg(long = "pr", value_name = "NUMBER")]
    pub(super) pull_request: Option<u64>,
}