Commit
Author: Michael Davis [mcarsondavis@gmail.com]
Hash: 797c53c5d51446a443b3e659c1f5f6322d56c742
Timestamp: Fri, 16 Sep 2022 10:31:09 +0000 (2 years ago)

+533 -471 +/-3 browse
Generate parser
1diff --git a/src/grammar.json b/src/grammar.json
2index 2c299a0..0f654c6 100644
3--- a/src/grammar.json
4+++ b/src/grammar.json
5 @@ -422,6 +422,42 @@
6 ]
7 }
8 ]
9+ },
10+ {
11+ "type": "SEQ",
12+ "members": [
13+ {
14+ "type": "IMMEDIATE_TOKEN",
15+ "content": {
16+ "type": "STRING",
17+ "value": "---"
18+ }
19+ }
20+ ]
21+ },
22+ {
23+ "type": "SEQ",
24+ "members": [
25+ {
26+ "type": "IMMEDIATE_TOKEN",
27+ "content": {
28+ "type": "STRING",
29+ "value": "----"
30+ }
31+ },
32+ {
33+ "type": "CHOICE",
34+ "members": [
35+ {
36+ "type": "PATTERN",
37+ "value": "[^\\r\\n]+"
38+ },
39+ {
40+ "type": "BLANK"
41+ }
42+ ]
43+ }
44+ ]
45 }
46 ]
47 },
48 diff --git a/src/node-types.json b/src/node-types.json
49index 0375baf..25cc8e5 100644
50--- a/src/node-types.json
51+++ b/src/node-types.json
52 @@ -217,6 +217,10 @@
53 "named": false
54 },
55 {
56+ "type": "----",
57+ "named": false
58+ },
59+ {
60 "type": "--git",
61 "named": false
62 },
63 diff --git a/src/parser.c b/src/parser.c
64index c8c9921..f1bf1f0 100644
65--- a/src/parser.c
66+++ b/src/parser.c
67 @@ -8,9 +8,9 @@
68 #define LANGUAGE_VERSION 14
69 #define STATE_COUNT 53
70 #define LARGE_STATE_COUNT 4
71- #define SYMBOL_COUNT 47
72+ #define SYMBOL_COUNT 48
73 #define ALIAS_COUNT 0
74- #define TOKEN_COUNT 31
75+ #define TOKEN_COUNT 32
76 #define EXTERNAL_TOKEN_COUNT 0
77 #define FIELD_COUNT 1
78 #define MAX_ALIAS_SEQUENCE_LENGTH 6
79 @@ -43,26 +43,27 @@ enum {
80 anon_sym_PLUS = 24,
81 anon_sym_DASH = 25,
82 anon_sym_DASH_DASH = 26,
83- sym_context = 27,
84- sym_linerange = 28,
85- aux_sym_filename_token1 = 29,
86- sym_commit = 30,
87- sym_source = 31,
88- sym__line = 32,
89- sym_command = 33,
90- sym_file_change = 34,
91- sym_binary_change = 35,
92- sym_index = 36,
93- sym_similarity = 37,
94- sym_old_file = 38,
95- sym_new_file = 39,
96- sym_location = 40,
97- sym_addition = 41,
98- sym_deletion = 42,
99- sym_filename = 43,
100- sym_mode = 44,
101- aux_sym_source_repeat1 = 45,
102- aux_sym_filename_repeat1 = 46,
103+ anon_sym_DASH_DASH_DASH_DASH = 27,
104+ sym_context = 28,
105+ sym_linerange = 29,
106+ aux_sym_filename_token1 = 30,
107+ sym_commit = 31,
108+ sym_source = 32,
109+ sym__line = 33,
110+ sym_command = 34,
111+ sym_file_change = 35,
112+ sym_binary_change = 36,
113+ sym_index = 37,
114+ sym_similarity = 38,
115+ sym_old_file = 39,
116+ sym_new_file = 40,
117+ sym_location = 41,
118+ sym_addition = 42,
119+ sym_deletion = 43,
120+ sym_filename = 44,
121+ sym_mode = 45,
122+ aux_sym_source_repeat1 = 46,
123+ aux_sym_filename_repeat1 = 47,
124 };
125
126 static const char * const ts_symbol_names[] = {
127 @@ -93,6 +94,7 @@ static const char * const ts_symbol_names[] = {
128 [anon_sym_PLUS] = "+",
129 [anon_sym_DASH] = "-",
130 [anon_sym_DASH_DASH] = "--",
131+ [anon_sym_DASH_DASH_DASH_DASH] = "----",
132 [sym_context] = "context",
133 [sym_linerange] = "linerange",
134 [aux_sym_filename_token1] = "filename_token1",
135 @@ -143,6 +145,7 @@ static const TSSymbol ts_symbol_map[] = {
136 [anon_sym_PLUS] = anon_sym_PLUS,
137 [anon_sym_DASH] = anon_sym_DASH,
138 [anon_sym_DASH_DASH] = anon_sym_DASH_DASH,
139+ [anon_sym_DASH_DASH_DASH_DASH] = anon_sym_DASH_DASH_DASH_DASH,
140 [sym_context] = sym_context,
141 [sym_linerange] = sym_linerange,
142 [aux_sym_filename_token1] = aux_sym_filename_token1,
143 @@ -274,6 +277,10 @@ static const TSSymbolMetadata ts_symbol_metadata[] = {
144 .visible = true,
145 .named = false,
146 },
147+ [anon_sym_DASH_DASH_DASH_DASH] = {
148+ .visible = true,
149+ .named = false,
150+ },
151 [sym_context] = {
152 .visible = true,
153 .named = true,
154 @@ -395,15 +402,15 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = {
155 [9] = 9,
156 [10] = 10,
157 [11] = 11,
158- [12] = 6,
159+ [12] = 7,
160 [13] = 13,
161 [14] = 14,
162 [15] = 15,
163- [16] = 5,
164+ [16] = 6,
165 [17] = 17,
166 [18] = 18,
167- [19] = 6,
168- [20] = 5,
169+ [19] = 7,
170+ [20] = 6,
171 [21] = 21,
172 [22] = 22,
173 [23] = 23,
174 @@ -474,7 +481,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) {
175 END_STATE();
176 case 3:
177 if (lookahead == '-') ADVANCE(35);
178- if (('0' <= lookahead && lookahead <= '9')) ADVANCE(196);
179+ if (('0' <= lookahead && lookahead <= '9')) ADVANCE(197);
180 END_STATE();
181 case 4:
182 if (lookahead == '.') ADVANCE(105);
183 @@ -489,13 +496,13 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) {
184 if (lookahead == 'a') ADVANCE(62);
185 END_STATE();
186 case 8:
187- if (lookahead == 'a') ADVANCE(205);
188+ if (lookahead == 'a') ADVANCE(206);
189 if (lookahead == '\t' ||
190 lookahead == ' ') SKIP(8)
191 if (lookahead == 11 ||
192- lookahead == '\f') ADVANCE(198);
193+ lookahead == '\f') ADVANCE(199);
194 if (lookahead != 0 &&
195- (lookahead < '\n' || '\r' < lookahead)) ADVANCE(208);
196+ (lookahead < '\n' || '\r' < lookahead)) ADVANCE(209);
197 END_STATE();
198 case 9:
199 if (lookahead == 'a') ADVANCE(53);
200 @@ -510,13 +517,13 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) {
201 if (lookahead == 'd') ADVANCE(92);
202 END_STATE();
203 case 13:
204- if (lookahead == 'd') ADVANCE(204);
205+ if (lookahead == 'd') ADVANCE(205);
206 if (lookahead == '\t' ||
207 lookahead == ' ') SKIP(13)
208 if (lookahead == 11 ||
209- lookahead == '\f') ADVANCE(199);
210+ lookahead == '\f') ADVANCE(200);
211 if (lookahead != 0 &&
212- (lookahead < '\n' || '\r' < lookahead)) ADVANCE(208);
213+ (lookahead < '\n' || '\r' < lookahead)) ADVANCE(209);
214 END_STATE();
215 case 14:
216 if (lookahead == 'd') ADVANCE(22);
217 @@ -720,14 +727,14 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) {
218 if (lookahead == 'y') ADVANCE(106);
219 END_STATE();
220 case 74:
221- if (('0' <= lookahead && lookahead <= '9')) ADVANCE(196);
222+ if (('0' <= lookahead && lookahead <= '9')) ADVANCE(197);
223 END_STATE();
224 case 75:
225- if (('0' <= lookahead && lookahead <= '9')) ADVANCE(197);
226+ if (('0' <= lookahead && lookahead <= '9')) ADVANCE(198);
227 END_STATE();
228 case 76:
229 if (('0' <= lookahead && lookahead <= '9') ||
230- ('a' <= lookahead && lookahead <= 'f')) ADVANCE(242);
231+ ('a' <= lookahead && lookahead <= 'f')) ADVANCE(243);
232 END_STATE();
233 case 77:
234 if (('0' <= lookahead && lookahead <= '9') ||
235 @@ -788,16 +795,16 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) {
236 if (lookahead == '\r') ADVANCE(1);
237 if (lookahead == '+') ADVANCE(156);
238 if (lookahead == '-') ADVANCE(157);
239- if (lookahead == '@') ADVANCE(161);
240- if (lookahead == 'B') ADVANCE(177);
241- if (lookahead == 'd') ADVANCE(168);
242- if (lookahead == 'i') ADVANCE(184);
243- if (lookahead == 'n') ADVANCE(169);
244- if (lookahead == 'r') ADVANCE(173);
245- if (lookahead == 's') ADVANCE(176);
246+ if (lookahead == '@') ADVANCE(162);
247+ if (lookahead == 'B') ADVANCE(178);
248+ if (lookahead == 'd') ADVANCE(169);
249+ if (lookahead == 'i') ADVANCE(185);
250+ if (lookahead == 'n') ADVANCE(170);
251+ if (lookahead == 'r') ADVANCE(174);
252+ if (lookahead == 's') ADVANCE(177);
253 if (('\t' <= lookahead && lookahead <= '\f') ||
254- lookahead == ' ') ADVANCE(159);
255- if (lookahead != 0) ADVANCE(195);
256+ lookahead == ' ') ADVANCE(160);
257+ if (lookahead != 0) ADVANCE(196);
258 END_STATE();
259 case 85:
260 if (eof) ADVANCE(87);
261 @@ -806,8 +813,8 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) {
262 if (lookahead == '\t' ||
263 lookahead == ' ') SKIP(85)
264 if (lookahead == 11 ||
265- lookahead == '\f') ADVANCE(207);
266- if (lookahead != 0) ADVANCE(208);
267+ lookahead == '\f') ADVANCE(208);
268+ if (lookahead != 0) ADVANCE(209);
269 END_STATE();
270 case 86:
271 if (eof) ADVANCE(87);
272 @@ -867,7 +874,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) {
273 lookahead != '\t' &&
274 lookahead != '\n' &&
275 lookahead != '\r' &&
276- lookahead != ' ') ADVANCE(208);
277+ lookahead != ' ') ADVANCE(209);
278 END_STATE();
279 case 102:
280 ACCEPT_TOKEN(anon_sym_differ);
281 @@ -878,7 +885,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) {
282 lookahead != '\t' &&
283 lookahead != '\n' &&
284 lookahead != '\r' &&
285- lookahead != ' ') ADVANCE(208);
286+ lookahead != ' ') ADVANCE(209);
287 END_STATE();
288 case 104:
289 ACCEPT_TOKEN(anon_sym_index);
290 @@ -894,12 +901,12 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) {
291 END_STATE();
292 case 108:
293 ACCEPT_TOKEN(aux_sym_similarity_token1);
294- if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(242);
295+ if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(243);
296 if (('0' <= lookahead && lookahead <= '9')) ADVANCE(146);
297 END_STATE();
298 case 109:
299 ACCEPT_TOKEN(aux_sym_similarity_token1);
300- if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(209);
301+ if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(210);
302 if (('0' <= lookahead && lookahead <= '9')) ADVANCE(147);
303 END_STATE();
304 case 110:
305 @@ -909,7 +916,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) {
306 END_STATE();
307 case 111:
308 ACCEPT_TOKEN(aux_sym_similarity_token1);
309- if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(210);
310+ if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(211);
311 if (('0' <= lookahead && lookahead <= '9')) ADVANCE(109);
312 END_STATE();
313 case 112:
314 @@ -919,7 +926,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) {
315 END_STATE();
316 case 113:
317 ACCEPT_TOKEN(aux_sym_similarity_token1);
318- if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(211);
319+ if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(212);
320 if (('0' <= lookahead && lookahead <= '9')) ADVANCE(111);
321 END_STATE();
322 case 114:
323 @@ -929,7 +936,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) {
324 END_STATE();
325 case 115:
326 ACCEPT_TOKEN(aux_sym_similarity_token1);
327- if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(212);
328+ if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(213);
329 if (('0' <= lookahead && lookahead <= '9')) ADVANCE(113);
330 END_STATE();
331 case 116:
332 @@ -939,7 +946,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) {
333 END_STATE();
334 case 117:
335 ACCEPT_TOKEN(aux_sym_similarity_token1);
336- if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(213);
337+ if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(214);
338 if (('0' <= lookahead && lookahead <= '9')) ADVANCE(115);
339 END_STATE();
340 case 118:
341 @@ -949,142 +956,142 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) {
342 END_STATE();
343 case 119:
344 ACCEPT_TOKEN(aux_sym_similarity_token1);
345- if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(214);
346+ if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(215);
347 if (('0' <= lookahead && lookahead <= '9')) ADVANCE(117);
348 END_STATE();
349 case 120:
350 ACCEPT_TOKEN(aux_sym_similarity_token1);
351- if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(215);
352+ if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(216);
353 if (('0' <= lookahead && lookahead <= '9')) ADVANCE(119);
354 END_STATE();
355 case 121:
356 ACCEPT_TOKEN(aux_sym_similarity_token1);
357- if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(216);
358+ if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(217);
359 if (('0' <= lookahead && lookahead <= '9')) ADVANCE(120);
360 END_STATE();
361 case 122:
362 ACCEPT_TOKEN(aux_sym_similarity_token1);
363- if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(217);
364+ if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(218);
365 if (('0' <= lookahead && lookahead <= '9')) ADVANCE(121);
366 END_STATE();
367 case 123:
368 ACCEPT_TOKEN(aux_sym_similarity_token1);
369- if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(218);
370+ if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(219);
371 if (('0' <= lookahead && lookahead <= '9')) ADVANCE(122);
372 END_STATE();
373 case 124:
374 ACCEPT_TOKEN(aux_sym_similarity_token1);
375- if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(219);
376+ if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(220);
377 if (('0' <= lookahead && lookahead <= '9')) ADVANCE(123);
378 END_STATE();
379 case 125:
380 ACCEPT_TOKEN(aux_sym_similarity_token1);
381- if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(220);
382+ if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(221);
383 if (('0' <= lookahead && lookahead <= '9')) ADVANCE(124);
384 END_STATE();
385 case 126:
386 ACCEPT_TOKEN(aux_sym_similarity_token1);
387- if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(221);
388+ if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(222);
389 if (('0' <= lookahead && lookahead <= '9')) ADVANCE(125);
390 END_STATE();
391 case 127:
392 ACCEPT_TOKEN(aux_sym_similarity_token1);
393- if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(222);
394+ if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(223);
395 if (('0' <= lookahead && lookahead <= '9')) ADVANCE(126);
396 END_STATE();
397 case 128:
398 ACCEPT_TOKEN(aux_sym_similarity_token1);
399- if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(223);
400+ if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(224);
401 if (('0' <= lookahead && lookahead <= '9')) ADVANCE(127);
402 END_STATE();
403 case 129:
404 ACCEPT_TOKEN(aux_sym_similarity_token1);
405- if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(224);
406+ if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(225);
407 if (('0' <= lookahead && lookahead <= '9')) ADVANCE(128);
408 END_STATE();
409 case 130:
410 ACCEPT_TOKEN(aux_sym_similarity_token1);
411- if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(225);
412+ if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(226);
413 if (('0' <= lookahead && lookahead <= '9')) ADVANCE(129);
414 END_STATE();
415 case 131:
416 ACCEPT_TOKEN(aux_sym_similarity_token1);
417- if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(226);
418+ if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(227);
419 if (('0' <= lookahead && lookahead <= '9')) ADVANCE(130);
420 END_STATE();
421 case 132:
422 ACCEPT_TOKEN(aux_sym_similarity_token1);
423- if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(227);
424+ if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(228);
425 if (('0' <= lookahead && lookahead <= '9')) ADVANCE(131);
426 END_STATE();
427 case 133:
428 ACCEPT_TOKEN(aux_sym_similarity_token1);
429- if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(228);
430+ if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(229);
431 if (('0' <= lookahead && lookahead <= '9')) ADVANCE(132);
432 END_STATE();
433 case 134:
434 ACCEPT_TOKEN(aux_sym_similarity_token1);
435- if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(229);
436+ if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(230);
437 if (('0' <= lookahead && lookahead <= '9')) ADVANCE(133);
438 END_STATE();
439 case 135:
440 ACCEPT_TOKEN(aux_sym_similarity_token1);
441- if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(230);
442+ if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(231);
443 if (('0' <= lookahead && lookahead <= '9')) ADVANCE(134);
444 END_STATE();
445 case 136:
446 ACCEPT_TOKEN(aux_sym_similarity_token1);
447- if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(231);
448+ if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(232);
449 if (('0' <= lookahead && lookahead <= '9')) ADVANCE(135);
450 END_STATE();
451 case 137:
452 ACCEPT_TOKEN(aux_sym_similarity_token1);
453- if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(232);
454+ if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(233);
455 if (('0' <= lookahead && lookahead <= '9')) ADVANCE(136);
456 END_STATE();
457 case 138:
458 ACCEPT_TOKEN(aux_sym_similarity_token1);
459- if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(233);
460+ if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(234);
461 if (('0' <= lookahead && lookahead <= '9')) ADVANCE(137);
462 END_STATE();
463 case 139:
464 ACCEPT_TOKEN(aux_sym_similarity_token1);
465- if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(234);
466+ if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(235);
467 if (('0' <= lookahead && lookahead <= '9')) ADVANCE(138);
468 END_STATE();
469 case 140:
470 ACCEPT_TOKEN(aux_sym_similarity_token1);
471- if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(235);
472+ if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(236);
473 if (('0' <= lookahead && lookahead <= '9')) ADVANCE(139);
474 END_STATE();
475 case 141:
476 ACCEPT_TOKEN(aux_sym_similarity_token1);
477- if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(236);
478+ if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(237);
479 if (('0' <= lookahead && lookahead <= '9')) ADVANCE(140);
480 END_STATE();
481 case 142:
482 ACCEPT_TOKEN(aux_sym_similarity_token1);
483- if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(237);
484+ if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(238);
485 if (('0' <= lookahead && lookahead <= '9')) ADVANCE(141);
486 END_STATE();
487 case 143:
488 ACCEPT_TOKEN(aux_sym_similarity_token1);
489- if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(238);
490+ if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(239);
491 if (('0' <= lookahead && lookahead <= '9')) ADVANCE(142);
492 END_STATE();
493 case 144:
494 ACCEPT_TOKEN(aux_sym_similarity_token1);
495- if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(239);
496+ if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(240);
497 if (('0' <= lookahead && lookahead <= '9')) ADVANCE(143);
498 END_STATE();
499 case 145:
500 ACCEPT_TOKEN(aux_sym_similarity_token1);
501- if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(240);
502+ if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(241);
503 if (('0' <= lookahead && lookahead <= '9')) ADVANCE(144);
504 END_STATE();
505 case 146:
506 ACCEPT_TOKEN(aux_sym_similarity_token1);
507- if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(241);
508+ if (('a' <= lookahead && lookahead <= 'f')) ADVANCE(242);
509 if (('0' <= lookahead && lookahead <= '9')) ADVANCE(145);
510 END_STATE();
511 case 147:
512 @@ -1096,6 +1103,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) {
513 END_STATE();
514 case 149:
515 ACCEPT_TOKEN(anon_sym_DASH_DASH_DASH);
516+ if (lookahead == '-') ADVANCE(159);
517 END_STATE();
518 case 150:
519 ACCEPT_TOKEN(anon_sym_PLUS_PLUS_PLUS);
520 @@ -1127,7 +1135,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) {
521 END_STATE();
522 case 156:
523 ACCEPT_TOKEN(anon_sym_PLUS);
524- if (lookahead == '+') ADVANCE(160);
525+ if (lookahead == '+') ADVANCE(161);
526 END_STATE();
527 case 157:
528 ACCEPT_TOKEN(anon_sym_DASH);
529 @@ -1138,318 +1146,312 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) {
530 if (lookahead == '-') ADVANCE(149);
531 END_STATE();
532 case 159:
533+ ACCEPT_TOKEN(anon_sym_DASH_DASH_DASH_DASH);
534+ END_STATE();
535+ case 160:
536 ACCEPT_TOKEN(sym_context);
537 if (lookahead == '\n') ADVANCE(88);
538 if (lookahead == '\r') ADVANCE(1);
539 if (('\t' <= lookahead && lookahead <= '\f') ||
540- lookahead == ' ') ADVANCE(159);
541- if (lookahead != 0) ADVANCE(195);
542- END_STATE();
543- case 160:
544- ACCEPT_TOKEN(sym_context);
545- if (lookahead == '+') ADVANCE(150);
546- if (lookahead != 0 &&
547- lookahead != '\n' &&
548- lookahead != '\r') ADVANCE(195);
549+ lookahead == ' ') ADVANCE(160);
550+ if (lookahead != 0) ADVANCE(196);
551 END_STATE();
552 case 161:
553 ACCEPT_TOKEN(sym_context);
554- if (lookahead == '@') ADVANCE(151);
555+ if (lookahead == '+') ADVANCE(150);
556 if (lookahead != 0 &&
557 lookahead != '\n' &&
558- lookahead != '\r') ADVANCE(195);
559+ lookahead != '\r') ADVANCE(196);
560 END_STATE();
561 case 162:
562 ACCEPT_TOKEN(sym_context);
563- if (lookahead == 'a') ADVANCE(187);
564+ if (lookahead == '@') ADVANCE(151);
565 if (lookahead != 0 &&
566 lookahead != '\n' &&
567- lookahead != '\r') ADVANCE(195);
568+ lookahead != '\r') ADVANCE(196);
569 END_STATE();
570 case 163:
571 ACCEPT_TOKEN(sym_context);
572- if (lookahead == 'a') ADVANCE(183);
573+ if (lookahead == 'a') ADVANCE(188);
574 if (lookahead != 0 &&
575 lookahead != '\n' &&
576- lookahead != '\r') ADVANCE(195);
577+ lookahead != '\r') ADVANCE(196);
578 END_STATE();
579 case 164:
580 ACCEPT_TOKEN(sym_context);
581- if (lookahead == 'a') ADVANCE(188);
582+ if (lookahead == 'a') ADVANCE(184);
583 if (lookahead != 0 &&
584 lookahead != '\n' &&
585- lookahead != '\r') ADVANCE(195);
586+ lookahead != '\r') ADVANCE(196);
587 END_STATE();
588 case 165:
589 ACCEPT_TOKEN(sym_context);
590- if (lookahead == 'd') ADVANCE(92);
591+ if (lookahead == 'a') ADVANCE(189);
592 if (lookahead != 0 &&
593 lookahead != '\n' &&
594- lookahead != '\r') ADVANCE(195);
595+ lookahead != '\r') ADVANCE(196);
596 END_STATE();
597 case 166:
598 ACCEPT_TOKEN(sym_context);
599- if (lookahead == 'd') ADVANCE(171);
600+ if (lookahead == 'd') ADVANCE(92);
601 if (lookahead != 0 &&
602 lookahead != '\n' &&
603- lookahead != '\r') ADVANCE(195);
604+ lookahead != '\r') ADVANCE(196);
605 END_STATE();
606 case 167:
607 ACCEPT_TOKEN(sym_context);
608- if (lookahead == 'e') ADVANCE(92);
609+ if (lookahead == 'd') ADVANCE(172);
610 if (lookahead != 0 &&
611 lookahead != '\n' &&
612- lookahead != '\r') ADVANCE(195);
613+ lookahead != '\r') ADVANCE(196);
614 END_STATE();
615 case 168:
616 ACCEPT_TOKEN(sym_context);
617- if (lookahead == 'e') ADVANCE(180);
618- if (lookahead == 'i') ADVANCE(175);
619+ if (lookahead == 'e') ADVANCE(92);
620 if (lookahead != 0 &&
621 lookahead != '\n' &&
622- lookahead != '\r') ADVANCE(195);
623+ lookahead != '\r') ADVANCE(196);
624 END_STATE();
625 case 169:
626 ACCEPT_TOKEN(sym_context);
627- if (lookahead == 'e') ADVANCE(191);
628+ if (lookahead == 'e') ADVANCE(181);
629+ if (lookahead == 'i') ADVANCE(176);
630 if (lookahead != 0 &&
631 lookahead != '\n' &&
632- lookahead != '\r') ADVANCE(195);
633+ lookahead != '\r') ADVANCE(196);
634 END_STATE();
635 case 170:
636 ACCEPT_TOKEN(sym_context);
637- if (lookahead == 'e') ADVANCE(190);
638+ if (lookahead == 'e') ADVANCE(192);
639 if (lookahead != 0 &&
640 lookahead != '\n' &&
641- lookahead != '\r') ADVANCE(195);
642+ lookahead != '\r') ADVANCE(196);
643 END_STATE();
644 case 171:
645 ACCEPT_TOKEN(sym_context);
646- if (lookahead == 'e') ADVANCE(192);
647+ if (lookahead == 'e') ADVANCE(191);
648 if (lookahead != 0 &&
649 lookahead != '\n' &&
650- lookahead != '\r') ADVANCE(195);
651+ lookahead != '\r') ADVANCE(196);
652 END_STATE();
653 case 172:
654 ACCEPT_TOKEN(sym_context);
655- if (lookahead == 'e') ADVANCE(165);
656+ if (lookahead == 'e') ADVANCE(193);
657 if (lookahead != 0 &&
658 lookahead != '\n' &&
659- lookahead != '\r') ADVANCE(195);
660+ lookahead != '\r') ADVANCE(196);
661 END_STATE();
662 case 173:
663 ACCEPT_TOKEN(sym_context);
664- if (lookahead == 'e') ADVANCE(186);
665+ if (lookahead == 'e') ADVANCE(166);
666 if (lookahead != 0 &&
667 lookahead != '\n' &&
668- lookahead != '\r') ADVANCE(195);
669+ lookahead != '\r') ADVANCE(196);
670 END_STATE();
671 case 174:
672 ACCEPT_TOKEN(sym_context);
673- if (lookahead == 'f') ADVANCE(89);
674+ if (lookahead == 'e') ADVANCE(187);
675 if (lookahead != 0 &&
676 lookahead != '\n' &&
677- lookahead != '\r') ADVANCE(195);
678+ lookahead != '\r') ADVANCE(196);
679 END_STATE();
680 case 175:
681 ACCEPT_TOKEN(sym_context);
682- if (lookahead == 'f') ADVANCE(174);
683+ if (lookahead == 'f') ADVANCE(89);
684 if (lookahead != 0 &&
685 lookahead != '\n' &&
686- lookahead != '\r') ADVANCE(195);
687+ lookahead != '\r') ADVANCE(196);
688 END_STATE();
689 case 176:
690 ACCEPT_TOKEN(sym_context);
691- if (lookahead == 'i') ADVANCE(182);
692+ if (lookahead == 'f') ADVANCE(175);
693 if (lookahead != 0 &&
694 lookahead != '\n' &&
695- lookahead != '\r') ADVANCE(195);
696+ lookahead != '\r') ADVANCE(196);
697 END_STATE();
698 case 177:
699 ACCEPT_TOKEN(sym_context);
700- if (lookahead == 'i') ADVANCE(185);
701+ if (lookahead == 'i') ADVANCE(183);
702 if (lookahead != 0 &&
703 lookahead != '\n' &&
704- lookahead != '\r') ADVANCE(195);
705+ lookahead != '\r') ADVANCE(196);
706 END_STATE();
707 case 178:
708 ACCEPT_TOKEN(sym_context);
709- if (lookahead == 'i') ADVANCE(181);
710+ if (lookahead == 'i') ADVANCE(186);
711 if (lookahead != 0 &&
712 lookahead != '\n' &&
713- lookahead != '\r') ADVANCE(195);
714+ lookahead != '\r') ADVANCE(196);
715 END_STATE();
716 case 179:
717 ACCEPT_TOKEN(sym_context);
718- if (lookahead == 'i') ADVANCE(189);
719+ if (lookahead == 'i') ADVANCE(182);
720 if (lookahead != 0 &&
721 lookahead != '\n' &&
722- lookahead != '\r') ADVANCE(195);
723+ lookahead != '\r') ADVANCE(196);
724 END_STATE();
725 case 180:
726 ACCEPT_TOKEN(sym_context);
727- if (lookahead == 'l') ADVANCE(170);
728+ if (lookahead == 'i') ADVANCE(190);
729 if (lookahead != 0 &&
730 lookahead != '\n' &&
731- lookahead != '\r') ADVANCE(195);
732+ lookahead != '\r') ADVANCE(196);
733 END_STATE();
734 case 181:
735 ACCEPT_TOKEN(sym_context);
736- if (lookahead == 'l') ADVANCE(164);
737+ if (lookahead == 'l') ADVANCE(171);
738 if (lookahead != 0 &&
739 lookahead != '\n' &&
740- lookahead != '\r') ADVANCE(195);
741+ lookahead != '\r') ADVANCE(196);
742 END_STATE();
743 case 182:
744 ACCEPT_TOKEN(sym_context);
745- if (lookahead == 'm') ADVANCE(178);
746+ if (lookahead == 'l') ADVANCE(165);
747 if (lookahead != 0 &&
748 lookahead != '\n' &&
749- lookahead != '\r') ADVANCE(195);
750+ lookahead != '\r') ADVANCE(196);
751 END_STATE();
752 case 183:
753 ACCEPT_TOKEN(sym_context);
754- if (lookahead == 'm') ADVANCE(167);
755+ if (lookahead == 'm') ADVANCE(179);
756 if (lookahead != 0 &&
757 lookahead != '\n' &&
758- lookahead != '\r') ADVANCE(195);
759+ lookahead != '\r') ADVANCE(196);
760 END_STATE();
761 case 184:
762 ACCEPT_TOKEN(sym_context);
763- if (lookahead == 'n') ADVANCE(166);
764+ if (lookahead == 'm') ADVANCE(168);
765 if (lookahead != 0 &&
766 lookahead != '\n' &&
767- lookahead != '\r') ADVANCE(195);
768+ lookahead != '\r') ADVANCE(196);
769 END_STATE();
770 case 185:
771 ACCEPT_TOKEN(sym_context);
772- if (lookahead == 'n') ADVANCE(162);
773+ if (lookahead == 'n') ADVANCE(167);
774 if (lookahead != 0 &&
775 lookahead != '\n' &&
776- lookahead != '\r') ADVANCE(195);
777+ lookahead != '\r') ADVANCE(196);
778 END_STATE();
779 case 186:
780 ACCEPT_TOKEN(sym_context);
781 if (lookahead == 'n') ADVANCE(163);
782 if (lookahead != 0 &&
783 lookahead != '\n' &&
784- lookahead != '\r') ADVANCE(195);
785+ lookahead != '\r') ADVANCE(196);
786 END_STATE();
787 case 187:
788 ACCEPT_TOKEN(sym_context);
789- if (lookahead == 'r') ADVANCE(193);
790+ if (lookahead == 'n') ADVANCE(164);
791 if (lookahead != 0 &&
792 lookahead != '\n' &&
793- lookahead != '\r') ADVANCE(195);
794+ lookahead != '\r') ADVANCE(196);
795 END_STATE();
796 case 188:
797 ACCEPT_TOKEN(sym_context);
798- if (lookahead == 'r') ADVANCE(179);
799+ if (lookahead == 'r') ADVANCE(194);
800 if (lookahead != 0 &&
801 lookahead != '\n' &&
802- lookahead != '\r') ADVANCE(195);
803+ lookahead != '\r') ADVANCE(196);
804 END_STATE();
805 case 189:
806 ACCEPT_TOKEN(sym_context);
807- if (lookahead == 't') ADVANCE(194);
808+ if (lookahead == 'r') ADVANCE(180);
809 if (lookahead != 0 &&
810 lookahead != '\n' &&
811- lookahead != '\r') ADVANCE(195);
812+ lookahead != '\r') ADVANCE(196);
813 END_STATE();
814 case 190:
815 ACCEPT_TOKEN(sym_context);
816- if (lookahead == 't') ADVANCE(172);
817+ if (lookahead == 't') ADVANCE(195);
818 if (lookahead != 0 &&
819 lookahead != '\n' &&
820- lookahead != '\r') ADVANCE(195);
821+ lookahead != '\r') ADVANCE(196);
822 END_STATE();
823 case 191:
824 ACCEPT_TOKEN(sym_context);
825- if (lookahead == 'w') ADVANCE(92);
826+ if (lookahead == 't') ADVANCE(173);
827 if (lookahead != 0 &&
828 lookahead != '\n' &&
829- lookahead != '\r') ADVANCE(195);
830+ lookahead != '\r') ADVANCE(196);
831 END_STATE();
832 case 192:
833 ACCEPT_TOKEN(sym_context);
834- if (lookahead == 'x') ADVANCE(104);
835+ if (lookahead == 'w') ADVANCE(92);
836 if (lookahead != 0 &&
837 lookahead != '\n' &&
838- lookahead != '\r') ADVANCE(195);
839+ lookahead != '\r') ADVANCE(196);
840 END_STATE();
841 case 193:
842 ACCEPT_TOKEN(sym_context);
843- if (lookahead == 'y') ADVANCE(98);
844+ if (lookahead == 'x') ADVANCE(104);
845 if (lookahead != 0 &&
846 lookahead != '\n' &&
847- lookahead != '\r') ADVANCE(195);
848+ lookahead != '\r') ADVANCE(196);
849 END_STATE();
850 case 194:
851 ACCEPT_TOKEN(sym_context);
852- if (lookahead == 'y') ADVANCE(106);
853+ if (lookahead == 'y') ADVANCE(98);
854 if (lookahead != 0 &&
855 lookahead != '\n' &&
856- lookahead != '\r') ADVANCE(195);
857+ lookahead != '\r') ADVANCE(196);
858 END_STATE();
859 case 195:
860 ACCEPT_TOKEN(sym_context);
861+ if (lookahead == 'y') ADVANCE(106);
862 if (lookahead != 0 &&
863 lookahead != '\n' &&
864- lookahead != '\r') ADVANCE(195);
865+ lookahead != '\r') ADVANCE(196);
866 END_STATE();
867 case 196:
868- ACCEPT_TOKEN(sym_linerange);
869- if (lookahead == ',') ADVANCE(75);
870- if (('0' <= lookahead && lookahead <= '9')) ADVANCE(196);
871+ ACCEPT_TOKEN(sym_context);
872+ if (lookahead != 0 &&
873+ lookahead != '\n' &&
874+ lookahead != '\r') ADVANCE(196);
875 END_STATE();
876 case 197:
877 ACCEPT_TOKEN(sym_linerange);
878+ if (lookahead == ',') ADVANCE(75);
879 if (('0' <= lookahead && lookahead <= '9')) ADVANCE(197);
880 END_STATE();
881 case 198:
882- ACCEPT_TOKEN(aux_sym_filename_token1);
883- if (lookahead == 'a') ADVANCE(205);
884- if (lookahead == 11 ||
885- lookahead == '\f') ADVANCE(198);
886- if (lookahead != 0 &&
887- (lookahead < '\t' || '\r' < lookahead) &&
888- lookahead != ' ') ADVANCE(208);
889+ ACCEPT_TOKEN(sym_linerange);
890+ if (('0' <= lookahead && lookahead <= '9')) ADVANCE(198);
891 END_STATE();
892 case 199:
893 ACCEPT_TOKEN(aux_sym_filename_token1);
894- if (lookahead == 'd') ADVANCE(204);
895+ if (lookahead == 'a') ADVANCE(206);
896 if (lookahead == 11 ||
897 lookahead == '\f') ADVANCE(199);
898 if (lookahead != 0 &&
899 (lookahead < '\t' || '\r' < lookahead) &&
900- lookahead != ' ') ADVANCE(208);
901+ lookahead != ' ') ADVANCE(209);
902 END_STATE();
903 case 200:
904 ACCEPT_TOKEN(aux_sym_filename_token1);
905- if (lookahead == 'd') ADVANCE(101);
906+ if (lookahead == 'd') ADVANCE(205);
907+ if (lookahead == 11 ||
908+ lookahead == '\f') ADVANCE(200);
909 if (lookahead != 0 &&
910- lookahead != '\t' &&
911- lookahead != '\n' &&
912- lookahead != '\r' &&
913- lookahead != ' ') ADVANCE(208);
914+ (lookahead < '\t' || '\r' < lookahead) &&
915+ lookahead != ' ') ADVANCE(209);
916 END_STATE();
917 case 201:
918 ACCEPT_TOKEN(aux_sym_filename_token1);
919- if (lookahead == 'e') ADVANCE(206);
920+ if (lookahead == 'd') ADVANCE(101);
921 if (lookahead != 0 &&
922 lookahead != '\t' &&
923 lookahead != '\n' &&
924 lookahead != '\r' &&
925- lookahead != ' ') ADVANCE(208);
926+ lookahead != ' ') ADVANCE(209);
927 END_STATE();
928 case 202:
929 ACCEPT_TOKEN(aux_sym_filename_token1);
930- if (lookahead == 'f') ADVANCE(201);
931+ if (lookahead == 'e') ADVANCE(207);
932 if (lookahead != 0 &&
933 lookahead != '\t' &&
934 lookahead != '\n' &&
935 lookahead != '\r' &&
936- lookahead != ' ') ADVANCE(208);
937+ lookahead != ' ') ADVANCE(209);
938 END_STATE();
939 case 203:
940 ACCEPT_TOKEN(aux_sym_filename_token1);
941 @@ -1458,58 +1460,62 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) {
942 lookahead != '\t' &&
943 lookahead != '\n' &&
944 lookahead != '\r' &&
945- lookahead != ' ') ADVANCE(208);
946+ lookahead != ' ') ADVANCE(209);
947 END_STATE();
948 case 204:
949 ACCEPT_TOKEN(aux_sym_filename_token1);
950- if (lookahead == 'i') ADVANCE(203);
951+ if (lookahead == 'f') ADVANCE(203);
952 if (lookahead != 0 &&
953 lookahead != '\t' &&
954 lookahead != '\n' &&
955 lookahead != '\r' &&
956- lookahead != ' ') ADVANCE(208);
957+ lookahead != ' ') ADVANCE(209);
958 END_STATE();
959 case 205:
960 ACCEPT_TOKEN(aux_sym_filename_token1);
961- if (lookahead == 'n') ADVANCE(200);
962+ if (lookahead == 'i') ADVANCE(204);
963 if (lookahead != 0 &&
964 lookahead != '\t' &&
965 lookahead != '\n' &&
966 lookahead != '\r' &&
967- lookahead != ' ') ADVANCE(208);
968+ lookahead != ' ') ADVANCE(209);
969 END_STATE();
970 case 206:
971 ACCEPT_TOKEN(aux_sym_filename_token1);
972- if (lookahead == 'r') ADVANCE(103);
973+ if (lookahead == 'n') ADVANCE(201);
974 if (lookahead != 0 &&
975 lookahead != '\t' &&
976 lookahead != '\n' &&
977 lookahead != '\r' &&
978- lookahead != ' ') ADVANCE(208);
979+ lookahead != ' ') ADVANCE(209);
980 END_STATE();
981 case 207:
982 ACCEPT_TOKEN(aux_sym_filename_token1);
983+ if (lookahead == 'r') ADVANCE(103);
984+ if (lookahead != 0 &&
985+ lookahead != '\t' &&
986+ lookahead != '\n' &&
987+ lookahead != '\r' &&
988+ lookahead != ' ') ADVANCE(209);
989+ END_STATE();
990+ case 208:
991+ ACCEPT_TOKEN(aux_sym_filename_token1);
992 if (lookahead == 11 ||
993- lookahead == '\f') ADVANCE(207);
994+ lookahead == '\f') ADVANCE(208);
995 if (lookahead != 0 &&
996 (lookahead < '\t' || '\r' < lookahead) &&
997- lookahead != ' ') ADVANCE(208);
998+ lookahead != ' ') ADVANCE(209);
999 END_STATE();
1000- case 208:
1001+ case 209:
1002 ACCEPT_TOKEN(aux_sym_filename_token1);
1003 if (lookahead != 0 &&
1004 lookahead != '\t' &&
1005 lookahead != '\n' &&
1006 lookahead != '\r' &&
1007- lookahead != ' ') ADVANCE(208);
1008- END_STATE();
1009- case 209:
1010- ACCEPT_TOKEN(sym_commit);
1011+ lookahead != ' ') ADVANCE(209);
1012 END_STATE();
1013 case 210:
1014 ACCEPT_TOKEN(sym_commit);
1015- if (('0' <= lookahead && lookahead <= '9') ||
1016- ('a' <= lookahead && lookahead <= 'f')) ADVANCE(209);
1017 END_STATE();
1018 case 211:
1019 ACCEPT_TOKEN(sym_commit);
1020 @@ -1671,6 +1677,11 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) {
1021 if (('0' <= lookahead && lookahead <= '9') ||
1022 ('a' <= lookahead && lookahead <= 'f')) ADVANCE(241);
1023 END_STATE();
1024+ case 243:
1025+ ACCEPT_TOKEN(sym_commit);
1026+ if (('0' <= lookahead && lookahead <= '9') ||
1027+ ('a' <= lookahead && lookahead <= 'f')) ADVANCE(242);
1028+ END_STATE();
1029 default:
1030 return false;
1031 }
1032 @@ -1684,9 +1695,9 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = {
1033 [4] = {.lex_state = 84},
1034 [5] = {.lex_state = 85},
1035 [6] = {.lex_state = 85},
1036- [7] = {.lex_state = 83},
1037- [8] = {.lex_state = 86},
1038- [9] = {.lex_state = 85},
1039+ [7] = {.lex_state = 85},
1040+ [8] = {.lex_state = 83},
1041+ [9] = {.lex_state = 86},
1042 [10] = {.lex_state = 86},
1043 [11] = {.lex_state = 86},
1044 [12] = {.lex_state = 13},
1045 @@ -1759,6 +1770,7 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
1046 [anon_sym_PLUS] = ACTIONS(1),
1047 [anon_sym_DASH] = ACTIONS(1),
1048 [anon_sym_DASH_DASH] = ACTIONS(1),
1049+ [anon_sym_DASH_DASH_DASH_DASH] = ACTIONS(1),
1050 [sym_commit] = ACTIONS(1),
1051 },
1052 [1] = {
1053 @@ -1788,7 +1800,8 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
1054 [anon_sym_PLUS] = ACTIONS(23),
1055 [anon_sym_DASH] = ACTIONS(25),
1056 [anon_sym_DASH_DASH] = ACTIONS(25),
1057- [sym_context] = ACTIONS(27),
1058+ [anon_sym_DASH_DASH_DASH_DASH] = ACTIONS(27),
1059+ [sym_context] = ACTIONS(29),
1060 },
1061 [2] = {
1062 [sym__line] = STATE(38),
1063 @@ -1803,20 +1816,21 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
1064 [sym_addition] = STATE(38),
1065 [sym_deletion] = STATE(38),
1066 [aux_sym_source_repeat1] = STATE(2),
1067- [ts_builtin_sym_end] = ACTIONS(29),
1068- [aux_sym_source_token1] = ACTIONS(31),
1069- [anon_sym_diff] = ACTIONS(34),
1070- [aux_sym_file_change_token1] = ACTIONS(37),
1071- [anon_sym_Binary] = ACTIONS(40),
1072- [anon_sym_index] = ACTIONS(43),
1073- [anon_sym_similarity] = ACTIONS(46),
1074- [anon_sym_DASH_DASH_DASH] = ACTIONS(49),
1075- [anon_sym_PLUS_PLUS_PLUS] = ACTIONS(52),
1076- [anon_sym_AT_AT] = ACTIONS(55),
1077- [anon_sym_PLUS] = ACTIONS(58),
1078- [anon_sym_DASH] = ACTIONS(61),
1079- [anon_sym_DASH_DASH] = ACTIONS(61),
1080- [sym_context] = ACTIONS(64),
1081+ [ts_builtin_sym_end] = ACTIONS(31),
1082+ [aux_sym_source_token1] = ACTIONS(33),
1083+ [anon_sym_diff] = ACTIONS(36),
1084+ [aux_sym_file_change_token1] = ACTIONS(39),
1085+ [anon_sym_Binary] = ACTIONS(42),
1086+ [anon_sym_index] = ACTIONS(45),
1087+ [anon_sym_similarity] = ACTIONS(48),
1088+ [anon_sym_DASH_DASH_DASH] = ACTIONS(51),
1089+ [anon_sym_PLUS_PLUS_PLUS] = ACTIONS(54),
1090+ [anon_sym_AT_AT] = ACTIONS(57),
1091+ [anon_sym_PLUS] = ACTIONS(60),
1092+ [anon_sym_DASH] = ACTIONS(63),
1093+ [anon_sym_DASH_DASH] = ACTIONS(63),
1094+ [anon_sym_DASH_DASH_DASH_DASH] = ACTIONS(66),
1095+ [sym_context] = ACTIONS(69),
1096 },
1097 [3] = {
1098 [sym__line] = STATE(28),
1099 @@ -1831,8 +1845,8 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
1100 [sym_addition] = STATE(28),
1101 [sym_deletion] = STATE(28),
1102 [aux_sym_source_repeat1] = STATE(2),
1103- [ts_builtin_sym_end] = ACTIONS(67),
1104- [aux_sym_source_token1] = ACTIONS(69),
1105+ [ts_builtin_sym_end] = ACTIONS(72),
1106+ [aux_sym_source_token1] = ACTIONS(74),
1107 [anon_sym_diff] = ACTIONS(7),
1108 [aux_sym_file_change_token1] = ACTIONS(9),
1109 [anon_sym_Binary] = ACTIONS(11),
1110 @@ -1844,314 +1858,320 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
1111 [anon_sym_PLUS] = ACTIONS(23),
1112 [anon_sym_DASH] = ACTIONS(25),
1113 [anon_sym_DASH_DASH] = ACTIONS(25),
1114- [sym_context] = ACTIONS(71),
1115+ [anon_sym_DASH_DASH_DASH_DASH] = ACTIONS(27),
1116+ [sym_context] = ACTIONS(76),
1117 },
1118 };
1119
1120 static const uint16_t ts_small_parse_table[] = {
1121 [0] = 2,
1122- ACTIONS(73), 5,
1123+ ACTIONS(78), 6,
1124 aux_sym_source_token1,
1125+ anon_sym_DASH_DASH_DASH,
1126 anon_sym_PLUS,
1127 anon_sym_DASH,
1128 anon_sym_DASH_DASH,
1129 sym_context,
1130- ACTIONS(29), 9,
1131+ ACTIONS(31), 9,
1132 ts_builtin_sym_end,
1133 anon_sym_diff,
1134 aux_sym_file_change_token1,
1135 anon_sym_Binary,
1136 anon_sym_index,
1137 anon_sym_similarity,
1138- anon_sym_DASH_DASH_DASH,
1139 anon_sym_PLUS_PLUS_PLUS,
1140 anon_sym_AT_AT,
1141- [19] = 4,
1142- ACTIONS(75), 1,
1143+ anon_sym_DASH_DASH_DASH_DASH,
1144+ [20] = 5,
1145+ ACTIONS(80), 1,
1146 ts_builtin_sym_end,
1147- ACTIONS(77), 1,
1148+ ACTIONS(82), 1,
1149 aux_sym_source_token1,
1150- ACTIONS(79), 1,
1151+ ACTIONS(84), 1,
1152 aux_sym_filename_token1,
1153 STATE(6), 1,
1154 aux_sym_filename_repeat1,
1155- [32] = 4,
1156- ACTIONS(81), 1,
1157+ STATE(23), 1,
1158+ sym_filename,
1159+ [36] = 4,
1160+ ACTIONS(86), 1,
1161 ts_builtin_sym_end,
1162- ACTIONS(83), 1,
1163+ ACTIONS(88), 1,
1164 aux_sym_source_token1,
1165- ACTIONS(85), 1,
1166+ ACTIONS(90), 1,
1167 aux_sym_filename_token1,
1168- STATE(6), 1,
1169+ STATE(7), 1,
1170 aux_sym_filename_repeat1,
1171- [45] = 3,
1172- ACTIONS(90), 1,
1173+ [49] = 4,
1174+ ACTIONS(92), 1,
1175+ ts_builtin_sym_end,
1176+ ACTIONS(94), 1,
1177+ aux_sym_source_token1,
1178+ ACTIONS(96), 1,
1179+ aux_sym_filename_token1,
1180+ STATE(7), 1,
1181+ aux_sym_filename_repeat1,
1182+ [62] = 3,
1183+ ACTIONS(101), 1,
1184 aux_sym_similarity_token1,
1185 STATE(29), 1,
1186 sym_mode,
1187- ACTIONS(88), 2,
1188+ ACTIONS(99), 2,
1189 ts_builtin_sym_end,
1190 aux_sym_source_token1,
1191- [56] = 3,
1192- ACTIONS(92), 1,
1193+ [73] = 3,
1194+ ACTIONS(103), 1,
1195 ts_builtin_sym_end,
1196- ACTIONS(94), 1,
1197+ ACTIONS(105), 1,
1198 aux_sym_source_token1,
1199- ACTIONS(96), 1,
1200+ ACTIONS(107), 1,
1201 aux_sym_location_token1,
1202- [66] = 3,
1203- ACTIONS(98), 1,
1204- aux_sym_filename_token1,
1205- STATE(5), 1,
1206- aux_sym_filename_repeat1,
1207- STATE(24), 1,
1208- sym_filename,
1209- [76] = 3,
1210- ACTIONS(100), 1,
1211+ [83] = 3,
1212+ ACTIONS(109), 1,
1213 ts_builtin_sym_end,
1214- ACTIONS(102), 1,
1215+ ACTIONS(111), 1,
1216 aux_sym_source_token1,
1217- ACTIONS(104), 1,
1218+ ACTIONS(113), 1,
1219 aux_sym_location_token1,
1220- [86] = 3,
1221- ACTIONS(106), 1,
1222+ [93] = 3,
1223+ ACTIONS(80), 1,
1224 ts_builtin_sym_end,
1225- ACTIONS(108), 1,
1226+ ACTIONS(82), 1,
1227 aux_sym_source_token1,
1228- ACTIONS(110), 1,
1229+ ACTIONS(115), 1,
1230 aux_sym_location_token1,
1231- [96] = 3,
1232- ACTIONS(83), 1,
1233+ [103] = 3,
1234+ ACTIONS(94), 1,
1235 anon_sym_differ,
1236- ACTIONS(112), 1,
1237+ ACTIONS(117), 1,
1238 aux_sym_filename_token1,
1239 STATE(12), 1,
1240 aux_sym_filename_repeat1,
1241- [106] = 3,
1242- ACTIONS(115), 1,
1243+ [113] = 3,
1244+ ACTIONS(120), 1,
1245 aux_sym_filename_token1,
1246 STATE(20), 1,
1247 aux_sym_filename_repeat1,
1248 STATE(45), 1,
1249 sym_filename,
1250- [116] = 3,
1251- ACTIONS(98), 1,
1252+ [123] = 3,
1253+ ACTIONS(84), 1,
1254 aux_sym_filename_token1,
1255- STATE(5), 1,
1256+ STATE(6), 1,
1257 aux_sym_filename_repeat1,
1258- STATE(23), 1,
1259+ STATE(24), 1,
1260 sym_filename,
1261- [126] = 3,
1262- ACTIONS(98), 1,
1263+ [133] = 3,
1264+ ACTIONS(84), 1,
1265 aux_sym_filename_token1,
1266- STATE(5), 1,
1267+ STATE(6), 1,
1268 aux_sym_filename_repeat1,
1269 STATE(30), 1,
1270 sym_filename,
1271- [136] = 3,
1272- ACTIONS(77), 1,
1273+ [143] = 3,
1274+ ACTIONS(88), 1,
1275 anon_sym_and,
1276- ACTIONS(117), 1,
1277+ ACTIONS(122), 1,
1278 aux_sym_filename_token1,
1279 STATE(19), 1,
1280 aux_sym_filename_repeat1,
1281- [146] = 3,
1282- ACTIONS(98), 1,
1283+ [153] = 3,
1284+ ACTIONS(84), 1,
1285 aux_sym_filename_token1,
1286- STATE(5), 1,
1287+ STATE(6), 1,
1288 aux_sym_filename_repeat1,
1289 STATE(32), 1,
1290 sym_filename,
1291- [156] = 3,
1292- ACTIONS(119), 1,
1293+ [163] = 3,
1294+ ACTIONS(124), 1,
1295 aux_sym_filename_token1,
1296 STATE(16), 1,
1297 aux_sym_filename_repeat1,
1298 STATE(46), 1,
1299 sym_filename,
1300- [166] = 3,
1301- ACTIONS(83), 1,
1302+ [173] = 3,
1303+ ACTIONS(94), 1,
1304 anon_sym_and,
1305- ACTIONS(121), 1,
1306+ ACTIONS(126), 1,
1307 aux_sym_filename_token1,
1308 STATE(19), 1,
1309 aux_sym_filename_repeat1,
1310- [176] = 3,
1311- ACTIONS(77), 1,
1312+ [183] = 3,
1313+ ACTIONS(88), 1,
1314 anon_sym_differ,
1315- ACTIONS(124), 1,
1316+ ACTIONS(129), 1,
1317 aux_sym_filename_token1,
1318 STATE(12), 1,
1319 aux_sym_filename_repeat1,
1320- [186] = 2,
1321- ACTIONS(126), 1,
1322+ [193] = 2,
1323+ ACTIONS(131), 1,
1324 anon_sym_file,
1325- ACTIONS(128), 2,
1326+ ACTIONS(133), 2,
1327 anon_sym_from,
1328 anon_sym_to,
1329- [194] = 1,
1330- ACTIONS(130), 2,
1331+ [201] = 1,
1332+ ACTIONS(135), 2,
1333 ts_builtin_sym_end,
1334 aux_sym_source_token1,
1335- [199] = 1,
1336- ACTIONS(132), 2,
1337+ [206] = 1,
1338+ ACTIONS(137), 2,
1339 ts_builtin_sym_end,
1340 aux_sym_source_token1,
1341- [204] = 1,
1342- ACTIONS(134), 2,
1343+ [211] = 1,
1344+ ACTIONS(139), 2,
1345 ts_builtin_sym_end,
1346 aux_sym_source_token1,
1347- [209] = 1,
1348- ACTIONS(136), 2,
1349+ [216] = 1,
1350+ ACTIONS(141), 2,
1351 ts_builtin_sym_end,
1352 aux_sym_source_token1,
1353- [214] = 1,
1354- ACTIONS(138), 2,
1355+ [221] = 1,
1356+ ACTIONS(143), 2,
1357 ts_builtin_sym_end,
1358 aux_sym_source_token1,
1359- [219] = 1,
1360- ACTIONS(140), 2,
1361+ [226] = 1,
1362+ ACTIONS(145), 2,
1363 ts_builtin_sym_end,
1364 aux_sym_source_token1,
1365- [224] = 2,
1366- ACTIONS(142), 1,
1367+ [231] = 2,
1368+ ACTIONS(147), 1,
1369 ts_builtin_sym_end,
1370- ACTIONS(144), 1,
1371+ ACTIONS(149), 1,
1372 aux_sym_source_token1,
1373- [231] = 1,
1374- ACTIONS(146), 2,
1375+ [238] = 1,
1376+ ACTIONS(151), 2,
1377 ts_builtin_sym_end,
1378 aux_sym_source_token1,
1379- [236] = 1,
1380- ACTIONS(148), 2,
1381+ [243] = 1,
1382+ ACTIONS(153), 2,
1383 ts_builtin_sym_end,
1384 aux_sym_source_token1,
1385- [241] = 2,
1386- ACTIONS(90), 1,
1387+ [248] = 2,
1388+ ACTIONS(101), 1,
1389 aux_sym_similarity_token1,
1390 STATE(35), 1,
1391 sym_mode,
1392- [248] = 1,
1393- ACTIONS(150), 2,
1394+ [255] = 1,
1395+ ACTIONS(155), 2,
1396 ts_builtin_sym_end,
1397 aux_sym_source_token1,
1398- [253] = 1,
1399- ACTIONS(152), 2,
1400+ [260] = 1,
1401+ ACTIONS(157), 2,
1402 ts_builtin_sym_end,
1403 aux_sym_source_token1,
1404- [258] = 2,
1405- ACTIONS(67), 1,
1406+ [265] = 2,
1407+ ACTIONS(72), 1,
1408 ts_builtin_sym_end,
1409- ACTIONS(144), 1,
1410+ ACTIONS(149), 1,
1411 aux_sym_source_token1,
1412- [265] = 1,
1413- ACTIONS(154), 2,
1414+ [272] = 1,
1415+ ACTIONS(159), 2,
1416 ts_builtin_sym_end,
1417 aux_sym_source_token1,
1418- [270] = 1,
1419- ACTIONS(156), 2,
1420+ [277] = 1,
1421+ ACTIONS(161), 2,
1422 ts_builtin_sym_end,
1423 aux_sym_source_token1,
1424- [275] = 1,
1425- ACTIONS(158), 1,
1426+ [282] = 1,
1427+ ACTIONS(163), 1,
1428 anon_sym_AT_AT2,
1429- [279] = 1,
1430- ACTIONS(144), 1,
1431+ [286] = 1,
1432+ ACTIONS(149), 1,
1433 aux_sym_source_token1,
1434- [283] = 1,
1435- ACTIONS(160), 1,
1436+ [290] = 1,
1437+ ACTIONS(165), 1,
1438 sym_linerange,
1439- [287] = 1,
1440- ACTIONS(162), 1,
1441+ [294] = 1,
1442+ ACTIONS(167), 1,
1443 anon_sym_DOT_DOT,
1444- [291] = 1,
1445- ACTIONS(164), 1,
1446+ [298] = 1,
1447+ ACTIONS(169), 1,
1448 anon_sym_mode,
1449- [295] = 1,
1450- ACTIONS(166), 1,
1451+ [302] = 1,
1452+ ACTIONS(171), 1,
1453 anon_sym_PERCENT,
1454- [299] = 1,
1455- ACTIONS(168), 1,
1456+ [306] = 1,
1457+ ACTIONS(173), 1,
1458 sym_commit,
1459- [303] = 1,
1460- ACTIONS(170), 1,
1461+ [310] = 1,
1462+ ACTIONS(175), 1,
1463 ts_builtin_sym_end,
1464- [307] = 1,
1465- ACTIONS(172), 1,
1466+ [314] = 1,
1467+ ACTIONS(177), 1,
1468 anon_sym_differ,
1469- [311] = 1,
1470- ACTIONS(174), 1,
1471+ [318] = 1,
1472+ ACTIONS(179), 1,
1473 anon_sym_and,
1474- [315] = 1,
1475- ACTIONS(176), 1,
1476+ [322] = 1,
1477+ ACTIONS(181), 1,
1478 aux_sym_similarity_token1,
1479- [319] = 1,
1480- ACTIONS(178), 1,
1481+ [326] = 1,
1482+ ACTIONS(183), 1,
1483 anon_sym_DASH_DASHgit,
1484- [323] = 1,
1485- ACTIONS(180), 1,
1486+ [330] = 1,
1487+ ACTIONS(185), 1,
1488 sym_linerange,
1489- [327] = 1,
1490- ACTIONS(182), 1,
1491+ [334] = 1,
1492+ ACTIONS(187), 1,
1493 anon_sym_index2,
1494- [331] = 1,
1495- ACTIONS(184), 1,
1496+ [338] = 1,
1497+ ACTIONS(189), 1,
1498 sym_commit,
1499- [335] = 1,
1500- ACTIONS(186), 1,
1501+ [342] = 1,
1502+ ACTIONS(191), 1,
1503 anon_sym_files,
1504 };
1505
1506 static const uint32_t ts_small_parse_table_map[] = {
1507 [SMALL_STATE(4)] = 0,
1508- [SMALL_STATE(5)] = 19,
1509- [SMALL_STATE(6)] = 32,
1510- [SMALL_STATE(7)] = 45,
1511- [SMALL_STATE(8)] = 56,
1512- [SMALL_STATE(9)] = 66,
1513- [SMALL_STATE(10)] = 76,
1514- [SMALL_STATE(11)] = 86,
1515- [SMALL_STATE(12)] = 96,
1516- [SMALL_STATE(13)] = 106,
1517- [SMALL_STATE(14)] = 116,
1518- [SMALL_STATE(15)] = 126,
1519- [SMALL_STATE(16)] = 136,
1520- [SMALL_STATE(17)] = 146,
1521- [SMALL_STATE(18)] = 156,
1522- [SMALL_STATE(19)] = 166,
1523- [SMALL_STATE(20)] = 176,
1524- [SMALL_STATE(21)] = 186,
1525- [SMALL_STATE(22)] = 194,
1526- [SMALL_STATE(23)] = 199,
1527- [SMALL_STATE(24)] = 204,
1528- [SMALL_STATE(25)] = 209,
1529- [SMALL_STATE(26)] = 214,
1530- [SMALL_STATE(27)] = 219,
1531- [SMALL_STATE(28)] = 224,
1532- [SMALL_STATE(29)] = 231,
1533- [SMALL_STATE(30)] = 236,
1534- [SMALL_STATE(31)] = 241,
1535- [SMALL_STATE(32)] = 248,
1536- [SMALL_STATE(33)] = 253,
1537- [SMALL_STATE(34)] = 258,
1538- [SMALL_STATE(35)] = 265,
1539- [SMALL_STATE(36)] = 270,
1540- [SMALL_STATE(37)] = 275,
1541- [SMALL_STATE(38)] = 279,
1542- [SMALL_STATE(39)] = 283,
1543- [SMALL_STATE(40)] = 287,
1544- [SMALL_STATE(41)] = 291,
1545- [SMALL_STATE(42)] = 295,
1546- [SMALL_STATE(43)] = 299,
1547- [SMALL_STATE(44)] = 303,
1548- [SMALL_STATE(45)] = 307,
1549- [SMALL_STATE(46)] = 311,
1550- [SMALL_STATE(47)] = 315,
1551- [SMALL_STATE(48)] = 319,
1552- [SMALL_STATE(49)] = 323,
1553- [SMALL_STATE(50)] = 327,
1554- [SMALL_STATE(51)] = 331,
1555- [SMALL_STATE(52)] = 335,
1556+ [SMALL_STATE(5)] = 20,
1557+ [SMALL_STATE(6)] = 36,
1558+ [SMALL_STATE(7)] = 49,
1559+ [SMALL_STATE(8)] = 62,
1560+ [SMALL_STATE(9)] = 73,
1561+ [SMALL_STATE(10)] = 83,
1562+ [SMALL_STATE(11)] = 93,
1563+ [SMALL_STATE(12)] = 103,
1564+ [SMALL_STATE(13)] = 113,
1565+ [SMALL_STATE(14)] = 123,
1566+ [SMALL_STATE(15)] = 133,
1567+ [SMALL_STATE(16)] = 143,
1568+ [SMALL_STATE(17)] = 153,
1569+ [SMALL_STATE(18)] = 163,
1570+ [SMALL_STATE(19)] = 173,
1571+ [SMALL_STATE(20)] = 183,
1572+ [SMALL_STATE(21)] = 193,
1573+ [SMALL_STATE(22)] = 201,
1574+ [SMALL_STATE(23)] = 206,
1575+ [SMALL_STATE(24)] = 211,
1576+ [SMALL_STATE(25)] = 216,
1577+ [SMALL_STATE(26)] = 221,
1578+ [SMALL_STATE(27)] = 226,
1579+ [SMALL_STATE(28)] = 231,
1580+ [SMALL_STATE(29)] = 238,
1581+ [SMALL_STATE(30)] = 243,
1582+ [SMALL_STATE(31)] = 248,
1583+ [SMALL_STATE(32)] = 255,
1584+ [SMALL_STATE(33)] = 260,
1585+ [SMALL_STATE(34)] = 265,
1586+ [SMALL_STATE(35)] = 272,
1587+ [SMALL_STATE(36)] = 277,
1588+ [SMALL_STATE(37)] = 282,
1589+ [SMALL_STATE(38)] = 286,
1590+ [SMALL_STATE(39)] = 290,
1591+ [SMALL_STATE(40)] = 294,
1592+ [SMALL_STATE(41)] = 298,
1593+ [SMALL_STATE(42)] = 302,
1594+ [SMALL_STATE(43)] = 306,
1595+ [SMALL_STATE(44)] = 310,
1596+ [SMALL_STATE(45)] = 314,
1597+ [SMALL_STATE(46)] = 318,
1598+ [SMALL_STATE(47)] = 322,
1599+ [SMALL_STATE(48)] = 326,
1600+ [SMALL_STATE(49)] = 330,
1601+ [SMALL_STATE(50)] = 334,
1602+ [SMALL_STATE(51)] = 338,
1603+ [SMALL_STATE(52)] = 342,
1604 };
1605
1606 static const TSParseActionEntry ts_parse_actions[] = {
1607 @@ -2164,84 +2184,86 @@ static const TSParseActionEntry ts_parse_actions[] = {
1608 [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(52),
1609 [13] = {.entry = {.count = 1, .reusable = true}}, SHIFT(51),
1610 [15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(50),
1611- [17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14),
1612- [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9),
1613+ [17] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5),
1614+ [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14),
1615 [21] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49),
1616- [23] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8),
1617+ [23] = {.entry = {.count = 1, .reusable = false}}, SHIFT(9),
1618 [25] = {.entry = {.count = 1, .reusable = false}}, SHIFT(11),
1619- [27] = {.entry = {.count = 1, .reusable = false}}, SHIFT(34),
1620- [29] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_repeat1, 2),
1621- [31] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_repeat1, 2), SHIFT_REPEAT(2),
1622- [34] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_repeat1, 2), SHIFT_REPEAT(48),
1623- [37] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_repeat1, 2), SHIFT_REPEAT(21),
1624- [40] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_repeat1, 2), SHIFT_REPEAT(52),
1625- [43] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_repeat1, 2), SHIFT_REPEAT(51),
1626- [46] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_repeat1, 2), SHIFT_REPEAT(50),
1627- [49] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_repeat1, 2), SHIFT_REPEAT(14),
1628- [52] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_repeat1, 2), SHIFT_REPEAT(9),
1629- [55] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_repeat1, 2), SHIFT_REPEAT(49),
1630- [58] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_repeat1, 2), SHIFT_REPEAT(8),
1631- [61] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_repeat1, 2), SHIFT_REPEAT(11),
1632- [64] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_repeat1, 2), SHIFT_REPEAT(38),
1633- [67] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source, 1),
1634- [69] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2),
1635- [71] = {.entry = {.count = 1, .reusable = false}}, SHIFT(28),
1636- [73] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_source_repeat1, 2),
1637- [75] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_filename, 1),
1638- [77] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_filename, 1),
1639- [79] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6),
1640- [81] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_filename_repeat1, 2),
1641- [83] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_filename_repeat1, 2),
1642- [85] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_filename_repeat1, 2), SHIFT_REPEAT(6),
1643- [88] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_index, 4),
1644- [90] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36),
1645- [92] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_addition, 1),
1646- [94] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_addition, 1),
1647- [96] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22),
1648- [98] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5),
1649- [100] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_location, 4),
1650- [102] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_location, 4),
1651- [104] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27),
1652- [106] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_deletion, 1),
1653- [108] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_deletion, 1),
1654- [110] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26),
1655- [112] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_filename_repeat1, 2), SHIFT_REPEAT(12),
1656- [115] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20),
1657- [117] = {.entry = {.count = 1, .reusable = false}}, SHIFT(19),
1658- [119] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16),
1659- [121] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_filename_repeat1, 2), SHIFT_REPEAT(19),
1660- [124] = {.entry = {.count = 1, .reusable = false}}, SHIFT(12),
1661- [126] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41),
1662- [128] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17),
1663- [130] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_addition, 2),
1664- [132] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_old_file, 2),
1665- [134] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_new_file, 2),
1666- [136] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_binary_change, 6),
1667- [138] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_deletion, 2),
1668- [140] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_location, 5),
1669- [142] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source, 2),
1670- [144] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4),
1671- [146] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_index, 5),
1672- [148] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_command, 3),
1673- [150] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_file_change, 3),
1674- [152] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_similarity, 4, .production_id = 1),
1675- [154] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_file_change, 4),
1676- [156] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_mode, 1),
1677- [158] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10),
1678- [160] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37),
1679- [162] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43),
1680- [164] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31),
1681- [166] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33),
1682- [168] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7),
1683- [170] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(),
1684- [172] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25),
1685- [174] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13),
1686- [176] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42),
1687- [178] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15),
1688- [180] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39),
1689- [182] = {.entry = {.count = 1, .reusable = true}}, SHIFT(47),
1690- [184] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40),
1691- [186] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18),
1692+ [27] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11),
1693+ [29] = {.entry = {.count = 1, .reusable = false}}, SHIFT(34),
1694+ [31] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_repeat1, 2),
1695+ [33] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_repeat1, 2), SHIFT_REPEAT(2),
1696+ [36] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_repeat1, 2), SHIFT_REPEAT(48),
1697+ [39] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_repeat1, 2), SHIFT_REPEAT(21),
1698+ [42] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_repeat1, 2), SHIFT_REPEAT(52),
1699+ [45] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_repeat1, 2), SHIFT_REPEAT(51),
1700+ [48] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_repeat1, 2), SHIFT_REPEAT(50),
1701+ [51] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_repeat1, 2), SHIFT_REPEAT(5),
1702+ [54] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_repeat1, 2), SHIFT_REPEAT(14),
1703+ [57] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_repeat1, 2), SHIFT_REPEAT(49),
1704+ [60] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_repeat1, 2), SHIFT_REPEAT(9),
1705+ [63] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_repeat1, 2), SHIFT_REPEAT(11),
1706+ [66] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_repeat1, 2), SHIFT_REPEAT(11),
1707+ [69] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_repeat1, 2), SHIFT_REPEAT(38),
1708+ [72] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source, 1),
1709+ [74] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2),
1710+ [76] = {.entry = {.count = 1, .reusable = false}}, SHIFT(28),
1711+ [78] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_source_repeat1, 2),
1712+ [80] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_deletion, 1),
1713+ [82] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_deletion, 1),
1714+ [84] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6),
1715+ [86] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_filename, 1),
1716+ [88] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_filename, 1),
1717+ [90] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7),
1718+ [92] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_filename_repeat1, 2),
1719+ [94] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_filename_repeat1, 2),
1720+ [96] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_filename_repeat1, 2), SHIFT_REPEAT(7),
1721+ [99] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_index, 4),
1722+ [101] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36),
1723+ [103] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_addition, 1),
1724+ [105] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_addition, 1),
1725+ [107] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22),
1726+ [109] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_location, 4),
1727+ [111] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_location, 4),
1728+ [113] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27),
1729+ [115] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26),
1730+ [117] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_filename_repeat1, 2), SHIFT_REPEAT(12),
1731+ [120] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20),
1732+ [122] = {.entry = {.count = 1, .reusable = false}}, SHIFT(19),
1733+ [124] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16),
1734+ [126] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_filename_repeat1, 2), SHIFT_REPEAT(19),
1735+ [129] = {.entry = {.count = 1, .reusable = false}}, SHIFT(12),
1736+ [131] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41),
1737+ [133] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17),
1738+ [135] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_addition, 2),
1739+ [137] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_old_file, 2),
1740+ [139] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_new_file, 2),
1741+ [141] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_binary_change, 6),
1742+ [143] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_deletion, 2),
1743+ [145] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_location, 5),
1744+ [147] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source, 2),
1745+ [149] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4),
1746+ [151] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_index, 5),
1747+ [153] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_command, 3),
1748+ [155] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_file_change, 3),
1749+ [157] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_similarity, 4, .production_id = 1),
1750+ [159] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_file_change, 4),
1751+ [161] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_mode, 1),
1752+ [163] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10),
1753+ [165] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37),
1754+ [167] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43),
1755+ [169] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31),
1756+ [171] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33),
1757+ [173] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8),
1758+ [175] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(),
1759+ [177] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25),
1760+ [179] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13),
1761+ [181] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42),
1762+ [183] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15),
1763+ [185] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39),
1764+ [187] = {.entry = {.count = 1, .reusable = true}}, SHIFT(47),
1765+ [189] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40),
1766+ [191] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18),
1767 };
1768
1769 #ifdef __cplusplus