use std::sync::mpsc::TryRecvError;
use crate::services::git_watcher::helpers::is_relevant_git_event;
use crate::services::git_watcher::GitWatcher;
impl GitWatcher {
pub fn check_for_changes(&mut self) -> bool {
loop {
match self.rx.try_recv() {
Ok(Ok(event)) => {
if is_relevant_git_event(&event) {
self.has_pending_changes = true;
}
}
Ok(Err(_)) => {
}
Err(TryRecvError::Empty) => break,
Err(TryRecvError::Disconnected) => break,
}
}
let had_changes = self.has_pending_changes;
self.has_pending_changes = false;
had_changes
}
pub fn has_pending_changes(&self) -> bool {
self.has_pending_changes
}
}