zlsrs 0.1.0

Rust 标准库扩展工具集,提供更便捷的使用方式
Documentation
use std::env;

/// 检查终端是否支持颜色显示
pub fn supports_color() -> bool {
    // 如果设置了 NO_COLOR 环境变量,则禁用颜色
    if env::var("NO_COLOR").is_ok() {
        return false;
    }

    // 检查 TERM 环境变量
    if let Ok(term) = env::var("TERM") {
        if term.contains("xterm") || term.contains("256color") {
            return true;
        }
    }

    // Windows 特定的环境变量检查
    if cfg!(windows) {
        // 检查是否在 MSYS 环境中
        if env::var("MSYSTEM").is_ok() {
            return true;
        }
        
        // 检查 ConEmu 和 ANSICON
        if env::var("ConEmuANSI").as_deref() == Ok("ON") || env::var("ANSICON").is_ok() {
            return true;
        }
    }

    // 检查 COLORTERM 环境变量
    if let Ok(colorterm) = env::var("COLORTERM") {
        if !colorterm.is_empty() {
            return true;
        }
    }

    false
}