use std::sync::{Arc, Mutex}; use clap::{Args, ValueEnum}; pub type StdinFn = Option anyhow::Result + Send + Sync + 'static>>>; #[derive(Args)] pub struct GlobalArgs { /// token is the personal access token from gitea. #[arg( env = "CUDDLE_PLEASE_TOKEN", long, long_help = "token is the personal access token from gitea. It requires at least repository write access, it isn't required by default, but for most usecases the flow will fail without it", global = true, help_heading = "Global" )] pub token: Option, /// whether to run in dry run mode (i.e. no pushes or releases) #[arg(long, global = true, help_heading = "Global")] pub dry_run: bool, /// Inject configuration from stdin #[arg( env = "CUDDLE_PLEASE_CONFIG_STDIN", long, global = true, help_heading = "Global", long_help = "inject via stdin cat <