diff options
Diffstat (limited to 'vendor/anstyle-parse/src/state/codegen.rs')
-rw-r--r-- | vendor/anstyle-parse/src/state/codegen.rs | 217 |
1 files changed, 0 insertions, 217 deletions
diff --git a/vendor/anstyle-parse/src/state/codegen.rs b/vendor/anstyle-parse/src/state/codegen.rs deleted file mode 100644 index 226c2d4..0000000 --- a/vendor/anstyle-parse/src/state/codegen.rs +++ /dev/null @@ -1,217 +0,0 @@ -use super::{pack, unpack, Action, State}; - -use vte_generate_state_changes::generate_state_changes; - -#[test] -fn table() { - let mut content = vec![]; - generate_table(&mut content).unwrap(); - - let content = String::from_utf8(content).unwrap(); - let content = codegenrs::rustfmt(&content, None).unwrap(); - snapbox::assert_eq_path("./src/state/table.rs", content); -} - -#[allow(clippy::write_literal)] -fn generate_table(file: &mut impl std::io::Write) -> std::io::Result<()> { - writeln!( - file, - "// This file is @generated by {}", - file!().replace('\\', "/") - )?; - writeln!(file)?; - writeln!( - file, - "{}", - r#"#[rustfmt::skip] -pub(crate) const STATE_CHANGES: [[u8; 256]; 16] = ["# - )?; - - for (state, entries) in STATE_CHANGES.iter().enumerate() { - writeln!(file, " // {:?}", State::try_from(state as u8).unwrap())?; - write!(file, " [")?; - let mut last_entry = None; - for packed in entries { - let (next_state, action) = unpack(*packed); - if last_entry != Some(packed) { - writeln!(file)?; - writeln!(file, " // {:?} {:?}", next_state, action)?; - write!(file, " ")?; - } - write!(file, "0x{:0>2x}, ", packed)?; - last_entry = Some(packed); - } - writeln!(file)?; - writeln!(file, " ],")?; - } - - writeln!(file, "{}", r#"];"#)?; - Ok(()) -} - -/// This is the state change table. It's indexed first by current state and then by the next -/// character in the pty stream. -pub static STATE_CHANGES: [[u8; 256]; 16] = state_changes(); -generate_state_changes!(state_changes, { - Anywhere { - 0x18 => (Ground, Execute), - 0x1a => (Ground, Execute), - 0x1b => (Escape, Nop), - }, - - Ground { - 0x00..=0x17 => (Anywhere, Execute), - 0x19 => (Anywhere, Execute), - 0x1c..=0x1f => (Anywhere, Execute), - 0x20..=0x7f => (Anywhere, Print), - 0x80..=0x8f => (Anywhere, Execute), - 0x91..=0x9a => (Anywhere, Execute), - 0x9c => (Anywhere, Execute), - // Beginning of UTF-8 2 byte sequence - 0xc2..=0xdf => (Utf8, BeginUtf8), - // Beginning of UTF-8 3 byte sequence - 0xe0..=0xef => (Utf8, BeginUtf8), - // Beginning of UTF-8 4 byte sequence - 0xf0..=0xf4 => (Utf8, BeginUtf8), - }, - - Escape { - 0x00..=0x17 => (Anywhere, Execute), - 0x19 => (Anywhere, Execute), - 0x1c..=0x1f => (Anywhere, Execute), - 0x7f => (Anywhere, Ignore), - 0x20..=0x2f => (EscapeIntermediate, Collect), - 0x30..=0x4f => (Ground, EscDispatch), - 0x51..=0x57 => (Ground, EscDispatch), - 0x59 => (Ground, EscDispatch), - 0x5a => (Ground, EscDispatch), - 0x5c => (Ground, EscDispatch), - 0x60..=0x7e => (Ground, EscDispatch), - 0x5b => (CsiEntry, Nop), - 0x5d => (OscString, Nop), - 0x50 => (DcsEntry, Nop), - 0x58 => (SosPmApcString, Nop), - 0x5e => (SosPmApcString, Nop), - 0x5f => (SosPmApcString, Nop), - }, - - EscapeIntermediate { - 0x00..=0x17 => (Anywhere, Execute), - 0x19 => (Anywhere, Execute), - 0x1c..=0x1f => (Anywhere, Execute), - 0x20..=0x2f => (Anywhere, Collect), - 0x7f => (Anywhere, Ignore), - 0x30..=0x7e => (Ground, EscDispatch), - }, - - CsiEntry { - 0x00..=0x17 => (Anywhere, Execute), - 0x19 => (Anywhere, Execute), - 0x1c..=0x1f => (Anywhere, Execute), - 0x7f => (Anywhere, Ignore), - 0x20..=0x2f => (CsiIntermediate, Collect), - 0x30..=0x39 => (CsiParam, Param), - 0x3a..=0x3b => (CsiParam, Param), - 0x3c..=0x3f => (CsiParam, Collect), - 0x40..=0x7e => (Ground, CsiDispatch), - }, - - CsiIgnore { - 0x00..=0x17 => (Anywhere, Execute), - 0x19 => (Anywhere, Execute), - 0x1c..=0x1f => (Anywhere, Execute), - 0x20..=0x3f => (Anywhere, Ignore), - 0x7f => (Anywhere, Ignore), - 0x40..=0x7e => (Ground, Nop), - }, - - CsiParam { - 0x00..=0x17 => (Anywhere, Execute), - 0x19 => (Anywhere, Execute), - 0x1c..=0x1f => (Anywhere, Execute), - 0x30..=0x39 => (Anywhere, Param), - 0x3a..=0x3b => (Anywhere, Param), - 0x7f => (Anywhere, Ignore), - 0x3c..=0x3f => (CsiIgnore, Nop), - 0x20..=0x2f => (CsiIntermediate, Collect), - 0x40..=0x7e => (Ground, CsiDispatch), - }, - - CsiIntermediate { - 0x00..=0x17 => (Anywhere, Execute), - 0x19 => (Anywhere, Execute), - 0x1c..=0x1f => (Anywhere, Execute), - 0x20..=0x2f => (Anywhere, Collect), - 0x7f => (Anywhere, Ignore), - 0x30..=0x3f => (CsiIgnore, Nop), - 0x40..=0x7e => (Ground, CsiDispatch), - }, - - DcsEntry { - 0x00..=0x17 => (Anywhere, Ignore), - 0x19 => (Anywhere, Ignore), - 0x1c..=0x1f => (Anywhere, Ignore), - 0x7f => (Anywhere, Ignore), - 0x20..=0x2f => (DcsIntermediate, Collect), - 0x30..=0x39 => (DcsParam, Param), - 0x3a..=0x3b => (DcsParam, Param), - 0x3c..=0x3f => (DcsParam, Collect), - 0x40..=0x7e => (DcsPassthrough, Nop), - }, - - DcsIntermediate { - 0x00..=0x17 => (Anywhere, Ignore), - 0x19 => (Anywhere, Ignore), - 0x1c..=0x1f => (Anywhere, Ignore), - 0x20..=0x2f => (Anywhere, Collect), - 0x7f => (Anywhere, Ignore), - 0x30..=0x3f => (DcsIgnore, Nop), - 0x40..=0x7e => (DcsPassthrough, Nop), - }, - - DcsIgnore { - 0x00..=0x17 => (Anywhere, Ignore), - 0x19 => (Anywhere, Ignore), - 0x1c..=0x1f => (Anywhere, Ignore), - 0x20..=0x7f => (Anywhere, Ignore), - 0x9c => (Ground, Nop), - }, - - DcsParam { - 0x00..=0x17 => (Anywhere, Ignore), - 0x19 => (Anywhere, Ignore), - 0x1c..=0x1f => (Anywhere, Ignore), - 0x30..=0x39 => (Anywhere, Param), - 0x3a..=0x3b => (Anywhere, Param), - 0x7f => (Anywhere, Ignore), - 0x3c..=0x3f => (DcsIgnore, Nop), - 0x20..=0x2f => (DcsIntermediate, Collect), - 0x40..=0x7e => (DcsPassthrough, Nop), - }, - - DcsPassthrough { - 0x00..=0x17 => (Anywhere, Put), - 0x19 => (Anywhere, Put), - 0x1c..=0x1f => (Anywhere, Put), - 0x20..=0x7e => (Anywhere, Put), - 0x7f => (Anywhere, Ignore), - 0x9c => (Ground, Nop), - }, - - SosPmApcString { - 0x00..=0x17 => (Anywhere, Ignore), - 0x19 => (Anywhere, Ignore), - 0x1c..=0x1f => (Anywhere, Ignore), - 0x20..=0x7f => (Anywhere, Ignore), - 0x9c => (Ground, Nop), - }, - - OscString { - 0x00..=0x06 => (Anywhere, Ignore), - 0x07 => (Ground, Nop), - 0x08..=0x17 => (Anywhere, Ignore), - 0x19 => (Anywhere, Ignore), - 0x1c..=0x1f => (Anywhere, Ignore), - 0x20..=0xff => (Anywhere, OscPut), - } -}); |