tastty-core 0.1.0

Sans-IO core of the tastty terminal session library: VT parser, screen buffer, and byte encoders.
use super::*;

fn make_screen(rows: u16, cols: u16) -> Screen {
    Screen::new(crate::grid::Size { rows, cols }, 0)
}

fn process(parser: &mut crate::Parser, bytes: &[u8]) {
    parser.process(bytes);
}

fn drain_replies(parser: &mut crate::Parser) -> Vec<u8> {
    let host = parser.screen().host_profile().clone();
    parser
        .screen_mut()
        .drain_events()
        .iter()
        .filter_map(|e| crate::host_reply::auto_reply_bytes(e, &host))
        .flatten()
        .collect()
}

mod basic;
mod cells_iter;
mod charset;
mod contents;
mod control_chars;
mod coords;
mod cursor;
mod dec_modes;
mod deccolm;
mod decrqm;
mod decrqss;
mod dirty_rows;
mod events;
mod grapheme;
mod host_profile;
mod insert_mode;
mod kitty_keyboard;
mod line_wrap;
mod mouse_modes;
mod osc_133;
mod osc_22;
mod osc_52;
mod osc_7;
mod osc_8;
mod osc_color;
mod osc_notify;
mod osc_title;
mod replies;
mod scroll;
mod selection;
mod sgr;
mod tabs;
mod types;
mod unicode_width;
mod xtgettcap;
mod xtsave;
mod xtwinops;