Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(19)

Unified Diff: third_party/libteken/teken/teken_state.h

Issue 1127823002: Add libteken (from FreeBSD) to third_party. (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: removed unused stuff Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « third_party/libteken/teken/teken_scs.h ('k') | third_party/libteken/teken/teken_subr.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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);
+}
« no previous file with comments | « third_party/libteken/teken/teken_scs.h ('k') | third_party/libteken/teken/teken_subr.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698