From 0d9a893087b50e66a05def0d4f4f6d9f9054975e Mon Sep 17 00:00:00 2001 From: Sebastian Kuzminsky Date: Sun, 20 Jul 2025 00:01:19 -0600 Subject: [PATCH 1/2] `ent show`: simplify logic This simplifies the code flow and gets rid of two levels of indentation. --- src/bin/ent/main.rs | 54 +++++++++++++++++++++------------------------ 1 file changed, 25 insertions(+), 29 deletions(-) diff --git a/src/bin/ent/main.rs b/src/bin/ent/main.rs index 1698954..c9327e1 100644 --- a/src/bin/ent/main.rs +++ b/src/bin/ent/main.rs @@ -285,35 +285,31 @@ fn handle_command( Commands::Show { issue_id } => { let issues = entomologist::database::read_issues_database(issues_database_source)?; - match issues.get_issue(issue_id) { - Some(issue) => { - println!("issue {}", issue_id); - println!("author: {}", issue.author); - println!("creation_time: {}", issue.creation_time); - if let Some(done_time) = &issue.done_time { - println!("done_time: {}", done_time); - } - println!("state: {:?}", issue.state); - if let Some(dependencies) = &issue.dependencies { - println!("dependencies: {:?}", dependencies); - } - if let Some(assignee) = &issue.assignee { - println!("assignee: {}", assignee); - } - println!(""); - println!("{}", issue.description); - for comment in &issue.comments { - println!(""); - println!("comment: {}", comment.uuid); - println!("author: {}", comment.author); - println!("creation_time: {}", comment.creation_time); - println!(""); - println!("{}", comment.description); - } - } - None => { - return Err(anyhow::anyhow!("issue {} not found", issue_id)); - } + let Some(issue) = issues.get_issue(issue_id) else { + return Err(anyhow::anyhow!("issue {} not found", issue_id)); + }; + println!("issue {}", issue_id); + println!("author: {}", issue.author); + println!("creation_time: {}", issue.creation_time); + if let Some(done_time) = &issue.done_time { + println!("done_time: {}", done_time); + } + println!("state: {:?}", issue.state); + if let Some(dependencies) = &issue.dependencies { + println!("dependencies: {:?}", dependencies); + } + if let Some(assignee) = &issue.assignee { + println!("assignee: {}", assignee); + } + println!(""); + println!("{}", issue.description); + for comment in &issue.comments { + println!(""); + println!("comment: {}", comment.uuid); + println!("author: {}", comment.author); + println!("creation_time: {}", comment.creation_time); + println!(""); + println!("{}", comment.description); } } -- 2.47.3 From c9dbec730cf18c5175a38c84b78443c204a0206f Mon Sep 17 00:00:00 2001 From: Sebastian Kuzminsky Date: Sun, 20 Jul 2025 00:04:11 -0600 Subject: [PATCH 2/2] `ent show`: show tags, if any --- src/bin/ent/main.rs | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/bin/ent/main.rs b/src/bin/ent/main.rs index c9327e1..13550db 100644 --- a/src/bin/ent/main.rs +++ b/src/bin/ent/main.rs @@ -290,6 +290,15 @@ fn handle_command( }; println!("issue {}", issue_id); println!("author: {}", issue.author); + if issue.tags.len() > 0 { + print!("tags: "); + let mut separator = ""; + for tag in &issue.tags { + print!("{}{}", separator, tag); + separator = ", "; + } + println!(""); + } println!("creation_time: {}", issue.creation_time); if let Some(done_time) = &issue.done_time { println!("done_time: {}", done_time); -- 2.47.3