summaryrefslogtreecommitdiffstats
path: root/src/output/lines.rs
blob: e531930395ab55815a5fb73f1804efd13989bcf6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
use std::io::{Write, Result as IOResult};

use ansi_term::ANSIStrings;

use fs::File;

use super::filename;
use super::colours::Colours;


#[derive(Clone, Copy, Debug, PartialEq)]
pub struct Lines {
    pub colours: Colours,
}

/// The lines view literally just displays each file, line-by-line.
impl Lines {
    pub fn view<W: Write>(&self, files: Vec<File>, w: &mut W) -> IOResult<()> {
        for file in files {
            try!(writeln!(w, "{}", ANSIStrings(&filename(&file, &self.colours, true))));
        }
        Ok(())
    }
}