use crate::cli::token::github::Github;
#[derive(Debug, clap::Args)]
#[clap(verbatim_doc_comment, after_long_help = AFTER_LONG_HELP, hide = true)]
pub struct Token {
#[clap(default_value = "github.com")]
host: String,
#[clap(long)]
oauth: bool,
#[clap(long)]
raw: bool,
#[clap(long)]
unmask: bool,
}
impl Token {
pub fn run(self) -> eyre::Result<()> {
Github::from(self).run()
}
}
impl From<Token> for Github {
fn from(t: Token) -> Self {
Github {
host: t.host,
oauth: t.oauth,
raw: t.raw,
unmask: t.unmask,
}
}
}
static AFTER_LONG_HELP: &str = color_print::cstr!(
r#"<bold><underline>Examples:</underline></bold>
$ <bold>mise github token</bold>
github.com: ghp_…xxxx (source: GITHUB_TOKEN)
$ <bold>mise github token --unmask</bold>
github.com: ghp_xxxxxxxxxxxx (source: GITHUB_TOKEN)
$ <bold>mise github token github.mycompany.com</bold>
github.mycompany.com: (none)
"#
);