Author: Michael Davis [mcarsondavis@gmail.com]
Hash: 0b9a08ebf828032f2ad706832a492c5fe0d205f0
Timestamp: Sat, 10 Dec 2022 00:46:26 +0000 (1 year ago)

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