paline 0.4.2

一个用 Rust 编写的代码行数统计命令行工具。递归扫描目录,按编程语言统计行数,并以彩色横向条形图在终端中可视化展示。
use owo_colors::{DynColors, OwoColorize};

/// RGB 颜色。
#[derive(Clone, Copy)]
pub struct Color {
    r: u8,
    g: u8,
    b: u8,
}

impl Color {
    /// 用 RGB 分量构造颜色。
    pub const fn new(r: u8, g: u8, b: u8) -> Self {
        Self { r, g, b }
    }

    /// 将 `text` 以本颜色着色并返回带 ANSI 转义序列的字符串。
    pub fn fg_str(&self, text: &str) -> String {
        let dyn_color = DynColors::Rgb(self.r, self.g, self.b);
        text.color(dyn_color).to_string()
    }
}