nutmeg 0.1.6

An unopinionated progress bar library
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
use std::sync::atomic::{AtomicBool, Ordering};

static WINDOWS_TRIED: AtomicBool = AtomicBool::new(false);
static WINDOWS_SUCCEEDED: AtomicBool = AtomicBool::new(false);

pub(crate) fn enable_windows_ansi() -> bool {
    if WINDOWS_TRIED.load(Ordering::SeqCst) {
        WINDOWS_SUCCEEDED.load(Ordering::SeqCst)
    } else {
        let succeeded = yansi::Paint::enable_windows_ascii();
        WINDOWS_TRIED.store(true, Ordering::SeqCst);
        WINDOWS_SUCCEEDED.store(succeeded, Ordering::SeqCst);
        succeeded
    }
}