aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
...
* Properly handle maximum number of CSI paramsAaron Hill2017-05-29
| | | | | | | This commit ensures that 'num_params' is never incremented beyond MAX_PARAMS. Additionally, an extra parameter is added to the corresponding OSC test (17 params or MAX_PARAMS + 1) to ensure that the proper behavior is tested.
* Prevent overflow when parsing CSI/DCS parametersAaron Hill2017-05-19
| | | | | To prevent a large CSI or DCS parameter from overflowing an i64, the value is limited to i64::MAX
* Properly handle maximum number of OSC parametersAaron Hill2017-05-16
| | | | | | 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`.
* Fix bug in OSC parsing and drop 8-bit code supportJoe Wilm2017-03-01
| | | | | OSC parsing now handles UTF-8 arguments. 8-bit code support was dropped to make supporting this easier.
* Fix bug parsing CSI attributesJoe Wilm2017-02-02
| | | | | | | | | 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.
* Fix bug with OSC parsingJoe Wilm2017-01-10
| | | | | An osc_dispatch with zero params would cause an underflow and index out of bounds of self.osc_params.
* Version 0.2Joe Wilm2017-01-10
| | | | | Changelog has details, but this basically made OSC handling way easier for dependents.
* Fix bug with OSC string terminationJoe Wilm2016-09-19
| | | | | Apparently 0x07 is frequently used. Not handling this causes SSH prompts to never appear!
* Add inline attributes to vte stuffJoe Wilm2016-09-18
|
* Lightly clean up codeJoe Wilm2016-09-18
| | | | Apparently byte character literals are a thing :).
* Move utf8 parsing into separate crateJoe Wilm2016-09-17
|
* Rename and document vte crateJoe Wilm2016-09-17
|
* Remove UTF-8 TODO commentJoe Wilm2016-09-17
|
* Add support for UTF-8Joe Wilm2016-09-17
| | | | | | | | | | | 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.
* Implement first version of parserJoe Wilm2016-09-16
| | | | | | | | | | | | | | | | 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.
* Expand unpack state/action testsJoe Wilm2016-09-16
|
* Fix some commentsJoe Wilm2016-09-16
|
* Add fixed table.rsJoe Wilm2016-09-16
|
* wip parserJoe Wilm2016-09-13
|
* Finish implementing codegen for state tableJoe Wilm2016-09-13
| | | | | | 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.
* WIPJoe Wilm2016-09-12