KM5PSZ4A2FJOPHJA6RC7LHZAUXLQDZDQC2DVSE5YUORLFIPZO74QC IQDCHWCP47LL46EXQLQGHQPGFYIHQLMQBHA57RWJCIOX5UEUIQAQC WT3GA27PQ2AOAIGK65O3Q4DMX4AZDVNULBLRL6GF4QW6QCASUEAAC UB2ITZJSDADVINSQEZ3HA6PVGA7OA6JYFG5GMSO7Y7LOXJC4FI7AC EC3TVL4X6VZZVLOKUN63LC73ADPHBHMZO7QMDXGX2ZPURVI4B4XQC YBJRDOTCX3ZRDB5EVXJBR55FX3CADCSIGMYWNYVC2PD5W3GXR3DQC 6YZAVBWU6E5FYOI5JGEIPXGZLIKAW6LS2AOFIQWEE5DMOPPCD5PQC // TODO: start watch once loaded?let (fs_watch_tx, fs_watch_rx) = watch::channel(());let mut fs_watch = new_debouncer(Duration::from_secs(1),None,move |result: DebounceEventResult| match result {Ok(events) => events.iter().for_each(|event| {// TODO: distinguish ".pijul" changes// dbg!(event);if event.kind.is_create()|| event.kind.is_modify()|| event.kind.is_remove(){let _ = fs_watch_tx.send(());}}),Err(errors) => {errors.iter().for_each(|error| eprintln!("{error:?}"))}},).unwrap();fs_watch.watch(&repo_path, RecursiveMode::Recursive).unwrap();let fs_watch_rx = WatchStream::from_changes(fs_watch_rx);let watch_task = Task::run(fs_watch_rx, |()| {Message::ToRepo(repo::MsgIn::RefreshChangedAndUntrackedFiles)});
Task::none()
// Start watching the repo's dir for changeslet (fs_watch_tx, fs_watch_rx) = watch::channel(());let mut fs_watch = new_debouncer(Duration::from_secs(1),None,move |result: DebounceEventResult| match result {Ok(events) => events.iter().for_each(|event| {// TODO: distinguish ".pijul" changes// dbg!(event);if event.kind.is_create()|| event.kind.is_modify()|| event.kind.is_remove(){let _ = fs_watch_tx.send(());}}),Err(errors) => {errors.iter().for_each(|error| eprintln!("{error:?}"))}},).unwrap();fs_watch.watch(&state.repo_path, RecursiveMode::Recursive).unwrap();let fs_watch_rx = WatchStream::from_changes(fs_watch_rx);let watch_task = Task::run(fs_watch_rx, |()| {Message::ToRepo(repo::MsgIn::RefreshChangedAndUntrackedFiles)});state.repo_fs_watch = Some(fs_watch);watch_task