| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
This moves all crates in the workspace to the latest Rust standard and
resolves various style and formatting issues.
Fixes #32.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
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.
|
| |
|
|
|