23 个版本 (破坏性更新)

新功能 0.19.0 2024 年 8 月 19 日
0.18.0 2024 年 6 月 23 日
0.17.0 2024 年 1 月 24 日
0.16.0 2023 年 11 月 29 日
0.3.0 2018 年 12 月 15 日

#24 in 命令行界面

Download history 14094/week @ 2024-05-03 10990/week @ 2024-05-10 10633/week @ 2024-05-17 9996/week @ 2024-05-24 10143/week @ 2024-05-31 7585/week @ 2024-06-07 10168/week @ 2024-06-14 10989/week @ 2024-06-21 11557/week @ 2024-06-28 10478/week @ 2024-07-05 9215/week @ 2024-07-12 10496/week @ 2024-07-19 9329/week @ 2024-07-26 9140/week @ 2024-08-02 11417/week @ 2024-08-09 11332/week @ 2024-08-16

每月下载量 43,869
用于 97 个 Crates (21 个直接使用)

MIT/Apache

81KB
1.5K SLoC

lscolors

CICD Crates.io Documentation

一个跨平台的库,根据 LS_COLORS 环境变量着色路径(类似于 ls)。

用法

use lscolors::{LsColors, Style};

let lscolors = LsColors::from_env().unwrap_or_default();

let path = "some/folder/test.tar.gz";
let style = lscolors.style_for_path(path);

// If you want to use `ansi_term`:
let ansi_style = style.map(Style::to_ansi_term_style)
                      .unwrap_or_default();
println!("{}", ansi_style.paint(path));

// If you want to use `nu-ansi-term` (fork of ansi_term) or `gnu_legacy`:
let nu_ansi_style = style.map(Style::to_nu_ansi_term_style)
                      .unwrap_or_default();
println!("{}", nu_ansi_style.paint(path));

// If you want to use `crossterm`:
let crossterm_style = style.map(Style::to_crossterm_style)
                      .unwrap_or_default();
println!("{}", crossterm_style.apply(path));

命令行应用程序

此 crate 还附带一个小型命令行程序 lscolors,可用于着色其他命令的输出

> find . -maxdepth 2 | lscolors

> rg foo -l | lscolors

您可以通过运行 cargo install lscolors 或从 发布页面 下载预构建的二进制文件来安装它。如果您想从源代码构建应用程序,可以运行

cargo build --release --features=nu-ansi-term --locked

特性

// Cargo.toml

[dependencies]
// use ansi-term coloring
lscolors = { version = "v0.14.0", features = ["ansi_term"] }
// use crossterm coloring
lscolors = { version = "v0.14.0", features = ["crossterm"] }
// use nu-ansi-term coloring
lscolors = { version = "v0.14.0", features = ["nu-ansi-term"] }
// use nu-ansi-term coloring in gnu legacy mode with double digit styles
lscolors = { version = "v0.14.0", features = ["gnu_legacy"] }

许可证

根据您的选择,许可如下

参考

有关 LS_COLORS 环境变量的信息很少。以下是一些有用的参考

依赖关系

~0.6–8.5MB
~50K SLoC