7 releases
0.2.5 | Sep 21, 2024 |
---|---|
0.2.4 | Sep 21, 2024 |
0.1.0 | Sep 18, 2024 |
#471 in Development tools
283 downloads per month
25KB
331 lines
🌈 term_ansi
Colorize your terminal output with ease! 🎨✨
term_ansi
is a lightweight Rust crate that provides a simple and intuitive way to add colors and formatting to your terminal output using ANSI escape codes. With support for various predefined colors, custom RGB values, and text styles, you can make your CLI applications more visually appealing and user-friendly.
📚 Table of Contents
✨ Features
- 🎨 Easy-to-use macros for applying colors and styles
- 🌈 Support for 8 predefined foreground and background colors
- 🔢 Custom RGB, HSL, and HSV color support for text and background
- 🧵 Text styles: Bold, Italic, Underline
- 🪆 Nested color and style application
- 🧪 Thread-safe color context management
📦 Installation
Add term_ansi
to your Cargo.toml
:
[dependencies]
term_ansi = "0.2.5"
🚀 Usage
First, import the crate in your Rust file:
use term_ansi::*;
Basic Colors
Apply colors to your text using the provided macros:
println!("{}", red!("This is red text"));
println!("{}", green!("This is green text"));
println!("{}", blue!("This is blue text"));
Background Colors
Apply background colors to your text:
println!("{}", bg_yellow!("This has a yellow background"));
println!("{}", bg_cyan!("This has a cyan background"));
Text Styles
Apply text styles:
println!("{}", bold!("This text is bold"));
println!("{}", italic!("This text is italic"));
println!("{}", underline!("This text is underlined"));
Custom Colors
Use custom RGB, HSL, or HSV colors:
println!("{}", rgb!(255, 128, 0, "This is orange text"));
println!("{}", hsl!(120.0, 1.0, 0.5, "This is green text"));
println!("{}", bg_hsv!(240.0, 1.0, 1.0, "This has a blue background"));
Nested Formatting
Combine multiple styles and colors:
println!("{}", red!("{}", bg_white!("{}" bold!("Important: {}"), "Read this!")));
📚 Available Macros
Text Colors
red!
,green!
,blue!
,white!
,black!
,yellow!
,magenta!
,cyan!
Background Colors
bg_red!
,bg_green!
,bg_blue!
,bg_white!
,bg_black!
,bg_yellow!
,bg_magenta!
,bg_cyan!
Text Styles
bold!
,italic!
,underline!
Custom Colors
rgb!
,hsl!
,hsv!
: Custom foreground colorsbg_rgb!
,bg_hsl!
,bg_hsv!
: Custom background colors
💡 Examples
Error Message with Style
println!("{}", red!("{}", bold!("Error: {}"), "File not found"));
Colorful Status Message
println!("{} {} {}", green!("✓"), blue!("Building project:"), yellow!("in progress"));
Custom Color Gradient
for i in 0..=255 {
print!("{}", rgb!(i, 0, 255 - i, "█"));
}
println!();
Complex Nested Formatting
println!("{}",
bg_blue!("{}",
white!("{}",
bold!("Status: {} | {}",
green!("OK"),
red!("{}", underline!("Failed: {}"), 3)
)
)
)
);
🤝 Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
Happy colorful coding! 🦀🌈