Skip to main content

ghl/cmds/
issue.rs

1//! Issue creation command.
2
3use owo_colors::OwoColorize;
4
5/// Create a GitHub issue and develop it with an associated branch.
6pub fn run() -> rootcause::Result<()> {
7    let Some(issue_title) = ytil_tui::text_prompt("Issue title:")?.map(|x| x.trim().to_string()) else {
8        return Ok(());
9    };
10
11    let Some(checkout_branch) = ytil_tui::yes_no_select("Checkout branch?")? else {
12        return Ok(());
13    };
14
15    let created_issue = ytil_gh::issue::create(&issue_title)?;
16    println!(
17        "\n{} number={} title={issue_title:?}",
18        "Issue created".green().bold(),
19        created_issue.issue_nr
20    );
21
22    let develop_output = ytil_gh::issue::develop(&created_issue.issue_nr, checkout_branch)?;
23    println!(
24        "{} with name={:?}",
25        "Branch created".green().bold(),
26        develop_output.branch_name
27    );
28
29    Ok(())
30}