1use core::str::FromStr;
6
7use std::io::Error;
8
9#[derive(Debug, Eq, PartialEq, Hash)]
11pub enum Status {
12
13 Untracked,
15
16 New,
18
19 Modified,
21
22 Deleted,
24
25 Unknown,
27
28}
29
30impl FromStr for Status {
31
32 type Err = Error;
33
34 fn from_str(s: &str) -> Result<Self, Self::Err> {
35 match s {
36 concat!('?', '?') => Ok(Status::Untracked),
37 concat!('A') => Ok(Status::New),
38 concat!('M') => Ok(Status::Modified),
39 concat!('D') => Ok(Status::Deleted),
40 _ => Ok(Status::Unknown),
41 }
42 }
43
44}