on master help sign in
Remove 'advanced' example
commit850677f121a28c758e97e040362e75380727f15b authorsharkdp <davidpeter@web.de> dateTue 29 Oct 2019, 19:46 (7 years ago) parentc132e19
2 files changed+2−85
examples/advanced.rs−83 src/lib.rs+2−2
examples/advanced.rsdeleted−83
@@ -1,83 +0,0 @@
1−use bat::{
2− self,
3− assets::HighlightingAssets,
4− inputfile::InputFile,
5− line_range::{LineRange, LineRanges, RangeCheckResult},
6− output::OutputType,
7− printer::{InteractivePrinter, Printer},
8− style::{OutputComponent, OutputComponents},
9− Config,
10−};
11−use console::Term;
12−use std::{collections::HashSet, io};
13−
14−fn main() -> bat::errors::Result<()> {
15− let config = Config {
16− term_width: Term::stdout().size().1 as usize,
17− colored_output: true,
18− true_color: 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")?,
24− ]),
25− output_components: OutputComponents(with_full_decorations()),
26− files: vec![InputFile::Ordinary("build.rs")],
27− ..Default::default()
28− };
29− let assets = HighlightingAssets::new();
30−
31− let mut output_type = OutputType::from_mode(config.paging_mode, config.pager)?;
32− let writer = output_type.handle()?;
33− let stdin = io::stdin();
34−
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);
38−
39− printer.print_header(writer, *input_file)?;
40−
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
45−
46− while reader.read_line(&mut line_buffer)? {
47− match config.line_ranges.check(line_number) {
48− RangeCheckResult::OutsideRange => {
49− if !has_snip {
50− printer.print_snip(writer)?;
51− has_snip = true;
52− }
53− }
54− RangeCheckResult::InRange => {
55− printer.print_line(
56− /*out_of_range = */ false,
57− writer,
58− line_number,
59− &line_buffer,
60− )?;
61− has_snip = false;
62− }
63− RangeCheckResult::AfterLastRange => break,
64− }
65−
66− line_number += 1;
67− line_buffer.clear();
68− }
69− }
70−
71− printer.print_footer(writer)?;
72− }
73−
74− Ok(())
75−}
76−
77−fn with_full_decorations() -> HashSet<OutputComponent> {
78− OutputComponent::Full
79− .components(Default::default())
80− .iter()
81− .cloned()
82− .collect()
83−}
src/lib.rs+2−2
@@ -25,9 +25,9 @@ mod diff;
2525pub mod dirs;
2626pub mod inputfile;
2727pub mod line_range;
28−pub mod output;
28+mod output;
2929mod preprocessor;
30−pub mod printer;
30+mod printer;
3131pub mod style;
3232pub mod syntax_mapping;
3333mod terminal;