@@ -1,83 +0,0 @@
3− assets::HighlightingAssets,
5− line_range::{LineRange, LineRanges, RangeCheckResult},
7− printer::{InteractivePrinter, Printer},
8− style::{OutputComponent, OutputComponents},
12−use std::{collections::HashSet, io};
14−fn main() -> bat::errors::Result<()> {
15− let config = Config {
16− term_width: Term::stdout().size().1 as usize,
17− colored_output: true,
19− theme: "1337".into(),
20− line_ranges: LineRanges::from(vec![
21− LineRange::from("5:7")?,
22− LineRange::from("92:97")?,
23− LineRange::from("15:17")?,
25− output_components: OutputComponents(with_full_decorations()),
26− files: vec![InputFile::Ordinary("build.rs")],
29− let assets = HighlightingAssets::new();
31− let mut output_type = OutputType::from_mode(config.paging_mode, config.pager)?;
32− let writer = output_type.handle()?;
33− let stdin = io::stdin();
35− for input_file in &config.files {
36− let mut reader = input_file.get_reader(&stdin)?;
37− let mut printer = InteractivePrinter::new(&config, &assets, *input_file, &mut reader);
39− printer.print_header(writer, *input_file)?;
41− if !reader.first_line.is_empty() {
42− let mut line_buffer = Vec::new();
43− let mut line_number = 1;
44− let mut has_snip = true; // skip first line snip
46− while reader.read_line(&mut line_buffer)? {
47− match config.line_ranges.check(line_number) {
48− RangeCheckResult::OutsideRange => {
50− printer.print_snip(writer)?;
54− RangeCheckResult::InRange => {
56− /*out_of_range = */ false,
63− RangeCheckResult::AfterLastRange => break,
71− printer.print_footer(writer)?;
77−fn with_full_decorations() -> HashSet<OutputComponent> {
78− OutputComponent::Full
79− .components(Default::default())