task_tracker_cli/models/
task_status.rs

1/// Task status enumeration
2use 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}