Expand description

An implementation of the state machine described by DEC ANSI Parser, modified to support UTF-8.

This is sufficient to broadly categorize ANSI/ECMA-48 escape sequences that are commonly used in terminal emulators. It does not ascribe semantic meaning to those escape sequences; for example, if you wish to parse the SGR sequence that makes text bold, you will need to know which codes correspond to bold in your implementation of VTActor.

You may wish to use termwiz::escape::parser::Parser in the termwiz crate if you don’t want to have to research all those possible escape sequences for yourself.


This is an implementation of VTActor that captures the events into an internal vector. It can be iterated via into_iter or have the internal vector extracted via into_vec.

The virtual terminal parser. It works together with an implementation of VTActor.


Represents a parameter to a CSI-based escaped sequence.

VTAction is an alternative way to work with the parser; rather than implementing the VTActor trait you can use CollectingVTActor to capture the sequence of events into a Vec<VTAction>.


VTActor is a trait that allows the host application to process the different kinds of sequence as they are parsed from the input stream.