fix: match icon by extension case-insensitive

This commit is contained in:
sxyazi 2024-09-05 23:11:28 +08:00
parent 7c445cef1f
commit f2095ded6b
No known key found for this signature in database
2 changed files with 18 additions and 1 deletions

View file

@ -1,12 +1,23 @@
cargo publish -p yazi-shared
sleep 30
cargo publish -p yazi-config
sleep 30
cargo publish -p yazi-proxy
sleep 30
cargo publish -p yazi-fs
sleep 30
cargo publish -p yazi-adapter
sleep 30
cargo publish -p yazi-boot
sleep 30
cargo publish -p yazi-dds
sleep 30
cargo publish -p yazi-scheduler
sleep 30
cargo publish -p yazi-plugin
sleep 30
cargo publish -p yazi-core
sleep 30
cargo publish -p yazi-fm
sleep 30
cargo publish -p yazi-cli

View file

@ -56,9 +56,15 @@ impl Icons {
.files
.get(name)
.or_else(|| self.files.get(&name.to_ascii_lowercase()))
.or_else(|| self.exts.get(file.url.extension()?.to_str()?))
.or_else(|| self.match_by_ext(file))
}
}
#[inline]
fn match_by_ext(&self, file: &File) -> Option<&Icon> {
let ext = file.url.extension()?.to_str()?;
self.exts.get(ext).or_else(|| self.exts.get(&ext.to_ascii_lowercase()))
}
}
impl<'de> Deserialize<'de> for Icons {