9 unstable releases
0.6.2 | Aug 2, 2022 |
---|---|
0.6.1 | Apr 7, 2022 |
0.6.0 | Dec 22, 2021 |
0.5.0 | Apr 14, 2021 |
0.1.0 | Jun 30, 2019 |
#169 in Command-line interface
70,161 downloads per month
Used in 43 crates
(via termwiz)
53KB
1K
SLoC
vtparse
This is an implementation of a parser for escape and control sequences. It is based on the DEC ANSI Parser.
It has been modified slightly to support UTF-8 sequences.
vtparse
is the lowest level parser; it categorizes the basic
types of sequences but does not ascribe any semantic meaning
to them.
You may wish to look at termwiz::escape::parser::Parser
in the
termwiz crate if you're looking for semantic
parsing.
Comparison with the vte
crate
vtparse
has support for dynamically sized OSC buffers, which makes
it suitable for processing large escape sequences, such as those
used by the iTerm2
image protocol.
lib.rs
:
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.
Dependencies
~14KB