From 7809008016aef9af72a285d1f7de9c978acba737 Mon Sep 17 00:00:00 2001 From: Martin Nordholts Date: Sun, 10 Jan 2021 13:27:17 +0100 Subject: [PATCH] PagerKind::from(): Simplify --- src/pager.rs | 23 +++++++++-------------- 1 file changed, 9 insertions(+), 14 deletions(-) diff --git a/src/pager.rs b/src/pager.rs index fa5693a3..f6ae7bf4 100644 --- a/src/pager.rs +++ b/src/pager.rs @@ -38,23 +38,18 @@ pub(crate) enum PagerKind { impl PagerKind { fn from_bin(bin: &str) -> PagerKind { - use std::ffi::OsStr; use std::path::Path; - let stem = Path::new(bin) + match Path::new(bin) .file_stem() - .unwrap_or_else(|| OsStr::new("unknown")); - - if stem == OsStr::new("bat") { - PagerKind::Bat - } else if stem == OsStr::new("less") { - PagerKind::Less - } else if stem == OsStr::new("more") { - PagerKind::More - } else if stem == OsStr::new("most") { - PagerKind::Most - } else { - PagerKind::Unknown + .map(|s| s.to_string_lossy()) + .as_deref() + { + Some("bat") => PagerKind::Bat, + Some("less") => PagerKind::Less, + Some("more") => PagerKind::More, + Some("most") => PagerKind::Most, + _ => PagerKind::Unknown, } } }