guardy 0.2.4

Fast, secure git hooks in Rust with secret scanning and protected file synchronization
Documentation
use crate::{cli::commands::Cli, config_build};

config_build! {
    GeneralConfig<crate::cli::commands::Cli> {
        // Logging and output
        verbose: u8 => {
            cli: |cli: &Cli| if cli.verbose > 0 { Some(cli.verbose) } else { None },
            env: "GUARDY_VERBOSE",
            default: 0,
        },

        quiet: bool => {
            cli: |cli: &Cli| if cli.quiet { Some(true) } else { None },
            env: "GUARDY_QUIET",
            default: false,
        },

        debug: bool => {
            cli: |cli: &Cli| if cli.verbose > 1 { Some(true) } else { None },
            env: "GUARDY_DEBUG",
            default: false,
        },

        // Output styling
        color: bool => {
            cli: |cli: &Cli| if cli.quiet { Some(false) } else { None },
            env: "GUARDY_COLOR",
            default: true,
        },

        // Interactive mode
        interactive: bool => {
            env: "GUARDY_INTERACTIVE",
            default: true,
        },

        // Configuration loading behavior
        recursive_config: bool => {
            cli: |cli: &Cli| cli.recursive_config,
            env: "GUARDY_RECURSIVE_CONFIG",
            default: true,
        },
    }
}