# Inksac
[](https://github.com/SkuldNorniern/inksac-rs/actions/workflows/rust-fmt.yml)
[](https://github.com/SkuldNorniern/inksac-rs/actions/workflows/rust-clippy.yml)
[](https://github.com/SkuldNorniern/inksac-rs/actions/workflows/rust-audit.yml)
Inksac is a Rust library that amplifies terminal outputs by offering a seamless integration with ANSI color support. It is devised to be uncomplicated, flexible, and delightful to utilize, adding a splash of color to your terminal applications.
## Features
1. **Check ANSI Color Support**: Before painting your terminal with vibrant colors, ascertain if the current terminal supports ANSI colors using Inksac's built-in function.
2. **Customizable Styles**: Inksac allows the creation of distinct text styles with customizable foreground and background colors, giving a personal touch to your terminal display.
3. **Vivid Text Outputs**: Enrich your terminal applications with colorful text outputs using the `ColoredString` structure.
4. **True Color Support**: Experience the diversity of colors with Inksac supporting true color by RGB and HEX values.
5. **Text Format Options**: Beautify your text with bold, dim, italic, underline formats. Stay tuned for more format options in future releases.
## Usage
Here is a basic example demonstrating how to utilize the Inksac crate:
```rust
use inksac::is_color_available;
use inksac::types::{Color, ColoredString, Style};
fn main() {
// Check if the terminal supports ANSI colors
match is_color_available() {
Ok(_) => println!("Terminal supports ANSI colors"),
Err(err) => println!("{}", err),
}
// Create a style using the new builder pattern
let title_style = Style::builder()
.foreground(Some(Color::Green))
.background(Some(Color::Red))
.bold()
.build();
// Create a ColoredString with the predefined style
let title_text = ColoredString::new("Hello World", title_style);
// Print the ColoredString
println!("{}", title_text);
}
```
## Installation
To add Inksac as a dependency to your project, run the following command:
```sh
cargo add inksac
```
## Disclaimer
Please note that the actual color representation may vary based on the terminal's capabilities and might not function as anticipated on all platforms.
---
Happy Coding!