From f3c401b01b531e2b4dc6873dbd1790a518157390 Mon Sep 17 00:00:00 2001 From: Raphael Amorim Date: Wed, 5 Feb 2025 14:41:32 -0300 Subject: [PATCH 1/2] update tests --- .gitignore | 6 + grammar.js | 6 +- package.json | 6 +- src/grammar.json | 6 +- src/node-types.json | 1 + src/parser.c | 845 ++++++++++++++++++++------------------- src/parser.o | Bin 0 -> 65808 bytes src/tree_sitter/alloc.h | 8 +- src/tree_sitter/array.h | 3 +- src/tree_sitter/parser.h | 1 + test/corpus/commands.txt | 66 +++ 11 files changed, 520 insertions(+), 428 deletions(-) create mode 100644 src/parser.o diff --git a/.gitignore b/.gitignore index fe74398..7511989 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,9 @@ node_modules build .DS_Store + +# Ignore tree-sitter generated files +tree-sitter.json +tree-sitter-vhs.pc +libtree-sitter-vhs.dylib +libtree-sitter-vhs.a \ No newline at end of file diff --git a/grammar.js b/grammar.js index 383854d..abaaa00 100644 --- a/grammar.js +++ b/grammar.js @@ -30,9 +30,9 @@ module.exports = grammar({ $.require, ), - control: $ => /Ctrl\+(Alt\+)?(Shift\+)?([A-Z]|Enter)/, - alt: $ => /Alt\+(Shift\+)?([A-Z]|Enter|Tab)/, - shift: $ => /Shift\+([A-Z]|Enter|Tab)/, + control: $ => /Ctrl\+(Alt\+)?(Shift\+)?([^/\d/\s:]|Enter)/, + alt: $ => /Alt\+(Shift\+)?([^/\d/\s:]|Enter|Tab)/, + shift: $ => /Shift\+([^/\d/\s:]|Enter|Tab)/, output: $ => seq('Output', $.path), set: $ => seq('Set', $.setting), env: $ => seq('Env', $.string, $.string), diff --git a/package.json b/package.json index 7690b66..7b7e674 100644 --- a/package.json +++ b/package.json @@ -21,15 +21,15 @@ "src/**" ], "dependencies": { - "node-addon-api": "^7.1.0", + "node-addon-api": "^8.3.0", "node-gyp-build": "^4.8.0" }, "devDependencies": { "prebuildify": "^6.0.0", - "tree-sitter-cli": "^0.22.6" + "tree-sitter-cli": "^0.25.6" }, "peerDependencies": { - "tree-sitter": "^0.21.0" + "tree-sitter": "^0.22.0" }, "peerDependenciesMeta": { "tree-sitter": { diff --git a/src/grammar.json b/src/grammar.json index d1b67ea..b497738 100644 --- a/src/grammar.json +++ b/src/grammar.json @@ -124,15 +124,15 @@ }, "control": { "type": "PATTERN", - "value": "Ctrl\\+(Alt\\+)?(Shift\\+)?([A-Z]|Enter)" + "value": "Ctrl\\+(Alt\\+)?(Shift\\+)?([^\\d\\s:]|Enter)" }, "alt": { "type": "PATTERN", - "value": "Alt\\+(Shift\\+)?([A-Z]|Enter|Tab)" + "value": "Alt\\+(Shift\\+)?([^\\d\\s:]|Enter|Tab)" }, "shift": { "type": "PATTERN", - "value": "Shift\\+([A-Z]|Enter|Tab)" + "value": "Shift\\+([^\\d\\s:]|Enter|Tab)" }, "output": { "type": "SEQ", diff --git a/src/node-types.json b/src/node-types.json index c330c3e..dd730c0 100644 --- a/src/node-types.json +++ b/src/node-types.json @@ -275,6 +275,7 @@ { "type": "program", "named": true, + "root": true, "fields": {}, "children": { "multiple": true, diff --git a/src/parser.c b/src/parser.c index d2b96cb..2d54bb7 100644 --- a/src/parser.c +++ b/src/parser.c @@ -692,8 +692,8 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [30] = 30, [31] = 31, [32] = 32, - [33] = 33, - [34] = 7, + [33] = 7, + [34] = 34, [35] = 35, [36] = 36, [37] = 37, @@ -729,11 +729,11 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [67] = 67, [68] = 68, [69] = 69, - [70] = 22, + [70] = 70, [71] = 71, [72] = 72, [73] = 73, - [74] = 74, + [74] = 31, [75] = 75, [76] = 7, [77] = 77, @@ -750,7 +750,7 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [88] = 88, [89] = 89, [90] = 90, - [91] = 82, + [91] = 87, }; static bool ts_lex(TSLexer *lexer, TSStateId state) { @@ -766,7 +766,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { '\'', 3, '+', 423, '.', 249, - '/', 11, + '/', 10, '@', 422, 'A', 143, 'B', 29, @@ -796,8 +796,8 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { case 1: if (lookahead == '"') ADVANCE(2); if (lookahead == '\'') ADVANCE(3); - if (lookahead == '.') ADVANCE(250); - if (lookahead == '/') ADVANCE(11); + if (lookahead == '.') ADVANCE(251); + if (lookahead == '/') ADVANCE(10); if (lookahead == '@') ADVANCE(422); if (lookahead == '`') ADVANCE(28); if (lookahead == '{') ADVANCE(247); @@ -816,84 +816,100 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead != 0) ADVANCE(3); END_STATE(); case 4: - if (lookahead == '+') ADVANCE(16); + if (lookahead == '+') ADVANCE(15); END_STATE(); case 5: - if (lookahead == '+') ADVANCE(12); + if (lookahead == '+') ADVANCE(11); END_STATE(); case 6: - if (lookahead == '+') ADVANCE(20); + if (lookahead == '+') ADVANCE(19); END_STATE(); case 7: - if (lookahead == '+') ADVANCE(18); + if (lookahead == '+') ADVANCE(17); END_STATE(); case 8: - if (lookahead == '+') ADVANCE(19); + if (lookahead == '+') ADVANCE(18); END_STATE(); case 9: - if (lookahead == '+') ADVANCE(17); + if (lookahead == '+') ADVANCE(16); END_STATE(); case 10: - if (lookahead == '.') ADVANCE(251); - if (lookahead == 'L') ADVANCE(135); - if (lookahead == 'S') ADVANCE(53); - if (('\t' <= lookahead && lookahead <= '\r') || - lookahead == ' ') SKIP(10); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(416); - END_STATE(); - case 11: if (lookahead == '/') ADVANCE(413); if (lookahead != 0 && - lookahead != '\n') ADVANCE(11); + lookahead != '\n') ADVANCE(10); END_STATE(); - case 12: + case 11: if (lookahead == 'A') ADVANCE(265); if (lookahead == 'E') ADVANCE(266); if (lookahead == 'S') ADVANCE(264); - if (('B' <= lookahead && lookahead <= 'Z')) ADVANCE(263); + if (lookahead != 0 && + (lookahead < '\t' || '\r' < lookahead) && + lookahead != ' ' && + (lookahead < '0' || ':' < lookahead)) ADVANCE(263); END_STATE(); - case 13: + case 12: if (lookahead == 'B') ADVANCE(151); END_STATE(); - case 14: + case 13: if (lookahead == 'B') ADVANCE(41); END_STATE(); - case 15: + case 14: if (lookahead == 'D') ADVANCE(174); if (lookahead == 'U') ADVANCE(179); END_STATE(); - case 16: + case 15: if (lookahead == 'E') ADVANCE(270); if (lookahead == 'S') ADVANCE(269); if (lookahead == 'T') ADVANCE(268); - if (('A' <= lookahead && lookahead <= 'Z')) ADVANCE(267); + if (lookahead != 0 && + (lookahead < '\t' || '\r' < lookahead) && + lookahead != ' ' && + (lookahead < '0' || ':' < lookahead)) ADVANCE(267); END_STATE(); - case 17: + case 16: if (lookahead == 'E') ADVANCE(270); if (lookahead == 'T') ADVANCE(268); - if (('A' <= lookahead && lookahead <= 'Z')) ADVANCE(267); + if (lookahead != 0 && + (lookahead < '\t' || '\r' < lookahead) && + lookahead != ' ' && + (lookahead < '0' || ':' < lookahead)) ADVANCE(267); END_STATE(); - case 18: + case 17: if (lookahead == 'E') ADVANCE(266); if (lookahead == 'S') ADVANCE(264); - if (('A' <= lookahead && lookahead <= 'Z')) ADVANCE(263); + if (lookahead != 0 && + (lookahead < '\t' || '\r' < lookahead) && + lookahead != ' ' && + (lookahead < '0' || ':' < lookahead)) ADVANCE(263); END_STATE(); - case 19: + case 18: if (lookahead == 'E') ADVANCE(266); - if (('A' <= lookahead && lookahead <= 'Z')) ADVANCE(263); + if (lookahead != 0 && + (lookahead < '\t' || '\r' < lookahead) && + lookahead != ' ' && + (lookahead < '0' || ':' < lookahead)) ADVANCE(263); END_STATE(); - case 20: + case 19: if (lookahead == 'E') ADVANCE(273); if (lookahead == 'T') ADVANCE(272); - if (('A' <= lookahead && lookahead <= 'Z')) ADVANCE(271); + if (lookahead != 0 && + (lookahead < '\t' || '\r' < lookahead) && + lookahead != ' ' && + (lookahead < '0' || ':' < lookahead)) ADVANCE(271); END_STATE(); - case 21: + case 20: if (lookahead == 'F') ADVANCE(36); if (lookahead == 'S') ADVANCE(124); END_STATE(); - case 22: + case 21: if (lookahead == 'H') ADVANCE(106); END_STATE(); + case 22: + if (lookahead == 'L') ADVANCE(135); + if (lookahead == 'S') ADVANCE(53); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(22); + END_STATE(); case 23: if (lookahead == 'O') ADVANCE(107); END_STATE(); @@ -1064,7 +1080,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == 'e') ADVANCE(426); END_STATE(); case 73: - if (lookahead == 'e') ADVANCE(15); + if (lookahead == 'e') ADVANCE(14); END_STATE(); case 74: if (lookahead == 'e') ADVANCE(282); @@ -1101,7 +1117,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == 'e') ADVANCE(328); END_STATE(); case 85: - if (lookahead == 'e') ADVANCE(22); + if (lookahead == 'e') ADVANCE(21); END_STATE(); case 86: if (lookahead == 'e') ADVANCE(425); @@ -1432,7 +1448,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == 'r') ADVANCE(263); END_STATE(); case 192: - if (lookahead == 'r') ADVANCE(13); + if (lookahead == 'r') ADVANCE(12); END_STATE(); case 193: if (lookahead == 'r') ADVANCE(25); @@ -1492,7 +1508,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == 't') ADVANCE(276); END_STATE(); case 212: - if (lookahead == 't') ADVANCE(21); + if (lookahead == 't') ADVANCE(20); END_STATE(); case 213: if (lookahead == 't') ADVANCE(292); @@ -1574,7 +1590,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == 'w') ADVANCE(257); END_STATE(); case 239: - if (lookahead == 'w') ADVANCE(14); + if (lookahead == 'w') ADVANCE(13); END_STATE(); case 240: if (lookahead == 'w') ADVANCE(156); @@ -1614,10 +1630,10 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (('0' <= lookahead && lookahead <= '9')) ADVANCE(417); END_STATE(); case 250: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(429); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(418); END_STATE(); case 251: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(418); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(429); END_STATE(); case 252: if (eof) ADVANCE(254); @@ -1625,6 +1641,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { '"', 2, '#', 414, '\'', 3, + '.', 250, 'A', 374, 'B', 337, 'C', 380, @@ -1643,7 +1660,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') SKIP(252); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(419); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(416); if (('F' <= lookahead && lookahead <= 'Z') || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(412); END_STATE(); @@ -2010,7 +2027,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 333: ACCEPT_TOKEN(aux_sym_string_token4); - if (lookahead == '+') ADVANCE(16); + if (lookahead == '+') ADVANCE(15); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || @@ -2018,7 +2035,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 334: ACCEPT_TOKEN(aux_sym_string_token4); - if (lookahead == '+') ADVANCE(12); + if (lookahead == '+') ADVANCE(11); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || @@ -2026,7 +2043,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 335: ACCEPT_TOKEN(aux_sym_string_token4); - if (lookahead == '+') ADVANCE(20); + if (lookahead == '+') ADVANCE(19); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || @@ -2662,7 +2679,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { ACCEPT_TOKEN(sym_regex); if (lookahead == '/') ADVANCE(413); if (lookahead != 0 && - lookahead != '\n') ADVANCE(11); + lookahead != '\n') ADVANCE(10); END_STATE(); case 414: ACCEPT_TOKEN(sym_comment); @@ -2678,7 +2695,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 416: ACCEPT_TOKEN(sym_float); - if (lookahead == '.') ADVANCE(251); + if (lookahead == '.') ADVANCE(250); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(416); END_STATE(); case 417: @@ -2729,7 +2746,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 428: ACCEPT_TOKEN(sym_time); - if (lookahead == '.') ADVANCE(250); + if (lookahead == '.') ADVANCE(251); if (lookahead == 'm') ADVANCE(204); if (lookahead == 's') ADVANCE(427); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(428); @@ -2772,13 +2789,13 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [20] = {.lex_state = 253}, [21] = {.lex_state = 253}, [22] = {.lex_state = 253}, - [23] = {.lex_state = 0}, + [23] = {.lex_state = 253}, [24] = {.lex_state = 253}, [25] = {.lex_state = 253}, [26] = {.lex_state = 253}, [27] = {.lex_state = 253}, [28] = {.lex_state = 253}, - [29] = {.lex_state = 253}, + [29] = {.lex_state = 0}, [30] = {.lex_state = 253}, [31] = {.lex_state = 253}, [32] = {.lex_state = 0}, @@ -2821,25 +2838,25 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [69] = {.lex_state = 1}, [70] = {.lex_state = 1}, [71] = {.lex_state = 1}, - [72] = {.lex_state = 0}, + [72] = {.lex_state = 1}, [73] = {.lex_state = 1}, [74] = {.lex_state = 1}, - [75] = {.lex_state = 1}, + [75] = {.lex_state = 0}, [76] = {.lex_state = 1}, [77] = {.lex_state = 0}, - [78] = {.lex_state = 0}, - [79] = {.lex_state = 10}, - [80] = {.lex_state = 0}, - [81] = {.lex_state = 252}, - [82] = {.lex_state = 1}, - [83] = {.lex_state = 1}, - [84] = {.lex_state = 1}, - [85] = {.lex_state = 0}, - [86] = {.lex_state = 10}, - [87] = {.lex_state = 0}, - [88] = {.lex_state = 0}, - [89] = {.lex_state = 248}, - [90] = {.lex_state = 10}, + [78] = {.lex_state = 22}, + [79] = {.lex_state = 0}, + [80] = {.lex_state = 252}, + [81] = {.lex_state = 0}, + [82] = {.lex_state = 253}, + [83] = {.lex_state = 0}, + [84] = {.lex_state = 0}, + [85] = {.lex_state = 248}, + [86] = {.lex_state = 1}, + [87] = {.lex_state = 1}, + [88] = {.lex_state = 1}, + [89] = {.lex_state = 0}, + [90] = {.lex_state = 252}, [91] = {.lex_state = 1}, }; @@ -2907,26 +2924,26 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_boolean] = ACTIONS(1), }, [1] = { - [sym_program] = STATE(88), + [sym_program] = STATE(81), [sym_command] = STATE(2), - [sym_output] = STATE(47), - [sym_set] = STATE(47), - [sym_env] = STATE(47), - [sym_sleep] = STATE(47), - [sym_type] = STATE(47), - [sym_backspace] = STATE(47), - [sym_down] = STATE(47), - [sym_enter] = STATE(47), - [sym_escape] = STATE(47), - [sym_left] = STATE(47), - [sym_right] = STATE(47), - [sym_space] = STATE(47), - [sym_tab] = STATE(47), - [sym_up] = STATE(47), - [sym_pageup] = STATE(47), - [sym_pagedown] = STATE(47), - [sym_wait] = STATE(47), - [sym_require] = STATE(47), + [sym_output] = STATE(34), + [sym_set] = STATE(34), + [sym_env] = STATE(34), + [sym_sleep] = STATE(34), + [sym_type] = STATE(34), + [sym_backspace] = STATE(34), + [sym_down] = STATE(34), + [sym_enter] = STATE(34), + [sym_escape] = STATE(34), + [sym_left] = STATE(34), + [sym_right] = STATE(34), + [sym_space] = STATE(34), + [sym_tab] = STATE(34), + [sym_up] = STATE(34), + [sym_pageup] = STATE(34), + [sym_pagedown] = STATE(34), + [sym_wait] = STATE(34), + [sym_require] = STATE(34), [aux_sym_program_repeat1] = STATE(2), [ts_builtin_sym_end] = ACTIONS(3), [anon_sym_Hide] = ACTIONS(5), @@ -2958,24 +2975,24 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { }, [2] = { [sym_command] = STATE(3), - [sym_output] = STATE(47), - [sym_set] = STATE(47), - [sym_env] = STATE(47), - [sym_sleep] = STATE(47), - [sym_type] = STATE(47), - [sym_backspace] = STATE(47), - [sym_down] = STATE(47), - [sym_enter] = STATE(47), - [sym_escape] = STATE(47), - [sym_left] = STATE(47), - [sym_right] = STATE(47), - [sym_space] = STATE(47), - [sym_tab] = STATE(47), - [sym_up] = STATE(47), - [sym_pageup] = STATE(47), - [sym_pagedown] = STATE(47), - [sym_wait] = STATE(47), - [sym_require] = STATE(47), + [sym_output] = STATE(34), + [sym_set] = STATE(34), + [sym_env] = STATE(34), + [sym_sleep] = STATE(34), + [sym_type] = STATE(34), + [sym_backspace] = STATE(34), + [sym_down] = STATE(34), + [sym_enter] = STATE(34), + [sym_escape] = STATE(34), + [sym_left] = STATE(34), + [sym_right] = STATE(34), + [sym_space] = STATE(34), + [sym_tab] = STATE(34), + [sym_up] = STATE(34), + [sym_pageup] = STATE(34), + [sym_pagedown] = STATE(34), + [sym_wait] = STATE(34), + [sym_require] = STATE(34), [aux_sym_program_repeat1] = STATE(3), [ts_builtin_sym_end] = ACTIONS(45), [anon_sym_Hide] = ACTIONS(5), @@ -3007,24 +3024,24 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { }, [3] = { [sym_command] = STATE(3), - [sym_output] = STATE(47), - [sym_set] = STATE(47), - [sym_env] = STATE(47), - [sym_sleep] = STATE(47), - [sym_type] = STATE(47), - [sym_backspace] = STATE(47), - [sym_down] = STATE(47), - [sym_enter] = STATE(47), - [sym_escape] = STATE(47), - [sym_left] = STATE(47), - [sym_right] = STATE(47), - [sym_space] = STATE(47), - [sym_tab] = STATE(47), - [sym_up] = STATE(47), - [sym_pageup] = STATE(47), - [sym_pagedown] = STATE(47), - [sym_wait] = STATE(47), - [sym_require] = STATE(47), + [sym_output] = STATE(34), + [sym_set] = STATE(34), + [sym_env] = STATE(34), + [sym_sleep] = STATE(34), + [sym_type] = STATE(34), + [sym_backspace] = STATE(34), + [sym_down] = STATE(34), + [sym_enter] = STATE(34), + [sym_escape] = STATE(34), + [sym_left] = STATE(34), + [sym_right] = STATE(34), + [sym_space] = STATE(34), + [sym_tab] = STATE(34), + [sym_up] = STATE(34), + [sym_pageup] = STATE(34), + [sym_pagedown] = STATE(34), + [sym_wait] = STATE(34), + [sym_require] = STATE(34), [aux_sym_program_repeat1] = STATE(3), [ts_builtin_sym_end] = ACTIONS(49), [anon_sym_Hide] = ACTIONS(51), @@ -3060,7 +3077,7 @@ static const uint16_t ts_small_parse_table[] = { [0] = 5, ACTIONS(117), 1, aux_sym_string_token4, - STATE(5), 2, + STATE(6), 2, sym_string, aux_sym_type_repeat1, ACTIONS(115), 3, @@ -3097,12 +3114,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_Wait, anon_sym_Require, [44] = 5, - ACTIONS(126), 1, + ACTIONS(117), 1, aux_sym_string_token4, - STATE(5), 2, + STATE(6), 2, sym_string, aux_sym_type_repeat1, - ACTIONS(123), 3, + ACTIONS(115), 3, aux_sym_string_token1, aux_sym_string_token2, aux_sym_string_token3, @@ -3136,22 +3153,22 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_Wait, anon_sym_Require, [88] = 5, - ACTIONS(117), 1, + ACTIONS(130), 1, aux_sym_string_token4, - STATE(5), 2, + STATE(6), 2, sym_string, aux_sym_type_repeat1, - ACTIONS(115), 3, + ACTIONS(127), 3, aux_sym_string_token1, aux_sym_string_token2, aux_sym_string_token3, - ACTIONS(129), 5, + ACTIONS(123), 5, ts_builtin_sym_end, sym_control, sym_alt, sym_shift, sym_comment, - ACTIONS(131), 22, + ACTIONS(125), 22, anon_sym_Hide, anon_sym_Show, anon_sym_Copy, @@ -3213,7 +3230,7 @@ static const uint16_t ts_small_parse_table[] = { sym_integer, ACTIONS(141), 1, anon_sym_AT, - STATE(21), 1, + STATE(20), 1, sym_duration, ACTIONS(137), 27, ts_builtin_sym_end, @@ -3248,7 +3265,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_AT, ACTIONS(145), 1, sym_integer, - STATE(31), 1, + STATE(19), 1, sym_duration, ACTIONS(143), 27, ts_builtin_sym_end, @@ -3283,7 +3300,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_AT, ACTIONS(149), 1, sym_integer, - STATE(30), 1, + STATE(28), 1, sym_duration, ACTIONS(147), 27, ts_builtin_sym_end, @@ -3318,7 +3335,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_AT, ACTIONS(153), 1, sym_integer, - STATE(28), 1, + STATE(21), 1, sym_duration, ACTIONS(151), 27, ts_builtin_sym_end, @@ -3353,7 +3370,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_AT, ACTIONS(157), 1, sym_integer, - STATE(27), 1, + STATE(22), 1, sym_duration, ACTIONS(155), 27, ts_builtin_sym_end, @@ -3388,7 +3405,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_AT, ACTIONS(161), 1, sym_integer, - STATE(26), 1, + STATE(23), 1, sym_duration, ACTIONS(159), 27, ts_builtin_sym_end, @@ -3423,7 +3440,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_AT, ACTIONS(165), 1, sym_integer, - STATE(25), 1, + STATE(30), 1, sym_duration, ACTIONS(163), 27, ts_builtin_sym_end, @@ -3458,7 +3475,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_AT, ACTIONS(169), 1, sym_integer, - STATE(24), 1, + STATE(25), 1, sym_duration, ACTIONS(167), 27, ts_builtin_sym_end, @@ -3493,7 +3510,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_AT, ACTIONS(173), 1, sym_integer, - STATE(29), 1, + STATE(26), 1, sym_duration, ACTIONS(171), 27, ts_builtin_sym_end, @@ -3528,7 +3545,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_AT, ACTIONS(177), 1, sym_integer, - STATE(20), 1, + STATE(24), 1, sym_duration, ACTIONS(175), 27, ts_builtin_sym_end, @@ -3563,7 +3580,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_AT, ACTIONS(181), 1, sym_integer, - STATE(19), 1, + STATE(27), 1, sym_duration, ACTIONS(179), 27, ts_builtin_sym_end, @@ -3686,8 +3703,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_Wait, anon_sym_Require, sym_comment, - [696] = 1, - ACTIONS(195), 28, + [696] = 2, + ACTIONS(197), 1, + sym_integer, + ACTIONS(195), 27, ts_builtin_sym_end, anon_sym_Hide, anon_sym_Show, @@ -3715,11 +3734,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_Wait, anon_sym_Require, sym_comment, + [729] = 2, + ACTIONS(201), 1, sym_integer, - [727] = 2, - ACTIONS(199), 1, - anon_sym_PERCENT, - ACTIONS(197), 27, + ACTIONS(199), 27, ts_builtin_sym_end, anon_sym_Hide, anon_sym_Show, @@ -3747,10 +3765,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_Wait, anon_sym_Require, sym_comment, - [760] = 2, - ACTIONS(203), 1, + [762] = 2, + ACTIONS(205), 1, sym_integer, - ACTIONS(201), 27, + ACTIONS(203), 27, ts_builtin_sym_end, anon_sym_Hide, anon_sym_Show, @@ -3778,10 +3796,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_Wait, anon_sym_Require, sym_comment, - [793] = 2, - ACTIONS(207), 1, + [795] = 2, + ACTIONS(209), 1, sym_integer, - ACTIONS(205), 27, + ACTIONS(207), 27, ts_builtin_sym_end, anon_sym_Hide, anon_sym_Show, @@ -3809,10 +3827,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_Wait, anon_sym_Require, sym_comment, - [826] = 2, - ACTIONS(211), 1, + [828] = 2, + ACTIONS(213), 1, sym_integer, - ACTIONS(209), 27, + ACTIONS(211), 27, ts_builtin_sym_end, anon_sym_Hide, anon_sym_Show, @@ -3840,10 +3858,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_Wait, anon_sym_Require, sym_comment, - [859] = 2, - ACTIONS(215), 1, + [861] = 2, + ACTIONS(217), 1, sym_integer, - ACTIONS(213), 27, + ACTIONS(215), 27, ts_builtin_sym_end, anon_sym_Hide, anon_sym_Show, @@ -3871,10 +3889,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_Wait, anon_sym_Require, sym_comment, - [892] = 2, - ACTIONS(219), 1, + [894] = 2, + ACTIONS(221), 1, sym_integer, - ACTIONS(217), 27, + ACTIONS(219), 27, ts_builtin_sym_end, anon_sym_Hide, anon_sym_Show, @@ -3902,10 +3920,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_Wait, anon_sym_Require, sym_comment, - [925] = 2, - ACTIONS(223), 1, - sym_integer, - ACTIONS(221), 27, + [927] = 2, + ACTIONS(225), 1, + anon_sym_PERCENT, + ACTIONS(223), 27, ts_builtin_sym_end, anon_sym_Hide, anon_sym_Show, @@ -3933,10 +3951,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_Wait, anon_sym_Require, sym_comment, - [958] = 2, - ACTIONS(227), 1, + [960] = 2, + ACTIONS(229), 1, sym_integer, - ACTIONS(225), 27, + ACTIONS(227), 27, ts_builtin_sym_end, anon_sym_Hide, anon_sym_Show, @@ -3964,10 +3982,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_Wait, anon_sym_Require, sym_comment, - [991] = 2, - ACTIONS(231), 1, - sym_integer, - ACTIONS(229), 27, + [993] = 1, + ACTIONS(231), 28, ts_builtin_sym_end, anon_sym_Hide, anon_sym_Show, @@ -3995,8 +4011,9 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_Wait, anon_sym_Require, sym_comment, + sym_integer, [1024] = 1, - ACTIONS(233), 27, + ACTIONS(195), 27, ts_builtin_sym_end, anon_sym_Hide, anon_sym_Show, @@ -4025,7 +4042,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_Require, sym_comment, [1054] = 1, - ACTIONS(235), 27, + ACTIONS(133), 27, ts_builtin_sym_end, anon_sym_Hide, anon_sym_Show, @@ -4054,7 +4071,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_Require, sym_comment, [1084] = 1, - ACTIONS(133), 27, + ACTIONS(233), 27, ts_builtin_sym_end, anon_sym_Hide, anon_sym_Show, @@ -4083,7 +4100,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_Require, sym_comment, [1114] = 1, - ACTIONS(237), 27, + ACTIONS(183), 27, ts_builtin_sym_end, anon_sym_Hide, anon_sym_Show, @@ -4112,7 +4129,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_Require, sym_comment, [1144] = 1, - ACTIONS(239), 27, + ACTIONS(187), 27, ts_builtin_sym_end, anon_sym_Hide, anon_sym_Show, @@ -4141,7 +4158,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_Require, sym_comment, [1174] = 1, - ACTIONS(241), 27, + ACTIONS(227), 27, ts_builtin_sym_end, anon_sym_Hide, anon_sym_Show, @@ -4170,7 +4187,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_Require, sym_comment, [1204] = 1, - ACTIONS(243), 27, + ACTIONS(219), 27, ts_builtin_sym_end, anon_sym_Hide, anon_sym_Show, @@ -4199,7 +4216,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_Require, sym_comment, [1234] = 1, - ACTIONS(245), 27, + ACTIONS(191), 27, ts_builtin_sym_end, anon_sym_Hide, anon_sym_Show, @@ -4228,7 +4245,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_Require, sym_comment, [1264] = 1, - ACTIONS(247), 27, + ACTIONS(199), 27, ts_builtin_sym_end, anon_sym_Hide, anon_sym_Show, @@ -4257,7 +4274,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_Require, sym_comment, [1294] = 1, - ACTIONS(249), 27, + ACTIONS(203), 27, ts_builtin_sym_end, anon_sym_Hide, anon_sym_Show, @@ -4286,7 +4303,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_Require, sym_comment, [1324] = 1, - ACTIONS(221), 27, + ACTIONS(235), 27, ts_builtin_sym_end, anon_sym_Hide, anon_sym_Show, @@ -4315,7 +4332,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_Require, sym_comment, [1354] = 1, - ACTIONS(229), 27, + ACTIONS(207), 27, ts_builtin_sym_end, anon_sym_Hide, anon_sym_Show, @@ -4344,7 +4361,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_Require, sym_comment, [1384] = 1, - ACTIONS(225), 27, + ACTIONS(211), 27, ts_builtin_sym_end, anon_sym_Hide, anon_sym_Show, @@ -4373,7 +4390,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_Require, sym_comment, [1414] = 1, - ACTIONS(217), 27, + ACTIONS(215), 27, ts_builtin_sym_end, anon_sym_Hide, anon_sym_Show, @@ -4402,7 +4419,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_Require, sym_comment, [1444] = 1, - ACTIONS(213), 27, + ACTIONS(237), 27, ts_builtin_sym_end, anon_sym_Hide, anon_sym_Show, @@ -4431,7 +4448,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_Require, sym_comment, [1474] = 1, - ACTIONS(251), 27, + ACTIONS(239), 27, ts_builtin_sym_end, anon_sym_Hide, anon_sym_Show, @@ -4460,7 +4477,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_Require, sym_comment, [1504] = 1, - ACTIONS(209), 27, + ACTIONS(223), 27, ts_builtin_sym_end, anon_sym_Hide, anon_sym_Show, @@ -4489,7 +4506,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_Require, sym_comment, [1534] = 1, - ACTIONS(253), 27, + ACTIONS(241), 27, ts_builtin_sym_end, anon_sym_Hide, anon_sym_Show, @@ -4518,7 +4535,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_Require, sym_comment, [1564] = 1, - ACTIONS(205), 27, + ACTIONS(243), 27, ts_builtin_sym_end, anon_sym_Hide, anon_sym_Show, @@ -4547,7 +4564,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_Require, sym_comment, [1594] = 1, - ACTIONS(255), 27, + ACTIONS(245), 27, ts_builtin_sym_end, anon_sym_Hide, anon_sym_Show, @@ -4576,7 +4593,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_Require, sym_comment, [1624] = 1, - ACTIONS(201), 27, + ACTIONS(247), 27, ts_builtin_sym_end, anon_sym_Hide, anon_sym_Show, @@ -4605,7 +4622,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_Require, sym_comment, [1654] = 1, - ACTIONS(257), 27, + ACTIONS(249), 27, ts_builtin_sym_end, anon_sym_Hide, anon_sym_Show, @@ -4634,7 +4651,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_Require, sym_comment, [1684] = 1, - ACTIONS(191), 27, + ACTIONS(251), 27, ts_builtin_sym_end, anon_sym_Hide, anon_sym_Show, @@ -4663,7 +4680,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_Require, sym_comment, [1714] = 1, - ACTIONS(259), 27, + ACTIONS(253), 27, ts_builtin_sym_end, anon_sym_Hide, anon_sym_Show, @@ -4692,7 +4709,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_Require, sym_comment, [1744] = 1, - ACTIONS(187), 27, + ACTIONS(255), 27, ts_builtin_sym_end, anon_sym_Hide, anon_sym_Show, @@ -4721,7 +4738,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_Require, sym_comment, [1774] = 1, - ACTIONS(261), 27, + ACTIONS(257), 27, ts_builtin_sym_end, anon_sym_Hide, anon_sym_Show, @@ -4750,7 +4767,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_Require, sym_comment, [1804] = 1, - ACTIONS(183), 27, + ACTIONS(259), 27, ts_builtin_sym_end, anon_sym_Hide, anon_sym_Show, @@ -4779,7 +4796,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_Require, sym_comment, [1834] = 1, - ACTIONS(263), 27, + ACTIONS(261), 27, ts_builtin_sym_end, anon_sym_Hide, anon_sym_Show, @@ -4808,7 +4825,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_Require, sym_comment, [1864] = 1, - ACTIONS(265), 27, + ACTIONS(263), 27, ts_builtin_sym_end, anon_sym_Hide, anon_sym_Show, @@ -4837,7 +4854,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_Require, sym_comment, [1894] = 1, - ACTIONS(267), 27, + ACTIONS(265), 27, ts_builtin_sym_end, anon_sym_Hide, anon_sym_Show, @@ -4866,7 +4883,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_Require, sym_comment, [1924] = 1, - ACTIONS(269), 27, + ACTIONS(267), 27, ts_builtin_sym_end, anon_sym_Hide, anon_sym_Show, @@ -4895,7 +4912,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_Require, sym_comment, [1954] = 1, - ACTIONS(271), 27, + ACTIONS(269), 27, ts_builtin_sym_end, anon_sym_Hide, anon_sym_Show, @@ -4924,7 +4941,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_Require, sym_comment, [1984] = 1, - ACTIONS(273), 27, + ACTIONS(271), 27, ts_builtin_sym_end, anon_sym_Hide, anon_sym_Show, @@ -4953,7 +4970,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_Require, sym_comment, [2014] = 1, - ACTIONS(197), 27, + ACTIONS(273), 27, ts_builtin_sym_end, anon_sym_Hide, anon_sym_Show, @@ -4994,7 +5011,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_WindowBar, ACTIONS(291), 1, anon_sym_CursorBlink, - STATE(36), 1, + STATE(64), 1, sym_setting, ACTIONS(275), 3, anon_sym_Shell, @@ -5015,7 +5032,7 @@ static const uint16_t ts_small_parse_table[] = { [2085] = 4, ACTIONS(293), 1, anon_sym_AT, - STATE(69), 1, + STATE(68), 1, sym_duration, STATE(4), 2, sym_string, @@ -5025,75 +5042,75 @@ static const uint16_t ts_small_parse_table[] = { aux_sym_string_token2, aux_sym_string_token3, aux_sym_string_token4, - [2102] = 3, - ACTIONS(297), 1, - sym_json, - STATE(65), 1, + [2102] = 2, + STATE(5), 2, sym_string, - ACTIONS(295), 4, + aux_sym_type_repeat1, + ACTIONS(115), 4, aux_sym_string_token1, aux_sym_string_token2, aux_sym_string_token3, aux_sym_string_token4, - [2115] = 2, - STATE(6), 2, + [2113] = 3, + ACTIONS(297), 1, + sym_json, + STATE(48), 1, sym_string, - aux_sym_type_repeat1, - ACTIONS(115), 4, + ACTIONS(295), 4, aux_sym_string_token1, aux_sym_string_token2, aux_sym_string_token3, aux_sym_string_token4, - [2126] = 1, - ACTIONS(195), 5, + [2126] = 2, + STATE(49), 1, + sym_string, + ACTIONS(295), 4, aux_sym_string_token1, aux_sym_string_token2, aux_sym_string_token3, aux_sym_string_token4, - sym_regex, - [2134] = 2, - STATE(75), 1, + [2136] = 2, + STATE(47), 1, sym_string, - ACTIONS(299), 4, + ACTIONS(295), 4, aux_sym_string_token1, aux_sym_string_token2, aux_sym_string_token3, aux_sym_string_token4, - [2144] = 5, - ACTIONS(293), 1, - anon_sym_AT, - ACTIONS(301), 1, - sym_regex, - ACTIONS(303), 1, - anon_sym_PLUS, - STATE(77), 1, - sym_waitOn, - STATE(80), 1, - sym_duration, - [2160] = 2, - STATE(64), 1, + [2146] = 2, + STATE(48), 1, sym_string, ACTIONS(295), 4, aux_sym_string_token1, aux_sym_string_token2, aux_sym_string_token3, aux_sym_string_token4, - [2170] = 2, - STATE(65), 1, + [2156] = 2, + STATE(70), 1, sym_string, - ACTIONS(295), 4, + ACTIONS(299), 4, aux_sym_string_token1, aux_sym_string_token2, aux_sym_string_token3, aux_sym_string_token4, - [2180] = 2, - STATE(63), 1, - sym_string, - ACTIONS(295), 4, + [2166] = 1, + ACTIONS(231), 5, aux_sym_string_token1, aux_sym_string_token2, aux_sym_string_token3, aux_sym_string_token4, + sym_regex, + [2174] = 5, + ACTIONS(293), 1, + anon_sym_AT, + ACTIONS(301), 1, + sym_regex, + ACTIONS(303), 1, + anon_sym_PLUS, + STATE(77), 1, + sym_waitOn, + STATE(84), 1, + sym_duration, [2190] = 1, ACTIONS(133), 4, aux_sym_string_token1, @@ -5105,46 +5122,46 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_AT, ACTIONS(305), 1, sym_regex, - STATE(85), 1, + STATE(89), 1, sym_duration, [2207] = 1, ACTIONS(307), 2, - sym_regex, - anon_sym_AT, - [2212] = 1, - ACTIONS(309), 2, anon_sym_Screen, anon_sym_Line, - [2217] = 1, - ACTIONS(305), 1, + [2212] = 1, + ACTIONS(309), 2, sym_regex, + anon_sym_AT, + [2217] = 1, + ACTIONS(297), 1, + sym_float, [2221] = 1, + ACTIONS(311), 1, + ts_builtin_sym_end, + [2225] = 1, ACTIONS(297), 1, sym_integer, - [2225] = 1, - ACTIONS(311), 1, - sym_time, [2229] = 1, ACTIONS(297), 1, - sym_time, + sym_boolean, [2233] = 1, - ACTIONS(313), 1, - sym_time, - [2237] = 1, - ACTIONS(315), 1, + ACTIONS(305), 1, sym_regex, + [2237] = 1, + ACTIONS(313), 1, + sym_path, [2241] = 1, - ACTIONS(297), 1, - sym_float, + ACTIONS(315), 1, + sym_time, [2245] = 1, - ACTIONS(297), 1, - sym_boolean, - [2249] = 1, ACTIONS(317), 1, - ts_builtin_sym_end, + sym_time, + [2249] = 1, + ACTIONS(297), 1, + sym_time, [2253] = 1, ACTIONS(319), 1, - sym_path, + sym_regex, [2257] = 1, ACTIONS(321), 1, sym_float, @@ -5173,15 +5190,15 @@ static const uint32_t ts_small_parse_table_map[] = { [SMALL_STATE(20)] = 630, [SMALL_STATE(21)] = 663, [SMALL_STATE(22)] = 696, - [SMALL_STATE(23)] = 727, - [SMALL_STATE(24)] = 760, - [SMALL_STATE(25)] = 793, - [SMALL_STATE(26)] = 826, - [SMALL_STATE(27)] = 859, - [SMALL_STATE(28)] = 892, - [SMALL_STATE(29)] = 925, - [SMALL_STATE(30)] = 958, - [SMALL_STATE(31)] = 991, + [SMALL_STATE(23)] = 729, + [SMALL_STATE(24)] = 762, + [SMALL_STATE(25)] = 795, + [SMALL_STATE(26)] = 828, + [SMALL_STATE(27)] = 861, + [SMALL_STATE(28)] = 894, + [SMALL_STATE(29)] = 927, + [SMALL_STATE(30)] = 960, + [SMALL_STATE(31)] = 993, [SMALL_STATE(32)] = 1024, [SMALL_STATE(33)] = 1054, [SMALL_STATE(34)] = 1084, @@ -5219,13 +5236,13 @@ static const uint32_t ts_small_parse_table_map[] = { [SMALL_STATE(66)] = 2044, [SMALL_STATE(67)] = 2085, [SMALL_STATE(68)] = 2102, - [SMALL_STATE(69)] = 2115, + [SMALL_STATE(69)] = 2113, [SMALL_STATE(70)] = 2126, - [SMALL_STATE(71)] = 2134, - [SMALL_STATE(72)] = 2144, - [SMALL_STATE(73)] = 2160, - [SMALL_STATE(74)] = 2170, - [SMALL_STATE(75)] = 2180, + [SMALL_STATE(71)] = 2136, + [SMALL_STATE(72)] = 2146, + [SMALL_STATE(73)] = 2156, + [SMALL_STATE(74)] = 2166, + [SMALL_STATE(75)] = 2174, [SMALL_STATE(76)] = 2190, [SMALL_STATE(77)] = 2197, [SMALL_STATE(78)] = 2207, @@ -5248,155 +5265,155 @@ static const TSParseActionEntry ts_parse_actions[] = { [0] = {.entry = {.count = 0, .reusable = false}}, [1] = {.entry = {.count = 1, .reusable = false}}, RECOVER(), [3] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_program, 0, 0, 0), - [5] = {.entry = {.count = 1, .reusable = true}}, SHIFT(47), - [7] = {.entry = {.count = 1, .reusable = true}}, SHIFT(89), + [5] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), + [7] = {.entry = {.count = 1, .reusable = true}}, SHIFT(85), [9] = {.entry = {.count = 1, .reusable = true}}, SHIFT(66), - [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(71), - [13] = {.entry = {.count = 1, .reusable = true}}, SHIFT(84), + [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(73), + [13] = {.entry = {.count = 1, .reusable = true}}, SHIFT(86), [15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(67), - [17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16), - [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9), - [21] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10), - [23] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11), - [25] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12), - [27] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13), - [29] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14), - [31] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15), - [33] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8), - [35] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17), + [17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9), + [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8), + [21] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14), + [23] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10), + [25] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11), + [27] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12), + [29] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13), + [31] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17), + [33] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15), + [35] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16), [37] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18), - [39] = {.entry = {.count = 1, .reusable = true}}, SHIFT(72), - [41] = {.entry = {.count = 1, .reusable = true}}, SHIFT(73), + [39] = {.entry = {.count = 1, .reusable = true}}, SHIFT(75), + [41] = {.entry = {.count = 1, .reusable = true}}, SHIFT(71), [43] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2), [45] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_program, 1, 0, 0), [47] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3), [49] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_program_repeat1, 2, 0, 0), - [51] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat1, 2, 0, 0), SHIFT_REPEAT(47), - [54] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat1, 2, 0, 0), SHIFT_REPEAT(89), + [51] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat1, 2, 0, 0), SHIFT_REPEAT(34), + [54] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat1, 2, 0, 0), SHIFT_REPEAT(85), [57] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat1, 2, 0, 0), SHIFT_REPEAT(66), - [60] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat1, 2, 0, 0), SHIFT_REPEAT(71), - [63] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat1, 2, 0, 0), SHIFT_REPEAT(84), + [60] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat1, 2, 0, 0), SHIFT_REPEAT(73), + [63] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat1, 2, 0, 0), SHIFT_REPEAT(86), [66] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat1, 2, 0, 0), SHIFT_REPEAT(67), - [69] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat1, 2, 0, 0), SHIFT_REPEAT(16), - [72] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat1, 2, 0, 0), SHIFT_REPEAT(9), - [75] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat1, 2, 0, 0), SHIFT_REPEAT(10), - [78] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat1, 2, 0, 0), SHIFT_REPEAT(11), - [81] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat1, 2, 0, 0), SHIFT_REPEAT(12), - [84] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat1, 2, 0, 0), SHIFT_REPEAT(13), - [87] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat1, 2, 0, 0), SHIFT_REPEAT(14), - [90] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat1, 2, 0, 0), SHIFT_REPEAT(15), - [93] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat1, 2, 0, 0), SHIFT_REPEAT(8), - [96] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat1, 2, 0, 0), SHIFT_REPEAT(17), + [69] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat1, 2, 0, 0), SHIFT_REPEAT(9), + [72] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat1, 2, 0, 0), SHIFT_REPEAT(8), + [75] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat1, 2, 0, 0), SHIFT_REPEAT(14), + [78] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat1, 2, 0, 0), SHIFT_REPEAT(10), + [81] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat1, 2, 0, 0), SHIFT_REPEAT(11), + [84] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat1, 2, 0, 0), SHIFT_REPEAT(12), + [87] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat1, 2, 0, 0), SHIFT_REPEAT(13), + [90] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat1, 2, 0, 0), SHIFT_REPEAT(17), + [93] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat1, 2, 0, 0), SHIFT_REPEAT(15), + [96] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat1, 2, 0, 0), SHIFT_REPEAT(16), [99] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat1, 2, 0, 0), SHIFT_REPEAT(18), - [102] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat1, 2, 0, 0), SHIFT_REPEAT(72), - [105] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat1, 2, 0, 0), SHIFT_REPEAT(73), + [102] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat1, 2, 0, 0), SHIFT_REPEAT(75), + [105] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat1, 2, 0, 0), SHIFT_REPEAT(71), [108] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_program_repeat1, 2, 0, 0), SHIFT_REPEAT(3), [111] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 2, 0, 0), [113] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type, 2, 0, 0), [115] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7), [117] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7), - [119] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_repeat1, 2, 0, 0), - [121] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_type_repeat1, 2, 0, 0), - [123] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_repeat1, 2, 0, 0), SHIFT_REPEAT(7), - [126] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_type_repeat1, 2, 0, 0), SHIFT_REPEAT(7), - [129] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 3, 0, 0), - [131] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type, 3, 0, 0), + [119] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 3, 0, 0), + [121] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type, 3, 0, 0), + [123] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_repeat1, 2, 0, 0), + [125] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_type_repeat1, 2, 0, 0), + [127] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_repeat1, 2, 0, 0), SHIFT_REPEAT(7), + [130] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_type_repeat1, 2, 0, 0), SHIFT_REPEAT(7), [133] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string, 1, 0, 0), [135] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string, 1, 0, 0), - [137] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_up, 1, 0, 0), - [139] = {.entry = {.count = 1, .reusable = true}}, SHIFT(54), + [137] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_down, 1, 0, 0), + [139] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36), [141] = {.entry = {.count = 1, .reusable = true}}, SHIFT(91), - [143] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_down, 1, 0, 0), - [145] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43), - [147] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enter, 1, 0, 0), - [149] = {.entry = {.count = 1, .reusable = true}}, SHIFT(44), - [151] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_escape, 1, 0, 0), - [153] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45), - [155] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_left, 1, 0, 0), - [157] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46), - [159] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_right, 1, 0, 0), - [161] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48), - [163] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_space, 1, 0, 0), - [165] = {.entry = {.count = 1, .reusable = true}}, SHIFT(50), - [167] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tab, 1, 0, 0), - [169] = {.entry = {.count = 1, .reusable = true}}, SHIFT(52), - [171] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_backspace, 1, 0, 0), - [173] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42), - [175] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pageup, 1, 0, 0), - [177] = {.entry = {.count = 1, .reusable = true}}, SHIFT(56), + [143] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_backspace, 1, 0, 0), + [145] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), + [147] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_escape, 1, 0, 0), + [149] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38), + [151] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_left, 1, 0, 0), + [153] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), + [155] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_right, 1, 0, 0), + [157] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), + [159] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_space, 1, 0, 0), + [161] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40), + [163] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enter, 1, 0, 0), + [165] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37), + [167] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_up, 1, 0, 0), + [169] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43), + [171] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pageup, 1, 0, 0), + [173] = {.entry = {.count = 1, .reusable = true}}, SHIFT(44), + [175] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tab, 1, 0, 0), + [177] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41), [179] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pagedown, 1, 0, 0), - [181] = {.entry = {.count = 1, .reusable = true}}, SHIFT(58), - [183] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pagedown, 2, 0, 0), - [185] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40), - [187] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pageup, 2, 0, 0), - [189] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41), - [191] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_up, 2, 0, 0), - [193] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49), - [195] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_duration, 2, 0, 0), - [197] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_setting, 2, 0, 0), - [199] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37), - [201] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tab, 2, 0, 0), - [203] = {.entry = {.count = 1, .reusable = true}}, SHIFT(51), - [205] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_space, 2, 0, 0), - [207] = {.entry = {.count = 1, .reusable = true}}, SHIFT(53), - [209] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_right, 2, 0, 0), - [211] = {.entry = {.count = 1, .reusable = true}}, SHIFT(55), - [213] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_left, 2, 0, 0), - [215] = {.entry = {.count = 1, .reusable = true}}, SHIFT(57), - [217] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_escape, 2, 0, 0), - [219] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), - [221] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_backspace, 2, 0, 0), - [223] = {.entry = {.count = 1, .reusable = true}}, SHIFT(62), - [225] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enter, 2, 0, 0), - [227] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59), - [229] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_down, 2, 0, 0), - [231] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61), - [233] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_output, 2, 0, 0), - [235] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_escape, 3, 0, 0), - [237] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_wait, 4, 0, 0), - [239] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_set, 2, 0, 0), - [241] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_setting, 3, 0, 0), - [243] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_wait, 3, 0, 0), - [245] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sleep, 2, 0, 0), - [247] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pagedown, 3, 0, 0), - [249] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pageup, 3, 0, 0), - [251] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_command, 1, 0, 0), - [253] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_up, 3, 0, 0), - [255] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tab, 3, 0, 0), - [257] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_space, 3, 0, 0), - [259] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_right, 3, 0, 0), - [261] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_left, 3, 0, 0), - [263] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enter, 3, 0, 0), - [265] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_wait, 2, 0, 0), - [267] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_down, 3, 0, 0), - [269] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_backspace, 3, 0, 0), - [271] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_env, 3, 0, 0), - [273] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_require, 2, 0, 0), - [275] = {.entry = {.count = 1, .reusable = true}}, SHIFT(74), - [277] = {.entry = {.count = 1, .reusable = true}}, SHIFT(86), - [279] = {.entry = {.count = 1, .reusable = true}}, SHIFT(81), - [281] = {.entry = {.count = 1, .reusable = true}}, SHIFT(83), - [283] = {.entry = {.count = 1, .reusable = true}}, SHIFT(68), + [181] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45), + [183] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_backspace, 2, 0, 0), + [185] = {.entry = {.count = 1, .reusable = true}}, SHIFT(50), + [187] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_down, 2, 0, 0), + [189] = {.entry = {.count = 1, .reusable = true}}, SHIFT(51), + [191] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_left, 2, 0, 0), + [193] = {.entry = {.count = 1, .reusable = true}}, SHIFT(54), + [195] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_right, 2, 0, 0), + [197] = {.entry = {.count = 1, .reusable = true}}, SHIFT(55), + [199] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_space, 2, 0, 0), + [201] = {.entry = {.count = 1, .reusable = true}}, SHIFT(56), + [203] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tab, 2, 0, 0), + [205] = {.entry = {.count = 1, .reusable = true}}, SHIFT(57), + [207] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_up, 2, 0, 0), + [209] = {.entry = {.count = 1, .reusable = true}}, SHIFT(58), + [211] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pageup, 2, 0, 0), + [213] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59), + [215] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pagedown, 2, 0, 0), + [217] = {.entry = {.count = 1, .reusable = true}}, SHIFT(60), + [219] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_escape, 2, 0, 0), + [221] = {.entry = {.count = 1, .reusable = true}}, SHIFT(53), + [223] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_setting, 2, 0, 0), + [225] = {.entry = {.count = 1, .reusable = true}}, SHIFT(62), + [227] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enter, 2, 0, 0), + [229] = {.entry = {.count = 1, .reusable = true}}, SHIFT(52), + [231] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_duration, 2, 0, 0), + [233] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_command, 1, 0, 0), + [235] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_output, 2, 0, 0), + [237] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sleep, 2, 0, 0), + [239] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_require, 2, 0, 0), + [241] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_env, 3, 0, 0), + [243] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_backspace, 3, 0, 0), + [245] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_down, 3, 0, 0), + [247] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enter, 3, 0, 0), + [249] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_escape, 3, 0, 0), + [251] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_left, 3, 0, 0), + [253] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_right, 3, 0, 0), + [255] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_space, 3, 0, 0), + [257] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tab, 3, 0, 0), + [259] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_up, 3, 0, 0), + [261] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pageup, 3, 0, 0), + [263] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pagedown, 3, 0, 0), + [265] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_wait, 3, 0, 0), + [267] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_setting, 3, 0, 0), + [269] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_wait, 4, 0, 0), + [271] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_set, 2, 0, 0), + [273] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_wait, 2, 0, 0), + [275] = {.entry = {.count = 1, .reusable = true}}, SHIFT(72), + [277] = {.entry = {.count = 1, .reusable = true}}, SHIFT(80), + [279] = {.entry = {.count = 1, .reusable = true}}, SHIFT(82), + [281] = {.entry = {.count = 1, .reusable = true}}, SHIFT(88), + [283] = {.entry = {.count = 1, .reusable = true}}, SHIFT(69), [285] = {.entry = {.count = 1, .reusable = true}}, SHIFT(90), - [287] = {.entry = {.count = 1, .reusable = false}}, SHIFT(81), - [289] = {.entry = {.count = 1, .reusable = false}}, SHIFT(74), - [291] = {.entry = {.count = 1, .reusable = true}}, SHIFT(87), - [293] = {.entry = {.count = 1, .reusable = true}}, SHIFT(82), - [295] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), - [297] = {.entry = {.count = 1, .reusable = true}}, SHIFT(65), + [287] = {.entry = {.count = 1, .reusable = false}}, SHIFT(82), + [289] = {.entry = {.count = 1, .reusable = false}}, SHIFT(72), + [291] = {.entry = {.count = 1, .reusable = true}}, SHIFT(83), + [293] = {.entry = {.count = 1, .reusable = true}}, SHIFT(87), + [295] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), + [297] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48), [299] = {.entry = {.count = 1, .reusable = true}}, SHIFT(76), - [301] = {.entry = {.count = 1, .reusable = true}}, SHIFT(60), - [303] = {.entry = {.count = 1, .reusable = true}}, SHIFT(79), - [305] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38), - [307] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_waitOn, 2, 0, 0), - [309] = {.entry = {.count = 1, .reusable = true}}, SHIFT(78), - [311] = {.entry = {.count = 1, .reusable = true}}, SHIFT(70), - [313] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), - [315] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), - [317] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), - [319] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), - [321] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23), - [323] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22), + [301] = {.entry = {.count = 1, .reusable = true}}, SHIFT(65), + [303] = {.entry = {.count = 1, .reusable = true}}, SHIFT(78), + [305] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61), + [307] = {.entry = {.count = 1, .reusable = true}}, SHIFT(79), + [309] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_waitOn, 2, 0, 0), + [311] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), + [313] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42), + [315] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46), + [317] = {.entry = {.count = 1, .reusable = true}}, SHIFT(74), + [319] = {.entry = {.count = 1, .reusable = true}}, SHIFT(63), + [321] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29), + [323] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31), }; #ifdef __cplusplus diff --git a/src/parser.o b/src/parser.o new file mode 100644 index 0000000000000000000000000000000000000000..1a4d249bdf959103aa3ceb45817a6b5b6f6c26a5 GIT binary patch literal 65808 zcmeHQ349bq_O50)hQlFTazlV1!zoD!Lnd-um(LpPLAw2^{*Ly1?W*_>&IcXbbEyat$@^PyfH0rz&+04oh!?Au8k9jWe2O;#N|0^M8Rb6JM;_W%>SNVo{>8BZ{Ji6VipKU-&z+QPpSz+-UI-j5K zv^V33nQ<${?Sn6z2I#bXQm^0K(t?>4`SXgeEG(XtpFd`Vor%Oz;^)!H5aOo$8~E0) zr^93x^4b7q(>6s)hk31jelmC^kb&buMC%IC80qnVeiRdQu6|7okEP%(+v>@G_k>5= z_0vMnhM%^HWota0kFEWrQ{^jfcglTb8}MAGT(1xeu+iq6uE%Z4`m6$S2b(y_&cp=JEE5dBhLi&Go;G z-MhM7K!|~@P8BUb^W^=|NQkB9YGN76O*?17iNNm6Rl6Q5S#ULu@-roy&s7$V}n+=^LxY~>)c_F_t&ts6y+}SE-0)#+#1(u4KI&1 zK)G7gbq(u@X7+U>d*0^N@)qc2yoxd`Ti%AESq$YJ#5vuLUxRPDt@l>9iwUx&+s}cI zZ%F5^$2pW4rR(&#MD!S=j0oBD)~~W>*G;!~5L}cIvC7Cc{l6c)$lKF$;ahVZk*_=F zM*ATaI_DO%Jc|?1%R^a9z%lY4bmoUB|3)i+vy@LUzsAac*_j_eEOh(xtb9!~{I$xD z4lwiQTKU&I^TQr9KWOED?#z#MGV?D*eobQ^lVWeQ0qPten{MMD&N1t9x>Xl%Rl8Yb z7%?t{59kLG>Ssp1n^axvXye1Uwpts9sg1j!47rWRsoJ=wS+ADh80G6@t#wtuvHCz0 z#^&jkO}Sr?%@aTKHm!d1J@VyxcDHOk>Fg^p>MNfzoHhzhh&cNgPGc3Pjv0@g4Cm** zG)|tj!#SYfc!{%t;k;*Yq%jtuKCud%>h0_3M?IxBr?}n8l=HGx zPCe&X^LH`hc7s(;D`$Ry@~^V;&vWK`DZk9hr+(nIHd}Xzn;m- zVK_4_PBUjY(N-qMZ^h{XXMX5pGe4cNIo7f%wM~>_-@>vfwM~Tb8(aD3JIf4HzQ@Y{ zFScEX>azc*__@XRPyBxy9Ak_q{QIMoUkm(;F#f&Uhvp}#eFGGe2dw%_?dzrdyRH2H zqJJ?Od!>wj5B(GWX4azm=P~s!R@C3$)f}_gR{f>^=cWAKR{nppeW-*7N z$p2UE7o)UhZ(-{BX>S^@L!9*tk#A2ioP8GO9En3~$vTF!)8a^RkI-7Ng5hjaaQv;! z7=;=F)Rw1OHrG0B`l)~Pu<{Q&^TX7xotZMv zQlQV>sCgj-SThv42pzKH{u{D=})aL6L&Q1ji<f*&gTkFppnUWmf`GIa6&YfKEiO`wm8cqe|nhZtYkQUP;dgo zxsBm$R&e}yzNN2=*MeiT+k?(}_$fy7t^7Bg`5_w1#Y~y26lKP!%mRjUr-Bo1Z`N~? zRgcZidU(m^7{=yR3Y!ty&z{9_<|;TLy06b-IMWrJ7?snV;Y?I+Hv203Z`hBLK8yTA)D{RK-x%y)a=N$znK+m7=XE;#> zC#sosTf%T&Qg8y@OwJ;3xW3}07*{ejA63|lQr$0SIQJfA`(7`0<;e;6&(N`Y^+3t>E~n@9bqbjT9VfPw^HwMjuw}Dc-R16?=+TtbE0u z;zg!T2Yc}INQCaSer?&5=8*`^r|YbIY3_=4H2cr}Oqo$dnE{&DmoS`{6r2!o7BQUP zC^!MScPVE$YZaUb&8xE+&T<7OO80yhGn|_hoDi*-V;Ig=3Qm;jb{4~#tKfKPZ=A(& zrYkrRs#|x4Gf~0u(>-4shBHdR36npK8O~`6PKfqZKYt%TzWXRRF)HUvhSOQW36MVr z7*2Bq$4_y4kKxo)a00~nKZbMc6n@P5slUCwn-{E^}O(4EG< zydKjt$=@-YBMMH4*63##&R-Rr2+c9;8P1;-oDl87?`1fzD>z}=f85G&HYqq!YM*Nu z&f^M>pXyf1a2`@{!o-=$aF!`Jep+uYWH^fzoG7*FISl7Y6^G(BnBiQe;KazEQyI>s z3QmOXBfB!3@d{3i){RySXSj+(<#-v+Kn2H3oPT^9KOgk8I8Qp)A3xn6e8F%!C^#`{ z(~lTVQw1kP^V@EQQ^(>+`}+X(>o*wAw;41aNSr9$zx|fs#8e!b6Q5)_e^GEE^q#ym z4ChY@j+gwoo8i2w;Dl%_+{AD;DmY#m3kw*|V+xL+I7JNSeg!8$&qebY&Jv6BytBV~ zi8F!WEK+cy^bB((!zovAym&94{#-Pd;mo!;(lf{itv|iNG4^WGv(hlVCew|vdA`DC zlsGKJl&Ibxkg!BVp+D>#0tTSta7TEVg2r;x^Q&Qx(|U*KUlnF>yr+Vs1x;^%`56^GWu!wjdj zf)k~Cg1ro#BPQ>^09`+Kt)PJxO;YvU;lXOfCT^IKbnbGCvLpuKn# zhI6`t6Qy!ad>KEs`zkmgdItIx!%0_g0u;A{45x*H6Qy$YFr4}dj-UGV9~sUM=`3aE$%#`_6SRO8#zOY`&+k8KwTXisAg9f)gXooebw?6^Hh# zH!z&16&ydUY4aG)!wQaPLw$97*4?ANcTEkdd=h{hI5936Q<`Vg5mU2a3Zuue|j+#Apq;jp1xoaQyU4>RN{LgvB}Rtec<4+!YLGwSp5S z&Mby=m&N(kSx$I>*`^nPW6ZPkd76Or*>3%_(9&ljV|4#|E>lh=%K2A)Uc^i9?dosU zZH4(c#t?lD()i3H_L}Tx$o0>BvM_C!~=y%rV+Y3>K{GQKy6>TyN*PduhZPFP2ER)&<=UlZ3u2Z$iNR(l;iEdwS6O{L_ zY?BDJNpFg++cpVNn{;I2H5&2q>-#)>Z-@T<8=V`91;+PqG_3j_4mrkWR^w~{N9X%p z@cO&t$^Fgho5mbXb6X^Vxh+urv)|WXzSFEM!Q%p3CijOaDLJxqP-Ct_E6eLqI`7Qbig9_`?qBUFAG^_5;bjL|*V z6O7#tB)d_U@!R2&XVm9L=iWI+&pE?PeO^e!uGB7mYL_y`?wUmGO7V+Q{H8K?Z-39_Er)+vlErN8;z6#*%OP zvnV$)`Ki5gEUS36JtixenEXNVE#NXHn_Tj0drT%WF}YsyE#xvL|?VR&M#AQqlyX4jOm@H;u@~q@r)MZT8yX4jOn4HDLWUk~} z%w zNw`I2t|moW)RypT)Y z6p0sh$r~f_A})DnO1!8`UVn)fbII!}@w|BdyqiAOQsVht^6E>xfJ@%7lbz!{Or$3g8|n3Ge{a+Gy|DYA-ctq=e1Fk%jPD<{Okh5ce2?`teSa_oe6L`9UzddM zUTXJguxpG7>3z@v8WR_$Ky3OlvAHCP*o6C;{i1aW`2NL#`1zni626D1U+jV1+CCpV z#rVFjMa}1f5cT={Qo#38#`lMk@I6fJJ|zWw&t!bhPsI0Ioa=w6JFWl!1>X~WkL_2V z#Et>{Y@24@o&q>1f z80~$!rGW20{xyEQ`;+iJoN4y?1F&oC`=rm61+4pjD_{EDUWoREyRCfbJNqKEf7pTi z+CHB=j5^A%C+_mqd_M6~zgm(4zRzNOzbgsf1Jp0ZrhxC=8Q&)+;`@Ehd!-1CsirC5 z`=Jlx`+UnJd=F%q^T|%wt?lFeF~;|IPD)_BKj>_CFU^(9Qo#2R@^J?@{u- zK??Z(;okW9ph+UWKk4lA0rEWxyS05jSk3tUX5$3r1NmNwe7_|He4ozven%3%M|+xc z-MJ~?dl$y{af$dYeYc38_CAeam)jc!XpQuwKx{tvOZ z?Tr$c59EG9&l_({0pF)GzTcXN@6z7KOM9PDDd2lY#`n=l_#UJ88#jPmV?NmBTqC`- zPMr9l_K%5oQAhciS=}UJ6QF*vH3fXXm+}4eh6&6E^0QKU-Rb%i@O?7l`%Ovs9-?+1 zmIA)FWqdz73E%y+26|G!_YdBWAMf5Ie2-C|e+_nP{rb=NzTI2%@gAUOW;dpQ?^7Ay zZ%xAY2>CuL1$^(w_&z!b-(z$?&>#hT|8P(IcyE%7@AP_L6n1O-cwf!<{$_&&#{28e zeO;8={gxE)eLCa&9f|n9-RZlZ-dA#N3i#fI@qJtpzQ^cwp~flT`^WFakN31Be2>yR zzXNt_`*?qt@qJhQ1jf7cnpebn{XYeKpT+ooS0cVk_plLq-ZwS{eDBWqJ~0{JyPD5B zo2G#8hu)1J?=6$@o#y$Suv^>5`(upn@6=0Ryi0vPM9=ePOv`K?~qPs>T^dT^-;v{T-fE_182o=Sc3KS z({FSRVCp-=WqlKAuK<Ei51fs@Q<-IJKO-5}WwyR1)zOP*05X&w*Jyw~6A*NS<_Z{;iI@pR-TGET!Z z|2Jpike7%*iuxYk`OEX>H^@(zHG}jUNx^u4n zyUvlX^K%9CpB4_^aKfW4+v>@GH%$mJ7@6rFAu50d>Io6j0pqKH zoj^tdz$--EhC&;}AT5g(uwcnvrP^l69s1IvLZa2)909`OQJ z0y_ZFL5KlB6d2qQd|*AW2WZksh&-SIhyZ(mw9Y6Ws05w>_5&@`g$Mvw15X17fHqx( zC<4|1y8&-k*au31^}rsWNjKOBDu4*E7f8#1eV`I}0@x3<><;_D)xguh0iew(h(E9h z*a*ac4m}WmU@@=>I0B^m5q}^IYypk}89fny;C5gu@D1Sah4uxO0;px>8elizJp=ZEQeZu>2WT=F z_JIl@0_+9ShQK~h2|NMp2U?zqwgtjx!4{C72it%c27iacUtkqbIRfnu+&&U90@jQ| zIl#uV5o=&X0M`NE0DaCuI{M> zM;ijm&qthr$OP0C*fJ6Jft{1!^9AUOK!*#_UO@kg;PYhI1kx{tO<=$j*aQNXz$P$t zDr^F!m%=8ncp7X1-vE8`;VZBT*bOw94qL$0z((K*kWl~|z;a**kTC-~un{-{WXyyP zEC+S~(OK|2h<-L3v6zE+gwVf5qy{n--?l6g8WkCUjhHhz%K{C0{nT% zpO5@2kza}Y1<1b&`3sSMHS({4{cGXJbr?6-qdjjxJO2vxUyK;ti2iaD;&C(L6h{6n zh{>&p)ot+icJ%utsPi4jzZ3muDf-ni7vMWE;zh(8$lHW6H={oRw*#*M$94U;(1EEh zp^PoCjl&0^TNuZgB+(5-T|gsUPyg@uUj+Uaf&X3v>WO(6kC~#rs3Rtdi$uBbh<@T! z(O;B^dZ<=Ce_VVs+Bi9x<$SGORtEw6zU}wYG+}$C9@8q+zX{VeRpxtvzE{Yhze@ zDrsxa8`jzz)}E`ewK`(6VduppEWB)3cqs`BuNoF!Ny5VGhJ|fOSlDh@cq0i5ZyFZ< zn1qF0hK0A1u<(vy;q4?Wyl+@|F9{3#3=4lr!oo+eaEkbA5*7{`b@-&l7BulU{hq`z;HSdWU*36o&Y??Tn1h?jMfF^1_`ZbYEE7iQ0X`<%yjV5Y7PiUg%GlV8S zOQL;iKCft^<}->WYCe}};`1c@{d*GJn$JC&_%exdzfOYtZ4%t?li>c41ot0FaDPgI zdm;(0rqz6Y_9VfrmjtANJKa2qGVJt+xp(<=c07Me%2Loe(lT50vL*XShDMOV>Hw1(DEbQV2?U-ZGfYIksQ z#RzaFL9?DG)TQSMnK)CAIqMNU!5fGt4jP_7^w6qbpUIp%l{v?8M;X`ku4Yf)Db=%U zlZCWd1q6WEz+zw>uod_aI1Y5jLz;oWP+%-D8JGbS0rP=tfjfW|z-nMUumN}y zcm{YL*bKZ3yb8PyYzN*1b^-4I2sI*B^&hJFzxv7lNE&sq52}M*8C4~#Ur^JuRcPY( z6#6{T0kc9U%nRwFi!o1RU~W0Zm?e5*4(W})+qc>%%tqhN!T2A9v2&U+mIh;#oGH!{ zd15GD5*v;gWuzD-&K3c2jyPA07Gp3<$BJ=cyf`1T(?pEa3&e$ZcBwv&Bda=og8r|D zUb??&{*7#lfP2abCT)_0S&wj{2Tz6)8!Ni`sUzIr>7E ziB~$R{~L%IX)tD@VVHpe=ucxY<4i)onIbL~)5T0NTi~VTgb%y~%^r!@*D_=ECfx`9 zz*=ES%%l2Y=>idP>UcRHM^*kXNk2!@FO>A*lHO3#_2sm>ef@Re>UtwdZ!GCeB>f~w zZzkzYB|S~jn@jp=Nk3cC^o<}>e=h0s5d9)jQ9_`1TM?13T(Vpyiv@3fa?aQ7=JG1A}-t2j_J9{4O z&z?s=V9%qyalWd(N0|M?_>1#(NXIqifh{WzTg41$=yXE!NPJ7T^6Qwp8jG)yUe%AR zT@UQyBD1&Z^>CiI>#O0dJUDE7mTr}&jWYAC3q*#bU*ga;ZKOjNSatNHs=R$*F5+IrTbul8*TlM^*cs@6!*2~{%Rg)`)VF%dukqM`)M9$dubkL`)D3#duSeK{58*b$scEYwYpM%ouSU_ z>p1gqFYn05`$;9;Y2SL!m=#}veV2Yz=~GPI_^baRzOBpU(R^pmXEdMMdKZIPWxv0q zJL8Gx4pP1|o&tBS`cY+1ifIG_dl=W zNT!akP_2%^;#ne4I4dY7hDxp!!%IpRi17vG6+tnxq`0E2q(~GLRfzIX;p_@AZeB&{ zyb3WfSRqCh&leMmg27TTX+ddF3@eyavIIAKghLx1f3YJYMm{mBhT%1=>Hm9(d#Hd2l>!QNqStVBvD=4c< z8Fd>zudKYJY*AjdW4=q)QO6wPmvul=L7Ay@GRAdUh61HLtN&3^ol-5LGXVH04_hsW$T|0vk zO|THv$6JQIrW|r$n5pkK<&a8DRP~TwVag%nNgqRc2hDh_JEn~(hkOIOC}hl0Qw~`J z>4Cn=ltc6i;8J5cgdDO4nU~|S?@GwaAeTZGLWUtjkc%MaKvqJ|hAf2)LWUq`K~9I9 z2{{>Z2IP3i0>}X5bjUo&e8^nLX^{OPFNO3&PK8W|#9q|b1`=z6FAefyNG~Lwi~9s5 z=6c^TL>Bi(zN3(sdwnrTtogqEkXRdhdmyof_;x~KE%!wsu}1l}LSpXr>Ceb9$NQd! z#9Hc$Kq3gfHIP_)eJdd`C;OH{Vy*UtA+ZMe7C~Zd_fha3($ z8FCopc*voU0mwYaJV?y#zFbJ$bNc#2Vr}vHA+bmDr9)ybbB7ZQ6o zpMb<(&vy)sg*~C~C?xhyz8EC-K)(Hu*h~8MKxRSigv^ADLShZ{ZG}7)auX!hAm7uF z*t_~7kbNN6K=y`Q35hk!w-mA`WEj#9xd^fcWF_P&kfo5_Aw!TEkkcW%K~9G33OOFK z3uFK?9WoCRYnLwKV%2UbjbFQZ6Mo0ra`ua^g_0Q6p*bUkD=e545|0) zR**5smXP})n?o*zM5ugWNZf1s7D1*#Rzfy~EQR#pe+cp<$N(h9rY{e&F(hIw8bS7l zYzXOx^g^aXq6!$Iro0dX$cGcw@f8w26ufhrc}CCD^I_XKrqcCk=J*#|an^@EJ?%3y zU;hl4uK$Vj?~&H^c1O(oFLk||{T;-g|Dl<`m-NavO#M;P`@C=J@Wrq<@FP?2qwBD@ z=`~Ytg1YME-Tr~8->c_CU;YxTZjeMsPVK(9Yw z)o&io`QY;m^6xG^ANp+4vq`_4^xb-+BEOXMg{03Ty({SpN#CyfgX@1qy53)P{btfP zBdzO8NFPJ`a?<}s<*y_?O!_L)dy>A6^#7ysA0zz=(w`w+AJ=+$FOdEU)n^Oovq|4Z z`cqV&DCxsU{}bu^sQlfe>#y9a_Gfa+61dOy;yAbmTPe7*YcT_at5Va9(Q)u%q`=aB9r{V0{+g7kYy zZ$tW-q_-peW~xsI(%X^Vjr8ZKd_Uhmz^!$^;i{t1=;H0g^;-$Z(E(qAF{&s2Vt^aZ59 zMY_Je>izGpr0eeu&~_ zP3QV$+o>!&m1(E!L~gD{7-Xjg+Nm5nHNZ|~+o>!&m1(D{5`%2Rc50xV%CS=e>{Pa$ z%Cb|LcFIoV4zvy1seyJX$4(8fQ`vSZ%T8t5DLa9W22<Z(j-47{r?Tx-mYvE(3RW|Xu1>?I-)Wh4A$Dqzof>GT za_rOqJC$vxvg}kQQYfT9KHEI$oXq_G&cblo82$Zn?bIMUHPBAw*r@?_D%(zF*{Mu@ ILyzPC0nz{B2mk;8 literal 0 HcmV?d00001 diff --git a/src/tree_sitter/alloc.h b/src/tree_sitter/alloc.h index 1f4466d..1abdd12 100644 --- a/src/tree_sitter/alloc.h +++ b/src/tree_sitter/alloc.h @@ -12,10 +12,10 @@ extern "C" { // Allow clients to override allocation functions #ifdef TREE_SITTER_REUSE_ALLOCATOR -extern void *(*ts_current_malloc)(size_t); -extern void *(*ts_current_calloc)(size_t, size_t); -extern void *(*ts_current_realloc)(void *, size_t); -extern void (*ts_current_free)(void *); +extern void *(*ts_current_malloc)(size_t size); +extern void *(*ts_current_calloc)(size_t count, size_t size); +extern void *(*ts_current_realloc)(void *ptr, size_t size); +extern void (*ts_current_free)(void *ptr); #ifndef ts_malloc #define ts_malloc ts_current_malloc diff --git a/src/tree_sitter/array.h b/src/tree_sitter/array.h index 15a3b23..a17a574 100644 --- a/src/tree_sitter/array.h +++ b/src/tree_sitter/array.h @@ -14,6 +14,7 @@ extern "C" { #include #ifdef _MSC_VER +#pragma warning(push) #pragma warning(disable : 4101) #elif defined(__GNUC__) || defined(__clang__) #pragma GCC diagnostic push @@ -278,7 +279,7 @@ static inline void _array__splice(Array *self, size_t element_size, #define _compare_int(a, b) ((int)*(a) - (int)(b)) #ifdef _MSC_VER -#pragma warning(default : 4101) +#pragma warning(pop) #elif defined(__GNUC__) || defined(__clang__) #pragma GCC diagnostic pop #endif diff --git a/src/tree_sitter/parser.h b/src/tree_sitter/parser.h index 17f0e94..799f599 100644 --- a/src/tree_sitter/parser.h +++ b/src/tree_sitter/parser.h @@ -47,6 +47,7 @@ struct TSLexer { uint32_t (*get_column)(TSLexer *); bool (*is_at_included_range_start)(const TSLexer *); bool (*eof)(const TSLexer *); + void (*log)(const TSLexer *, const char *, ...); }; typedef enum { diff --git a/test/corpus/commands.txt b/test/corpus/commands.txt index 07c3dcd..23df115 100644 --- a/test/corpus/commands.txt +++ b/test/corpus/commands.txt @@ -9,6 +9,72 @@ Type "Whatever you want" (program (command (type (string)))) +==== +Non-alphanumeric character except white space +==== + +Ctrl+[ +Ctrl+@ +Ctrl+^ +Ctrl+] +Ctrl+\ +Ctrl+- +Alt+[ +Alt+@ +Alt+^ +Alt+] +Alt+\ +Alt+- +Shift+[ +Shift+@ +Shift+^ +Shift+] +Shift+\ +Shift+- + +--- + +(program + (command (control)) + (command (control)) + (command (control)) + (command (control)) + (command (control)) + (command (control)) + (command (alt)) + (command (alt)) + (command (alt)) + (command (alt)) + (command (alt)) + (command (alt)) + (command (shift)) + (command (shift)) + (command (shift)) + (command (shift)) + (command (shift)) + (command (shift))) + +==== +Case sensitive on Ctrl/Alt/Shift +==== + +Ctrl+A +Ctrl+a +Alt+B +Alt+b +Shift+C +Shift+c + +--- + +(program + (command (control)) + (command (control)) + (command (alt)) + (command (alt)) + (command (shift)) + (command (shift))) + ===== Sleep ===== From acd8f3d9e2f01fbc4d12a1dc4efa80dee4c3fbb1 Mon Sep 17 00:00:00 2001 From: Raphael Amorim Date: Wed, 5 Feb 2025 15:37:23 -0300 Subject: [PATCH 2/2] add new line in the end --- .gitignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 7511989..ce7f82b 100644 --- a/.gitignore +++ b/.gitignore @@ -6,4 +6,4 @@ build tree-sitter.json tree-sitter-vhs.pc libtree-sitter-vhs.dylib -libtree-sitter-vhs.a \ No newline at end of file +libtree-sitter-vhs.a