use std::fmt::{Display, Formatter};
use crate::introducers::ESC;
#[derive(Copy, Clone)]
pub struct EscapeSequence(char);
impl EscapeSequence {
pub const fn new(with: char) -> Self { Self(with) }
}
impl Display for EscapeSequence {
fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
write!(f, "{}{}", ESC, self.0)
}
}
pub const fn escape(c:char) -> EscapeSequence { EscapeSequence::new(c) }
pub const PAD: EscapeSequence = escape('@');
pub const HOP: EscapeSequence = escape('A');
pub const IND: EscapeSequence = escape('D');
pub const PU1: EscapeSequence = escape('Q');
pub const PU2: EscapeSequence = escape('R');
pub const STS: EscapeSequence = escape('S');
pub const CCH: EscapeSequence = escape('T');
pub const MW: EscapeSequence = escape('U');
pub const SGC: EscapeSequence = escape('Y');