inksac

Crates.ioinksac
lib.rsinksac
version0.4.0
sourcesrc
created_at2023-05-31 04:12:08.839106
updated_at2023-11-21 00:20:27.000754
descriptionJust another color lib for terminal environment
homepage
repositoryhttps://github.com/SkuldNorniern/inksac-rs
max_upload_size
id878517
size32,304
SkuldNorniern (SkuldNorniern)

documentation

README

Inksac

rust-fmt rust-clippy rust-audit

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:

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:

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!

Commit count: 46

cargo fmt