NRCUG4R2NIM2ANIETSUZ7WZDXFOOCMJ73ROP5MDYJA4RUT4PYA4QC WT3GA27PQ2AOAIGK65O3Q4DMX4AZDVNULBLRL6GF4QW6QCASUEAAC EC3TVL4X6VZZVLOKUN63LC73ADPHBHMZO7QMDXGX2ZPURVI4B4XQC KT5UYXGKEEXUHURNOYFVIG7WQ3Y3SJZMM2TP4OSW6NXSXQ5XXRHAC YBJRDOTCX3ZRDB5EVXJBR55FX3CADCSIGMYWNYVC2PD5W3GXR3DQC D7A7MSIHJS3IAOLEPK52M4CZLDPLO7JB3Y62XACT2AM6UUCPQ6BAC 4WO3ZJM2RNYZCBPS7FGYAEBELYD57OSS7LEUYCWGZBCAY272SNQQC W4LFX7IHQ7SDX67ATSGWDB5IN6472ZJDBKY2XZ54SBJEYD5GAT5QC PTFDJ567XGGF26TE7KVQT7WPZIWV737DBO24VFIPEWPVAVKEKADQC AMPZ2BXK4IGUZO3OPBRSJ6Z4GI5K4PRFMLUGTR6AP4FKKRWQG7LQC V55EAIWQXWER2HWKZHPJBV7DDJMSPSPWSO3FSSAYODJHVDBHUN6QC 6YZAVBWU6E5FYOI5JGEIPXGZLIKAW6LS2AOFIQWEE5DMOPPCD5PQC enum UntrackedFileContents {Loading {path: String,},Loaded {path: String,content: FileEditorContent,},}#[derive(Debug)]
let changed_file_selection =|repo: &repo::State, ix: usize| -> cursor::Selection {let path = repo.changed_files.iter().nth(ix).map(|(k, _v)| k).unwrap().clone();cursor::Selection::ChangedFile { ix, path }};
let changed_file_selection = |repo: &repo::State,ix: usize,src_files_cache: &mut SrcFilesCache,src_file_load_tx: &watch::Sender<String>|-> cursor::Selection {let path = repo.changed_files.iter().nth(ix).map(|(k, _v)| k).unwrap().clone();load_src_file_if_not_cached(src_files_cache, src_file_load_tx, &path);
cursor::Selection::ChangedFile { ix: _, path } => repo.changed_files.iter().enumerate().find(|(_ix, (file_path, _diffs))| file_path == &path).map(|(ix, (file_path, _diffs))| {cursor::Selection::ChangedFile {ix,path: file_path.clone(),}}),
cursor::Selection::ChangedFile { ix: _, path } => {load_src_file_if_not_cached(&mut state.src_files_cache,&state.src_file_load_tx,&path,);repo.changed_files.iter().enumerate().find(|(_ix, (file_path, _diffs))| {file_path == &path}).map(|(ix, (file_path, _diffs))| {cursor::Selection::ChangedFile {ix,path: file_path.clone(),}})}