K2SQTVJDXCETCK5KXP72JVCKUIK5V4XNBHRUHKRMOF2524D44WUAC MJDGPSHGF62FTVWZBE7MFNJTUQD42OBVJEOSVPBT553UFJLTEMXQC ZVI4AWERNOTDJ3765HJXRBZT57XPNKVONQ6TGOGNPOL2VN42KMJQC BFN2VHZS7VCBUHQ4S3CQ3LFQV2V4M6VANNAF32XMRFQVWRGYSZ6AC 23SFYK4Q5NKBPJG53PQNPWQH6UOUU2YKJEL7RLXYBRLJOJYV7AWQC XSZZB47UXR6KGYFZZQFQR63X2LDKOH6TPNNBRRGHUCI5JJ4JIWVAC HPSOAD4RXHXU7TSVX2AD5ZDGHMS7HLYNRARWHJCXGGH5RWW7LH6QC if let Ok(data) = tokio::fs::read(&path).await {
// TODO handle symlinkif let Ok(metadata) = tokio::fs::metadata(&path).await&& metadata.is_dir(){Msg::LoadedSrcFile {id,data: vec![],encoding: None,cache_counter,}} else if let Ok(data) = tokio::fs::read(&path).await {
DiffWithContents::Move => {debug_assert_eq!(changes_len, 1);let lines: Vec<_> = file_lines.map(str::to_string).collect();let max_line_num = lines.len();sections.push(Section::Unchanged(lines));return Combined {sections,max_line_num,};}