| 77 | } |
| 78 | |
| 79 | fn format_status(status: Status) -> (String, String, String) { |
| 80 | let index_char = if status.contains(Status::INDEX_NEW) { |
| 81 | 'A' |
| 82 | } else if status.contains(Status::INDEX_MODIFIED) { |
| 83 | 'M' |
| 84 | } else if status.contains(Status::INDEX_DELETED) { |
| 85 | 'D' |
| 86 | } else if status.contains(Status::INDEX_RENAMED) { |
| 87 | 'R' |
| 88 | } else if status.contains(Status::INDEX_TYPECHANGE) { |
| 89 | 'T' |
| 90 | } else { |
| 91 | ' ' |
| 92 | }; |
| 93 | |
| 94 | let wt_char = if status.contains(Status::WT_NEW) { |
| 95 | '?' |
| 96 | } else if status.contains(Status::WT_MODIFIED) { |
| 97 | 'M' |
| 98 | } else if status.contains(Status::WT_DELETED) { |
| 99 | 'D' |
| 100 | } else if status.contains(Status::WT_RENAMED) { |
| 101 | 'R' |
| 102 | } else if status.contains(Status::WT_TYPECHANGE) { |
| 103 | 'T' |
| 104 | } else if status.contains(Status::IGNORED) { |
| 105 | '!' |
| 106 | } else if status.contains(Status::CONFLICTED) { |
| 107 | 'U' |
| 108 | } else { |
| 109 | ' ' |
| 110 | }; |
| 111 | |
| 112 | let status_code = format!("{}{}", index_char, wt_char); |
| 113 | let head_status = index_char.to_string(); |
| 114 | let index_status = wt_char.to_string(); |
| 115 | |
| 116 | (status_code, head_status, index_status) |
| 117 | } |