pub struct VteTerminalParser { /* private fields */ }Expand description
[vte] state-machine adapter for the supported terminal-state operations.
One instance represents one incremental byte stream. Reusing it for unrelated streams can carry an incomplete escape/UTF-8 sequence from the first stream into the next; create a fresh parser per terminal stream.
§Examples
use ailloli_ui_terminal_core::{TerminalParser, TerminalState, VteTerminalParser};
let mut parser = VteTerminalParser::new();
let mut state = TerminalState::new();
parser.advance(&mut state, b"A\x1b[31mB");
assert_eq!(state.screen.lines[0].cells[1].text, "B");Implementations§
Source§impl VteTerminalParser
impl VteTerminalParser
Sourcepub fn new() -> Self
pub fn new() -> Self
Creates a parser with no buffered partial sequence.
§Examples
use ailloli_ui_terminal_core::{TerminalParser, TerminalState, VteTerminalParser};
let mut parser = VteTerminalParser::new();
let mut state = TerminalState::new();
parser.advance(&mut state, b"ok");
assert!(state.screen.lines[0].plain_text().starts_with("ok"));Trait Implementations§
Source§impl Default for VteTerminalParser
impl Default for VteTerminalParser
Source§impl TerminalParser for VteTerminalParser
impl TerminalParser for VteTerminalParser
Source§fn advance(&mut self, state: &mut TerminalState, bytes: &[u8])
fn advance(&mut self, state: &mut TerminalState, bytes: &[u8])
Advances the internal [vte] machine with a temporary state performer.
Auto Trait Implementations§
impl Freeze for VteTerminalParser
impl RefUnwindSafe for VteTerminalParser
impl Send for VteTerminalParser
impl Sync for VteTerminalParser
impl Unpin for VteTerminalParser
impl UnwindSafe for VteTerminalParser
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more