diff --git a/src/main.rs b/src/main.rs index ba042f90..f09b5625 100644 --- a/src/main.rs +++ b/src/main.rs @@ -12,7 +12,7 @@ use std::io::{self, BufRead, Result}; use std::path::Path; use std::process; -use ansi_term::Colour::{Fixed, Green, Red, Yellow}; +use ansi_term::Colour::{Fixed, Green, Red, Yellow, White}; use atty::Stream; use clap::{App, AppSettings, Arg, ArgMatches}; use console::Term; @@ -38,7 +38,7 @@ fn print_file>(filename: P, line_changes: Option) -> let ts = ThemeSet::load_defaults(); let theme = &ts.themes["base16-eighties.dark"]; - let mut highlighter = HighlightFile::new(filename, &ss, theme)?; + let mut highlighter = HighlightFile::new(filename.as_ref().clone(), &ss, theme)?; let term = Term::stdout(); let (_height, width) = term.size(); @@ -47,6 +47,16 @@ fn print_file>(filename: P, line_changes: Option) -> let line = "─".repeat(width as usize - prefix.len()); println!("{}{}", Fixed(238).paint(prefix), Fixed(238).paint(line)); + println!( + " {} {}", + Fixed(238).paint("│"), + White.bold().paint(filename.as_ref().to_string_lossy()) + ); + + let prefix = "───────┼"; + let line = "─".repeat(width as usize - prefix.len()); + println!("{}{}", Fixed(238).paint(prefix), Fixed(238).paint(line)); + for (idx, maybe_line) in highlighter.reader.lines().enumerate() { let line_nr = idx + 1; let line = maybe_line.unwrap_or("".into());