@@ -65,8 +65,8 @@ struct Options<'a> {
6565 true_color: bool,
6666 style: OptionsStyle,
6767 language: Option<&'a str>,
68− interactive_terminal: bool,
6968 colored_output: bool,
69+ paging: bool,
7070}
7171
7272enum OutputType<'a> {
@@ -318,8 +318,8 @@ fn get_git_diff(filename: &str) -> Option<LineChanges> {
318318 Some(line_changes)
319319}
320320
321−fn get_output_type(stdout: &Stdout, interactive_terminal: bool) -> OutputType {
322− if interactive_terminal {
321+fn get_output_type(stdout: &Stdout, paging: bool) -> OutputType {
322+ if paging {
323323 match OutputType::pager() {
324324 Ok(pager) => pager,
325325 Err(_) => OutputType::stdout(&stdout),
@@ -495,6 +495,14 @@ fn run() -> Result<()> {
495495 .default_value("auto")
496496 .help("When to use colors"),
497497 )
498+ .arg(
499+ Arg::with_name("paging")
500+ .long("paging")
501+ .takes_value(true)
502+ .possible_values(&["auto", "never", "always"])
503+ .default_value("auto")
504+ .help("When to use the pager")
505+ )
498506 .subcommand(
499507 SubCommand::with_name("init-cache")
500508 .about("Load syntax definitions and themes into cache"),
@@ -522,12 +530,16 @@ fn run() -> Result<()> {
522530 },
523531 },
524532 language: app_matches.value_of("language"),
525− interactive_terminal,
526533 colored_output: match app_matches.value_of("color") {
527534 Some("always") => true,
528535 Some("never") => false,
529536 _ => interactive_terminal,
530537 },
538+ paging: match app_matches.value_of("paging") {
539+ Some("always") => true,
540+ Some("never") => false,
541+ Some("auto") | _ => interactive_terminal,
542+ }
531543 };
532544
533545 let assets =
@@ -542,7 +554,7 @@ fn run() -> Result<()> {
542554
543555 if let Some(files) = app_matches.values_of("FILE") {
544556 let stdout = io::stdout();
545− let mut output_type = get_output_type(&stdout, options.interactive_terminal);
557+ let mut output_type = get_output_type(&stdout, options.paging);
546558 let handle = output_type.handle()?;
547559 for file in files {
548560 let line_changes = get_git_diff(&file.to_string());