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 命令行界面
每月下载量 43,869
用于 97 个 Crates (21 个直接使用)
81KB
1.5K SLoC
lscolors
一个跨平台的库,根据 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"] }
许可证
根据您的选择,许可如下
- Apache License 2.0 (LICENSE-APACHE 或 http://www.apache.org/licenses/LICENSE-2.0)
- MIT 许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
。
参考
有关 LS_COLORS
环境变量的信息很少。以下是一些有用的参考
依赖关系
~0.6–8.5MB
~50K SLoC