github-linguist 6.3.0 → 6.3.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA256:
3
- metadata.gz: 35065ab2750454f7ab539c87e3e493700fe763644b80e4a2517532d8826d1f71
4
- data.tar.gz: eb3e092758f8e6943d9b6fe90a42b0288ccce7841756497db2dec12a8ba0e234
2
+ SHA1:
3
+ metadata.gz: 0ffb89c056859f7afd40de3e4b64a26d685a255f
4
+ data.tar.gz: 44e2f1be77d1c9997ed70a90ece91899b1fa2764
5
5
  SHA512:
6
- metadata.gz: 71ac80b583d81ee8830556b74c34455b3bdc4f458b8d143e9f39f2dfa93d6e687d127562737ccceed49a3c05fa4a903021c8c30bfa935d6102e0d6c4f784dc97
7
- data.tar.gz: fdcd032ce2303ae4e0cc0786bbccc3d7c040e3e4c2da9a791a5a1682146beb21a92b49b5c22f2f5707be176759efa7e84ba3378b41476d2b1b507e56360884cc
6
+ metadata.gz: 02f07ff2bd6956acbcf27d4dc5eaeb2ea0c3bd28ed6ec5b779ea32d17151ea602fe934094a4bdeee1bce33f9c2b89a2128094f0768180227a1d984db14a7e814
7
+ data.tar.gz: a6c30e599c3367b0ae997f3fb074cb55819cb4541e5f1b7a5ad69d687c2309238b2b3d5455a5447432d8579df407d4252683df1f570f987a7653c57b46dc50f0
@@ -0,0 +1,931 @@
1
+ {
2
+ "name": "Elixir",
3
+ "scopeName": "source.elixir",
4
+ "patterns": [
5
+ {
6
+ "begin": "\\b(fn)\\b(?!.*-\u003e)",
7
+ "end": "$",
8
+ "patterns": [
9
+ {
10
+ "include": "#core_syntax"
11
+ }
12
+ ],
13
+ "beginCaptures": {
14
+ "1": {
15
+ "name": "keyword.control.elixir"
16
+ }
17
+ }
18
+ },
19
+ {
20
+ "begin": "\\b(fn)\\b(?=.*-\u003e)",
21
+ "end": "(?\u003e(-\u003e)|(when)|(\\)))",
22
+ "patterns": [
23
+ {
24
+ "include": "#core_syntax"
25
+ }
26
+ ],
27
+ "beginCaptures": {
28
+ "1": {
29
+ "name": "keyword.control.elixir"
30
+ }
31
+ },
32
+ "endCaptures": {
33
+ "1": {
34
+ "name": "keyword.operator.other.elixir"
35
+ },
36
+ "2": {
37
+ "name": "keyword.control.elixir"
38
+ },
39
+ "3": {
40
+ "name": "punctuation.section.function.elixir"
41
+ }
42
+ }
43
+ },
44
+ {
45
+ "include": "#core_syntax"
46
+ },
47
+ {
48
+ "begin": "^(?=.*-\u003e)((?![^\"']*(\"|')[^\"']*-\u003e)|(?=.*-\u003e[^\"']*(\"|')[^\"']*-\u003e))((?!.*\\([^\\)]*-\u003e)|(?=[^\\(\\)]*-\u003e)|(?=\\s*\\(.*\\).*-\u003e))((?!.*\\b(fn)\\b)|(?=.*-\u003e.*\\bfn\\b))",
49
+ "end": "(?\u003e(-\u003e)|(when)|(\\)))",
50
+ "patterns": [
51
+ {
52
+ "include": "#core_syntax"
53
+ }
54
+ ],
55
+ "beginCaptures": {
56
+ "1": {
57
+ "name": "keyword.control.elixir"
58
+ }
59
+ },
60
+ "endCaptures": {
61
+ "1": {
62
+ "name": "keyword.operator.other.elixir"
63
+ },
64
+ "2": {
65
+ "name": "keyword.control.elixir"
66
+ },
67
+ "3": {
68
+ "name": "punctuation.section.function.elixir"
69
+ }
70
+ }
71
+ }
72
+ ],
73
+ "repository": {
74
+ "core_syntax": {
75
+ "patterns": [
76
+ {
77
+ "name": "meta.module.elixir",
78
+ "begin": "^\\s*(defmodule)\\b",
79
+ "end": "\\b(do)\\b",
80
+ "patterns": [
81
+ {
82
+ "name": "entity.name.class.elixir",
83
+ "match": "\\b[A-Z]\\w*\\b"
84
+ }
85
+ ],
86
+ "beginCaptures": {
87
+ "1": {
88
+ "name": "keyword.control.module.elixir"
89
+ }
90
+ },
91
+ "endCaptures": {
92
+ "1": {
93
+ "name": "keyword.control.module.elixir"
94
+ }
95
+ }
96
+ },
97
+ {
98
+ "name": "meta.protocol_declaration.elixir",
99
+ "begin": "^\\s*(defprotocol)\\b",
100
+ "end": "\\b(do)\\b",
101
+ "patterns": [
102
+ {
103
+ "name": "entity.name.protocol.elixir",
104
+ "match": "\\b[A-Z]\\w*\\b"
105
+ }
106
+ ],
107
+ "beginCaptures": {
108
+ "1": {
109
+ "name": "keyword.control.protocol.elixir"
110
+ }
111
+ },
112
+ "endCaptures": {
113
+ "1": {
114
+ "name": "keyword.control.protocol.elixir"
115
+ }
116
+ }
117
+ },
118
+ {
119
+ "name": "meta.protocol_implementation.elixir",
120
+ "begin": "^\\s*(defimpl)\\b",
121
+ "end": "\\b(do)\\b",
122
+ "patterns": [
123
+ {
124
+ "name": "entity.name.protocol.elixir",
125
+ "match": "\\b[A-Z]\\w*\\b"
126
+ }
127
+ ],
128
+ "beginCaptures": {
129
+ "1": {
130
+ "name": "keyword.control.protocol.elixir"
131
+ }
132
+ },
133
+ "endCaptures": {
134
+ "1": {
135
+ "name": "keyword.control.protocol.elixir"
136
+ }
137
+ }
138
+ },
139
+ {
140
+ "name": "meta.function.public.elixir",
141
+ "begin": "^\\s*(def|defmacro|defdelegate|defguard)\\s+((?\u003e[a-zA-Z_]\\w*(?\u003e\\.|::))?(?\u003e[a-zA-Z_]\\w*(?\u003e[?!]|=(?!\u003e))?|===?|\u003e[\u003e=]?|\u003c=\u003e|\u003c[\u003c=]?|[%\u0026`/\\|]|\\*\\*?|=?~|[-+]@?|\\[\\]=?))((\\()|\\s*)",
142
+ "end": "(\\bdo:)|(\\bdo\\b)|(?=\\s+(def|defmacro|defdelegate|defguard)\\b)",
143
+ "patterns": [
144
+ {
145
+ "include": "$self"
146
+ },
147
+ {
148
+ "begin": "\\s(\\\\\\\\)",
149
+ "end": ",|\\)|$",
150
+ "patterns": [
151
+ {
152
+ "include": "$self"
153
+ }
154
+ ],
155
+ "beginCaptures": {
156
+ "1": {
157
+ "name": "keyword.operator.other.elixir"
158
+ }
159
+ }
160
+ },
161
+ {
162
+ "name": "keyword.control.elixir",
163
+ "match": "\\b(is_atom|is_binary|is_bitstring|is_boolean|is_float|is_function|is_integer|is_list|is_map|is_nil|is_number|is_pid|is_port|is_record|is_reference|is_tuple|is_exception|abs|bit_size|byte_size|div|elem|hd|length|map_size|node|rem|round|tl|trunc|tuple_size)\\b"
164
+ }
165
+ ],
166
+ "beginCaptures": {
167
+ "1": {
168
+ "name": "keyword.control.module.elixir"
169
+ },
170
+ "2": {
171
+ "name": "entity.name.function.public.elixir"
172
+ },
173
+ "4": {
174
+ "name": "punctuation.section.function.elixir"
175
+ }
176
+ },
177
+ "endCaptures": {
178
+ "1": {
179
+ "name": "constant.other.keywords.elixir"
180
+ },
181
+ "2": {
182
+ "name": "keyword.control.module.elixir"
183
+ }
184
+ }
185
+ },
186
+ {
187
+ "name": "meta.function.private.elixir",
188
+ "begin": "^\\s*(defp|defmacrop|defguardp)\\s+((?\u003e[a-zA-Z_]\\w*(?\u003e\\.|::))?(?\u003e[a-zA-Z_]\\w*(?\u003e[?!]|=(?!\u003e))?|===?|\u003e[\u003e=]?|\u003c=\u003e|\u003c[\u003c=]?|[%\u0026`/\\|]|\\*\\*?|=?~|[-+]@?|\\[\\]=?))((\\()|\\s*)",
189
+ "end": "(\\bdo:)|(\\bdo\\b)|(?=\\s+(defp|defmacrop|defguardp)\\b)",
190
+ "patterns": [
191
+ {
192
+ "include": "$self"
193
+ },
194
+ {
195
+ "begin": "\\s(\\\\\\\\)",
196
+ "end": ",|\\)|$",
197
+ "patterns": [
198
+ {
199
+ "include": "$self"
200
+ }
201
+ ],
202
+ "beginCaptures": {
203
+ "1": {
204
+ "name": "keyword.operator.other.elixir"
205
+ }
206
+ }
207
+ },
208
+ {
209
+ "name": "keyword.control.elixir",
210
+ "match": "\\b(is_atom|is_binary|is_bitstring|is_boolean|is_float|is_function|is_integer|is_list|is_map|is_nil|is_number|is_pid|is_port|is_record|is_reference|is_tuple|is_exception|abs|bit_size|byte_size|div|elem|hd|length|map_size|node|rem|round|tl|trunc|tuple_size)\\b"
211
+ }
212
+ ],
213
+ "beginCaptures": {
214
+ "1": {
215
+ "name": "keyword.control.module.elixir"
216
+ },
217
+ "2": {
218
+ "name": "entity.name.function.private.elixir"
219
+ },
220
+ "4": {
221
+ "name": "punctuation.section.function.elixir"
222
+ }
223
+ },
224
+ "endCaptures": {
225
+ "1": {
226
+ "name": "constant.other.keywords.elixir"
227
+ },
228
+ "2": {
229
+ "name": "keyword.control.module.elixir"
230
+ }
231
+ }
232
+ },
233
+ {
234
+ "name": "comment.documentation.heredoc",
235
+ "begin": "@(module|type)?doc (~[a-z])?\"\"\"",
236
+ "end": "\\s*\"\"\"",
237
+ "patterns": [
238
+ {
239
+ "include": "#interpolated_elixir"
240
+ },
241
+ {
242
+ "include": "#escaped_char"
243
+ }
244
+ ]
245
+ },
246
+ {
247
+ "name": "comment.documentation.heredoc",
248
+ "begin": "@(module|type)?doc ~[A-Z]\"\"\"",
249
+ "end": "\\s*\"\"\""
250
+ },
251
+ {
252
+ "name": "comment.documentation.heredoc",
253
+ "begin": "@(module|type)?doc (~[a-z])?'''",
254
+ "end": "\\s*'''",
255
+ "patterns": [
256
+ {
257
+ "include": "#interpolated_elixir"
258
+ },
259
+ {
260
+ "include": "#escaped_char"
261
+ }
262
+ ]
263
+ },
264
+ {
265
+ "name": "comment.documentation.heredoc",
266
+ "begin": "@(module|type)?doc ~[A-Z]'''",
267
+ "end": "\\s*'''"
268
+ },
269
+ {
270
+ "name": "comment.documentation.false",
271
+ "match": "@(module|type)?doc false"
272
+ },
273
+ {
274
+ "name": "comment.documentation.string",
275
+ "begin": "@(module|type)?doc \"",
276
+ "end": "\"",
277
+ "patterns": [
278
+ {
279
+ "include": "#interpolated_elixir"
280
+ },
281
+ {
282
+ "include": "#escaped_char"
283
+ }
284
+ ]
285
+ },
286
+ {
287
+ "name": "keyword.control.elixir",
288
+ "match": "(?\u003c!\\.)\\b(do|end|case|bc|lc|for|if|cond|unless|try|receive|fn|defmodule|defp?|defprotocol|defimpl|defrecord|defstruct|defmacrop?|defguardp?|defdelegate|defexception|defoverridable|exit|after|rescue|catch|else|raise|throw|import|require|alias|use|quote|unquote|super|with)\\b(?![?!:])"
289
+ },
290
+ {
291
+ "name": "keyword.operator.elixir",
292
+ "match": "(?\u003c!\\.)\\b(and|not|or|when|xor|in)\\b"
293
+ },
294
+ {
295
+ "name": "entity.name.class.elixir",
296
+ "match": "\\b[A-Z]\\w*\\b"
297
+ },
298
+ {
299
+ "name": "constant.language.elixir",
300
+ "match": "\\b(nil|true|false)\\b(?![?!])"
301
+ },
302
+ {
303
+ "name": "variable.language.elixir",
304
+ "match": "\\b(__(CALLER|ENV|MODULE|DIR|STACKTRACE)__)\\b(?![?!])"
305
+ },
306
+ {
307
+ "name": "variable.other.readwrite.module.elixir",
308
+ "match": "(@)[a-zA-Z_]\\w*",
309
+ "captures": {
310
+ "1": {
311
+ "name": "punctuation.definition.variable.elixir"
312
+ }
313
+ }
314
+ },
315
+ {
316
+ "name": "variable.other.anonymous.elixir",
317
+ "match": "(\u0026)\\d+",
318
+ "captures": {
319
+ "1": {
320
+ "name": "punctuation.definition.variable.elixir"
321
+ }
322
+ }
323
+ },
324
+ {
325
+ "name": "variable.other.anonymous.elixir",
326
+ "match": "\u0026(?![\u0026])"
327
+ },
328
+ {
329
+ "name": "variable.other.capture.elixir",
330
+ "match": "\\^[a-z_]\\w*",
331
+ "captures": {
332
+ "1": {
333
+ "name": "punctuation.definition.variable.elixir"
334
+ }
335
+ }
336
+ },
337
+ {
338
+ "name": "constant.numeric.elixir",
339
+ "match": "\\b(0x[0-9A-Fa-f](?\u003e_?[0-9A-Fa-f])*|\\d(?\u003e_?\\d)*(\\.(?![^[:space:][:digit:]])(?\u003e_?\\d)*)?([eE][-+]?\\d(?\u003e_?\\d)*)?|0b[01]+|0o[0-7]+)\\b"
340
+ },
341
+ {
342
+ "name": "constant.other.symbol.single-quoted.elixir",
343
+ "begin": ":'",
344
+ "end": "'",
345
+ "patterns": [
346
+ {
347
+ "include": "#interpolated_elixir"
348
+ },
349
+ {
350
+ "include": "#escaped_char"
351
+ }
352
+ ],
353
+ "captures": {
354
+ "0": {
355
+ "name": "punctuation.definition.constant.elixir"
356
+ }
357
+ }
358
+ },
359
+ {
360
+ "name": "constant.other.symbol.double-quoted.elixir",
361
+ "begin": ":\"",
362
+ "end": "\"",
363
+ "patterns": [
364
+ {
365
+ "include": "#interpolated_elixir"
366
+ },
367
+ {
368
+ "include": "#escaped_char"
369
+ }
370
+ ],
371
+ "captures": {
372
+ "0": {
373
+ "name": "punctuation.definition.constant.elixir"
374
+ }
375
+ }
376
+ },
377
+ {
378
+ "name": "string.quoted.single.heredoc.elixir",
379
+ "begin": "(?\u003e''')",
380
+ "end": "^\\s*'''",
381
+ "patterns": [
382
+ {
383
+ "include": "#interpolated_elixir"
384
+ },
385
+ {
386
+ "include": "#escaped_char"
387
+ }
388
+ ],
389
+ "beginCaptures": {
390
+ "0": {
391
+ "name": "punctuation.definition.string.begin.elixir"
392
+ }
393
+ },
394
+ "endCaptures": {
395
+ "0": {
396
+ "name": "punctuation.definition.string.end.elixir"
397
+ }
398
+ }
399
+ },
400
+ {
401
+ "name": "string.quoted.single.elixir",
402
+ "begin": "'",
403
+ "end": "'",
404
+ "patterns": [
405
+ {
406
+ "include": "#interpolated_elixir"
407
+ },
408
+ {
409
+ "include": "#escaped_char"
410
+ }
411
+ ],
412
+ "beginCaptures": {
413
+ "0": {
414
+ "name": "punctuation.definition.string.begin.elixir"
415
+ }
416
+ },
417
+ "endCaptures": {
418
+ "0": {
419
+ "name": "punctuation.definition.string.end.elixir"
420
+ }
421
+ }
422
+ },
423
+ {
424
+ "name": "string.quoted.double.heredoc.elixir",
425
+ "begin": "(?\u003e\"\"\")",
426
+ "end": "^\\s*\"\"\"",
427
+ "patterns": [
428
+ {
429
+ "include": "#interpolated_elixir"
430
+ },
431
+ {
432
+ "include": "#escaped_char"
433
+ }
434
+ ],
435
+ "beginCaptures": {
436
+ "0": {
437
+ "name": "punctuation.definition.string.begin.elixir"
438
+ }
439
+ },
440
+ "endCaptures": {
441
+ "0": {
442
+ "name": "punctuation.definition.string.end.elixir"
443
+ }
444
+ }
445
+ },
446
+ {
447
+ "name": "string.quoted.double.elixir",
448
+ "begin": "\"",
449
+ "end": "\"",
450
+ "patterns": [
451
+ {
452
+ "include": "#interpolated_elixir"
453
+ },
454
+ {
455
+ "include": "#escaped_char"
456
+ }
457
+ ],
458
+ "beginCaptures": {
459
+ "0": {
460
+ "name": "punctuation.definition.string.begin.elixir"
461
+ }
462
+ },
463
+ "endCaptures": {
464
+ "0": {
465
+ "name": "punctuation.definition.string.end.elixir"
466
+ }
467
+ }
468
+ },
469
+ {
470
+ "name": "string.quoted.double.heredoc.elixir",
471
+ "begin": "~[a-z](?\u003e\"\"\")",
472
+ "end": "^\\s*\"\"\"",
473
+ "patterns": [
474
+ {
475
+ "include": "#interpolated_elixir"
476
+ },
477
+ {
478
+ "include": "#escaped_char"
479
+ }
480
+ ],
481
+ "beginCaptures": {
482
+ "0": {
483
+ "name": "punctuation.definition.string.begin.elixir"
484
+ }
485
+ },
486
+ "endCaptures": {
487
+ "0": {
488
+ "name": "punctuation.definition.string.end.elixir"
489
+ }
490
+ }
491
+ },
492
+ {
493
+ "name": "string.interpolated.elixir",
494
+ "begin": "~[a-z]\\{",
495
+ "end": "\\}[a-z]*",
496
+ "patterns": [
497
+ {
498
+ "include": "#interpolated_elixir"
499
+ },
500
+ {
501
+ "include": "#escaped_char"
502
+ }
503
+ ],
504
+ "beginCaptures": {
505
+ "0": {
506
+ "name": "punctuation.definition.string.begin.elixir"
507
+ }
508
+ },
509
+ "endCaptures": {
510
+ "0": {
511
+ "name": "punctuation.definition.string.end.elixir"
512
+ }
513
+ }
514
+ },
515
+ {
516
+ "name": "string.interpolated.elixir",
517
+ "begin": "~[a-z]\\[",
518
+ "end": "\\][a-z]*",
519
+ "patterns": [
520
+ {
521
+ "include": "#interpolated_elixir"
522
+ },
523
+ {
524
+ "include": "#escaped_char"
525
+ }
526
+ ],
527
+ "beginCaptures": {
528
+ "0": {
529
+ "name": "punctuation.definition.string.begin.elixir"
530
+ }
531
+ },
532
+ "endCaptures": {
533
+ "0": {
534
+ "name": "punctuation.definition.string.end.elixir"
535
+ }
536
+ }
537
+ },
538
+ {
539
+ "name": "string.interpolated.elixir",
540
+ "begin": "~[a-z]\\\u003c",
541
+ "end": "\\\u003e[a-z]*",
542
+ "patterns": [
543
+ {
544
+ "include": "#interpolated_elixir"
545
+ },
546
+ {
547
+ "include": "#escaped_char"
548
+ }
549
+ ],
550
+ "beginCaptures": {
551
+ "0": {
552
+ "name": "punctuation.definition.string.begin.elixir"
553
+ }
554
+ },
555
+ "endCaptures": {
556
+ "0": {
557
+ "name": "punctuation.definition.string.end.elixir"
558
+ }
559
+ }
560
+ },
561
+ {
562
+ "name": "string.interpolated.elixir",
563
+ "begin": "~[a-z]\\(",
564
+ "end": "\\)[a-z]*",
565
+ "patterns": [
566
+ {
567
+ "include": "#interpolated_elixir"
568
+ },
569
+ {
570
+ "include": "#escaped_char"
571
+ }
572
+ ],
573
+ "beginCaptures": {
574
+ "0": {
575
+ "name": "punctuation.definition.string.begin.elixir"
576
+ }
577
+ },
578
+ "endCaptures": {
579
+ "0": {
580
+ "name": "punctuation.definition.string.end.elixir"
581
+ }
582
+ }
583
+ },
584
+ {
585
+ "name": "string.interpolated.elixir",
586
+ "begin": "~[a-z]([^\\w])",
587
+ "end": "\\1[a-z]*",
588
+ "patterns": [
589
+ {
590
+ "include": "#interpolated_elixir"
591
+ },
592
+ {
593
+ "include": "#escaped_char"
594
+ },
595
+ {
596
+ "include": "#escaped_char"
597
+ }
598
+ ],
599
+ "beginCaptures": {
600
+ "0": {
601
+ "name": "punctuation.definition.string.begin.elixir"
602
+ }
603
+ },
604
+ "endCaptures": {
605
+ "0": {
606
+ "name": "punctuation.definition.string.end.elixir"
607
+ }
608
+ }
609
+ },
610
+ {
611
+ "name": "string.quoted.other.literal.upper.elixir",
612
+ "begin": "~[A-Z](?\u003e\"\"\")",
613
+ "end": "^\\s*\"\"\"",
614
+ "beginCaptures": {
615
+ "0": {
616
+ "name": "punctuation.definition.string.begin.elixir"
617
+ }
618
+ },
619
+ "endCaptures": {
620
+ "0": {
621
+ "name": "punctuation.definition.string.end.elixir"
622
+ }
623
+ }
624
+ },
625
+ {
626
+ "name": "string.quoted.other.literal.upper.elixir",
627
+ "begin": "~[A-Z]\\{",
628
+ "end": "\\}[a-z]*",
629
+ "beginCaptures": {
630
+ "0": {
631
+ "name": "punctuation.definition.string.begin.elixir"
632
+ }
633
+ },
634
+ "endCaptures": {
635
+ "0": {
636
+ "name": "punctuation.definition.string.end.elixir"
637
+ }
638
+ }
639
+ },
640
+ {
641
+ "name": "string.quoted.other.literal.upper.elixir",
642
+ "begin": "~[A-Z]\\[",
643
+ "end": "\\][a-z]*",
644
+ "beginCaptures": {
645
+ "0": {
646
+ "name": "punctuation.definition.string.begin.elixir"
647
+ }
648
+ },
649
+ "endCaptures": {
650
+ "0": {
651
+ "name": "punctuation.definition.string.end.elixir"
652
+ }
653
+ }
654
+ },
655
+ {
656
+ "name": "string.quoted.other.literal.upper.elixir",
657
+ "begin": "~[A-Z]\\\u003c",
658
+ "end": "\\\u003e[a-z]*",
659
+ "beginCaptures": {
660
+ "0": {
661
+ "name": "punctuation.definition.string.begin.elixir"
662
+ }
663
+ },
664
+ "endCaptures": {
665
+ "0": {
666
+ "name": "punctuation.definition.string.end.elixir"
667
+ }
668
+ }
669
+ },
670
+ {
671
+ "name": "string.quoted.other.literal.upper.elixir",
672
+ "begin": "~[A-Z]\\(",
673
+ "end": "\\)[a-z]*",
674
+ "beginCaptures": {
675
+ "0": {
676
+ "name": "punctuation.definition.string.begin.elixir"
677
+ }
678
+ },
679
+ "endCaptures": {
680
+ "0": {
681
+ "name": "punctuation.definition.string.end.elixir"
682
+ }
683
+ }
684
+ },
685
+ {
686
+ "name": "string.quoted.other.literal.upper.elixir",
687
+ "begin": "~[A-Z]([^\\w])",
688
+ "end": "\\1[a-z]*",
689
+ "beginCaptures": {
690
+ "0": {
691
+ "name": "punctuation.definition.string.begin.elixir"
692
+ }
693
+ },
694
+ "endCaptures": {
695
+ "0": {
696
+ "name": "punctuation.definition.string.end.elixir"
697
+ }
698
+ }
699
+ },
700
+ {
701
+ "name": "constant.other.symbol.elixir",
702
+ "match": "(?\u003c!:)(:)(?\u003e[a-zA-Z_][\\w@]*(?\u003e[?!]|=(?![\u003e=]))?|\\\u003c\\\u003e|===?|!==?|\u003c\u003c\u003e\u003e|\u003c\u003c\u003c|\u003e\u003e\u003e|~~~|::|\u003c\\-|\\|\u003e|=\u003e|=~|=|/|\\\\\\\\|\\*\\*?|\\.\\.?\\.?|\u003e=?|\u003c=?|\u0026\u0026?\u0026?|\\+\\+?|\\-\\-?|\\|\\|?\\|?|\\!|@|\\%?\\{\\}|%|\\[\\]|\\^(\\^\\^)?)",
703
+ "captures": {
704
+ "1": {
705
+ "name": "punctuation.definition.constant.elixir"
706
+ }
707
+ }
708
+ },
709
+ {
710
+ "name": "constant.other.keywords.elixir",
711
+ "match": "(?\u003e[a-zA-Z_][\\w@]*(?\u003e[?!])?)(:)(?!:)",
712
+ "captures": {
713
+ "1": {
714
+ "name": "punctuation.definition.constant.elixir"
715
+ }
716
+ }
717
+ },
718
+ {
719
+ "name": "comment.line.section.elixir",
720
+ "match": "^\\s*(##).*$\\n?",
721
+ "captures": {
722
+ "1": {
723
+ "name": "punctuation.definition.comment.elixir"
724
+ }
725
+ }
726
+ },
727
+ {
728
+ "name": "comment.line.number-sign.elixir",
729
+ "match": "(?:^[ \\t]+)?(#).*$\\n?",
730
+ "captures": {
731
+ "1": {
732
+ "name": "punctuation.definition.comment.elixir"
733
+ }
734
+ }
735
+ },
736
+ {
737
+ "name": "constant.numeric.elixir",
738
+ "match": "(?\u003c!\\w)\\?(\\\\(x[0-9A-Fa-f]{1,2}(?![0-9A-Fa-f])\\b|[^xMC])|[^\\s\\\\])"
739
+ },
740
+ {
741
+ "name": "keyword.operator.concatenation.elixir",
742
+ "match": "\\+\\+|\\-\\-|\u003c\\|\u003e"
743
+ },
744
+ {
745
+ "name": "keyword.operator.sigils_1.elixir",
746
+ "match": "\\|\\\u003e|\u003c~\u003e|\u003c\u003e|\u003c\u003c\u003c|\u003e\u003e\u003e|~\u003e\u003e|\u003c\u003c~|~\u003e|\u003c~|\u003c\\|\u003e"
747
+ },
748
+ {
749
+ "name": "keyword.operator.sigils_2.elixir",
750
+ "match": "\u0026\u0026\u0026|\u0026\u0026"
751
+ },
752
+ {
753
+ "name": "keyword.operator.sigils_3.elixir",
754
+ "match": "\u003c\\-|\\\\\\\\"
755
+ },
756
+ {
757
+ "name": "keyword.operator.comparison.elixir",
758
+ "match": "===?|!==?|\u003c=?|\u003e=?"
759
+ },
760
+ {
761
+ "name": "keyword.operator.bitwise.elixir",
762
+ "match": "(\\|\\|\\||\u0026\u0026\u0026|\\^\\^\\^|\u003c\u003c\u003c|\u003e\u003e\u003e|~~~)"
763
+ },
764
+ {
765
+ "name": "keyword.operator.logical.elixir",
766
+ "match": "(?\u003c=[ \\t])!+|\\bnot\\b|\u0026\u0026|\\band\\b|\\|\\||\\bor\\b|\\bxor\\b"
767
+ },
768
+ {
769
+ "name": "keyword.operator.arithmetic.elixir",
770
+ "match": "(\\*|\\+|\\-|/)"
771
+ },
772
+ {
773
+ "name": "keyword.operator.other.elixir",
774
+ "match": "\\||\\+\\+|\\-\\-|\\*\\*|\\\\\\\\|\\\u003c\\-|\\\u003c\\\u003e|\\\u003c\\\u003c|\\\u003e\\\u003e|\\:\\:|\\.\\.|\\|\u003e|~|=\u003e|\u0026"
775
+ },
776
+ {
777
+ "name": "keyword.operator.assignment.elixir",
778
+ "match": "="
779
+ },
780
+ {
781
+ "name": "punctuation.separator.other.elixir",
782
+ "match": ":"
783
+ },
784
+ {
785
+ "name": "punctuation.separator.statement.elixir",
786
+ "match": "\\;"
787
+ },
788
+ {
789
+ "name": "punctuation.separator.object.elixir",
790
+ "match": ","
791
+ },
792
+ {
793
+ "name": "punctuation.separator.method.elixir",
794
+ "match": "\\."
795
+ },
796
+ {
797
+ "name": "punctuation.section.scope.elixir",
798
+ "match": "\\{|\\}"
799
+ },
800
+ {
801
+ "name": "punctuation.section.array.elixir",
802
+ "match": "\\[|\\]"
803
+ },
804
+ {
805
+ "name": "punctuation.section.function.elixir",
806
+ "match": "\\(|\\)"
807
+ }
808
+ ]
809
+ },
810
+ "escaped_char": {
811
+ "name": "constant.character.escaped.elixir",
812
+ "match": "\\\\(x[\\da-fA-F]{1,2}|.)"
813
+ },
814
+ "interpolated_elixir": {
815
+ "patterns": [
816
+ {
817
+ "name": "source.elixir.embedded.source",
818
+ "match": "#\\{(\\})",
819
+ "captures": {
820
+ "0": {
821
+ "name": "punctuation.section.embedded.elixir"
822
+ },
823
+ "1": {
824
+ "name": "source.elixir.embedded.source.empty"
825
+ }
826
+ }
827
+ },
828
+ {
829
+ "name": "source.elixir.embedded.source",
830
+ "begin": "#\\{",
831
+ "end": "\\}",
832
+ "patterns": [
833
+ {
834
+ "include": "#nest_curly_and_self"
835
+ },
836
+ {
837
+ "include": "$self"
838
+ }
839
+ ],
840
+ "captures": {
841
+ "0": {
842
+ "name": "punctuation.section.embedded.elixir"
843
+ }
844
+ }
845
+ }
846
+ ]
847
+ },
848
+ "nest_curly_and_self": {
849
+ "patterns": [
850
+ {
851
+ "begin": "\\{",
852
+ "end": "\\}",
853
+ "patterns": [
854
+ {
855
+ "include": "#nest_curly_and_self"
856
+ }
857
+ ],
858
+ "captures": {
859
+ "0": {
860
+ "name": "punctuation.section.scope.elixir"
861
+ }
862
+ }
863
+ },
864
+ {
865
+ "include": "$self"
866
+ }
867
+ ]
868
+ },
869
+ "regex_sub": {
870
+ "patterns": [
871
+ {
872
+ "include": "#interpolated_elixir"
873
+ },
874
+ {
875
+ "include": "#escaped_char"
876
+ },
877
+ {
878
+ "name": "string.regexp.arbitrary-repitition.elixir",
879
+ "match": "(\\{)\\d+(,\\d+)?(\\})",
880
+ "captures": {
881
+ "1": {
882
+ "name": "punctuation.definition.arbitrary-repitition.elixir"
883
+ },
884
+ "3": {
885
+ "name": "punctuation.definition.arbitrary-repitition.elixir"
886
+ }
887
+ }
888
+ },
889
+ {
890
+ "name": "string.regexp.character-class.elixir",
891
+ "begin": "\\[(?:\\^?\\])?",
892
+ "end": "\\]",
893
+ "patterns": [
894
+ {
895
+ "include": "#escaped_char"
896
+ }
897
+ ],
898
+ "captures": {
899
+ "0": {
900
+ "name": "punctuation.definition.character-class.elixir"
901
+ }
902
+ }
903
+ },
904
+ {
905
+ "name": "string.regexp.group.elixir",
906
+ "begin": "\\(",
907
+ "end": "\\)",
908
+ "patterns": [
909
+ {
910
+ "include": "#regex_sub"
911
+ }
912
+ ],
913
+ "captures": {
914
+ "0": {
915
+ "name": "punctuation.definition.group.elixir"
916
+ }
917
+ }
918
+ },
919
+ {
920
+ "name": "comment.line.number-sign.elixir",
921
+ "match": "(?\u003c=^|\\s)(#)\\s[[a-zA-Z0-9,. \\t?!-][^\\x{00}-\\x{7F}]]*$",
922
+ "captures": {
923
+ "1": {
924
+ "name": "punctuation.definition.comment.elixir"
925
+ }
926
+ }
927
+ }
928
+ ]
929
+ }
930
+ }
931
+ }
@@ -1022,7 +1022,9 @@
1022
1022
  "begin": "^\\s*(`{3,}|~{3,})\\s*(?i:(elixir))\\s*$",
