Parser for implementing virtual terminal emulators
Parser is implemented according to Paul Williams’ ANSI parser
state machine. The state machine doesn’t assign meaning to the parsed data
and is thus not itself sufficient for writing a terminal emulator. Instead,
it is expected that an implementation of
Perform is provided which does
something useful with the parsed data. The
Parser handles the book
keeping, and the
Perform gets to simply handle actions.
cargo build --release --example parselog vim | target/release/examples/parselog
:q to exit.
- UTF-8 Support for Input
- OSC Strings can be terminated by 0x07
- Only supports 7-bit codes. Some 8-bit codes are still supported, but they no longer work in all states.
- Parser for raw VTE protocol which delegates actions to a
- Performs actions requested by the Parser