From be7cae58755fe9df87e59c60dbffdfafb28c8a6c Mon Sep 17 00:00:00 2001 From: rabite Date: Tue, 28 May 2019 01:47:32 +0200 Subject: [PATCH] improved mime detection for extension-less files --- src/files.rs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/files.rs b/src/files.rs index 25e3393..80bbb7b 100644 --- a/src/files.rs +++ b/src/files.rs @@ -6,6 +6,7 @@ use std::path::{Path, PathBuf}; use std::sync::{Arc, Mutex, RwLock}; use std::sync::mpsc::Sender; use std::hash::{Hash, Hasher}; +use std::str::FromStr; use lscolors::LsColors; use tree_magic; @@ -836,11 +837,14 @@ impl File { if let Some(ext) = self.path.extension() { let mime = mime_guess::get_mime_type(&ext.to_string_lossy()); Some(mime) - } else { None } + } else { + let mime = tree_magic::from_filepath(&self.path); + mime::Mime::from_str(&mime).ok() + } } pub fn is_text(&self) -> bool { - tree_magic::match_filepath("text/plain", &self.path) + tree_magic::match_filepath("text/plain", &self.path) }