/* Automatically @generated by tree-sitter v0.25.10 */ #include "tree_sitter/parser.h" #if defined(__GNUC__) || defined(__clang__) #pragma GCC diagnostic ignored "-Wmissing-field-initializers" #endif #define LANGUAGE_VERSION 15 #define STATE_COUNT 89 #define LARGE_STATE_COUNT 4 #define SYMBOL_COUNT 63 #define ALIAS_COUNT 1 #define TOKEN_COUNT 38 #define EXTERNAL_TOKEN_COUNT 0 #define FIELD_COUNT 2 #define MAX_ALIAS_SEQUENCE_LENGTH 8 #define MAX_RESERVED_WORD_SET_SIZE 0 #define PRODUCTION_ID_COUNT 4 #define SUPERTYPE_COUNT 0 enum ts_symbol_identifiers { aux_sym_source_token1 = 1, anon_sym_diff = 2, aux_sym_command_token1 = 3, anon_sym_new = 4, anon_sym_deleted = 5, anon_sym_file = 6, anon_sym_mode = 7, anon_sym_old = 8, anon_sym_rename = 9, anon_sym_from = 10, anon_sym_to = 11, anon_sym_Binary = 12, anon_sym_files = 13, anon_sym_and = 14, anon_sym_differ = 15, anon_sym_index = 16, anon_sym_DOT_DOT = 17, anon_sym_similarity = 18, anon_sym_index2 = 19, aux_sym_similarity_token1 = 20, anon_sym_PERCENT = 21, anon_sym_DASH_DASH_DASH = 22, anon_sym_PLUS_PLUS_PLUS = 23, anon_sym_AT_AT = 24, anon_sym_AT_AT2 = 25, aux_sym_location_token1 = 26, anon_sym_PLUS = 27, anon_sym_PLUS_PLUS = 28, anon_sym_PLUS_PLUS_PLUS_PLUS = 29, anon_sym_DASH = 30, anon_sym_DASH_DASH = 31, anon_sym_DASH_DASH_DASH_DASH = 32, sym_context = 33, anon_sym_POUND = 34, sym_linerange = 35, aux_sym_filename_token1 = 36, sym_commit = 37, sym_source = 38, sym__line = 39, sym_block = 40, sym_hunks = 41, sym_hunk = 42, sym_changes = 43, sym_command = 44, sym_file_change = 45, sym_binary_change = 46, sym_index = 47, sym_similarity = 48, sym_old_file = 49, sym_new_file = 50, sym_location = 51, sym_addition = 52, sym_deletion = 53, sym_comment = 54, sym_filename = 55, sym_mode = 56, aux_sym_source_repeat1 = 57, aux_sym_block_repeat1 = 58, aux_sym_hunks_repeat1 = 59, aux_sym_changes_repeat1 = 60, aux_sym_changes_repeat2 = 61, aux_sym_filename_repeat1 = 62, alias_sym_score = 63, }; static const char * const ts_symbol_names[] = { [ts_builtin_sym_end] = "end", [aux_sym_source_token1] = "source_token1", [anon_sym_diff] = "diff", [aux_sym_command_token1] = "argument", [anon_sym_new] = "new", [anon_sym_deleted] = "deleted", [anon_sym_file] = "file", [anon_sym_mode] = "mode", [anon_sym_old] = "old", [anon_sym_rename] = "rename", [anon_sym_from] = "from", [anon_sym_to] = "to", [anon_sym_Binary] = "Binary", [anon_sym_files] = "files", [anon_sym_and] = "and", [anon_sym_differ] = "differ", [anon_sym_index] = "index", [anon_sym_DOT_DOT] = "..", [anon_sym_similarity] = "similarity", [anon_sym_index2] = "index", [aux_sym_similarity_token1] = "similarity_token1", [anon_sym_PERCENT] = "%", [anon_sym_DASH_DASH_DASH] = "---", [anon_sym_PLUS_PLUS_PLUS] = "+++", [anon_sym_AT_AT] = "@@", [anon_sym_AT_AT2] = "@@", [aux_sym_location_token1] = "location_token1", [anon_sym_PLUS] = "+", [anon_sym_PLUS_PLUS] = "++", [anon_sym_PLUS_PLUS_PLUS_PLUS] = "++++", [anon_sym_DASH] = "-", [anon_sym_DASH_DASH] = "--", [anon_sym_DASH_DASH_DASH_DASH] = "----", [sym_context] = "context", [anon_sym_POUND] = "#", [sym_linerange] = "linerange", [aux_sym_filename_token1] = "filename_token1", [sym_commit] = "commit", [sym_source] = "source", [sym__line] = "_line", [sym_block] = "block", [sym_hunks] = "hunks", [sym_hunk] = "hunk", [sym_changes] = "changes", [sym_command] = "command", [sym_file_change] = "file_change", [sym_binary_change] = "binary_change", [sym_index] = "index", [sym_similarity] = "similarity", [sym_old_file] = "old_file", [sym_new_file] = "new_file", [sym_location] = "location", [sym_addition] = "addition", [sym_deletion] = "deletion", [sym_comment] = "comment", [sym_filename] = "filename", [sym_mode] = "mode", [aux_sym_source_repeat1] = "source_repeat1", [aux_sym_block_repeat1] = "block_repeat1", [aux_sym_hunks_repeat1] = "hunks_repeat1", [aux_sym_changes_repeat1] = "changes_repeat1", [aux_sym_changes_repeat2] = "changes_repeat2", [aux_sym_filename_repeat1] = "filename_repeat1", [alias_sym_score] = "score", }; static const TSSymbol ts_symbol_map[] = { [ts_builtin_sym_end] = ts_builtin_sym_end, [aux_sym_source_token1] = aux_sym_source_token1, [anon_sym_diff] = anon_sym_diff, [aux_sym_command_token1] = aux_sym_command_token1, [anon_sym_new] = anon_sym_new, [anon_sym_deleted] = anon_sym_deleted, [anon_sym_file] = anon_sym_file, [anon_sym_mode] = anon_sym_mode, [anon_sym_old] = anon_sym_old, [anon_sym_rename] = anon_sym_rename, [anon_sym_from] = anon_sym_from, [anon_sym_to] = anon_sym_to, [anon_sym_Binary] = anon_sym_Binary, [anon_sym_files] = anon_sym_files, [anon_sym_and] = anon_sym_and, [anon_sym_differ] = anon_sym_differ, [anon_sym_index] = anon_sym_index, [anon_sym_DOT_DOT] = anon_sym_DOT_DOT, [anon_sym_similarity] = anon_sym_similarity, [anon_sym_index2] = anon_sym_index, [aux_sym_similarity_token1] = aux_sym_similarity_token1, [anon_sym_PERCENT] = anon_sym_PERCENT, [anon_sym_DASH_DASH_DASH] = anon_sym_DASH_DASH_DASH, [anon_sym_PLUS_PLUS_PLUS] = anon_sym_PLUS_PLUS_PLUS, [anon_sym_AT_AT] = anon_sym_AT_AT, [anon_sym_AT_AT2] = anon_sym_AT_AT, [aux_sym_location_token1] = aux_sym_location_token1, [anon_sym_PLUS] = anon_sym_PLUS, [anon_sym_PLUS_PLUS] = anon_sym_PLUS_PLUS, [anon_sym_PLUS_PLUS_PLUS_PLUS] = anon_sym_PLUS_PLUS_PLUS_PLUS, [anon_sym_DASH] = anon_sym_DASH, [anon_sym_DASH_DASH] = anon_sym_DASH_DASH, [anon_sym_DASH_DASH_DASH_DASH] = anon_sym_DASH_DASH_DASH_DASH, [sym_context] = sym_context, [anon_sym_POUND] = anon_sym_POUND, [sym_linerange] = sym_linerange, [aux_sym_filename_token1] = aux_sym_filename_token1, [sym_commit] = sym_commit, [sym_source] = sym_source, [sym__line] = sym__line, [sym_block] = sym_block, [sym_hunks] = sym_hunks, [sym_hunk] = sym_hunk, [sym_changes] = sym_changes, [sym_command] = sym_command, [sym_file_change] = sym_file_change, [sym_binary_change] = sym_binary_change, [sym_index] = sym_index, [sym_similarity] = sym_similarity, [sym_old_file] = sym_old_file, [sym_new_file] = sym_new_file, [sym_location] = sym_location, [sym_addition] = sym_addition, [sym_deletion] = sym_deletion, [sym_comment] = sym_comment, [sym_filename] = sym_filename, [sym_mode] = sym_mode, [aux_sym_source_repeat1] = aux_sym_source_repeat1, [aux_sym_block_repeat1] = aux_sym_block_repeat1, [aux_sym_hunks_repeat1] = aux_sym_hunks_repeat1, [aux_sym_changes_repeat1] = aux_sym_changes_repeat1, [aux_sym_changes_repeat2] = aux_sym_changes_repeat2, [aux_sym_filename_repeat1] = aux_sym_filename_repeat1, [alias_sym_score] = alias_sym_score, }; static const TSSymbolMetadata ts_symbol_metadata[] = { [ts_builtin_sym_end] = { .visible = false, .named = true, }, [aux_sym_source_token1] = { .visible = false, .named = false, }, [anon_sym_diff] = { .visible = true, .named = false, }, [aux_sym_command_token1] = { .visible = true, .named = true, }, [anon_sym_new] = { .visible = true, .named = false, }, [anon_sym_deleted] = { .visible = true, .named = false, }, [anon_sym_file] = { .visible = true, .named = false, }, [anon_sym_mode] = { .visible = true, .named = false, }, [anon_sym_old] = { .visible = true, .named = false, }, [anon_sym_rename] = { .visible = true, .named = false, }, [anon_sym_from] = { .visible = true, .named = false, }, [anon_sym_to] = { .visible = true, .named = false, }, [anon_sym_Binary] = { .visible = true, .named = false, }, [anon_sym_files] = { .visible = true, .named = false, }, [anon_sym_and] = { .visible = true, .named = false, }, [anon_sym_differ] = { .visible = true, .named = false, }, [anon_sym_index] = { .visible = true, .named = false, }, [anon_sym_DOT_DOT] = { .visible = true, .named = false, }, [anon_sym_similarity] = { .visible = true, .named = false, }, [anon_sym_index2] = { .visible = true, .named = false, }, [aux_sym_similarity_token1] = { .visible = false, .named = false, }, [anon_sym_PERCENT] = { .visible = true, .named = false, }, [anon_sym_DASH_DASH_DASH] = { .visible = true, .named = false, }, [anon_sym_PLUS_PLUS_PLUS] = { .visible = true, .named = false, }, [anon_sym_AT_AT] = { .visible = true, .named = false, }, [anon_sym_AT_AT2] = { .visible = true, .named = false, }, [aux_sym_location_token1] = { .visible = false, .named = false, }, [anon_sym_PLUS] = { .visible = true, .named = false, }, [anon_sym_PLUS_PLUS] = { .visible = true, .named = false, }, [anon_sym_PLUS_PLUS_PLUS_PLUS] = { .visible = true, .named = false, }, [anon_sym_DASH] = { .visible = true, .named = false, }, [anon_sym_DASH_DASH] = { .visible = true, .named = false, }, [anon_sym_DASH_DASH_DASH_DASH] = { .visible = true, .named = false, }, [sym_context] = { .visible = true, .named = true, }, [anon_sym_POUND] = { .visible = true, .named = false, }, [sym_linerange] = { .visible = true, .named = true, }, [aux_sym_filename_token1] = { .visible = false, .named = false, }, [sym_commit] = { .visible = true, .named = true, }, [sym_source] = { .visible = true, .named = true, }, [sym__line] = { .visible = false, .named = true, }, [sym_block] = { .visible = true, .named = true, }, [sym_hunks] = { .visible = true, .named = true, }, [sym_hunk] = { .visible = true, .named = true, }, [sym_changes] = { .visible = true, .named = true, }, [sym_command] = { .visible = true, .named = true, }, [sym_file_change] = { .visible = true, .named = true, }, [sym_binary_change] = { .visible = true, .named = true, }, [sym_index] = { .visible = true, .named = true, }, [sym_similarity] = { .visible = true, .named = true, }, [sym_old_file] = { .visible = true, .named = true, }, [sym_new_file] = { .visible = true, .named = true, }, [sym_location] = { .visible = true, .named = true, }, [sym_addition] = { .visible = true, .named = true, }, [sym_deletion] = { .visible = true, .named = true, }, [sym_comment] = { .visible = true, .named = true, }, [sym_filename] = { .visible = true, .named = true, }, [sym_mode] = { .visible = true, .named = true, }, [aux_sym_source_repeat1] = { .visible = false, .named = false, }, [aux_sym_block_repeat1] = { .visible = false, .named = false, }, [aux_sym_hunks_repeat1] = { .visible = false, .named = false, }, [aux_sym_changes_repeat1] = { .visible = false, .named = false, }, [aux_sym_changes_repeat2] = { .visible = false, .named = false, }, [aux_sym_filename_repeat1] = { .visible = false, .named = false, }, [alias_sym_score] = { .visible = true, .named = true, }, }; enum ts_field_identifiers { field_changes = 1, field_location = 2, }; static const char * const ts_field_names[] = { [0] = NULL, [field_changes] = "changes", [field_location] = "location", }; static const TSMapSlice ts_field_map_slices[PRODUCTION_ID_COUNT] = { [2] = {.index = 0, .length = 1}, [3] = {.index = 1, .length = 2}, }; static const TSFieldMapEntry ts_field_map_entries[] = { [0] = {field_location, 0}, [1] = {field_changes, 2}, {field_location, 0}, }; static const TSSymbol ts_alias_sequences[PRODUCTION_ID_COUNT][MAX_ALIAS_SEQUENCE_LENGTH] = { [0] = {0}, [1] = { [2] = alias_sym_score, }, }; static const uint16_t ts_non_terminal_alias_map[] = { 0, }; static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [0] = 0, [1] = 1, [2] = 2, [3] = 3, [4] = 4, [5] = 5, [6] = 6, [7] = 7, [8] = 8, [9] = 9, [10] = 10, [11] = 11, [12] = 12, [13] = 13, [14] = 14, [15] = 15, [16] = 16, [17] = 17, [18] = 18, [19] = 19, [20] = 20, [21] = 21, [22] = 22, [23] = 23, [24] = 24, [25] = 25, [26] = 26, [27] = 27, [28] = 28, [29] = 29, [30] = 30, [31] = 31, [32] = 32, [33] = 33, [34] = 34, [35] = 35, [36] = 24, [37] = 25, [38] = 24, [39] = 25, [40] = 40, [41] = 41, [42] = 42, [43] = 43, [44] = 44, [45] = 45, [46] = 46, [47] = 47, [48] = 48, [49] = 49, [50] = 50, [51] = 51, [52] = 52, [53] = 53, [54] = 54, [55] = 55, [56] = 56, [57] = 57, [58] = 58, [59] = 59, [60] = 60, [61] = 61, [62] = 62, [63] = 63, [64] = 64, [65] = 65, [66] = 66, [67] = 67, [68] = 68, [69] = 69, [70] = 70, [71] = 71, [72] = 72, [73] = 73, [74] = 74, [75] = 75, [76] = 76, [77] = 77, [78] = 78, [79] = 79, [80] = 80, [81] = 81, [82] = 82, [83] = 83, [84] = 84, [85] = 85, [86] = 86, [87] = 87, [88] = 88, }; static bool ts_lex(TSLexer *lexer, TSStateId state) { START_LEXER(); eof = lexer->eof(lexer); switch (state) { case 0: if (eof) ADVANCE(88); ADVANCE_MAP( '\n', 89, '\r', 1, '#', 204, '%', 151, '+', 159, '-', 162, '.', 4, '@', 5, 'B', 38, 'a', 54, 'd', 18, 'f', 39, 'i', 56, 'm', 61, 'n', 20, 'o', 46, 'r', 29, 's', 37, 't', 59, 'b', 81, 'c', 81, 'e', 81, ); if (('\t' <= lookahead && lookahead <= '\f') || lookahead == ' ') SKIP(83); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(121); END_STATE(); case 1: if (lookahead == '\n') ADVANCE(89); END_STATE(); case 2: if (lookahead == '+') ADVANCE(3); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(205); END_STATE(); case 3: if (lookahead == '+') ADVANCE(153); END_STATE(); case 4: if (lookahead == '.') ADVANCE(108); END_STATE(); case 5: if (lookahead == '@') ADVANCE(155); END_STATE(); case 6: if (lookahead == '@') ADVANCE(156); END_STATE(); case 7: if (lookahead == 'a') ADVANCE(62); END_STATE(); case 8: if (lookahead == 'a') ADVANCE(212); if (lookahead == '\t' || lookahead == 0x0b || lookahead == '\f' || lookahead == ' ') SKIP(8); if (lookahead != 0 && (lookahead < '\t' || '\r' < lookahead)) ADVANCE(214); END_STATE(); case 9: if (lookahead == 'a') ADVANCE(64); END_STATE(); case 10: if (lookahead == 'a') ADVANCE(53); END_STATE(); case 11: if (lookahead == 'd') ADVANCE(103); END_STATE(); case 12: if (lookahead == 'd') ADVANCE(97); END_STATE(); case 13: if (lookahead == 'd') ADVANCE(93); END_STATE(); case 14: if (lookahead == 'd') ADVANCE(211); if (lookahead == '\t' || lookahead == 0x0b || lookahead == '\f' || lookahead == ' ') SKIP(14); if (lookahead != 0 && (lookahead < '\t' || '\r' < lookahead)) ADVANCE(214); END_STATE(); case 15: if (lookahead == 'd') ADVANCE(23); END_STATE(); case 16: if (lookahead == 'd') ADVANCE(24); END_STATE(); case 17: if (lookahead == 'd') ADVANCE(28); END_STATE(); case 18: if (lookahead == 'e') ADVANCE(45); if (lookahead == 'i') ADVANCE(34); if (('0' <= lookahead && lookahead <= '9') || ('a' <= lookahead && lookahead <= 'f')) ADVANCE(80); END_STATE(); case 19: if (lookahead == 'e') ADVANCE(45); if (('0' <= lookahead && lookahead <= '9') || ('a' <= lookahead && lookahead <= 'f')) ADVANCE(80); END_STATE(); case 20: if (lookahead == 'e') ADVANCE(68); END_STATE(); case 21: if (lookahead == 'e') ADVANCE(67); END_STATE(); case 22: if (lookahead == 'e') ADVANCE(95); END_STATE(); case 23: if (lookahead == 'e') ADVANCE(69); END_STATE(); case 24: if (lookahead == 'e') ADVANCE(96); END_STATE(); case 25: if (lookahead == 'e') ADVANCE(98); END_STATE(); case 26: if (lookahead == 'e') ADVANCE(94); END_STATE(); case 27: if (lookahead == 'e') ADVANCE(65); END_STATE(); case 28: if (lookahead == 'e') ADVANCE(70); END_STATE(); case 29: if (lookahead == 'e') ADVANCE(57); END_STATE(); case 30: if (lookahead == 'e') ADVANCE(63); END_STATE(); case 31: if (lookahead == 'e') ADVANCE(13); END_STATE(); case 32: if (lookahead == 'f') ADVANCE(90); END_STATE(); case 33: if (lookahead == 'f') ADVANCE(44); if (lookahead == '\t' || lookahead == 0x0b || lookahead == '\f' || lookahead == ' ') SKIP(33); if (('0' <= lookahead && lookahead <= '9') || ('a' <= lookahead && lookahead <= 'e')) ADVANCE(81); END_STATE(); case 34: if (lookahead == 'f') ADVANCE(32); END_STATE(); case 35: if (lookahead == 'f') ADVANCE(36); END_STATE(); case 36: if (lookahead == 'f') ADVANCE(30); END_STATE(); case 37: if (lookahead == 'i') ADVANCE(52); END_STATE(); case 38: if (lookahead == 'i') ADVANCE(55); END_STATE(); case 39: if (lookahead == 'i') ADVANCE(47); if (lookahead == 'r') ADVANCE(60); if (('0' <= lookahead && lookahead <= '9') || ('a' <= lookahead && lookahead <= 'f')) ADVANCE(80); END_STATE(); case 40: if (lookahead == 'i') ADVANCE(66); END_STATE(); case 41: if (lookahead == 'i') ADVANCE(50); END_STATE(); case 42: if (lookahead == 'i') ADVANCE(35); END_STATE(); case 43: if (lookahead == 'i') ADVANCE(48); END_STATE(); case 44: if (lookahead == 'i') ADVANCE(49); if (('0' <= lookahead && lookahead <= '9') || ('a' <= lookahead && lookahead <= 'f')) ADVANCE(80); END_STATE(); case 45: if (lookahead == 'l') ADVANCE(21); if (('0' <= lookahead && lookahead <= '9') || ('a' <= lookahead && lookahead <= 'f')) ADVANCE(79); END_STATE(); case 46: if (lookahead == 'l') ADVANCE(12); END_STATE(); case 47: if (lookahead == 'l') ADVANCE(22); END_STATE(); case 48: if (lookahead == 'l') ADVANCE(26); END_STATE(); case 49: if (lookahead == 'l') ADVANCE(27); END_STATE(); case 50: if (lookahead == 'l') ADVANCE(9); END_STATE(); case 51: if (lookahead == 'm') ADVANCE(99); END_STATE(); case 52: if (lookahead == 'm') ADVANCE(41); END_STATE(); case 53: if (lookahead == 'm') ADVANCE(25); END_STATE(); case 54: if (lookahead == 'n') ADVANCE(11); if (('0' <= lookahead && lookahead <= '9') || ('a' <= lookahead && lookahead <= 'f')) ADVANCE(80); END_STATE(); case 55: if (lookahead == 'n') ADVANCE(7); END_STATE(); case 56: if (lookahead == 'n') ADVANCE(15); END_STATE(); case 57: if (lookahead == 'n') ADVANCE(10); END_STATE(); case 58: if (lookahead == 'n') ADVANCE(17); END_STATE(); case 59: if (lookahead == 'o') ADVANCE(100); END_STATE(); case 60: if (lookahead == 'o') ADVANCE(51); END_STATE(); case 61: if (lookahead == 'o') ADVANCE(16); END_STATE(); case 62: if (lookahead == 'r') ADVANCE(71); END_STATE(); case 63: if (lookahead == 'r') ADVANCE(105); END_STATE(); case 64: if (lookahead == 'r') ADVANCE(40); END_STATE(); case 65: if (lookahead == 's') ADVANCE(102); END_STATE(); case 66: if (lookahead == 't') ADVANCE(72); END_STATE(); case 67: if (lookahead == 't') ADVANCE(31); END_STATE(); case 68: if (lookahead == 'w') ADVANCE(92); END_STATE(); case 69: if (lookahead == 'x') ADVANCE(107); END_STATE(); case 70: if (lookahead == 'x') ADVANCE(110); END_STATE(); case 71: if (lookahead == 'y') ADVANCE(101); END_STATE(); case 72: if (lookahead == 'y') ADVANCE(109); END_STATE(); case 73: if (lookahead == '\t' || lookahead == 0x0b || lookahead == '\f' || lookahead == ' ') SKIP(73); if (lookahead == '-' || ('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(91); END_STATE(); case 74: if (('0' <= lookahead && lookahead <= '9')) ADVANCE(205); END_STATE(); case 75: if (('0' <= lookahead && lookahead <= '9')) ADVANCE(206); END_STATE(); case 76: if (('0' <= lookahead && lookahead <= '9') || ('a' <= lookahead && lookahead <= 'f')) ADVANCE(248); END_STATE(); case 77: if (('0' <= lookahead && lookahead <= '9') || ('a' <= lookahead && lookahead <= 'f')) ADVANCE(76); END_STATE(); case 78: if (('0' <= lookahead && lookahead <= '9') || ('a' <= lookahead && lookahead <= 'f')) ADVANCE(77); END_STATE(); case 79: if (('0' <= lookahead && lookahead <= '9') || ('a' <= lookahead && lookahead <= 'f')) ADVANCE(78); END_STATE(); case 80: if (('0' <= lookahead && lookahead <= '9') || ('a' <= lookahead && lookahead <= 'f')) ADVANCE(79); END_STATE(); case 81: if (('0' <= lookahead && lookahead <= '9') || ('a' <= lookahead && lookahead <= 'f')) ADVANCE(80); END_STATE(); case 82: if (eof) ADVANCE(88); ADVANCE_MAP( '\n', 89, '\r', 1, '#', 204, '+', 159, '-', 162, '@', 166, 'B', 184, 'd', 177, 'i', 192, 'n', 174, 'o', 187, 'r', 179, 's', 183, '\t', 165, 0x0b, 165, '\f', 165, ' ', 165, ); if (lookahead != 0) ADVANCE(203); END_STATE(); case 83: if (eof) ADVANCE(88); ADVANCE_MAP( '\n', 89, '\r', 1, '%', 151, '.', 4, '@', 6, 'a', 54, 'd', 19, 'f', 39, 'i', 58, 'm', 61, 'n', 20, 'o', 46, 'r', 29, 't', 59, 'b', 81, 'c', 81, 'e', 81, ); if (('\t' <= lookahead && lookahead <= '\f') || lookahead == ' ') SKIP(83); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(121); END_STATE(); case 84: if (eof) ADVANCE(88); ADVANCE_MAP( '\n', 89, '\r', 1, '+', 2, '-', 74, '@', 6, 'd', 42, 'f', 43, 'i', 58, 'm', 61, ); if (('\t' <= lookahead && lookahead <= '\f') || lookahead == ' ') SKIP(85); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(150); END_STATE(); case 85: if (eof) ADVANCE(88); ADVANCE_MAP( '\n', 89, '\r', 1, '@', 6, 'd', 42, 'f', 43, 'i', 58, 'm', 61, '+', 74, '-', 74, ); if (('\t' <= lookahead && lookahead <= '\f') || lookahead == ' ') SKIP(85); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(150); END_STATE(); case 86: if (eof) ADVANCE(88); if (lookahead == '\n') ADVANCE(89); if (lookahead == '\r') ADVANCE(1); if (('\t' <= lookahead && lookahead <= '\f') || lookahead == ' ') SKIP(86); if (lookahead != 0) ADVANCE(214); END_STATE(); case 87: if (eof) ADVANCE(88); if (lookahead == '\n') ADVANCE(89); if (lookahead == '\r') ADVANCE(1); if (('\t' <= lookahead && lookahead <= '\f') || lookahead == ' ') ADVANCE(157); if (lookahead != 0) ADVANCE(158); END_STATE(); case 88: ACCEPT_TOKEN(ts_builtin_sym_end); END_STATE(); case 89: ACCEPT_TOKEN(aux_sym_source_token1); END_STATE(); case 90: ACCEPT_TOKEN(anon_sym_diff); END_STATE(); case 91: ACCEPT_TOKEN(aux_sym_command_token1); if (lookahead == '-' || ('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(91); END_STATE(); case 92: ACCEPT_TOKEN(anon_sym_new); END_STATE(); case 93: ACCEPT_TOKEN(anon_sym_deleted); END_STATE(); case 94: ACCEPT_TOKEN(anon_sym_file); END_STATE(); case 95: ACCEPT_TOKEN(anon_sym_file); if (lookahead == 's') ADVANCE(102); END_STATE(); case 96: ACCEPT_TOKEN(anon_sym_mode); END_STATE(); case 97: ACCEPT_TOKEN(anon_sym_old); END_STATE(); case 98: ACCEPT_TOKEN(anon_sym_rename); END_STATE(); case 99: ACCEPT_TOKEN(anon_sym_from); END_STATE(); case 100: ACCEPT_TOKEN(anon_sym_to); END_STATE(); case 101: ACCEPT_TOKEN(anon_sym_Binary); END_STATE(); case 102: ACCEPT_TOKEN(anon_sym_files); END_STATE(); case 103: ACCEPT_TOKEN(anon_sym_and); END_STATE(); case 104: ACCEPT_TOKEN(anon_sym_and); if (lookahead != 0 && (lookahead < '\t' || '\r' < lookahead) && lookahead != ' ') ADVANCE(214); END_STATE(); case 105: ACCEPT_TOKEN(anon_sym_differ); END_STATE(); case 106: ACCEPT_TOKEN(anon_sym_differ); if (lookahead != 0 && (lookahead < '\t' || '\r' < lookahead) && lookahead != ' ') ADVANCE(214); END_STATE(); case 107: ACCEPT_TOKEN(anon_sym_index); END_STATE(); case 108: ACCEPT_TOKEN(anon_sym_DOT_DOT); END_STATE(); case 109: ACCEPT_TOKEN(anon_sym_similarity); END_STATE(); case 110: ACCEPT_TOKEN(anon_sym_index2); END_STATE(); case 111: ACCEPT_TOKEN(aux_sym_similarity_token1); if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(248); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(149); END_STATE(); case 112: ACCEPT_TOKEN(aux_sym_similarity_token1); if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(215); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(150); END_STATE(); case 113: ACCEPT_TOKEN(aux_sym_similarity_token1); if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(76); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(111); END_STATE(); case 114: ACCEPT_TOKEN(aux_sym_similarity_token1); if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(216); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(112); END_STATE(); case 115: ACCEPT_TOKEN(aux_sym_similarity_token1); if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(77); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(113); END_STATE(); case 116: ACCEPT_TOKEN(aux_sym_similarity_token1); if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(217); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(114); END_STATE(); case 117: ACCEPT_TOKEN(aux_sym_similarity_token1); if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(78); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(115); END_STATE(); case 118: ACCEPT_TOKEN(aux_sym_similarity_token1); if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(218); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(116); END_STATE(); case 119: ACCEPT_TOKEN(aux_sym_similarity_token1); if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(79); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(117); END_STATE(); case 120: ACCEPT_TOKEN(aux_sym_similarity_token1); if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(219); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(118); END_STATE(); case 121: ACCEPT_TOKEN(aux_sym_similarity_token1); if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(80); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(119); END_STATE(); case 122: ACCEPT_TOKEN(aux_sym_similarity_token1); if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(220); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(120); END_STATE(); case 123: ACCEPT_TOKEN(aux_sym_similarity_token1); if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(221); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(122); END_STATE(); case 124: ACCEPT_TOKEN(aux_sym_similarity_token1); if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(222); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(123); END_STATE(); case 125: ACCEPT_TOKEN(aux_sym_similarity_token1); if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(223); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(124); END_STATE(); case 126: ACCEPT_TOKEN(aux_sym_similarity_token1); if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(224); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(125); END_STATE(); case 127: ACCEPT_TOKEN(aux_sym_similarity_token1); if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(225); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(126); END_STATE(); case 128: ACCEPT_TOKEN(aux_sym_similarity_token1); if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(226); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(127); END_STATE(); case 129: ACCEPT_TOKEN(aux_sym_similarity_token1); if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(227); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(128); END_STATE(); case 130: ACCEPT_TOKEN(aux_sym_similarity_token1); if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(228); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(129); END_STATE(); case 131: ACCEPT_TOKEN(aux_sym_similarity_token1); if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(229); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(130); END_STATE(); case 132: ACCEPT_TOKEN(aux_sym_similarity_token1); if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(230); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(131); END_STATE(); case 133: ACCEPT_TOKEN(aux_sym_similarity_token1); if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(231); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(132); END_STATE(); case 134: ACCEPT_TOKEN(aux_sym_similarity_token1); if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(232); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(133); END_STATE(); case 135: ACCEPT_TOKEN(aux_sym_similarity_token1); if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(233); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(134); END_STATE(); case 136: ACCEPT_TOKEN(aux_sym_similarity_token1); if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(234); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(135); END_STATE(); case 137: ACCEPT_TOKEN(aux_sym_similarity_token1); if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(235); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(136); END_STATE(); case 138: ACCEPT_TOKEN(aux_sym_similarity_token1); if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(236); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(137); END_STATE(); case 139: ACCEPT_TOKEN(aux_sym_similarity_token1); if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(237); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(138); END_STATE(); case 140: ACCEPT_TOKEN(aux_sym_similarity_token1); if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(238); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(139); END_STATE(); case 141: ACCEPT_TOKEN(aux_sym_similarity_token1); if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(239); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(140); END_STATE(); case 142: ACCEPT_TOKEN(aux_sym_similarity_token1); if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(240); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(141); END_STATE(); case 143: ACCEPT_TOKEN(aux_sym_similarity_token1); if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(241); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(142); END_STATE(); case 144: ACCEPT_TOKEN(aux_sym_similarity_token1); if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(242); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(143); END_STATE(); case 145: ACCEPT_TOKEN(aux_sym_similarity_token1); if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(243); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(144); END_STATE(); case 146: ACCEPT_TOKEN(aux_sym_similarity_token1); if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(244); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(145); END_STATE(); case 147: ACCEPT_TOKEN(aux_sym_similarity_token1); if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(245); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(146); END_STATE(); case 148: ACCEPT_TOKEN(aux_sym_similarity_token1); if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(246); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(147); END_STATE(); case 149: ACCEPT_TOKEN(aux_sym_similarity_token1); if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(247); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(148); END_STATE(); case 150: ACCEPT_TOKEN(aux_sym_similarity_token1); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(150); END_STATE(); case 151: ACCEPT_TOKEN(anon_sym_PERCENT); END_STATE(); case 152: ACCEPT_TOKEN(anon_sym_DASH_DASH_DASH); if (lookahead == '-') ADVANCE(164); END_STATE(); case 153: ACCEPT_TOKEN(anon_sym_PLUS_PLUS_PLUS); END_STATE(); case 154: ACCEPT_TOKEN(anon_sym_PLUS_PLUS_PLUS); if (lookahead == '+') ADVANCE(161); END_STATE(); case 155: ACCEPT_TOKEN(anon_sym_AT_AT); END_STATE(); case 156: ACCEPT_TOKEN(anon_sym_AT_AT2); END_STATE(); case 157: ACCEPT_TOKEN(aux_sym_location_token1); if (lookahead == '\t' || lookahead == 0x0b || lookahead == '\f' || lookahead == ' ') ADVANCE(157); if (lookahead != 0 && (lookahead < '\t' || '\r' < lookahead)) ADVANCE(158); END_STATE(); case 158: ACCEPT_TOKEN(aux_sym_location_token1); if (lookahead != 0 && lookahead != '\n' && lookahead != '\r') ADVANCE(158); END_STATE(); case 159: ACCEPT_TOKEN(anon_sym_PLUS); if (lookahead == '+') ADVANCE(160); END_STATE(); case 160: ACCEPT_TOKEN(anon_sym_PLUS_PLUS); if (lookahead == '+') ADVANCE(154); END_STATE(); case 161: ACCEPT_TOKEN(anon_sym_PLUS_PLUS_PLUS_PLUS); END_STATE(); case 162: ACCEPT_TOKEN(anon_sym_DASH); if (lookahead == '-') ADVANCE(163); END_STATE(); case 163: ACCEPT_TOKEN(anon_sym_DASH_DASH); if (lookahead == '-') ADVANCE(152); END_STATE(); case 164: ACCEPT_TOKEN(anon_sym_DASH_DASH_DASH_DASH); END_STATE(); case 165: ACCEPT_TOKEN(sym_context); ADVANCE_MAP( '\n', 89, '\r', 1, 'd', 178, 'n', 174, 'o', 187, 'r', 179, '\t', 165, 0x0b, 165, '\f', 165, ' ', 165, ); if (lookahead != 0) ADVANCE(203); END_STATE(); case 166: ACCEPT_TOKEN(sym_context); if (lookahead == '@') ADVANCE(155); if (lookahead != 0 && lookahead != '\n' && lookahead != '\r') ADVANCE(203); END_STATE(); case 167: ACCEPT_TOKEN(sym_context); if (lookahead == 'a') ADVANCE(195); if (lookahead != 0 && lookahead != '\n' && lookahead != '\r') ADVANCE(203); END_STATE(); case 168: ACCEPT_TOKEN(sym_context); if (lookahead == 'a') ADVANCE(191); if (lookahead != 0 && lookahead != '\n' && lookahead != '\r') ADVANCE(203); END_STATE(); case 169: ACCEPT_TOKEN(sym_context); if (lookahead == 'a') ADVANCE(196); if (lookahead != 0 && lookahead != '\n' && lookahead != '\r') ADVANCE(203); END_STATE(); case 170: ACCEPT_TOKEN(sym_context); if (lookahead == 'd') ADVANCE(97); if (lookahead != 0 && lookahead != '\n' && lookahead != '\r') ADVANCE(203); END_STATE(); case 171: ACCEPT_TOKEN(sym_context); if (lookahead == 'd') ADVANCE(93); if (lookahead != 0 && lookahead != '\n' && lookahead != '\r') ADVANCE(203); END_STATE(); case 172: ACCEPT_TOKEN(sym_context); if (lookahead == 'd') ADVANCE(176); if (lookahead != 0 && lookahead != '\n' && lookahead != '\r') ADVANCE(203); END_STATE(); case 173: ACCEPT_TOKEN(sym_context); if (lookahead == 'e') ADVANCE(98); if (lookahead != 0 && lookahead != '\n' && lookahead != '\r') ADVANCE(203); END_STATE(); case 174: ACCEPT_TOKEN(sym_context); if (lookahead == 'e') ADVANCE(199); if (lookahead != 0 && lookahead != '\n' && lookahead != '\r') ADVANCE(203); END_STATE(); case 175: ACCEPT_TOKEN(sym_context); if (lookahead == 'e') ADVANCE(198); if (lookahead != 0 && lookahead != '\n' && lookahead != '\r') ADVANCE(203); END_STATE(); case 176: ACCEPT_TOKEN(sym_context); if (lookahead == 'e') ADVANCE(200); if (lookahead != 0 && lookahead != '\n' && lookahead != '\r') ADVANCE(203); END_STATE(); case 177: ACCEPT_TOKEN(sym_context); if (lookahead == 'e') ADVANCE(188); if (lookahead == 'i') ADVANCE(182); if (lookahead != 0 && lookahead != '\n' && lookahead != '\r') ADVANCE(203); END_STATE(); case 178: ACCEPT_TOKEN(sym_context); if (lookahead == 'e') ADVANCE(188); if (lookahead != 0 && lookahead != '\n' && lookahead != '\r') ADVANCE(203); END_STATE(); case 179: ACCEPT_TOKEN(sym_context); if (lookahead == 'e') ADVANCE(194); if (lookahead != 0 && lookahead != '\n' && lookahead != '\r') ADVANCE(203); END_STATE(); case 180: ACCEPT_TOKEN(sym_context); if (lookahead == 'e') ADVANCE(171); if (lookahead != 0 && lookahead != '\n' && lookahead != '\r') ADVANCE(203); END_STATE(); case 181: ACCEPT_TOKEN(sym_context); if (lookahead == 'f') ADVANCE(90); if (lookahead != 0 && lookahead != '\n' && lookahead != '\r') ADVANCE(203); END_STATE(); case 182: ACCEPT_TOKEN(sym_context); if (lookahead == 'f') ADVANCE(181); if (lookahead != 0 && lookahead != '\n' && lookahead != '\r') ADVANCE(203); END_STATE(); case 183: ACCEPT_TOKEN(sym_context); if (lookahead == 'i') ADVANCE(190); if (lookahead != 0 && lookahead != '\n' && lookahead != '\r') ADVANCE(203); END_STATE(); case 184: ACCEPT_TOKEN(sym_context); if (lookahead == 'i') ADVANCE(193); if (lookahead != 0 && lookahead != '\n' && lookahead != '\r') ADVANCE(203); END_STATE(); case 185: ACCEPT_TOKEN(sym_context); if (lookahead == 'i') ADVANCE(197); if (lookahead != 0 && lookahead != '\n' && lookahead != '\r') ADVANCE(203); END_STATE(); case 186: ACCEPT_TOKEN(sym_context); if (lookahead == 'i') ADVANCE(189); if (lookahead != 0 && lookahead != '\n' && lookahead != '\r') ADVANCE(203); END_STATE(); case 187: ACCEPT_TOKEN(sym_context); if (lookahead == 'l') ADVANCE(170); if (lookahead != 0 && lookahead != '\n' && lookahead != '\r') ADVANCE(203); END_STATE(); case 188: ACCEPT_TOKEN(sym_context); if (lookahead == 'l') ADVANCE(175); if (lookahead != 0 && lookahead != '\n' && lookahead != '\r') ADVANCE(203); END_STATE(); case 189: ACCEPT_TOKEN(sym_context); if (lookahead == 'l') ADVANCE(169); if (lookahead != 0 && lookahead != '\n' && lookahead != '\r') ADVANCE(203); END_STATE(); case 190: ACCEPT_TOKEN(sym_context); if (lookahead == 'm') ADVANCE(186); if (lookahead != 0 && lookahead != '\n' && lookahead != '\r') ADVANCE(203); END_STATE(); case 191: ACCEPT_TOKEN(sym_context); if (lookahead == 'm') ADVANCE(173); if (lookahead != 0 && lookahead != '\n' && lookahead != '\r') ADVANCE(203); END_STATE(); case 192: ACCEPT_TOKEN(sym_context); if (lookahead == 'n') ADVANCE(172); if (lookahead != 0 && lookahead != '\n' && lookahead != '\r') ADVANCE(203); END_STATE(); case 193: ACCEPT_TOKEN(sym_context); if (lookahead == 'n') ADVANCE(167); if (lookahead != 0 && lookahead != '\n' && lookahead != '\r') ADVANCE(203); END_STATE(); case 194: ACCEPT_TOKEN(sym_context); if (lookahead == 'n') ADVANCE(168); if (lookahead != 0 && lookahead != '\n' && lookahead != '\r') ADVANCE(203); END_STATE(); case 195: ACCEPT_TOKEN(sym_context); if (lookahead == 'r') ADVANCE(201); if (lookahead != 0 && lookahead != '\n' && lookahead != '\r') ADVANCE(203); END_STATE(); case 196: ACCEPT_TOKEN(sym_context); if (lookahead == 'r') ADVANCE(185); if (lookahead != 0 && lookahead != '\n' && lookahead != '\r') ADVANCE(203); END_STATE(); case 197: ACCEPT_TOKEN(sym_context); if (lookahead == 't') ADVANCE(202); if (lookahead != 0 && lookahead != '\n' && lookahead != '\r') ADVANCE(203); END_STATE(); case 198: ACCEPT_TOKEN(sym_context); if (lookahead == 't') ADVANCE(180); if (lookahead != 0 && lookahead != '\n' && lookahead != '\r') ADVANCE(203); END_STATE(); case 199: ACCEPT_TOKEN(sym_context); if (lookahead == 'w') ADVANCE(92); if (lookahead != 0 && lookahead != '\n' && lookahead != '\r') ADVANCE(203); END_STATE(); case 200: ACCEPT_TOKEN(sym_context); if (lookahead == 'x') ADVANCE(107); if (lookahead != 0 && lookahead != '\n' && lookahead != '\r') ADVANCE(203); END_STATE(); case 201: ACCEPT_TOKEN(sym_context); if (lookahead == 'y') ADVANCE(101); if (lookahead != 0 && lookahead != '\n' && lookahead != '\r') ADVANCE(203); END_STATE(); case 202: ACCEPT_TOKEN(sym_context); if (lookahead == 'y') ADVANCE(109); if (lookahead != 0 && lookahead != '\n' && lookahead != '\r') ADVANCE(203); END_STATE(); case 203: ACCEPT_TOKEN(sym_context); if (lookahead != 0 && lookahead != '\n' && lookahead != '\r') ADVANCE(203); END_STATE(); case 204: ACCEPT_TOKEN(anon_sym_POUND); END_STATE(); case 205: ACCEPT_TOKEN(sym_linerange); if (lookahead == ',') ADVANCE(75); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(205); END_STATE(); case 206: ACCEPT_TOKEN(sym_linerange); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(206); END_STATE(); case 207: ACCEPT_TOKEN(aux_sym_filename_token1); if (lookahead == 'd') ADVANCE(104); if (lookahead != 0 && (lookahead < '\t' || '\r' < lookahead) && lookahead != ' ') ADVANCE(214); END_STATE(); case 208: ACCEPT_TOKEN(aux_sym_filename_token1); if (lookahead == 'e') ADVANCE(213); if (lookahead != 0 && (lookahead < '\t' || '\r' < lookahead) && lookahead != ' ') ADVANCE(214); END_STATE(); case 209: ACCEPT_TOKEN(aux_sym_filename_token1); if (lookahead == 'f') ADVANCE(208); if (lookahead != 0 && (lookahead < '\t' || '\r' < lookahead) && lookahead != ' ') ADVANCE(214); END_STATE(); case 210: ACCEPT_TOKEN(aux_sym_filename_token1); if (lookahead == 'f') ADVANCE(209); if (lookahead != 0 && (lookahead < '\t' || '\r' < lookahead) && lookahead != ' ') ADVANCE(214); END_STATE(); case 211: ACCEPT_TOKEN(aux_sym_filename_token1); if (lookahead == 'i') ADVANCE(210); if (lookahead != 0 && (lookahead < '\t' || '\r' < lookahead) && lookahead != ' ') ADVANCE(214); END_STATE(); case 212: ACCEPT_TOKEN(aux_sym_filename_token1); if (lookahead == 'n') ADVANCE(207); if (lookahead != 0 && (lookahead < '\t' || '\r' < lookahead) && lookahead != ' ') ADVANCE(214); END_STATE(); case 213: ACCEPT_TOKEN(aux_sym_filename_token1); if (lookahead == 'r') ADVANCE(106); if (lookahead != 0 && (lookahead < '\t' || '\r' < lookahead) && lookahead != ' ') ADVANCE(214); END_STATE(); case 214: ACCEPT_TOKEN(aux_sym_filename_token1); if (lookahead != 0 && (lookahead < '\t' || '\r' < lookahead) && lookahead != ' ') ADVANCE(214); END_STATE(); case 215: ACCEPT_TOKEN(sym_commit); END_STATE(); case 216: ACCEPT_TOKEN(sym_commit); if (('0' <= lookahead && lookahead <= '9') || ('a' <= lookahead && lookahead <= 'f')) ADVANCE(215); END_STATE(); case 217: ACCEPT_TOKEN(sym_commit); if (('0' <= lookahead && lookahead <= '9') || ('a' <= lookahead && lookahead <= 'f')) ADVANCE(216); END_STATE(); case 218: ACCEPT_TOKEN(sym_commit); if (('0' <= lookahead && lookahead <= '9') || ('a' <= lookahead && lookahead <= 'f')) ADVANCE(217); END_STATE(); case 219: ACCEPT_TOKEN(sym_commit); if (('0' <= lookahead && lookahead <= '9') || ('a' <= lookahead && lookahead <= 'f')) ADVANCE(218); END_STATE(); case 220: ACCEPT_TOKEN(sym_commit); if (('0' <= lookahead && lookahead <= '9') || ('a' <= lookahead && lookahead <= 'f')) ADVANCE(219); END_STATE(); case 221: ACCEPT_TOKEN(sym_commit); if (('0' <= lookahead && lookahead <= '9') || ('a' <= lookahead && lookahead <= 'f')) ADVANCE(220); END_STATE(); case 222: ACCEPT_TOKEN(sym_commit); if (('0' <= lookahead && lookahead <= '9') || ('a' <= lookahead && lookahead <= 'f')) ADVANCE(221); END_STATE(); case 223: ACCEPT_TOKEN(sym_commit); if (('0' <= lookahead && lookahead <= '9') || ('a' <= lookahead && lookahead <= 'f')) ADVANCE(222); END_STATE(); case 224: ACCEPT_TOKEN(sym_commit); if (('0' <= lookahead && lookahead <= '9') || ('a' <= lookahead && lookahead <= 'f')) ADVANCE(223); END_STATE(); case 225: ACCEPT_TOKEN(sym_commit); if (('0' <= lookahead && lookahead <= '9') || ('a' <= lookahead && lookahead <= 'f')) ADVANCE(224); END_STATE(); case 226: ACCEPT_TOKEN(sym_commit); if (('0' <= lookahead && lookahead <= '9') || ('a' <= lookahead && lookahead <= 'f')) ADVANCE(225); END_STATE(); case 227: ACCEPT_TOKEN(sym_commit); if (('0' <= lookahead && lookahead <= '9') || ('a' <= lookahead && lookahead <= 'f')) ADVANCE(226); END_STATE(); case 228: ACCEPT_TOKEN(sym_commit); if (('0' <= lookahead && lookahead <= '9') || ('a' <= lookahead && lookahead <= 'f')) ADVANCE(227); END_STATE(); case 229: ACCEPT_TOKEN(sym_commit); if (('0' <= lookahead && lookahead <= '9') || ('a' <= lookahead && lookahead <= 'f')) ADVANCE(228); END_STATE(); case 230: ACCEPT_TOKEN(sym_commit); if (('0' <= lookahead && lookahead <= '9') || ('a' <= lookahead && lookahead <= 'f')) ADVANCE(229); END_STATE(); case 231: ACCEPT_TOKEN(sym_commit); if (('0' <= lookahead && lookahead <= '9') || ('a' <= lookahead && lookahead <= 'f')) ADVANCE(230); END_STATE(); case 232: ACCEPT_TOKEN(sym_commit); if (('0' <= lookahead && lookahead <= '9') || ('a' <= lookahead && lookahead <= 'f')) ADVANCE(231); END_STATE(); case 233: ACCEPT_TOKEN(sym_commit); if (('0' <= lookahead && lookahead <= '9') || ('a' <= lookahead && lookahead <= 'f')) ADVANCE(232); END_STATE(); case 234: ACCEPT_TOKEN(sym_commit); if (('0' <= lookahead && lookahead <= '9') || ('a' <= lookahead && lookahead <= 'f')) ADVANCE(233); END_STATE(); case 235: ACCEPT_TOKEN(sym_commit); if (('0' <= lookahead && lookahead <= '9') || ('a' <= lookahead && lookahead <= 'f')) ADVANCE(234); END_STATE(); case 236: ACCEPT_TOKEN(sym_commit); if (('0' <= lookahead && lookahead <= '9') || ('a' <= lookahead && lookahead <= 'f')) ADVANCE(235); END_STATE(); case 237: ACCEPT_TOKEN(sym_commit); if (('0' <= lookahead && lookahead <= '9') || ('a' <= lookahead && lookahead <= 'f')) ADVANCE(236); END_STATE(); case 238: ACCEPT_TOKEN(sym_commit); if (('0' <= lookahead && lookahead <= '9') || ('a' <= lookahead && lookahead <= 'f')) ADVANCE(237); END_STATE(); case 239: ACCEPT_TOKEN(sym_commit); if (('0' <= lookahead && lookahead <= '9') || ('a' <= lookahead && lookahead <= 'f')) ADVANCE(238); END_STATE(); case 240: ACCEPT_TOKEN(sym_commit); if (('0' <= lookahead && lookahead <= '9') || ('a' <= lookahead && lookahead <= 'f')) ADVANCE(239); END_STATE(); case 241: ACCEPT_TOKEN(sym_commit); if (('0' <= lookahead && lookahead <= '9') || ('a' <= lookahead && lookahead <= 'f')) ADVANCE(240); END_STATE(); case 242: ACCEPT_TOKEN(sym_commit); if (('0' <= lookahead && lookahead <= '9') || ('a' <= lookahead && lookahead <= 'f')) ADVANCE(241); END_STATE(); case 243: ACCEPT_TOKEN(sym_commit); if (('0' <= lookahead && lookahead <= '9') || ('a' <= lookahead && lookahead <= 'f')) ADVANCE(242); END_STATE(); case 244: ACCEPT_TOKEN(sym_commit); if (('0' <= lookahead && lookahead <= '9') || ('a' <= lookahead && lookahead <= 'f')) ADVANCE(243); END_STATE(); case 245: ACCEPT_TOKEN(sym_commit); if (('0' <= lookahead && lookahead <= '9') || ('a' <= lookahead && lookahead <= 'f')) ADVANCE(244); END_STATE(); case 246: ACCEPT_TOKEN(sym_commit); if (('0' <= lookahead && lookahead <= '9') || ('a' <= lookahead && lookahead <= 'f')) ADVANCE(245); END_STATE(); case 247: ACCEPT_TOKEN(sym_commit); if (('0' <= lookahead && lookahead <= '9') || ('a' <= lookahead && lookahead <= 'f')) ADVANCE(246); END_STATE(); case 248: ACCEPT_TOKEN(sym_commit); if (('0' <= lookahead && lookahead <= '9') || ('a' <= lookahead && lookahead <= 'f')) ADVANCE(247); END_STATE(); default: return false; } } static const TSLexerMode ts_lex_modes[STATE_COUNT] = { [0] = {.lex_state = 0}, [1] = {.lex_state = 82}, [2] = {.lex_state = 82}, [3] = {.lex_state = 82}, [4] = {.lex_state = 82}, [5] = {.lex_state = 82}, [6] = {.lex_state = 82}, [7] = {.lex_state = 82}, [8] = {.lex_state = 82}, [9] = {.lex_state = 82}, [10] = {.lex_state = 82}, [11] = {.lex_state = 82}, [12] = {.lex_state = 82}, [13] = {.lex_state = 82}, [14] = {.lex_state = 82}, [15] = {.lex_state = 82}, [16] = {.lex_state = 82}, [17] = {.lex_state = 82}, [18] = {.lex_state = 82}, [19] = {.lex_state = 86}, [20] = {.lex_state = 86}, [21] = {.lex_state = 82}, [22] = {.lex_state = 82}, [23] = {.lex_state = 84}, [24] = {.lex_state = 86}, [25] = {.lex_state = 86}, [26] = {.lex_state = 86}, [27] = {.lex_state = 86}, [28] = {.lex_state = 86}, [29] = {.lex_state = 87}, [30] = {.lex_state = 87}, [31] = {.lex_state = 86}, [32] = {.lex_state = 86}, [33] = {.lex_state = 87}, [34] = {.lex_state = 86}, [35] = {.lex_state = 87}, [36] = {.lex_state = 8}, [37] = {.lex_state = 8}, [38] = {.lex_state = 14}, [39] = {.lex_state = 14}, [40] = {.lex_state = 0}, [41] = {.lex_state = 0}, [42] = {.lex_state = 84}, [43] = {.lex_state = 0}, [44] = {.lex_state = 0}, [45] = {.lex_state = 0}, [46] = {.lex_state = 0}, [47] = {.lex_state = 0}, [48] = {.lex_state = 0}, [49] = {.lex_state = 0}, [50] = {.lex_state = 0}, [51] = {.lex_state = 84}, [52] = {.lex_state = 84}, [53] = {.lex_state = 0}, [54] = {.lex_state = 0}, [55] = {.lex_state = 0}, [56] = {.lex_state = 84}, [57] = {.lex_state = 84}, [58] = {.lex_state = 0}, [59] = {.lex_state = 0}, [60] = {.lex_state = 0}, [61] = {.lex_state = 0}, [62] = {.lex_state = 84}, [63] = {.lex_state = 33}, [64] = {.lex_state = 0}, [65] = {.lex_state = 0}, [66] = {.lex_state = 33}, [67] = {.lex_state = 0}, [68] = {.lex_state = 0}, [69] = {.lex_state = 0}, [70] = {.lex_state = 84}, [71] = {.lex_state = 0}, [72] = {.lex_state = 84}, [73] = {.lex_state = 84}, [74] = {.lex_state = 0}, [75] = {.lex_state = 0}, [76] = {.lex_state = 0}, [77] = {.lex_state = 0}, [78] = {.lex_state = 0}, [79] = {.lex_state = 84}, [80] = {.lex_state = 0}, [81] = {.lex_state = 0}, [82] = {.lex_state = 84}, [83] = {.lex_state = 73}, [84] = {.lex_state = 33}, [85] = {.lex_state = 0}, [86] = {.lex_state = 0}, [87] = {.lex_state = 0}, [88] = {.lex_state = 84}, }; static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [STATE(0)] = { [ts_builtin_sym_end] = ACTIONS(1), [aux_sym_source_token1] = ACTIONS(1), [anon_sym_diff] = ACTIONS(1), [anon_sym_new] = ACTIONS(1), [anon_sym_deleted] = ACTIONS(1), [anon_sym_file] = ACTIONS(1), [anon_sym_mode] = ACTIONS(1), [anon_sym_old] = ACTIONS(1), [anon_sym_rename] = ACTIONS(1), [anon_sym_from] = ACTIONS(1), [anon_sym_to] = ACTIONS(1), [anon_sym_Binary] = ACTIONS(1), [anon_sym_files] = ACTIONS(1), [anon_sym_and] = ACTIONS(1), [anon_sym_index] = ACTIONS(1), [anon_sym_DOT_DOT] = ACTIONS(1), [anon_sym_similarity] = ACTIONS(1), [anon_sym_index2] = ACTIONS(1), [aux_sym_similarity_token1] = ACTIONS(1), [anon_sym_PERCENT] = ACTIONS(1), [anon_sym_DASH_DASH_DASH] = ACTIONS(1), [anon_sym_PLUS_PLUS_PLUS] = ACTIONS(1), [anon_sym_AT_AT] = ACTIONS(1), [anon_sym_AT_AT2] = ACTIONS(1), [anon_sym_PLUS] = ACTIONS(1), [anon_sym_PLUS_PLUS] = ACTIONS(1), [anon_sym_PLUS_PLUS_PLUS_PLUS] = ACTIONS(1), [anon_sym_DASH] = ACTIONS(1), [anon_sym_DASH_DASH] = ACTIONS(1), [anon_sym_DASH_DASH_DASH_DASH] = ACTIONS(1), [anon_sym_POUND] = ACTIONS(1), [sym_commit] = ACTIONS(1), }, [STATE(1)] = { [sym_source] = STATE(68), [sym__line] = STATE(48), [sym_block] = STATE(2), [sym_command] = STATE(75), [sym_file_change] = STATE(48), [sym_binary_change] = STATE(48), [sym_index] = STATE(48), [sym_similarity] = STATE(48), [sym_old_file] = STATE(48), [sym_new_file] = STATE(48), [sym_location] = STATE(48), [sym_addition] = STATE(48), [sym_deletion] = STATE(48), [sym_comment] = STATE(48), [aux_sym_source_repeat1] = STATE(2), [ts_builtin_sym_end] = ACTIONS(3), [aux_sym_source_token1] = ACTIONS(5), [anon_sym_diff] = ACTIONS(7), [anon_sym_new] = ACTIONS(9), [anon_sym_deleted] = ACTIONS(11), [anon_sym_old] = ACTIONS(13), [anon_sym_rename] = ACTIONS(15), [anon_sym_Binary] = ACTIONS(17), [anon_sym_index] = ACTIONS(19), [anon_sym_similarity] = ACTIONS(21), [anon_sym_DASH_DASH_DASH] = ACTIONS(23), [anon_sym_PLUS_PLUS_PLUS] = ACTIONS(25), [anon_sym_AT_AT] = ACTIONS(27), [anon_sym_PLUS] = ACTIONS(29), [anon_sym_PLUS_PLUS] = ACTIONS(29), [anon_sym_PLUS_PLUS_PLUS_PLUS] = ACTIONS(31), [anon_sym_DASH] = ACTIONS(33), [anon_sym_DASH_DASH] = ACTIONS(33), [anon_sym_DASH_DASH_DASH_DASH] = ACTIONS(35), [sym_context] = ACTIONS(37), [anon_sym_POUND] = ACTIONS(39), }, [STATE(2)] = { [sym__line] = STATE(53), [sym_block] = STATE(3), [sym_command] = STATE(75), [sym_file_change] = STATE(53), [sym_binary_change] = STATE(53), [sym_index] = STATE(53), [sym_similarity] = STATE(53), [sym_old_file] = STATE(53), [sym_new_file] = STATE(53), [sym_location] = STATE(53), [sym_addition] = STATE(53), [sym_deletion] = STATE(53), [sym_comment] = STATE(53), [aux_sym_source_repeat1] = STATE(3), [ts_builtin_sym_end] = ACTIONS(41), [aux_sym_source_token1] = ACTIONS(43), [anon_sym_diff] = ACTIONS(7), [anon_sym_new] = ACTIONS(9), [anon_sym_deleted] = ACTIONS(11), [anon_sym_old] = ACTIONS(13), [anon_sym_rename] = ACTIONS(15), [anon_sym_Binary] = ACTIONS(17), [anon_sym_index] = ACTIONS(19), [anon_sym_similarity] = ACTIONS(21), [anon_sym_DASH_DASH_DASH] = ACTIONS(23), [anon_sym_PLUS_PLUS_PLUS] = ACTIONS(25), [anon_sym_AT_AT] = ACTIONS(27), [anon_sym_PLUS] = ACTIONS(29), [anon_sym_PLUS_PLUS] = ACTIONS(29), [anon_sym_PLUS_PLUS_PLUS_PLUS] = ACTIONS(31), [anon_sym_DASH] = ACTIONS(33), [anon_sym_DASH_DASH] = ACTIONS(33), [anon_sym_DASH_DASH_DASH_DASH] = ACTIONS(35), [sym_context] = ACTIONS(45), [anon_sym_POUND] = ACTIONS(39), }, [STATE(3)] = { [sym__line] = STATE(76), [sym_block] = STATE(3), [sym_command] = STATE(75), [sym_file_change] = STATE(76), [sym_binary_change] = STATE(76), [sym_index] = STATE(76), [sym_similarity] = STATE(76), [sym_old_file] = STATE(76), [sym_new_file] = STATE(76), [sym_location] = STATE(76), [sym_addition] = STATE(76), [sym_deletion] = STATE(76), [sym_comment] = STATE(76), [aux_sym_source_repeat1] = STATE(3), [ts_builtin_sym_end] = ACTIONS(47), [aux_sym_source_token1] = ACTIONS(49), [anon_sym_diff] = ACTIONS(52), [anon_sym_new] = ACTIONS(55), [anon_sym_deleted] = ACTIONS(58), [anon_sym_old] = ACTIONS(61), [anon_sym_rename] = ACTIONS(64), [anon_sym_Binary] = ACTIONS(67), [anon_sym_index] = ACTIONS(70), [anon_sym_similarity] = ACTIONS(73), [anon_sym_DASH_DASH_DASH] = ACTIONS(76), [anon_sym_PLUS_PLUS_PLUS] = ACTIONS(79), [anon_sym_AT_AT] = ACTIONS(82), [anon_sym_PLUS] = ACTIONS(85), [anon_sym_PLUS_PLUS] = ACTIONS(85), [anon_sym_PLUS_PLUS_PLUS_PLUS] = ACTIONS(88), [anon_sym_DASH] = ACTIONS(91), [anon_sym_DASH_DASH] = ACTIONS(91), [anon_sym_DASH_DASH_DASH_DASH] = ACTIONS(94), [sym_context] = ACTIONS(97), [anon_sym_POUND] = ACTIONS(100), }, }; static const uint16_t ts_small_parse_table[] = { [0] = 13, ACTIONS(9), 1, anon_sym_new, ACTIONS(11), 1, anon_sym_deleted, ACTIONS(13), 1, anon_sym_old, ACTIONS(15), 1, anon_sym_rename, ACTIONS(17), 1, anon_sym_Binary, ACTIONS(19), 1, anon_sym_index, ACTIONS(21), 1, anon_sym_similarity, ACTIONS(107), 1, anon_sym_DASH_DASH_DASH, STATE(5), 1, aux_sym_block_repeat1, STATE(74), 1, sym_old_file, STATE(61), 4, sym_file_change, sym_binary_change, sym_index, sym_similarity, ACTIONS(103), 6, ts_builtin_sym_end, anon_sym_diff, anon_sym_AT_AT, anon_sym_PLUS_PLUS_PLUS_PLUS, anon_sym_DASH_DASH_DASH_DASH, anon_sym_POUND, ACTIONS(105), 7, aux_sym_source_token1, anon_sym_PLUS_PLUS_PLUS, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_DASH, anon_sym_DASH_DASH, sym_context, [54] = 13, ACTIONS(9), 1, anon_sym_new, ACTIONS(11), 1, anon_sym_deleted, ACTIONS(13), 1, anon_sym_old, ACTIONS(15), 1, anon_sym_rename, ACTIONS(17), 1, anon_sym_Binary, ACTIONS(19), 1, anon_sym_index, ACTIONS(21), 1, anon_sym_similarity, ACTIONS(107), 1, anon_sym_DASH_DASH_DASH, STATE(6), 1, aux_sym_block_repeat1, STATE(86), 1, sym_old_file, STATE(61), 4, sym_file_change, sym_binary_change, sym_index, sym_similarity, ACTIONS(109), 6, ts_builtin_sym_end, anon_sym_diff, anon_sym_AT_AT, anon_sym_PLUS_PLUS_PLUS_PLUS, anon_sym_DASH_DASH_DASH_DASH, anon_sym_POUND, ACTIONS(111), 7, aux_sym_source_token1, anon_sym_PLUS_PLUS_PLUS, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_DASH, anon_sym_DASH_DASH, sym_context, [108] = 11, ACTIONS(117), 1, anon_sym_new, ACTIONS(120), 1, anon_sym_deleted, ACTIONS(123), 1, anon_sym_old, ACTIONS(126), 1, anon_sym_rename, ACTIONS(129), 1, anon_sym_Binary, ACTIONS(132), 1, anon_sym_index, ACTIONS(135), 1, anon_sym_similarity, STATE(6), 1, aux_sym_block_repeat1, STATE(61), 4, sym_file_change, sym_binary_change, sym_index, sym_similarity, ACTIONS(113), 6, ts_builtin_sym_end, anon_sym_diff, anon_sym_AT_AT, anon_sym_PLUS_PLUS_PLUS_PLUS, anon_sym_DASH_DASH_DASH_DASH, anon_sym_POUND, ACTIONS(115), 8, aux_sym_source_token1, anon_sym_DASH_DASH_DASH, anon_sym_PLUS_PLUS_PLUS, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_DASH, anon_sym_DASH_DASH, sym_context, [157] = 12, ACTIONS(31), 1, anon_sym_PLUS_PLUS_PLUS_PLUS, ACTIONS(35), 1, anon_sym_DASH_DASH_DASH_DASH, ACTIONS(142), 1, anon_sym_DASH_DASH_DASH, ACTIONS(144), 1, anon_sym_PLUS_PLUS_PLUS, ACTIONS(146), 1, sym_context, STATE(11), 1, aux_sym_changes_repeat2, STATE(18), 1, sym_changes, ACTIONS(29), 2, anon_sym_PLUS, anon_sym_PLUS_PLUS, ACTIONS(33), 2, anon_sym_DASH, anon_sym_DASH_DASH, STATE(40), 2, sym_addition, sym_deletion, ACTIONS(140), 5, aux_sym_source_token1, anon_sym_new, anon_sym_deleted, anon_sym_old, anon_sym_rename, ACTIONS(138), 7, ts_builtin_sym_end, anon_sym_diff, anon_sym_Binary, anon_sym_index, anon_sym_similarity, anon_sym_AT_AT, anon_sym_POUND, [207] = 5, ACTIONS(152), 1, anon_sym_AT_AT, STATE(71), 1, sym_location, STATE(8), 2, sym_hunk, aux_sym_hunks_repeat1, ACTIONS(148), 8, ts_builtin_sym_end, anon_sym_diff, anon_sym_Binary, anon_sym_index, anon_sym_similarity, anon_sym_PLUS_PLUS_PLUS_PLUS, anon_sym_DASH_DASH_DASH_DASH, anon_sym_POUND, ACTIONS(150), 12, aux_sym_source_token1, anon_sym_new, anon_sym_deleted, anon_sym_old, anon_sym_rename, anon_sym_DASH_DASH_DASH, anon_sym_PLUS_PLUS_PLUS, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_DASH, anon_sym_DASH_DASH, sym_context, [242] = 5, ACTIONS(27), 1, anon_sym_AT_AT, STATE(71), 1, sym_location, STATE(8), 2, sym_hunk, aux_sym_hunks_repeat1, ACTIONS(155), 8, ts_builtin_sym_end, anon_sym_diff, anon_sym_Binary, anon_sym_index, anon_sym_similarity, anon_sym_PLUS_PLUS_PLUS_PLUS, anon_sym_DASH_DASH_DASH_DASH, anon_sym_POUND, ACTIONS(157), 12, aux_sym_source_token1, anon_sym_new, anon_sym_deleted, anon_sym_old, anon_sym_rename, anon_sym_DASH_DASH_DASH, anon_sym_PLUS_PLUS_PLUS, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_DASH, anon_sym_DASH_DASH, sym_context, [277] = 11, ACTIONS(163), 1, anon_sym_DASH_DASH_DASH, ACTIONS(166), 1, anon_sym_PLUS_PLUS_PLUS, ACTIONS(172), 1, anon_sym_PLUS_PLUS_PLUS_PLUS, ACTIONS(178), 1, anon_sym_DASH_DASH_DASH_DASH, ACTIONS(181), 1, sym_context, STATE(10), 1, aux_sym_changes_repeat2, ACTIONS(169), 2, anon_sym_PLUS, anon_sym_PLUS_PLUS, ACTIONS(175), 2, anon_sym_DASH, anon_sym_DASH_DASH, STATE(40), 2, sym_addition, sym_deletion, ACTIONS(161), 5, aux_sym_source_token1, anon_sym_new, anon_sym_deleted, anon_sym_old, anon_sym_rename, ACTIONS(159), 7, ts_builtin_sym_end, anon_sym_diff, anon_sym_Binary, anon_sym_index, anon_sym_similarity, anon_sym_AT_AT, anon_sym_POUND, [324] = 11, ACTIONS(31), 1, anon_sym_PLUS_PLUS_PLUS_PLUS, ACTIONS(35), 1, anon_sym_DASH_DASH_DASH_DASH, ACTIONS(142), 1, anon_sym_DASH_DASH_DASH, ACTIONS(144), 1, anon_sym_PLUS_PLUS_PLUS, ACTIONS(146), 1, sym_context, STATE(10), 1, aux_sym_changes_repeat2, ACTIONS(29), 2, anon_sym_PLUS, anon_sym_PLUS_PLUS, ACTIONS(33), 2, anon_sym_DASH, anon_sym_DASH_DASH, STATE(40), 2, sym_addition, sym_deletion, ACTIONS(186), 5, aux_sym_source_token1, anon_sym_new, anon_sym_deleted, anon_sym_old, anon_sym_rename, ACTIONS(184), 7, ts_builtin_sym_end, anon_sym_diff, anon_sym_Binary, anon_sym_index, anon_sym_similarity, anon_sym_AT_AT, anon_sym_POUND, [371] = 4, ACTIONS(188), 1, aux_sym_source_token1, STATE(13), 1, aux_sym_changes_repeat1, ACTIONS(159), 9, ts_builtin_sym_end, anon_sym_diff, anon_sym_Binary, anon_sym_index, anon_sym_similarity, anon_sym_AT_AT, anon_sym_PLUS_PLUS_PLUS_PLUS, anon_sym_DASH_DASH_DASH_DASH, anon_sym_POUND, ACTIONS(161), 11, anon_sym_new, anon_sym_deleted, anon_sym_old, anon_sym_rename, anon_sym_DASH_DASH_DASH, anon_sym_PLUS_PLUS_PLUS, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_DASH, anon_sym_DASH_DASH, sym_context, [402] = 4, ACTIONS(192), 1, aux_sym_source_token1, STATE(13), 1, aux_sym_changes_repeat1, ACTIONS(190), 9, ts_builtin_sym_end, anon_sym_diff, anon_sym_Binary, anon_sym_index, anon_sym_similarity, anon_sym_AT_AT, anon_sym_PLUS_PLUS_PLUS_PLUS, anon_sym_DASH_DASH_DASH_DASH, anon_sym_POUND, ACTIONS(195), 11, anon_sym_new, anon_sym_deleted, anon_sym_old, anon_sym_rename, anon_sym_DASH_DASH_DASH, anon_sym_PLUS_PLUS_PLUS, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_DASH, anon_sym_DASH_DASH, sym_context, [433] = 2, ACTIONS(47), 9, ts_builtin_sym_end, anon_sym_diff, anon_sym_Binary, anon_sym_index, anon_sym_similarity, anon_sym_AT_AT, anon_sym_PLUS_PLUS_PLUS_PLUS, anon_sym_DASH_DASH_DASH_DASH, anon_sym_POUND, ACTIONS(197), 12, aux_sym_source_token1, anon_sym_new, anon_sym_deleted, anon_sym_old, anon_sym_rename, anon_sym_DASH_DASH_DASH, anon_sym_PLUS_PLUS_PLUS, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_DASH, anon_sym_DASH_DASH, sym_context, [459] = 2, ACTIONS(113), 9, ts_builtin_sym_end, anon_sym_diff, anon_sym_Binary, anon_sym_index, anon_sym_similarity, anon_sym_AT_AT, anon_sym_PLUS_PLUS_PLUS_PLUS, anon_sym_DASH_DASH_DASH_DASH, anon_sym_POUND, ACTIONS(115), 12, aux_sym_source_token1, anon_sym_new, anon_sym_deleted, anon_sym_old, anon_sym_rename, anon_sym_DASH_DASH_DASH, anon_sym_PLUS_PLUS_PLUS, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_DASH, anon_sym_DASH_DASH, sym_context, [485] = 2, ACTIONS(199), 9, ts_builtin_sym_end, anon_sym_diff, anon_sym_Binary, anon_sym_index, anon_sym_similarity, anon_sym_AT_AT, anon_sym_PLUS_PLUS_PLUS_PLUS, anon_sym_DASH_DASH_DASH_DASH, anon_sym_POUND, ACTIONS(201), 12, aux_sym_source_token1, anon_sym_new, anon_sym_deleted, anon_sym_old, anon_sym_rename, anon_sym_DASH_DASH_DASH, anon_sym_PLUS_PLUS_PLUS, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_DASH, anon_sym_DASH_DASH, sym_context, [511] = 2, ACTIONS(203), 9, ts_builtin_sym_end, anon_sym_diff, anon_sym_Binary, anon_sym_index, anon_sym_similarity, anon_sym_AT_AT, anon_sym_PLUS_PLUS_PLUS_PLUS, anon_sym_DASH_DASH_DASH_DASH, anon_sym_POUND, ACTIONS(205), 12, aux_sym_source_token1, anon_sym_new, anon_sym_deleted, anon_sym_old, anon_sym_rename, anon_sym_DASH_DASH_DASH, anon_sym_PLUS_PLUS_PLUS, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_DASH, anon_sym_DASH_DASH, sym_context, [537] = 2, ACTIONS(207), 9, ts_builtin_sym_end, anon_sym_diff, anon_sym_Binary, anon_sym_index, anon_sym_similarity, anon_sym_AT_AT, anon_sym_PLUS_PLUS_PLUS_PLUS, anon_sym_DASH_DASH_DASH_DASH, anon_sym_POUND, ACTIONS(209), 12, aux_sym_source_token1, anon_sym_new, anon_sym_deleted, anon_sym_old, anon_sym_rename, anon_sym_DASH_DASH_DASH, anon_sym_PLUS_PLUS_PLUS, anon_sym_PLUS, anon_sym_PLUS_PLUS, anon_sym_DASH, anon_sym_DASH_DASH, sym_context, [563] = 4, ACTIONS(213), 1, aux_sym_filename_token1, STATE(24), 1, aux_sym_filename_repeat1, STATE(55), 1, sym_filename, ACTIONS(211), 2, ts_builtin_sym_end, aux_sym_source_token1, [577] = 4, ACTIONS(213), 1, aux_sym_filename_token1, STATE(24), 1, aux_sym_filename_repeat1, STATE(47), 1, sym_filename, ACTIONS(215), 2, ts_builtin_sym_end, aux_sym_source_token1, [591] = 4, ACTIONS(27), 1, anon_sym_AT_AT, STATE(17), 1, sym_hunks, STATE(71), 1, sym_location, STATE(9), 2, sym_hunk, aux_sym_hunks_repeat1, [605] = 4, ACTIONS(27), 1, anon_sym_AT_AT, STATE(16), 1, sym_hunks, STATE(71), 1, sym_location, STATE(9), 2, sym_hunk, aux_sym_hunks_repeat1, [619] = 3, ACTIONS(219), 1, aux_sym_similarity_token1, STATE(59), 1, sym_mode, ACTIONS(217), 2, ts_builtin_sym_end, aux_sym_source_token1, [630] = 3, ACTIONS(223), 1, aux_sym_filename_token1, STATE(25), 1, aux_sym_filename_repeat1, ACTIONS(221), 2, ts_builtin_sym_end, aux_sym_source_token1, [641] = 3, ACTIONS(227), 1, aux_sym_filename_token1, STATE(25), 1, aux_sym_filename_repeat1, ACTIONS(225), 2, ts_builtin_sym_end, aux_sym_source_token1, [652] = 3, ACTIONS(230), 1, aux_sym_filename_token1, STATE(36), 1, aux_sym_filename_repeat1, STATE(64), 1, sym_filename, [662] = 3, ACTIONS(213), 1, aux_sym_filename_token1, STATE(24), 1, aux_sym_filename_repeat1, STATE(41), 1, sym_filename, [672] = 3, ACTIONS(213), 1, aux_sym_filename_token1, STATE(24), 1, aux_sym_filename_repeat1, STATE(47), 1, sym_filename, [682] = 3, ACTIONS(211), 1, ts_builtin_sym_end, ACTIONS(232), 1, aux_sym_source_token1, ACTIONS(234), 1, aux_sym_location_token1, [692] = 3, ACTIONS(215), 1, ts_builtin_sym_end, ACTIONS(236), 1, aux_sym_source_token1, ACTIONS(238), 1, aux_sym_location_token1, [702] = 3, ACTIONS(240), 1, aux_sym_filename_token1, STATE(38), 1, aux_sym_filename_repeat1, STATE(88), 1, sym_filename, [712] = 3, ACTIONS(213), 1, aux_sym_filename_token1, STATE(24), 1, aux_sym_filename_repeat1, STATE(85), 1, sym_filename, [722] = 3, ACTIONS(242), 1, ts_builtin_sym_end, ACTIONS(244), 1, aux_sym_source_token1, ACTIONS(246), 1, aux_sym_location_token1, [732] = 3, ACTIONS(213), 1, aux_sym_filename_token1, STATE(24), 1, aux_sym_filename_repeat1, STATE(55), 1, sym_filename, [742] = 3, ACTIONS(248), 1, ts_builtin_sym_end, ACTIONS(250), 1, aux_sym_source_token1, ACTIONS(252), 1, aux_sym_location_token1, [752] = 3, ACTIONS(254), 1, anon_sym_and, ACTIONS(256), 1, aux_sym_filename_token1, STATE(37), 1, aux_sym_filename_repeat1, [762] = 3, ACTIONS(258), 1, anon_sym_and, ACTIONS(260), 1, aux_sym_filename_token1, STATE(37), 1, aux_sym_filename_repeat1, [772] = 3, ACTIONS(254), 1, anon_sym_differ, ACTIONS(263), 1, aux_sym_filename_token1, STATE(39), 1, aux_sym_filename_repeat1, [782] = 3, ACTIONS(258), 1, anon_sym_differ, ACTIONS(265), 1, aux_sym_filename_token1, STATE(39), 1, aux_sym_filename_repeat1, [792] = 2, ACTIONS(268), 1, aux_sym_source_token1, STATE(12), 1, aux_sym_changes_repeat1, [799] = 1, ACTIONS(270), 2, ts_builtin_sym_end, aux_sym_source_token1, [804] = 2, ACTIONS(272), 1, anon_sym_PLUS_PLUS_PLUS, STATE(69), 1, sym_new_file, [811] = 1, ACTIONS(274), 2, ts_builtin_sym_end, aux_sym_source_token1, [816] = 1, ACTIONS(276), 2, ts_builtin_sym_end, aux_sym_source_token1, [821] = 1, ACTIONS(278), 2, ts_builtin_sym_end, aux_sym_source_token1, [826] = 1, ACTIONS(280), 2, ts_builtin_sym_end, aux_sym_source_token1, [831] = 1, ACTIONS(282), 2, ts_builtin_sym_end, aux_sym_source_token1, [836] = 2, ACTIONS(41), 1, ts_builtin_sym_end, ACTIONS(284), 1, aux_sym_source_token1, [843] = 1, ACTIONS(286), 2, anon_sym_from, anon_sym_to, [848] = 1, ACTIONS(288), 2, ts_builtin_sym_end, aux_sym_source_token1, [853] = 2, ACTIONS(290), 1, anon_sym_file, ACTIONS(292), 1, anon_sym_mode, [860] = 2, ACTIONS(219), 1, aux_sym_similarity_token1, STATE(41), 1, sym_mode, [867] = 2, ACTIONS(284), 1, aux_sym_source_token1, ACTIONS(294), 1, ts_builtin_sym_end, [874] = 1, ACTIONS(296), 2, ts_builtin_sym_end, aux_sym_source_token1, [879] = 1, ACTIONS(298), 2, ts_builtin_sym_end, aux_sym_source_token1, [884] = 2, ACTIONS(219), 1, aux_sym_similarity_token1, STATE(50), 1, sym_mode, [891] = 2, ACTIONS(272), 1, anon_sym_PLUS_PLUS_PLUS, STATE(65), 1, sym_new_file, [898] = 1, ACTIONS(300), 2, ts_builtin_sym_end, aux_sym_source_token1, [903] = 1, ACTIONS(302), 2, ts_builtin_sym_end, aux_sym_source_token1, [908] = 1, ACTIONS(304), 2, ts_builtin_sym_end, aux_sym_source_token1, [913] = 1, ACTIONS(306), 1, aux_sym_source_token1, [917] = 1, ACTIONS(308), 1, aux_sym_similarity_token1, [921] = 1, ACTIONS(310), 1, sym_commit, [925] = 1, ACTIONS(312), 1, anon_sym_and, [929] = 1, ACTIONS(314), 1, aux_sym_source_token1, [933] = 1, ACTIONS(316), 1, sym_commit, [937] = 1, ACTIONS(318), 1, anon_sym_PERCENT, [941] = 1, ACTIONS(320), 1, ts_builtin_sym_end, [945] = 1, ACTIONS(322), 1, aux_sym_source_token1, [949] = 1, ACTIONS(324), 1, anon_sym_AT_AT2, [953] = 1, ACTIONS(326), 1, aux_sym_source_token1, [957] = 1, ACTIONS(328), 1, anon_sym_index2, [961] = 1, ACTIONS(330), 1, sym_linerange, [965] = 1, ACTIONS(332), 1, aux_sym_source_token1, [969] = 1, ACTIONS(334), 1, aux_sym_source_token1, [973] = 1, ACTIONS(284), 1, aux_sym_source_token1, [977] = 1, ACTIONS(215), 1, aux_sym_source_token1, [981] = 1, ACTIONS(211), 1, aux_sym_source_token1, [985] = 1, ACTIONS(290), 1, anon_sym_file, [989] = 1, ACTIONS(292), 1, anon_sym_mode, [993] = 1, ACTIONS(336), 1, anon_sym_mode, [997] = 1, ACTIONS(338), 1, sym_linerange, [1001] = 1, ACTIONS(340), 1, aux_sym_command_token1, [1005] = 1, ACTIONS(342), 1, anon_sym_files, [1009] = 1, ACTIONS(344), 1, aux_sym_source_token1, [1013] = 1, ACTIONS(346), 1, aux_sym_source_token1, [1017] = 1, ACTIONS(348), 1, anon_sym_DOT_DOT, [1021] = 1, ACTIONS(350), 1, anon_sym_differ, }; static const uint32_t ts_small_parse_table_map[] = { [SMALL_STATE(4)] = 0, [SMALL_STATE(5)] = 54, [SMALL_STATE(6)] = 108, [SMALL_STATE(7)] = 157, [SMALL_STATE(8)] = 207, [SMALL_STATE(9)] = 242, [SMALL_STATE(10)] = 277, [SMALL_STATE(11)] = 324, [SMALL_STATE(12)] = 371, [SMALL_STATE(13)] = 402, [SMALL_STATE(14)] = 433, [SMALL_STATE(15)] = 459, [SMALL_STATE(16)] = 485, [SMALL_STATE(17)] = 511, [SMALL_STATE(18)] = 537, [SMALL_STATE(19)] = 563, [SMALL_STATE(20)] = 577, [SMALL_STATE(21)] = 591, [SMALL_STATE(22)] = 605, [SMALL_STATE(23)] = 619, [SMALL_STATE(24)] = 630, [SMALL_STATE(25)] = 641, [SMALL_STATE(26)] = 652, [SMALL_STATE(27)] = 662, [SMALL_STATE(28)] = 672, [SMALL_STATE(29)] = 682, [SMALL_STATE(30)] = 692, [SMALL_STATE(31)] = 702, [SMALL_STATE(32)] = 712, [SMALL_STATE(33)] = 722, [SMALL_STATE(34)] = 732, [SMALL_STATE(35)] = 742, [SMALL_STATE(36)] = 752, [SMALL_STATE(37)] = 762, [SMALL_STATE(38)] = 772, [SMALL_STATE(39)] = 782, [SMALL_STATE(40)] = 792, [SMALL_STATE(41)] = 799, [SMALL_STATE(42)] = 804, [SMALL_STATE(43)] = 811, [SMALL_STATE(44)] = 816, [SMALL_STATE(45)] = 821, [SMALL_STATE(46)] = 826, [SMALL_STATE(47)] = 831, [SMALL_STATE(48)] = 836, [SMALL_STATE(49)] = 843, [SMALL_STATE(50)] = 848, [SMALL_STATE(51)] = 853, [SMALL_STATE(52)] = 860, [SMALL_STATE(53)] = 867, [SMALL_STATE(54)] = 874, [SMALL_STATE(55)] = 879, [SMALL_STATE(56)] = 884, [SMALL_STATE(57)] = 891, [SMALL_STATE(58)] = 898, [SMALL_STATE(59)] = 903, [SMALL_STATE(60)] = 908, [SMALL_STATE(61)] = 913, [SMALL_STATE(62)] = 917, [SMALL_STATE(63)] = 921, [SMALL_STATE(64)] = 925, [SMALL_STATE(65)] = 929, [SMALL_STATE(66)] = 933, [SMALL_STATE(67)] = 937, [SMALL_STATE(68)] = 941, [SMALL_STATE(69)] = 945, [SMALL_STATE(70)] = 949, [SMALL_STATE(71)] = 953, [SMALL_STATE(72)] = 957, [SMALL_STATE(73)] = 961, [SMALL_STATE(74)] = 965, [SMALL_STATE(75)] = 969, [SMALL_STATE(76)] = 973, [SMALL_STATE(77)] = 977, [SMALL_STATE(78)] = 981, [SMALL_STATE(79)] = 985, [SMALL_STATE(80)] = 989, [SMALL_STATE(81)] = 993, [SMALL_STATE(82)] = 997, [SMALL_STATE(83)] = 1001, [SMALL_STATE(84)] = 1005, [SMALL_STATE(85)] = 1009, [SMALL_STATE(86)] = 1013, [SMALL_STATE(87)] = 1017, [SMALL_STATE(88)] = 1021, }; 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_source, 0, 0, 0), [5] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2), [7] = {.entry = {.count = 1, .reusable = true}}, SHIFT(83), [9] = {.entry = {.count = 1, .reusable = false}}, SHIFT(51), [11] = {.entry = {.count = 1, .reusable = false}}, SHIFT(79), [13] = {.entry = {.count = 1, .reusable = false}}, SHIFT(80), [15] = {.entry = {.count = 1, .reusable = false}}, SHIFT(49), [17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(84), [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(63), [21] = {.entry = {.count = 1, .reusable = true}}, SHIFT(72), [23] = {.entry = {.count = 1, .reusable = false}}, SHIFT(20), [25] = {.entry = {.count = 1, .reusable = false}}, SHIFT(19), [27] = {.entry = {.count = 1, .reusable = true}}, SHIFT(82), [29] = {.entry = {.count = 1, .reusable = false}}, SHIFT(29), [31] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29), [33] = {.entry = {.count = 1, .reusable = false}}, SHIFT(30), [35] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30), [37] = {.entry = {.count = 1, .reusable = false}}, SHIFT(48), [39] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), [41] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source, 1, 0, 0), [43] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3), [45] = {.entry = {.count = 1, .reusable = false}}, SHIFT(53), [47] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_repeat1, 2, 0, 0), [49] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_repeat1, 2, 0, 0), SHIFT_REPEAT(3), [52] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_repeat1, 2, 0, 0), SHIFT_REPEAT(83), [55] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_repeat1, 2, 0, 0), SHIFT_REPEAT(51), [58] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_repeat1, 2, 0, 0), SHIFT_REPEAT(79), [61] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_repeat1, 2, 0, 0), SHIFT_REPEAT(80), [64] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_repeat1, 2, 0, 0), SHIFT_REPEAT(49), [67] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_repeat1, 2, 0, 0), SHIFT_REPEAT(84), [70] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_repeat1, 2, 0, 0), SHIFT_REPEAT(63), [73] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_repeat1, 2, 0, 0), SHIFT_REPEAT(72), [76] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_repeat1, 2, 0, 0), SHIFT_REPEAT(20), [79] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_repeat1, 2, 0, 0), SHIFT_REPEAT(19), [82] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_repeat1, 2, 0, 0), SHIFT_REPEAT(82), [85] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_repeat1, 2, 0, 0), SHIFT_REPEAT(29), [88] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_repeat1, 2, 0, 0), SHIFT_REPEAT(29), [91] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_repeat1, 2, 0, 0), SHIFT_REPEAT(30), [94] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_repeat1, 2, 0, 0), SHIFT_REPEAT(30), [97] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_repeat1, 2, 0, 0), SHIFT_REPEAT(76), [100] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_repeat1, 2, 0, 0), SHIFT_REPEAT(35), [103] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 2, 0, 0), [105] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block, 2, 0, 0), [107] = {.entry = {.count = 1, .reusable = false}}, SHIFT(28), [109] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 3, 0, 0), [111] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block, 3, 0, 0), [113] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), [115] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), [117] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(51), [120] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(79), [123] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(80), [126] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(49), [129] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(84), [132] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(63), [135] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(72), [138] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_hunk, 2, 0, 2), [140] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_hunk, 2, 0, 2), [142] = {.entry = {.count = 1, .reusable = false}}, SHIFT(77), [144] = {.entry = {.count = 1, .reusable = false}}, SHIFT(78), [146] = {.entry = {.count = 1, .reusable = false}}, SHIFT(40), [148] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_hunks_repeat1, 2, 0, 0), [150] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_hunks_repeat1, 2, 0, 0), [152] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_hunks_repeat1, 2, 0, 0), SHIFT_REPEAT(82), [155] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_hunks, 1, 0, 0), [157] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_hunks, 1, 0, 0), [159] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_changes_repeat2, 2, 0, 0), [161] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_changes_repeat2, 2, 0, 0), [163] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_changes_repeat2, 2, 0, 0), SHIFT_REPEAT(77), [166] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_changes_repeat2, 2, 0, 0), SHIFT_REPEAT(78), [169] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_changes_repeat2, 2, 0, 0), SHIFT_REPEAT(29), [172] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_changes_repeat2, 2, 0, 0), SHIFT_REPEAT(29), [175] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_changes_repeat2, 2, 0, 0), SHIFT_REPEAT(30), [178] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_changes_repeat2, 2, 0, 0), SHIFT_REPEAT(30), [181] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_changes_repeat2, 2, 0, 0), SHIFT_REPEAT(40), [184] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_changes, 1, 0, 0), [186] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_changes, 1, 0, 0), [188] = {.entry = {.count = 1, .reusable = false}}, SHIFT(13), [190] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_changes_repeat1, 2, 0, 0), [192] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_changes_repeat1, 2, 0, 0), SHIFT_REPEAT(13), [195] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_changes_repeat1, 2, 0, 0), [197] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_source_repeat1, 2, 0, 0), [199] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 7, 0, 0), [201] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block, 7, 0, 0), [203] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 8, 0, 0), [205] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block, 8, 0, 0), [207] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_hunk, 3, 0, 3), [209] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_hunk, 3, 0, 3), [211] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_addition, 1, 0, 0), [213] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24), [215] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_deletion, 1, 0, 0), [217] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_index, 4, 0, 0), [219] = {.entry = {.count = 1, .reusable = true}}, SHIFT(58), [221] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_filename, 1, 0, 0), [223] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25), [225] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_filename_repeat1, 2, 0, 0), [227] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_filename_repeat1, 2, 0, 0), SHIFT_REPEAT(25), [230] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36), [232] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_addition, 1, 0, 0), [234] = {.entry = {.count = 1, .reusable = true}}, SHIFT(44), [236] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_deletion, 1, 0, 0), [238] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45), [240] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38), [242] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_location, 4, 0, 0), [244] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_location, 4, 0, 0), [246] = {.entry = {.count = 1, .reusable = true}}, SHIFT(60), [248] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_comment, 1, 0, 0), [250] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_comment, 1, 0, 0), [252] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46), [254] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_filename, 1, 0, 0), [256] = {.entry = {.count = 1, .reusable = false}}, SHIFT(37), [258] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_filename_repeat1, 2, 0, 0), [260] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_filename_repeat1, 2, 0, 0), SHIFT_REPEAT(37), [263] = {.entry = {.count = 1, .reusable = false}}, SHIFT(39), [265] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_filename_repeat1, 2, 0, 0), SHIFT_REPEAT(39), [268] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12), [270] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_file_change, 3, 0, 0), [272] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), [274] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_binary_change, 6, 0, 0), [276] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_addition, 2, 0, 0), [278] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_deletion, 2, 0, 0), [280] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_comment, 2, 0, 0), [282] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_old_file, 2, 0, 0), [284] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14), [286] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27), [288] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_file_change, 4, 0, 0), [290] = {.entry = {.count = 1, .reusable = true}}, SHIFT(81), [292] = {.entry = {.count = 1, .reusable = true}}, SHIFT(52), [294] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source, 2, 0, 0), [296] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_similarity, 4, 0, 1), [298] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_new_file, 2, 0, 0), [300] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_mode, 1, 0, 0), [302] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_index, 5, 0, 0), [304] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_location, 5, 0, 0), [306] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15), [308] = {.entry = {.count = 1, .reusable = true}}, SHIFT(67), [310] = {.entry = {.count = 1, .reusable = true}}, SHIFT(87), [312] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31), [314] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22), [316] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23), [318] = {.entry = {.count = 1, .reusable = true}}, SHIFT(54), [320] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), [322] = {.entry = {.count = 1, .reusable = true}}, SHIFT(21), [324] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), [326] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7), [328] = {.entry = {.count = 1, .reusable = true}}, SHIFT(62), [330] = {.entry = {.count = 1, .reusable = true}}, SHIFT(70), [332] = {.entry = {.count = 1, .reusable = true}}, SHIFT(57), [334] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), [336] = {.entry = {.count = 1, .reusable = true}}, SHIFT(56), [338] = {.entry = {.count = 1, .reusable = true}}, SHIFT(73), [340] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), [342] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26), [344] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_command, 3, 0, 0), [346] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42), [348] = {.entry = {.count = 1, .reusable = true}}, SHIFT(66), [350] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43), }; #ifdef __cplusplus extern "C" { #endif #ifdef TREE_SITTER_HIDE_SYMBOLS #define TS_PUBLIC #elif defined(_WIN32) #define TS_PUBLIC __declspec(dllexport) #else #define TS_PUBLIC __attribute__((visibility("default"))) #endif TS_PUBLIC const TSLanguage *tree_sitter_diff(void) { static const TSLanguage language = { .abi_version = LANGUAGE_VERSION, .symbol_count = SYMBOL_COUNT, .alias_count = ALIAS_COUNT, .token_count = TOKEN_COUNT, .external_token_count = EXTERNAL_TOKEN_COUNT, .state_count = STATE_COUNT, .large_state_count = LARGE_STATE_COUNT, .production_id_count = PRODUCTION_ID_COUNT, .supertype_count = SUPERTYPE_COUNT, .field_count = FIELD_COUNT, .max_alias_sequence_length = MAX_ALIAS_SEQUENCE_LENGTH, .parse_table = &ts_parse_table[0][0], .small_parse_table = ts_small_parse_table, .small_parse_table_map = ts_small_parse_table_map, .parse_actions = ts_parse_actions, .symbol_names = ts_symbol_names, .field_names = ts_field_names, .field_map_slices = ts_field_map_slices, .field_map_entries = ts_field_map_entries, .symbol_metadata = ts_symbol_metadata, .public_symbol_map = ts_symbol_map, .alias_map = ts_non_terminal_alias_map, .alias_sequences = &ts_alias_sequences[0][0], .lex_modes = (const void*)ts_lex_modes, .lex_fn = ts_lex, .primary_state_ids = ts_primary_state_ids, .name = "diff", .max_reserved_word_set_size = 0, .metadata = { .major_version = 0, .minor_version = 1, .patch_version = 0, }, }; return &language; } #ifdef __cplusplus } #endif