task_tracker_cli/models/
task_status.rs1use std::fmt;
3
4#[derive(Debug, Clone, PartialEq)]
5pub enum TaskStatus {
6 ToDo,
7 InProgress,
8 Done,
9}
10
11impl fmt::Display for TaskStatus {
12 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
13 match self {
14 TaskStatus::ToDo => write!(f, "ToDo"),
15 TaskStatus::InProgress => write!(f, "In Progress"),
16 TaskStatus::Done => write!(f, "Done"),
17 }
18 }
19}
20
21impl TaskStatus {
22 pub fn from_str(s: &str) -> Option<Self> {
23 match s {
24 "ToDo" => Some(TaskStatus::ToDo),
25 "InProgress" => Some(TaskStatus::InProgress),
26 "Done" => Some(TaskStatus::Done),
27 _ => None,
28 }
29 }
30}