| Commit message (Collapse) | Author | Age |
| ... | |
| |
|
|
|
| |
To prevent a large CSI or DCS parameter from overflowing an i64, the
value is limited to i64::MAX
|
| |
|
|
|
|
| |
Previously, `osc_num_params` would be incremented when the final
parameter finished parsing, even if it was already at `MAX_PARAMS`. This
commit ensures that it is not incremented beyond `MAX_PARAMS`.
|
| |
|
|
|
| |
OSC parsing now handles UTF-8 arguments. 8-bit code support was dropped
to make supporting this easier.
|
| |
|
|
|
|
|
|
|
| |
The sequence \E[;4m previously produced a param list of [4], but the
expected result is [0, 4]. The semicolon indicated that a param has been
completed. Since no byte is specified, it should be zero.
This fixes an issue with the save/restore cursor test in vttest for
Alacritty.
|
| |
|
|
|
| |
An osc_dispatch with zero params would cause an underflow and index out
of bounds of self.osc_params.
|
| |
|
|
|
| |
Changelog has details, but this basically made OSC handling way easier
for dependents.
|
| |\
| |
| | |
Add travis.yml
|
| |/ |
|
| |\
| |
| | |
adds test for UTF-8 parsing
|
| |/ |
|
| |
|
|
|
| |
Apparently 0x07 is frequently used. Not handling this causes SSH prompts
to never appear!
|
| | |
|
| | |
|
| |
|
|
| |
Apparently byte character literals are a thing :).
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
| |
This adds a table-driven UTF-8 parser which only has a single branch for
the entire parser. UTF-8 support is essentially bolted onto the VTE
parser. Not the most elegant, but it does prevent the transition tables
from blowing up.
Instead of refactoring the syntax extension to handle both table
definitions, I've opted to copy/paste now for both simplicities sake and
because I can't see a clear path to a minimal shared solution.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Includes an example `parselog` which prints all of the actions a Parser
implementation is given the opportunity to handle. One way to test this
is to pipe vim into it:
vim | target/release/examples/parselog
And type `:q` to quit. Vim won't show up, but it still accepts input.
This version of the parser doesn't handle UTF-8. It's implemented as
described by http://vt100.net/emu/dec_ansi_parser which did not include
UTF-8 support.
Next steps are adding UTF-8 support.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
Debugging
|
| |
|
|
|
| |
This shows the variant in addition to the packed value - much more
helpful when debugging.
|
| | |
|
| |
|
|
|
|
| |
When modifying table.rs.in, `cargo run` must be run in the `codegen`
crate. The result of expansion is included in the source tree so that
consumers don't need to pull in syntex just to compile.
|
| | |
|
| |
|