@@ -53,7 +53,15 @@ impl<'b> Controller<'b> {
5353 {
5454 let reader: Box<BufRead> = match filename {
5555 InputFile::StdIn => Box::new(stdin.lock()),
56− InputFile::Ordinary(filename) => Box::new(BufReader::new(File::open(filename)?)),
56+ InputFile::Ordinary(filename) => {
57+ let file = File::open(filename)?;
58+
59+ if file.metadata()?.is_dir() {
60+ return Err(format!("'{}' is a directory.", filename).into());
61+ }
62+
63+ Box::new(BufReader::new(file))
64+ }
5765 InputFile::ThemePreviewFile => Box::new(THEME_PREVIEW_FILE),
5866 };
5967