A cross-platform library for colorizing paths according to the LS_COLORS
environment variable (like ls
).
```rust use lscolors::{LsColors, Style};
let lscolors = LsColors::fromenv().unwrapor_default();
let path = "some/folder/test.tar.gz"; let style = lscolors.styleforpath(path);
// If you want to use ansi_term
:
let ansistyle = style.map(Style::toansitermstyle)
.unwrapordefault();
println!("{}", ansi_style.paint(path));
// If you want to use nu-ansi-term
(fork of ansiterm):
let ansistyle = style.map(Style::tonuansitermstyle)
.unwrapordefault();
println!("{}", ansi_style.paint(path));
```
This crate also comes with a small command-line program lscolors
that
can be used to colorize the output of other commands:
```bash
find . -maxdepth 2 | lscolors
rg foo -l | lscolors ```
You can install it by running cargo install lscolors
or by downloading one
of the prebuilt binaries from the release page.
Licensed under either of
at your option.
Information about the LS_COLORS
environment variable is sparse. Here is a short list of useful references:
LS_COLORS
implementation in the GNU coreutils version of ls
(the reference implementation)LS_COLORS
implementation in bfs
by @tavianatorDIR_COLORS(5)
man page