use crate::contexts::prompt::domain::signal::PromptSignal;
pub enum BranchSyncStatus {
Clean,
Conflicting,
Behind,
Unknown,
}
pub struct BranchSync {
status: BranchSyncStatus,
}
impl BranchSync {
#[must_use]
pub fn new(status: BranchSyncStatus) -> Self {
Self { status }
}
#[must_use]
pub fn signal(&self) -> Option<PromptSignal> {
match self.status {
BranchSyncStatus::Conflicting => Some(PromptSignal::Conflict),
BranchSyncStatus::Behind => Some(PromptSignal::UpdateBranch),
BranchSyncStatus::Unknown => Some(PromptSignal::SyncUnknown),
BranchSyncStatus::Clean => None,
}
}
}