breezy 3.3.4

Friendly distributed version control system
Documentation
use std::io::Write;

pub fn str_tdelta(delt: Option<f64>) -> String {
    match delt {
        None => "-:--:--".to_string(),
        Some(delt) => {
            let delt = delt.round() as i32;
            format!("{}:{:02}:{:02}", delt / 3600, (delt / 60) % 60, delt % 60)
        }
    }
}

#[cfg(unix)]
use std::os::unix::io::AsRawFd;

#[cfg(unix)]
pub fn supports_progress<F: Write + AsRawFd>(f: &F) -> bool {
    match nix::unistd::isatty(f.as_raw_fd()) {
        Ok(true) => {
            if let Ok(term) = std::env::var("TERM") {
                term != "dumb"
            } else {
                true
            }
        }
        Ok(false) => false,
        Err(_) => false,
    }
}