1extern crate bitflags;
5
6#[macro_use]
7extern crate error_chain;
8
9mod align;
10mod ansi;
11mod cli;
12mod color;
13mod colors;
14mod config;
15mod delta;
16mod edits;
17mod env;
18mod features;
19mod format;
20mod git_config;
21mod handlers;
22mod minusplus;
23mod options;
24mod paint;
25mod parse_style;
26mod parse_styles;
27mod style;
28mod subcommands;
29mod tests;
30mod utils;
31mod wrapping;
32
33pub mod mainfn;
34
35fn fatal<T>(errmsg: T) -> !
36where
37 T: AsRef<str> + std::fmt::Display,
38{
39 #[cfg(not(test))]
40 {
41 use std::process;
42 eprintln!("{}", errmsg);
43 process::exit(2);
46 }
47 #[cfg(test)]
48 panic!("{}\n", errmsg);
49}
50
51mod errors {
52 error_chain! {
53 foreign_links {
54 Io(::std::io::Error);
55 SyntectError(::syntect::LoadingError);
56 ParseIntError(::std::num::ParseIntError);
57 }
58 }
59}