| Index: third_party/libteken/teken/teken_state.h
|
| diff --git a/third_party/libteken/teken/teken_state.h b/third_party/libteken/teken/teken_state.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..65b0b44e2009bdfddd542d272e9b473457626f51
|
| --- /dev/null
|
| +++ b/third_party/libteken/teken/teken_state.h
|
| @@ -0,0 +1,383 @@
|
| +/* Generated file. Do not edit. */
|
| +
|
| +static teken_state_t teken_state_2;
|
| +static teken_state_t teken_state_6;
|
| +static teken_state_t teken_state_1;
|
| +static teken_state_t teken_state_7;
|
| +static teken_state_t teken_state_8;
|
| +static teken_state_t teken_state_3;
|
| +static teken_state_t teken_state_5;
|
| +static teken_state_t teken_state_4;
|
| +
|
| +/* '' */
|
| +static void
|
| +teken_state_init(teken_t *t, teken_char_t c)
|
| +{
|
| +
|
| + switch (c) {
|
| + case '\x1B':
|
| + teken_state_switch(t, teken_state_1);
|
| + return;
|
| + default:
|
| + teken_subr_regular_character(t, c);
|
| + break;
|
| + }
|
| +}
|
| +
|
| +/* '^[[' */
|
| +static void
|
| +teken_state_2(teken_t *t, teken_char_t c)
|
| +{
|
| +
|
| + if (teken_state_numbers(t, c))
|
| + return;
|
| +
|
| + switch (c) {
|
| + case 'X': /* ECH: Erase character */
|
| + teken_subr_erase_character(t, (t->t_curnum < 1 || t->t_nums[0] == 0) ? 1 : t->t_nums[0]);
|
| + break;
|
| + case 'Z': /* CBT: Cursor Backward Tabulation */
|
| + teken_subr_cursor_backward_tabulation(t, (t->t_curnum < 1 || t->t_nums[0] == 0) ? 1 : t->t_nums[0]);
|
| + break;
|
| + case '`': /* HPA: Horizontal Position Absolute */
|
| + teken_subr_horizontal_position_absolute(t, (t->t_curnum < 1 || t->t_nums[0] == 0) ? 1 : t->t_nums[0]);
|
| + break;
|
| + case 'a': /* CUF: Cursor Forward */
|
| + teken_subr_cursor_forward(t, (t->t_curnum < 1 || t->t_nums[0] == 0) ? 1 : t->t_nums[0]);
|
| + break;
|
| + case 'c': /* DA1: Primary Device Attributes */
|
| + teken_subr_primary_device_attributes(t, t->t_curnum < 1 ? 0 : t->t_nums[0]);
|
| + break;
|
| + case 'd': /* VPA: Vertical Position Absolute */
|
| + teken_subr_vertical_position_absolute(t, (t->t_curnum < 1 || t->t_nums[0] == 0) ? 1 : t->t_nums[0]);
|
| + break;
|
| + case 'e': /* CUD: Cursor Down */
|
| + teken_subr_cursor_down(t, (t->t_curnum < 1 || t->t_nums[0] == 0) ? 1 : t->t_nums[0]);
|
| + break;
|
| + case 'f': /* CUP: Cursor Position */
|
| + teken_subr_cursor_position(t, (t->t_curnum < 1 || t->t_nums[0] == 0) ? 1 : t->t_nums[0], (t->t_curnum < 2 || t->t_nums[1] == 0) ? 1 : t->t_nums[1]);
|
| + break;
|
| + case 'g': /* TBC: Tab Clear */
|
| + teken_subr_tab_clear(t, t->t_curnum < 1 ? 0 : t->t_nums[0]);
|
| + break;
|
| + case 'h': /* SM: Set Mode */
|
| + teken_subr_set_mode(t, t->t_curnum < 1 ? 0 : t->t_nums[0]);
|
| + break;
|
| + case 'l': /* RM: Reset Mode */
|
| + teken_subr_reset_mode(t, t->t_curnum < 1 ? 0 : t->t_nums[0]);
|
| + break;
|
| + case 'm': /* SGR: Set Graphic Rendition */
|
| + teken_subr_set_graphic_rendition(t, t->t_curnum, t->t_nums);
|
| + break;
|
| + case 'n': /* CPR: Cursor Position Report */
|
| + teken_subr_cursor_position_report(t, t->t_curnum < 1 ? 0 : t->t_nums[0]);
|
| + break;
|
| + case 'r': /* DECSTBM: Set top and bottom margins */
|
| + teken_subr_set_top_and_bottom_margins(t, t->t_curnum < 1 ? 0 : t->t_nums[0], t->t_curnum < 2 ? 0 : t->t_nums[1]);
|
| + break;
|
| + case 's': /* DECSC: Save cursor */
|
| + teken_subr_save_cursor(t);
|
| + break;
|
| + case 'u': /* DECRC: Restore cursor */
|
| + teken_subr_restore_cursor(t);
|
| + break;
|
| + case 'x': /* C25SGR: Cons25 set graphic rendition */
|
| + teken_subr_cons25_set_graphic_rendition(t, t->t_curnum < 1 ? 0 : t->t_nums[0], t->t_curnum < 2 ? 0 : t->t_nums[1]);
|
| + break;
|
| + case 'z': /* C25VTSW: Cons25 switch virtual terminal */
|
| + teken_subr_cons25_switch_virtual_terminal(t, t->t_curnum < 1 ? 0 : t->t_nums[0]);
|
| + break;
|
| + case '@': /* ICH: Insert character */
|
| + teken_subr_insert_character(t, (t->t_curnum < 1 || t->t_nums[0] == 0) ? 1 : t->t_nums[0]);
|
| + break;
|
| + case 'A': /* CUU: Cursor Up */
|
| + teken_subr_cursor_up(t, (t->t_curnum < 1 || t->t_nums[0] == 0) ? 1 : t->t_nums[0]);
|
| + break;
|
| + case 'B': /* CUD: Cursor Down */
|
| + teken_subr_cursor_down(t, (t->t_curnum < 1 || t->t_nums[0] == 0) ? 1 : t->t_nums[0]);
|
| + break;
|
| + case 'C': /* CUF: Cursor Forward */
|
| + teken_subr_cursor_forward(t, (t->t_curnum < 1 || t->t_nums[0] == 0) ? 1 : t->t_nums[0]);
|
| + break;
|
| + case 'D': /* CUB: Cursor Backward */
|
| + teken_subr_cursor_backward(t, (t->t_curnum < 1 || t->t_nums[0] == 0) ? 1 : t->t_nums[0]);
|
| + break;
|
| + case 'E': /* CNL: Cursor Next Line */
|
| + teken_subr_cursor_next_line(t, (t->t_curnum < 1 || t->t_nums[0] == 0) ? 1 : t->t_nums[0]);
|
| + break;
|
| + case 'F': /* CPL: Cursor Previous Line */
|
| + teken_subr_cursor_previous_line(t, (t->t_curnum < 1 || t->t_nums[0] == 0) ? 1 : t->t_nums[0]);
|
| + break;
|
| + case 'G': /* HPA: Horizontal Position Absolute */
|
| + teken_subr_horizontal_position_absolute(t, (t->t_curnum < 1 || t->t_nums[0] == 0) ? 1 : t->t_nums[0]);
|
| + break;
|
| + case 'H': /* CUP: Cursor Position */
|
| + teken_subr_cursor_position(t, (t->t_curnum < 1 || t->t_nums[0] == 0) ? 1 : t->t_nums[0], (t->t_curnum < 2 || t->t_nums[1] == 0) ? 1 : t->t_nums[1]);
|
| + break;
|
| + case 'I': /* CHT: Cursor Forward Tabulation */
|
| + teken_subr_cursor_forward_tabulation(t, (t->t_curnum < 1 || t->t_nums[0] == 0) ? 1 : t->t_nums[0]);
|
| + break;
|
| + case 'J': /* ED: Erase display */
|
| + teken_subr_erase_display(t, t->t_curnum < 1 ? 0 : t->t_nums[0]);
|
| + break;
|
| + case 'K': /* EL: Erase line */
|
| + teken_subr_erase_line(t, t->t_curnum < 1 ? 0 : t->t_nums[0]);
|
| + break;
|
| + case 'L': /* IL: Insert line */
|
| + teken_subr_insert_line(t, (t->t_curnum < 1 || t->t_nums[0] == 0) ? 1 : t->t_nums[0]);
|
| + break;
|
| + case 'M': /* DL: Delete line */
|
| + teken_subr_delete_line(t, (t->t_curnum < 1 || t->t_nums[0] == 0) ? 1 : t->t_nums[0]);
|
| + break;
|
| + case 'P': /* DC: Delete character */
|
| + teken_subr_delete_character(t, (t->t_curnum < 1 || t->t_nums[0] == 0) ? 1 : t->t_nums[0]);
|
| + break;
|
| + case 'S': /* SU: Pan Down */
|
| + teken_subr_pan_down(t, (t->t_curnum < 1 || t->t_nums[0] == 0) ? 1 : t->t_nums[0]);
|
| + break;
|
| + case 'T': /* SD: Pan Up */
|
| + teken_subr_pan_up(t, (t->t_curnum < 1 || t->t_nums[0] == 0) ? 1 : t->t_nums[0]);
|
| + break;
|
| + case '=':
|
| + teken_state_switch(t, teken_state_8);
|
| + return;
|
| + case '>':
|
| + teken_state_switch(t, teken_state_3);
|
| + return;
|
| + case '?':
|
| + teken_state_switch(t, teken_state_5);
|
| + return;
|
| + default:
|
| + teken_printf("Unsupported sequence in teken_state_2: %u\n", (unsigned int)c);
|
| + break;
|
| + }
|
| +
|
| + teken_state_switch(t, teken_state_init);
|
| +}
|
| +
|
| +/* '^[(' */
|
| +static void
|
| +teken_state_6(teken_t *t, teken_char_t c)
|
| +{
|
| +
|
| + switch (c) {
|
| + case '0': /* G0SCS0: G0 SCS Special Graphics */
|
| + teken_subr_g0_scs_special_graphics(t);
|
| + break;
|
| + case '1': /* G0SCS1: G0 SCS US ASCII */
|
| + teken_subr_g0_scs_us_ascii(t);
|
| + break;
|
| + case '2': /* G0SCS2: G0 SCS Special Graphics */
|
| + teken_subr_g0_scs_special_graphics(t);
|
| + break;
|
| + case 'A': /* G0SCSA: G0 SCS UK National */
|
| + teken_subr_g0_scs_uk_national(t);
|
| + break;
|
| + case 'B': /* G0SCSB: G0 SCS US ASCII */
|
| + teken_subr_g0_scs_us_ascii(t);
|
| + break;
|
| + default:
|
| + teken_printf("Unsupported sequence in teken_state_6: %u\n", (unsigned int)c);
|
| + break;
|
| + }
|
| +
|
| + teken_state_switch(t, teken_state_init);
|
| +}
|
| +
|
| +/* '^[' */
|
| +static void
|
| +teken_state_1(teken_t *t, teken_char_t c)
|
| +{
|
| +
|
| + switch (c) {
|
| + case '7': /* DECSC: Save cursor */
|
| + teken_subr_save_cursor(t);
|
| + break;
|
| + case '8': /* DECRC: Restore cursor */
|
| + teken_subr_restore_cursor(t);
|
| + break;
|
| + case '=': /* DECKPAM: Keypad application mode */
|
| + teken_subr_keypad_application_mode(t);
|
| + break;
|
| + case '>': /* DECKPNM: Keypad numeric mode */
|
| + teken_subr_keypad_numeric_mode(t);
|
| + break;
|
| + case 'D': /* IND: Index */
|
| + teken_subr_index(t);
|
| + break;
|
| + case 'E': /* NEL: Next line */
|
| + teken_subr_next_line(t);
|
| + break;
|
| + case 'H': /* HTS: Horizontal Tab Set */
|
| + teken_subr_horizontal_tab_set(t);
|
| + break;
|
| + case 'M': /* RI: Reverse index */
|
| + teken_subr_reverse_index(t);
|
| + break;
|
| + case 'P': /* DCS: Device Control String */
|
| + teken_subr_device_control_string(t);
|
| + break;
|
| + case ']': /* OSC: Operating System Command */
|
| + teken_subr_operating_system_command(t);
|
| + break;
|
| + case 'c': /* RIS: Reset to Initial State */
|
| + teken_subr_reset_to_initial_state(t);
|
| + break;
|
| + case '\\': /* ST: String Terminator */
|
| + teken_subr_string_terminator(t);
|
| + break;
|
| + case '[':
|
| + teken_state_switch(t, teken_state_2);
|
| + return;
|
| + case '(':
|
| + teken_state_switch(t, teken_state_6);
|
| + return;
|
| + case ')':
|
| + teken_state_switch(t, teken_state_7);
|
| + return;
|
| + case '#':
|
| + teken_state_switch(t, teken_state_4);
|
| + return;
|
| + default:
|
| + teken_printf("Unsupported sequence in teken_state_1: %u\n", (unsigned int)c);
|
| + break;
|
| + }
|
| +
|
| + teken_state_switch(t, teken_state_init);
|
| +}
|
| +
|
| +/* '^[)' */
|
| +static void
|
| +teken_state_7(teken_t *t, teken_char_t c)
|
| +{
|
| +
|
| + switch (c) {
|
| + case '0': /* G1SCS0: G1 SCS Special Graphics */
|
| + teken_subr_g1_scs_special_graphics(t);
|
| + break;
|
| + case '1': /* G1SCS1: G1 SCS US ASCII */
|
| + teken_subr_g1_scs_us_ascii(t);
|
| + break;
|
| + case '2': /* G1SCS2: G1 SCS Special Graphics */
|
| + teken_subr_g1_scs_special_graphics(t);
|
| + break;
|
| + case 'A': /* G1SCSA: G1 SCS UK National */
|
| + teken_subr_g1_scs_uk_national(t);
|
| + break;
|
| + case 'B': /* G1SCSB: G1 SCS US ASCII */
|
| + teken_subr_g1_scs_us_ascii(t);
|
| + break;
|
| + default:
|
| + teken_printf("Unsupported sequence in teken_state_7: %u\n", (unsigned int)c);
|
| + break;
|
| + }
|
| +
|
| + teken_state_switch(t, teken_state_init);
|
| +}
|
| +
|
| +/* '^[[=' */
|
| +static void
|
| +teken_state_8(teken_t *t, teken_char_t c)
|
| +{
|
| +
|
| + if (teken_state_numbers(t, c))
|
| + return;
|
| +
|
| + switch (c) {
|
| + case 'B': /* C25BLPD: Cons25 set bell pitch duration */
|
| + teken_subr_cons25_set_bell_pitch_duration(t, t->t_curnum < 1 ? 0 : t->t_nums[0], t->t_curnum < 2 ? 0 : t->t_nums[1]);
|
| + break;
|
| + case 'F': /* C25ADFG: Cons25 set adapter foreground */
|
| + teken_subr_cons25_set_adapter_foreground(t, t->t_curnum < 1 ? 0 : t->t_nums[0]);
|
| + break;
|
| + case 'G': /* C25ADBG: Cons25 set adapter background */
|
| + teken_subr_cons25_set_adapter_background(t, t->t_curnum < 1 ? 0 : t->t_nums[0]);
|
| + break;
|
| + case 'S': /* C25CURS: Cons25 set cursor type */
|
| + teken_subr_cons25_set_cursor_type(t, t->t_curnum < 1 ? 0 : t->t_nums[0]);
|
| + break;
|
| + case 'T': /* C25MODE: Cons25 set terminal mode */
|
| + teken_subr_cons25_set_terminal_mode(t, t->t_curnum < 1 ? 0 : t->t_nums[0]);
|
| + break;
|
| + default:
|
| + teken_printf("Unsupported sequence in teken_state_8: %u\n", (unsigned int)c);
|
| + break;
|
| + }
|
| +
|
| + teken_state_switch(t, teken_state_init);
|
| +}
|
| +
|
| +/* '^[[>' */
|
| +static void
|
| +teken_state_3(teken_t *t, teken_char_t c)
|
| +{
|
| +
|
| + if (teken_state_numbers(t, c))
|
| + return;
|
| +
|
| + switch (c) {
|
| + case 'c': /* DA2: Secondary Device Attributes */
|
| + teken_subr_secondary_device_attributes(t, t->t_curnum < 1 ? 0 : t->t_nums[0]);
|
| + break;
|
| + default:
|
| + teken_printf("Unsupported sequence in teken_state_3: %u\n", (unsigned int)c);
|
| + break;
|
| + }
|
| +
|
| + teken_state_switch(t, teken_state_init);
|
| +}
|
| +
|
| +/* '^[[?' */
|
| +static void
|
| +teken_state_5(teken_t *t, teken_char_t c)
|
| +{
|
| +
|
| + if (teken_state_numbers(t, c))
|
| + return;
|
| +
|
| + switch (c) {
|
| + case 'h': /* DECSM: Set DEC mode */
|
| + teken_subr_set_dec_mode(t, t->t_curnum < 1 ? 0 : t->t_nums[0]);
|
| + break;
|
| + case 'l': /* DECRM: Reset DEC mode */
|
| + teken_subr_reset_dec_mode(t, t->t_curnum < 1 ? 0 : t->t_nums[0]);
|
| + break;
|
| + case 'n': /* DSR: Device Status Report */
|
| + teken_subr_device_status_report(t, t->t_curnum < 1 ? 0 : t->t_nums[0]);
|
| + break;
|
| + default:
|
| + teken_printf("Unsupported sequence in teken_state_5: %u\n", (unsigned int)c);
|
| + break;
|
| + }
|
| +
|
| + teken_state_switch(t, teken_state_init);
|
| +}
|
| +
|
| +/* '^[#' */
|
| +static void
|
| +teken_state_4(teken_t *t, teken_char_t c)
|
| +{
|
| +
|
| + switch (c) {
|
| + case '3': /* DECDHL: Double Height Double Width Line Top */
|
| + teken_subr_double_height_double_width_line_top(t);
|
| + break;
|
| + case '4': /* DECDHL: Double Height Double Width Line Bottom */
|
| + teken_subr_double_height_double_width_line_bottom(t);
|
| + break;
|
| + case '5': /* DECSWL: Single Height Single Width Line */
|
| + teken_subr_single_height_single_width_line(t);
|
| + break;
|
| + case '6': /* DECDWL: Single Height Double Width Line */
|
| + teken_subr_single_height_double_width_line(t);
|
| + break;
|
| + case '8': /* DECALN: Alignment test */
|
| + teken_subr_alignment_test(t);
|
| + break;
|
| + default:
|
| + teken_printf("Unsupported sequence in teken_state_4: %u\n", (unsigned int)c);
|
| + break;
|
| + }
|
| +
|
| + teken_state_switch(t, teken_state_init);
|
| +}
|
|
|