From 0cdaff98d0b3723caff63eebf1974e7907a43a2c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=89=E5=92=B2=E9=9B=85=20=C2=B7=20Misaki=20Masa?= Date: Thu, 5 Sep 2024 23:14:38 +0800 Subject: [PATCH] fix: match icon by extension case-insensitive (#1614) --- scripts/publish.sh | 11 +++++++++++ yazi-config/src/theme/icons.rs | 8 +++++++- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/scripts/publish.sh b/scripts/publish.sh index 86330afd..637f436a 100755 --- a/scripts/publish.sh +++ b/scripts/publish.sh @@ -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 diff --git a/yazi-config/src/theme/icons.rs b/yazi-config/src/theme/icons.rs index 459da2bb..bc9c1147 100644 --- a/yazi-config/src/theme/icons.rs +++ b/yazi-config/src/theme/icons.rs @@ -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 {