fixed matching order so that shelf matches before files in current dir
This commit is contained in:
34
src/utils.rs
34
src/utils.rs
@@ -90,26 +90,26 @@ pub fn match_file_name(file_name: &str, shelf: &mut Shelf) -> Result<usize, std:
|
|||||||
// Turn given file into string
|
// Turn given file into string
|
||||||
let match_path = Path::new(file_name);
|
let match_path = Path::new(file_name);
|
||||||
|
|
||||||
// If the file path doesnt exist
|
// Check if there is a match in the shelf before taking the path verbatim
|
||||||
if !match_path.exists() {
|
let file_ending = match_path.file_name().expect("Error getting file name");
|
||||||
let file_ending = match_path.file_name().expect("Error getting file name");
|
// For every entry in current shelf
|
||||||
// For every entry in current shelf
|
|
||||||
for (i, path) in shelf.content.iter().enumerate() {
|
|
||||||
// Turn the string back into a path
|
|
||||||
let shelf_path = Path::new(path).canonicalize()?;
|
|
||||||
|
|
||||||
if shelf_path.ends_with(file_ending) {
|
|
||||||
return Ok(i);
|
|
||||||
};
|
|
||||||
}
|
|
||||||
} // else if it does
|
|
||||||
|
|
||||||
let cannonical_path = match_path.canonicalize()?;
|
|
||||||
|
|
||||||
for (i, path) in shelf.content.iter().enumerate() {
|
for (i, path) in shelf.content.iter().enumerate() {
|
||||||
|
// Turn the string back into a path
|
||||||
let shelf_path = Path::new(path).canonicalize()?;
|
let shelf_path = Path::new(path).canonicalize()?;
|
||||||
if cannonical_path == shelf_path {
|
|
||||||
|
if shelf_path.ends_with(file_ending) {
|
||||||
return Ok(i);
|
return Ok(i);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
if match_path.exists() {
|
||||||
|
let cannonical_path = match_path.canonicalize()?;
|
||||||
|
|
||||||
|
for (i, path) in shelf.content.iter().enumerate() {
|
||||||
|
let shelf_path = Path::new(path).canonicalize()?;
|
||||||
|
if cannonical_path == shelf_path {
|
||||||
|
return Ok(i);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user