#ansi-term #ansi-csi #csi #char #ecma-48

coded-chars

An implementation to create control strings defined in the ECMA-48 standard

13 releases (3 major breaking)

3.0.2 Mar 9, 2025
3.0.1 Sep 4, 2024
2.0.0 Sep 3, 2024
1.0.1 Sep 3, 2024
0.1.4 Aug 31, 2024

#231 in Command-line interface

MIT license

170KB
2K SLoC

Coded chars

This crate implements the ECMA-48 standard for coded characters in rust.

Various constructions are provided to easily add control character and sequences inside text. This crate is compatible with "ANSI terminals".

This crate does not use a concept of "styles" or any kind of abstraction other than ones defined in the standard.

Standard implemented

  • ecma-48 - Control Functions for Coded Character Sets

Documentation

On docs.rs

An example

use coded_chars::clear_screen;
use coded_chars::cursor::set_position;
use coded_chars::presentation::{format_str, select_graphic};

fn main() {
    // Direct format
    println!("Hello {}World{}!", select_graphic().fg_red().bold().underline(), select_graphic().default());

    // Clear screen
    clear_screen();

    // Using format_str
    let fmt_world = format_str(
        "World",
        select_graphic().fg_red().bold().underline()
    );
    println!("Hello {fmt_world}!");

    set_position(5, 1).exec();
    println!("This line is printed on the fifth line.");
}

Result:
Console

Current status

This crate development is achieved.

Contact the author at dev@trehinos.eu.

License

© 2024 Sébastien Geldreich
MIT License

No runtime deps