4 releases

0.1.6 Sep 21, 2024
0.1.2 Aug 10, 2024
0.1.1 Aug 10, 2024
0.1.0 Aug 10, 2024

#1905 in Command line utilities

22 downloads per month

Custom license

25KB
448 lines

Rusty TermColor

Rusty TermColor is a Rust crate that provides utility functions for terminal manipulation and text formatting. It includes functionality for color manipulation, text effects, terminal control, and text formatting.

Table of Contents

  1. Installation
  2. Features
  3. Usage
  4. Modules
  5. Examples
  6. Notes
  7. Dependencies
  8. License

Installation

Add this to your Cargo.toml:

[dependencies]
rusty-termcolor = "0.1.6"

Features

  • Color manipulation and predefined color constants
  • Text effects (typewriter, loading bar, wiggle, matrix)
  • Text formatting (colored output, gradients, centering, boxing)
  • Terminal control (clear screen, set title, hide/show cursor)

Usage

use rusty_termcolor::{colors::*, formatting::*, effects::*, terminal::*};

fn main() {
    println_colored("Hello, Rusty TermColor!", &RED);
    typewriter("This appears like it's being typed...", &EffectSettings::default(), Some(&GREEN));
    clear_screen();
    // ... see docs for more examples
}

Modules

Colors

  • Color struct for RGB color representation
  • Predefined color constants
  • Color gradient generation

Effects

  • EffectSettings struct for customizing effect parameters
  • Typewriter effect
  • Loading bar
  • Wiggle effect
  • Matrix effect

Formatting

  • Colored text output
  • Gradient text
  • Text centering
  • Text boxing

Terminal

  • Clear screen
  • Set terminal title
  • Hide/show cursor

Examples

See the Usage Examples section in the detailed documentation for comprehensive examples of using Rusty TermColor's features.

Notes

  • Some functions use ANSI escape codes, which may not be supported on all terminals or operating systems.
  • The effectiveness of visual effects may vary depending on the terminal emulator and system configuration.
  • Remember to use show_cursor() before exiting if hide_cursor() was used.

Dependencies

  • std::io for terminal I/O operations
  • std::thread and std::time::Duration for timing in effects
  • rand crate for random number generation in some effects
  • terminal_size crate for getting terminal dimensions

License

This project is licensed under the MIT License - see the LICENSE file for details.

Dependencies

~2–13MB
~121K SLoC