summaryrefslogtreecommitdiffstats
path: root/examples/simple.rs
blob: 6ceb208a7f2a47a3b28ff8c7047dbdffa59f6ba2 (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
25
26
27
28
29
30
31
32
33
34
35
use bat::{
    assets::HighlightingAssets,
    config::Config,
    controller::Controller,
    inputfile::InputFile,
    style::{OutputComponent, OutputComponents},
};
use console::Term;
use std::process;

fn main() {
    let files = std::env::args_os().skip(1).collect::<Vec<_>>();

    if files.is_empty() {
        eprintln!("No input files specified");
        process::exit(1);
    }

    let config = Config {
        term_width: Term::stdout().size().1 as usize,
        colored_output: true,
        true_color: true,
        output_components: OutputComponents::new(&[
            OutputComponent::Header,
            OutputComponent::Grid,
            OutputComponent::Numbers,
        ]),
        files: files.iter().map(|file| InputFile::Ordinary(file)).collect(),
        theme: "1337".into(),
        ..Default::default()
    };
    let assets = HighlightingAssets::from_binary();

    Controller::new(&config, &assets).run().expect("no errors");
}