kutil_cli/clap/
colorize.rs

1use {anstream::ColorChoice, clap::*};
2
3//
4// Colorize
5//
6
7/// Colorization options for Clap.
8#[derive(ValueEnum, Clone, Default)]
9pub enum Colorize {
10    /// Colorize if supported.
11    #[default]
12    True,
13
14    /// Don't colorize.
15    False,
16
17    /// Colorize even if not supported.
18    Force,
19}
20
21impl Colorize {
22    /// Applies the colorization option globally.
23    pub fn initialize(&self) {
24        match self {
25            Colorize::True => {}
26            Colorize::False => ColorChoice::Never.write_global(),
27            Colorize::Force => ColorChoice::Always.write_global(),
28        }
29    }
30}