fix: match icon by extension case-insensitive (#1614)

This commit is contained in:
三咲雅 · Misaki Masa 2024-09-05 23:14:38 +08:00 committed by GitHub
parent 7c445cef1f
commit 0cdaff98d0
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
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 {