#ansi-term #ansi #csi #terminal-text #terminal #ecma-48

coded-chars

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

12 releases (3 major breaking)

3.0.1 Sep 4, 2024
3.0.0 Sep 3, 2024
2.0.0 Sep 3, 2024
1.0.1 Sep 3, 2024
0.1.4 Aug 31, 2024

#349 in Command-line interface

MIT license

150KB
1K 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 crate::clear_screen;
use crate::cursor::set_position;
use crate::presentation::{format_str, select_graphic};

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

// Clear screen
clear_screen();

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

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

Current status

This crate development is achieved.

Contact the author at dev@trehinos.eu.

License

© 2024 Sébastien Geldreich
MIT License

No runtime deps