use crate::services::file_watcher::FileWatcher;
use crate::services::git_watcher::GitWatcher;
use crate::services::repo_watcher::{GitChangeSet, RepoWatchConfig, RepoWatcher};
impl RepoWatcher {
pub fn with_config(config: RepoWatchConfig) -> Result<Self, notify::Error> {
let git_watcher = GitWatcher::with_config(config.git.clone())?;
let file_watcher = FileWatcher::with_config(config.files.clone())?;
Ok(Self {
git_watcher,
file_watcher,
config,
repo_path: None,
change_set: GitChangeSet::default(),
has_pending_changes: false,
})
}
}