inkferro-core 0.1.0

Layout, text measurement, ANSI render, and frame-diff engine for inkferro — a Rust-backed, byte-for-byte drop-in for the ink terminal UI library.
Documentation
//! Named constants ported from `consts.js` of `@alcalzone/ansi-tokenize@0.3.0`.

/// ESC character (0x1B).
pub const ESC: u8 = 0x1B;

/// CSI introducer character `[` (0x5B).
pub const CSI: u8 = b'[';

/// OSC introducer character `]` (0x5D).
pub const OSC: u8 = b']';

/// C1 String Terminator (ST), code point U+009C.
///
/// As a Unicode scalar value this is `'\u{9C}'`; in UTF-8 it encodes to the two
/// bytes `0xC2 0x9C`. OSC sequences may be terminated by it.
pub const C1_ST: char = '\u{9C}';

/// SGR final byte `m` (0x6D).
pub const SGR_FINAL: u8 = b'm';

/// OSC 8 hyperlink prefix: `ESC ] 8 ;` (`"\x1B]8;"`).
pub const LINK_CODE_PREFIX: &str = "\x1B]8;";

/// OSC 8 link end code terminated by BEL: `ESC ] 8 ; ; BEL`.
pub const LINK_END_CODE: &str = "\x1B]8;;\x07";

/// OSC 8 link end code terminated by ST (`ESC \`): `ESC ] 8 ; ; ESC \`.
pub const LINK_END_CODE_ST: &str = "\x1B]8;;\x1B\\";

/// OSC 8 link end code terminated by C1 ST (U+009C): `ESC ] 8 ; ; \u{9C}`.
pub const LINK_END_CODE_C1ST: &str = "\x1B]8;;\u{9C}";