From e09e4b9cb72608c4eb7f83f7bae433d1c0180b3c Mon Sep 17 00:00:00 2001 From: Sebastian Kuzminsky Date: Wed, 9 Jul 2025 22:12:58 -0600 Subject: [PATCH] simplify `ent new` --- src/bin/ent/main.rs | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/src/bin/ent/main.rs b/src/bin/ent/main.rs index 893534b..8bc0817 100644 --- a/src/bin/ent/main.rs +++ b/src/bin/ent/main.rs @@ -132,18 +132,24 @@ fn handle_command(args: &Args, issues_dir: &std::path::Path) -> anyhow::Result<( } } - Commands::New { - description: Some(description), - } => { + Commands::New { description } => { let mut issue = entomologist::issue::Issue::new(issues_dir)?; - issue.set_description(description)?; - println!("created new issue '{}'", issue.title()); - } - - Commands::New { description: None } => { - let mut issue = entomologist::issue::Issue::new(issues_dir)?; - issue.edit_description()?; - println!("created new issue '{}'", issue.title()); + let r = match description { + Some(description) => issue.set_description(description), + None => issue.edit_description(), + }; + match r { + Err(entomologist::issue::IssueError::EmptyDescription) => { + println!("no new issue created"); + return Ok(()); + } + Err(e) => { + return Err(e.into()); + } + Ok(()) => { + println!("created new issue '{}'", issue.title()); + } + } } Commands::Edit { issue_id } => {