From ee2d8c04c5fdce6e3384ecceee9a5250d8d586fe Mon Sep 17 00:00:00 2001 From: lukeflo Date: Sat, 24 May 2025 17:48:09 +0200 Subject: impl loop over pdf files in dir, break if match --- src/bibiman/bibisetup.rs | 45 +++++++++++++++++++++++++++++++++------------ 1 file changed, 33 insertions(+), 12 deletions(-) (limited to 'src') diff --git a/src/bibiman/bibisetup.rs b/src/bibiman/bibisetup.rs index b09747a..b968658 100644 --- a/src/bibiman/bibisetup.rs +++ b/src/bibiman/bibisetup.rs @@ -380,22 +380,43 @@ impl BibiSetup { // break f; // } // } - for file in pdf_files.as_ref().unwrap().iter() { - let filename = file.file_name().unwrap().to_ascii_lowercase(); - if filename.to_str().unwrap() == citekey { - break; - } else if pdf_files.as_ref().unwrap().len() > idx { - break; + + loop { + if idx + 1 > pdf_files.as_ref().unwrap().len() { + break None; + } + let cur_entry = pdf_files.as_ref().unwrap()[idx].clone(); + if cur_entry.is_file() + && cur_entry + .file_name() + .unwrap() + .to_ascii_lowercase() + .to_str() + .unwrap() + == citekey + { + break Some(cur_entry.to_owned().into_os_string()); } else { - idx += 1; + idx += 1 } } - if pdf_files.as_ref().unwrap()[idx].is_file() { - Some(pdf_files.as_ref().unwrap()[idx].to_owned().into_os_string()) - } else { - None - } + // for file in pdf_files.as_ref().unwrap().iter() { + // let filename = file.file_name().unwrap().to_ascii_lowercase(); + // if filename.to_str().unwrap() == citekey { + // break; + // } else if pdf_files.as_ref().unwrap().len() > idx { + // break; + // } else { + // idx += 1; + // } + // } + + // if pdf_files.as_ref().unwrap()[idx].is_file() { + // Some(pdf_files.as_ref().unwrap()[idx].to_owned().into_os_string()) + // } else { + // None + // } }; pdf_file -- cgit v1.2.3