colorex
is a simple and flexible Rust library that provides an easy way to style your terminal output with color and text formatting. With support for both RGB and HEX color codes, as well as text styles like bold, italic, underline, strikethrough, and more, it makes your terminal applications visually more appealing and readable.
- RGB Color Support: Define colors using RGB values (e.g., color_rgb(255, 0, 0)).
- HEX Color Support: Use HEX color codes (e.g., color_hex("#FF0000")).
- Text Styles: Bold, italic, underline, strikethrough, dim, and inverted text.
- Background Colors: Set the background color using RGB or HEX.
- Chainable API: Apply multiple styles in a single statement using method chaining.
To use colorex, add it to your Cargo.toml
file:
[dependencies]
colorex = "0.1.1"
Here's how you can use colorex
to add color and styles to your terminal output:
use colorex::Colorize;
fn main() {
// Basic color usage
println!("{}", "Hello, World!".color("0,255,0")); // Green text
println!("{}", "Error!".color("#FF0000")); // Red text
// Text styles
println!("{}", "Bold Text".bold()); // Bold text
println!("{}", "Italic Text".italic()); // Italic text
println!("{}", "Underlined Text".underline()); // Underlined text
println!("{}", "Strikethrough Text".strikethrough()); // Strikethrough text
println!("{}", "Dim Text".dim()); // Dim text
println!("{}", "Inverted Text".invert()); // Inverted (background) text
// Background color
println!("{}", "Background Color".bg_color("0,0,255")); // Blue background
// Combining multiple styles
println!("{}", "ALL".color("0,255,0").bold().italic().underline().strikethrough().dim().invert().bg_color("0,0,255")); // All styles
}
- Color: RGB and HEX color formats.
- Text Styles:
- bold()
- italic()
- underline()
- strikethrough()
- dim()
- invert()
- Background Colors: bg_color() with RGB or HEX values.
The following example would result in a green-colored "Hello, World!" and a red "Error!" message in the terminal.
println!("{}", "Hello, World!".color("0,255,0")); // Green text
println!("{}", "Error!".color("#FF0000")); // Red text
- RGB:
"r,g,b"
(e.g.,"255,0,0"
for red). - HEX:
"#RRGGBB"
(e.g.,"#FF0000"
for red).
This project is licensed under the MPL-2.0 License - see the LICENSE file for details.