use std::path::PathBuf;
use clap::Parser;
use clap_complete::Shell;
use mit_commit_message_lints::mit::lib::non_clean_behaviour::BehaviourOption;
#[derive(Parser, Clone, Eq, PartialEq)]
#[clap(author, version, about)]
#[clap(bin_name = "mit-prepare-commit-msg")]
pub struct Args {
#[clap(index = 1)]
pub commit_message_path: Option<PathBuf>,
#[clap(index = 2)]
pub commit_message_source: Option<PathBuf>,
#[clap(index = 3)]
pub commit_sha: Option<String>,
#[clap(long, env = "GIT_MIT_RELATES_TO_EXEC")]
pub relates_to_exec: Option<String>,
#[clap(long, env = "GIT_MIT_RELATES_TO_TEMPLATE")]
pub relates_to_template: Option<String>,
#[clap(long, env = "GIT_MIT_SET_NON_CLEAN_BEHAVIOUR")]
pub non_clean_behaviour_option: Option<BehaviourOption>,
#[clap(long, value_enum, value_parser)]
pub completion: Option<Shell>,
}