10 releases
0.4.0 | Aug 22, 2024 |
---|---|
0.3.1 | May 4, 2023 |
0.3.0 | Oct 15, 2022 |
0.2.0 | May 12, 2022 |
0.0.1 | Jul 20, 2021 |
#783 in Command line utilities
33 downloads per month
28KB
607 lines
lolcrab
🦀
make your life more colorful, still boring but more colorful
Like lolcat
but with noise and more colorful. This is a fork of lcat
.
Installation
Pre-compiled binaries for Linux, macOS and Windows is avaliable on release page.
Cargo
lolcrab
can be installed using cargo.
cargo install lolcrab
Usage
Usage: lolcrab [OPTIONS] [File]...
Arguments:
[File]... Files to read [default: -]
Options:
-g, --gradient <NAME> Sets color gradient [default: rainbow] [possible values: cividis, cool, cubehelix,
fruits, inferno, magma, plasma, rainbow, rd-yl-gn, sinebow, spectral, turbo,
viridis, warm]
--presets Show all preset gradients
-c, --custom <CSS Gradient> Custom gradient in CSS gradient format
--sharp <NUM> Sharp gradient
-s, --scale <FLOAT> Sets noise scale. Try value between 0.01 .. 0.2 [default: 0.034]
-S, --seed <NUM> Sets seed [default: random]
-i, --invert Colorize the background
-r, --random-colors <NUM> Use random colors as custom gradient [1 .. 100]
-a, --animate Enable animation mode
-d, --duration <NUM> Animation duration
--speed <SPEED> Animation speed
-h, --help Print help
-V, --version Print version
Using lolcrab
as a Library
Add this to your Cargo.toml
lolcrab = { version = "0.4", default-features = "false" }
Example
use lolcrab::Lolcrab;
use std::io;
const TEXT: &str = "\
•••••••••••••••••••••••••••••••••••••••••••
••442463299144744830108724702438783348716••
••665891426009540978622724448305819269356••
••078289454141226451790882961903610719673••
••56505384476•••••••••••••••••39761609699••
••47928752907•• { lolcrab } ••33810561851••
••51609982385•••••••••••••••••43459368213••
••980457234663167653959566555465520046709••
••677103598707232478714861999441705454744••
••012721882924436718718457599087686681354••
•••••••••••••••••••••••••••••••••••••••••••
";
fn main() -> Result<(), Box<dyn std::error::Error>> {
let stdout = io::stdout();
let mut stdout = stdout.lock();
// Initialize Lolcrab using default gradient and default noise
let mut lol = Lolcrab::new(None, None);
lol.colorize_str(TEXT, &mut stdout)?;
lol.set_invert(true);
lol.randomize_position();
lol.colorize_str(TEXT, &mut stdout)?;
lol.set_invert(false);
lol.reset_position();
lol.colorize_str(TEXT, &mut stdout)?;
Ok(())
}
Dependencies
~3–12MB
~132K SLoC