Enable pager in cton-util.

This commit is contained in:
Dan Gohman
2017-09-02 08:06:55 -07:00
parent 8dd46054a5
commit 54e4ab71d9
2 changed files with 21 additions and 0 deletions

View File

@@ -26,6 +26,9 @@ num_cpus = "1.5.1"
tempdir="0.3.5" tempdir="0.3.5"
term = "0.4.6" term = "0.4.6"
[target.'cfg(unix)'.dependencies]
pager = "0.13.0"
[workspace] [workspace]
# Enable debug assertions and parallel compilation when building cretonne-tools # Enable debug assertions and parallel compilation when building cretonne-tools

View File

@@ -10,11 +10,17 @@ extern crate num_cpus;
extern crate tempdir; extern crate tempdir;
extern crate term; extern crate term;
#[cfg(unix)]
extern crate pager;
use cretonne::VERSION; use cretonne::VERSION;
use docopt::Docopt; use docopt::Docopt;
use std::io::{self, Write}; use std::io::{self, Write};
use std::process; use std::process;
#[cfg(unix)]
use pager::Pager;
mod utils; mod utils;
mod filetest; mod filetest;
mod cat; mod cat;
@@ -107,7 +113,19 @@ fn cton_util() -> CommandResult {
} }
} }
#[cfg(unix)]
fn enable_pager() {
Pager::new().skip_on_notty().setup();
}
#[cfg(not(unix))]
fn enable_pager() {
// For now, pager only supports unix-type platforms.
}
fn main() { fn main() {
enable_pager();
if let Err(mut msg) = cton_util() { if let Err(mut msg) = cton_util() {
if !msg.ends_with('\n') { if !msg.ends_with('\n') {
msg.push('\n'); msg.push('\n');