1023
1023
  "end": "^\\s*\\1((?\u003c=`)`+|(?\u003c=~)~+)?\\s*$",
1024
1024
  "patterns": [
1025
- {}
1025
+ {
1026
+ "include": "source.elixir"
1027
+ }
1026
1028
  ],
1027
1029
  "beginCaptures": {
1028
1030
  "0": {
@@ -26,7 +26,9 @@
26
26
  }
27
27
  }
28
28
  },
29
- {}
29
+ {
30
+ "include": "source.elixir"
31
+ }
30
32
  ],
31
33
  "captures": {
32
34
  "0": {
@@ -845,7 +845,9 @@
845
845
  "begin": "^\\s*([`~]{3,})\\s*elixir\\s*$",
846
846
  "end": "^\\s*\\1$",
847
847
  "patterns": [
848
- {}
848
+ {
849
+ "include": "source.elixir"
850
+ }
849
851
  ],
850
852
  "beginCaptures": {
851
853
  "0": {
@@ -658,7 +658,9 @@
658
658
  "begin": "^\\s*([`~]{3,})\\s*elixir\\s*$",
659
659
  "end": "^\\s*\\1$",
660
660
  "patterns": [
661
- {}
661
+ {
662
+ "include": "source.elixir"
663
+ }
662
664
  ],
663
665
  "beginCaptures": {
664
666
  "0": {
@@ -1,3 +1,3 @@
1
1
  module Linguist
2
- VERSION = "6.3.0"
2
+ VERSION = "6.3.1"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: github-linguist
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.3.0
4
+ version: 6.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - GitHub
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-07-19 00:00:00.000000000 Z
11
+ date: 2018-07-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: charlock_holmes
@@ -334,6 +334,7 @@ files:
334
334
  - grammars/source.dylan.json
335
335
  - grammars/source.ebnf.json
336
336
  - grammars/source.eiffel.json
337
+ - grammars/source.elixir.json
337
338
  - grammars/source.elm.json
338
339
  - grammars/source.emacs.lisp.json
339
340
  - grammars/source.erlang.json
@@ -716,7 +717,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
716
717
  version: '0'
717
718
  requirements: []
718
719
  rubyforge_project:
719
- rubygems_version: 2.7.6
720
+ rubygems_version: 2.6.14
720
721
  signing_key:
721
722
  specification_version: 4
722
723
  summary: GitHub Language detection