From 29d1d5a2ef433e8cfd312731542bf346b36e71b3 Mon Sep 17 00:00:00 2001 From: Campbell Alden Date: Wed, 13 Mar 2024 18:17:50 +0900 Subject: [PATCH] Handle canceled tasks --- Cargo.lock | 2 +- Cargo.toml | 2 +- src/reporter.rs | 10 ++++++++-- src/things/task.rs | 2 ++ 4 files changed, 12 insertions(+), 4 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 606110d..63ae8c7 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -173,7 +173,7 @@ checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa" [[package]] name = "day-reporter" -version = "1.3.0" +version = "1.3.1" dependencies = [ "anyhow", "chrono", diff --git a/Cargo.toml b/Cargo.toml index c182791..f0472e7 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "day-reporter" -version = "1.3.0" +version = "1.3.1" edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/src/reporter.rs b/src/reporter.rs index d108d41..14a1a65 100644 --- a/src/reporter.rs +++ b/src/reporter.rs @@ -1,4 +1,4 @@ -use crate::things::task::Task; +use crate::things::task::{Task, Status}; use crate::names::sanitize_names; /// Given a notes field and a list of possible tags for sections, return the content of triple tick @@ -176,10 +176,16 @@ impl Reporter for MarkdownReporter { .map(|l| format!("\n{}- {}", String::from(" ").repeat(depth + 4), l)) .collect::>() .join(""); - let mut output = format!("\n{}- {}{}", String::from(" ").repeat(depth), task.title, relevant_notes); + let title = if task.status == Status::Canceled { + format!("~{}~", task.title) + } else { + task.title.to_string() + }; + let mut output = format!("\n{}- {}{}", String::from(" ").repeat(depth), title, relevant_notes); if options.sanitize_names { output = sanitize_names(&output, &task.tags); } + output } fn report_project(&mut self, project: &ProjectTree, depth: usize, options: &ReportOptions) -> String { diff --git a/src/things/task.rs b/src/things/task.rs index a8bc62d..61a2f20 100644 --- a/src/things/task.rs +++ b/src/things/task.rs @@ -13,6 +13,8 @@ pub enum Status { Incomplete, #[serde(rename = "open")] Open, + #[serde(rename = "canceled")] + Canceled, } #[derive(Deserialize, Debug)]