aboutsummaryrefslogtreecommitdiff
path: root/codegen/src/ext
Commit message (Collapse)AuthorAge
* Remove table generationChristian Duerr2019-12-10
| | | | | | | | | | | | | | | This completely removes the `codegen` project, which relied on outdated libraries to parse DSLs to build the utf8 and vte state tables, to make the library easier to maintain. The utf8 table could be completely removed in favor of a `match` statement, which also lead to a performance improvement with the utf8 parser. The vte table did not benefit from `match` statements at all and instead had significantly worse performance with it. To replace the old codegeneration for vte, the `generate_state_changes` crate has been created instead, which uses the language's proc_macro feature to create a `const fn` which will generate the table at compile time.
* Update to Rust 2018Christian Duerr2019-11-23
| | | | | | This moves all crates in the workspace to the latest Rust standard and resolves various style and formatting issues. Fixes #32.
* Move utf8 parsing into separate crateJoe 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.