From e098eb43a28f55942f3185033ebe3e09d86198d7 Mon Sep 17 00:00:00 2001 From: sharkdp Date: Wed, 12 Sep 2018 21:53:41 +0200 Subject: [PATCH] Do not show file header for directories This also adds a better error message. closes #292 --- src/controller.rs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/controller.rs b/src/controller.rs index 73eb8996..9881669f 100644 --- a/src/controller.rs +++ b/src/controller.rs @@ -53,7 +53,15 @@ impl<'b> Controller<'b> { { let reader: Box = match filename { InputFile::StdIn => Box::new(stdin.lock()), - InputFile::Ordinary(filename) => Box::new(BufReader::new(File::open(filename)?)), + InputFile::Ordinary(filename) => { + let file = File::open(filename)?; + + if file.metadata()?.is_dir() { + return Err(format!("'{}' is a directory.", filename).into()); + } + + Box::new(BufReader::new(file)) + } InputFile::ThemePreviewFile => Box::new(THEME_PREVIEW_FILE), };