github-linguist 4.8.8 → 4.8.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. checksums.yaml +4 -4
  2. data/grammars/hint.haskell.json +1123 -0
  3. data/grammars/hint.message.haskell.json +1147 -0
  4. data/grammars/hint.type.haskell.json +1120 -0
  5. data/grammars/source.asn.json +59 -0
  6. data/grammars/source.blitzmax.json +0 -2
  7. data/grammars/source.bsl.json +372 -0
  8. data/grammars/source.c++.json +67 -0
  9. data/grammars/source.c2hs.json +27 -0
  10. data/grammars/source.cabal.json +66 -0
  11. data/grammars/source.coffee.json +6 -5
  12. data/grammars/source.crystal.json +0 -11
  13. data/grammars/source.csound-score.json +3 -3
  14. data/grammars/source.csound.json +51 -15
  15. data/grammars/source.css.json +1 -1
  16. data/grammars/source.css.less.json +9 -5
  17. data/grammars/source.cython.json +42 -193
  18. data/grammars/source.d.json +7 -7
  19. data/grammars/source.elixir.json +2 -2
  20. data/grammars/source.forth.json +0 -2
  21. data/grammars/source.graphql.json +8 -2
  22. data/grammars/source.haskell.json +1089 -323
  23. data/grammars/source.hsc2hs.json +12 -0
  24. data/grammars/source.ideal.json +356 -0
  25. data/grammars/source.java.json +3 -0
  26. data/grammars/source.js.json +262 -131
  27. data/grammars/source.js.jsx.json +848 -256
  28. data/grammars/source.lsl.json +51 -103
  29. data/grammars/source.objc.json +1 -1
  30. data/grammars/source.parrot.pir.json +49 -15
  31. data/grammars/source.pic.json +868 -0
  32. data/grammars/source.purescript.json +114 -90
  33. data/grammars/source.python.json +11 -9
  34. data/grammars/source.regexp.babel.json +1 -1
  35. data/grammars/source.renpy.json +7 -7
  36. data/grammars/source.rexx.json +59 -0
  37. data/grammars/source.sas.json +8 -75
  38. data/grammars/source.sdbl.json +97 -0
  39. data/grammars/source.shell.json +1 -0
  40. data/grammars/source.smali.json +2 -2
  41. data/grammars/source.sqf.json +11 -11
  42. data/grammars/source.stan.json +60 -25
  43. data/grammars/source.tla.json +18 -6
  44. data/grammars/source.toc.json +5 -1
  45. data/grammars/source.ts.json +134 -31
  46. data/grammars/source.tsx.json +134 -31
  47. data/grammars/source.vhdl.json +150 -117
  48. data/grammars/source.viml.json +4 -4
  49. data/grammars/source.xquery.json +23 -5
  50. data/grammars/source.yaml.json +35 -19
  51. data/grammars/text.html.handlebars.json +2 -2
  52. data/grammars/text.html.php.blade.json +1 -1
  53. data/grammars/text.html.twig.json +1 -4
  54. data/grammars/text.html.vue.json +41 -1
  55. data/grammars/text.restructuredtext.json +56 -1
  56. data/grammars/text.roff.json +5089 -0
  57. data/grammars/text.runoff.json +321 -0
  58. data/grammars/text.slim.json +126 -105
  59. data/grammars/text.tex.latex.haskell.json +1335 -21
  60. data/lib/linguist/heuristics.rb +8 -0
  61. data/lib/linguist/languages.json +1 -1
  62. data/lib/linguist/languages.yml +58 -3
  63. data/lib/linguist/samples.json +5257 -76
  64. data/lib/linguist/version.rb +1 -1
  65. metadata +16 -4
  66. data/grammars/source.man.json +0 -53
  67. data/grammars/text.groff.json +0 -113
@@ -30,31 +30,43 @@
30
30
  "name": "keyword.operator.definition.tla"
31
31
  },
32
32
  {
33
- "match": "\\b=\\b",
34
- "name": "keyword.operator.assignment.tla"
33
+ "match": "(\\/\\\\|\\\\\\/|\\=>|<\\=>|\\|\\=|\\=\\||\\|\\-|\\-\\||~)",
34
+ "name": "keyword.operator.logic.tla"
35
35
  },
36
36
  {
37
37
  "match": "<\\=|>\\=|\\=|<|>|\\/\\=|\\#",
38
38
  "name": "keyword.operator.comparison.tla"
39
39
  },
40
40
  {
41
- "match": "(\\/\\\\|\\\\\\/|\\=>|<\\=>|~)",
42
- "name": "keyword.operator.logic.tla"
41
+ "match": "\\b=\\b",
42
+ "name": "keyword.operator.assignment.tla"
43
+ },
44
+ {
45
+ "match": "(\\\\EE|\\\\AA)",
46
+ "name": "keyword.operator.temporal.quantification.tla"
43
47
  },
44
48
  {
45
49
  "match": "(\\\\E|\\\\A)",
46
50
  "name": "keyword.operator.quantification.tla"
47
51
  },
48
52
  {
49
- "match": "(\\\\in|\\\\notin|:)",
53
+ "match": "(\\\\notin|:)",
50
54
  "name": "keyword.operator.sets.tla"
51
55
  },
56
+ {
57
+ "match": "(\\|\\->|\\->)",
58
+ "name": "keyword.operator.functions.tla"
59
+ },
60
+ {
61
+ "match": "\\\\(approx|asymp|bigcirc|bullet|cap|cdot|circ|cong|cup|div|doteq|equiv|geq|gg|in|intersect|land|leq|ll|lor|o|odot|ominus|oplus|oslash|otimes|prec|preceq|propto|sim|simeq|sqcap|sqcup|sqsubset|sqsubseteq|sqsupset|sqsupseteq|star|subset|subseteq|succ|succeq|supset|supseteq|union|uplus|wr)\\b",
62
+ "name": "keyword.operator.latex.tla"
63
+ },
52
64
  {
53
65
  "match": "\\b(\\+|\\-|\\*|\\/){1}\\b",
54
66
  "name": "keyword.operator.arithmetic.tla"
55
67
  },
56
68
  {
57
- "match": "(\\[\\]|\\<\\>)",
69
+ "match": "(\\[\\]|\\<\\>|\\-\\+\\->)",
58
70
  "name": "keyword.operator.temporal.tla"
59
71
  },
60
72
  {
@@ -23,7 +23,7 @@
23
23
  },
24
24
  {
25
25
  "match": "\\S[^:]+",
26
- "name": "invalid.name.tag.toc"
26
+ "name": "invalid.tag.toc"
27
27
  }
28
28
  ],
29
29
  "end": "(:|\\Z)"
@@ -46,6 +46,10 @@
46
46
  {
47
47
  "match": "(?<!^## )#.*$",
48
48
  "name": "comment.toc"
49
+ },
50
+ {
51
+ "match": "^(?!#)[^ ].+\\.xml",
52
+ "name": "meta.require.xml.toc"
49
53
  }
50
54
  ],
51
55
  "scopeName": "source.toc"
@@ -38,7 +38,7 @@
38
38
  ]
39
39
  },
40
40
  "assignment-operator": {
41
- "match": "<<=|>>=|>>>=|\\*=|(?<!\\()/=|%=|\\+=|\\-=|&=|\\^=",
41
+ "match": "<<=|>>>=|>>=|\\*=|(?<!\\()/=|%=|\\+=|\\-=|&=|\\^=",
42
42
  "name": "keyword.operator.assignment.ts"
43
43
  },
44
44
  "await-modifier": {
@@ -136,7 +136,7 @@
136
136
  "name": "comment.line.ts"
137
137
  },
138
138
  "control-statement": {
139
- "match": "(?<!\\.)\\b(break|catch|continue|debugger|declare|do|else|finally|for|if|return|switch|throw|try|while|with|super|case|default)\\b",
139
+ "match": "(?<!\\.)\\b(break|catch|continue|debugger|declare|do|else|finally|for|if|return|switch|throw|try|while|with|super|case|default|yield)\\b",
140
140
  "name": "keyword.control.ts"
141
141
  },
142
142
  "decl-block": {
@@ -233,9 +233,15 @@
233
233
  {
234
234
  "include": "#block"
235
235
  },
236
+ {
237
+ "include": "#import-operator"
238
+ },
236
239
  {
237
240
  "include": "#expression-operator"
238
241
  },
242
+ {
243
+ "include": "#imply-operator"
244
+ },
239
245
  {
240
246
  "include": "#relational-operator"
241
247
  },
@@ -251,6 +257,9 @@
251
257
  {
252
258
  "include": "#storage-keyword"
253
259
  },
260
+ {
261
+ "include": "#type-primitive"
262
+ },
254
263
  {
255
264
  "include": "#function-call"
256
265
  },
@@ -263,8 +272,8 @@
263
272
  ]
264
273
  },
265
274
  "expression-operator": {
266
- "match": "=>|\\b(delete|export|import|from|in|instanceof|new|typeof|void|as)\\b",
267
- "name": "keyword.operator.ts"
275
+ "match": "\\b(delete|in|instanceof|new|typeof|as|is|of)\\b",
276
+ "name": "keyword.others.ts"
268
277
  },
269
278
  "field-declaration": {
270
279
  "begin": "(?<!\\()\\s*((?:\\b[a-zA-Z_$][\\w$]*)|(?:\\'[^']*\\')|(?:\\\"[^\"]*\\\"))\\s*(\\?\\s*)?(?=(=|:))",
@@ -273,7 +282,7 @@
273
282
  "name": "variable.ts"
274
283
  },
275
284
  "2": {
276
- "name": "keyword.operator.ts"
285
+ "name": "keyword.others.ts"
277
286
  }
278
287
  },
279
288
  "end": "(?=\\}|;|,|$)|(?<=\\})",
@@ -290,7 +299,7 @@
290
299
  "name": "storage.type.ts"
291
300
  },
292
301
  "3": {
293
- "name": "keyword.operator.ts"
302
+ "name": "keyword.others.ts"
294
303
  }
295
304
  },
296
305
  "match": "(?<=\\()\\s*\\b(var|let|const)\\s+([a-zA-Z_$][\\w$]*)\\s+(in|of)\\b",
@@ -314,7 +323,7 @@
314
323
  "begin": "\\b(?:(export)\\s+)?(?:(async)\\s+)?(function\\b)(?:\\s+([a-zA-Z_$][\\w$]*))?\\s*",
315
324
  "beginCaptures": {
316
325
  "1": {
317
- "name": "storage.modifier.ts"
326
+ "name": "storage.type.ts"
318
327
  },
319
328
  "2": {
320
329
  "name": "storage.modifier.ts"
@@ -352,7 +361,7 @@
352
361
  "function-overload-declaration": {
353
362
  "captures": {
354
363
  "1": {
355
- "name": "storage.modifier.ts"
364
+ "name": "storage.type.ts"
356
365
  },
357
366
  "2": {
358
367
  "name": "storage.type.function.ts"
@@ -393,6 +402,14 @@
393
402
  }
394
403
  ]
395
404
  },
405
+ "imply-operator": {
406
+ "match": "=>",
407
+ "name": "keyword.operator.ts"
408
+ },
409
+ "import-operator": {
410
+ "match": "\\b(import|from)\\b",
411
+ "name": "keyword.control.import.include.ts"
412
+ },
396
413
  "indexer-declaration": {
397
414
  "begin": "\\[",
398
415
  "beginCaptures": {
@@ -406,7 +423,7 @@
406
423
  "name": "meta.brace.square.ts"
407
424
  },
408
425
  "2": {
409
- "name": "keyword.operator.ts"
426
+ "name": "keyword.others.ts"
410
427
  }
411
428
  },
412
429
  "name": "meta.indexer.declaration.ts",
@@ -455,11 +472,11 @@
455
472
  ]
456
473
  },
457
474
  "logic-operator": {
458
- "match": "\\!|&|~|\\^|\\||&&|\\|\\|",
475
+ "match": "\\!|&&|&|~|\\^|\\|\\||\\|",
459
476
  "name": "keyword.operator.arithmetic.ts"
460
477
  },
461
478
  "method-declaration": {
462
- "begin": "\\b(?:(abstract)\\s+)?\\b(?:(public|private|protected)\\s+)?\\b(?:(async)\\s+)?(?:(get|set)\\s+)?(?:(new)|(?:([a-zA-Z_$][\\.\\w$]*)\\s*(\\??)))?\\s*(?=\\(|\\<)",
479
+ "begin": "\\b(?:(abstract)\\s+)?\\b(?:(public|private|protected)\\s+)?\\b(?:(async)\\s+)?(?:(get|set)\\s+)?(?:(new)|(?:\\b(constructor)\\b)|(?:([a-zA-Z_$][\\.\\w$]*)\\s*(\\??)))?\\s*(?=\\(|\\<)",
463
480
  "beginCaptures": {
464
481
  "1": {
465
482
  "name": "storage.modifier.ts"
@@ -477,9 +494,12 @@
477
494
  "name": "keyword.operator.ts"
478
495
  },
479
496
  "6": {
480
- "name": "entity.name.function.ts"
497
+ "name": "storage.type.ts"
481
498
  },
482
499
  "7": {
500
+ "name": "entity.name.function.ts"
501
+ },
502
+ "8": {
483
503
  "name": "keyword.operator.ts"
484
504
  }
485
505
  },
@@ -524,20 +544,23 @@
524
544
  "name": "keyword.operator.ts"
525
545
  },
526
546
  "6": {
527
- "name": "entity.name.function.ts"
547
+ "name": "storage.type.ts"
528
548
  },
529
549
  "7": {
550
+ "name": "entity.name.function.ts"
551
+ },
552
+ "8": {
530
553
  "name": "keyword.operator.ts"
531
554
  }
532
555
  },
533
- "match": "\\b(?:(abstract)\\s+)?\\b(?:(public|private|protected)\\s+)?\\b(?:(async)\\s+)?(?:(get|set)\\s+)?(?:(new)|(?:([a-zA-Z_$][\\.\\w$]*)\\s*(\\??)))?\\s*(?=\\(|\\<)",
556
+ "match": "\\b(?:(abstract)\\s+)?\\b(?:(public|private|protected)\\s+)?\\b(?:(async)\\s+)?(?:(get|set)\\s+)?(?:(new)|(?:\\b(constructor)\\b)|(?:([a-zA-Z_$][\\.\\w$]*)\\s*(\\??)))?\\s*(?=\\(|\\<)",
534
557
  "name": "meta.method.overload.declaration.ts"
535
558
  },
536
559
  "new-expr": {
537
560
  "begin": "\\b(new)\\b",
538
561
  "beginCaptures": {
539
562
  "1": {
540
- "name": "keyword.operator.ts"
563
+ "name": "keyword.others.ts"
541
564
  }
542
565
  },
543
566
  "end": "(?=[(;]|$)",
@@ -556,7 +579,7 @@
556
579
  "name": "constant.language.null.ts"
557
580
  },
558
581
  "numeric-literal": {
559
- "match": "\\b(?<=[^$])((0(x|X)[0-9a-fA-F]+)|([0-9]+(\\.[0-9]+)?))\\b",
582
+ "match": "\\b(?<=[^$])((0(x|X)[0-9a-fA-F]+)|(0(o|O)[0-7]+)|(0(b|B)(0|1)+)|(([0-9]+(\\.[0-9]+)?))([eE]([+-]?)[0-9]+(\\.[0-9]+)?)?)\\b",
560
583
  "name": "constant.numeric.ts"
561
584
  },
562
585
  "object-body": {
@@ -610,7 +633,7 @@
610
633
  "begin": "\\b(?:(export)\\s+)?\\b(?:(abstract)\\s+)?\\b(?<!\\.)(class|interface)\\b",
611
634
  "beginCaptures": {
612
635
  "1": {
613
- "name": "storage.modifier.ts"
636
+ "name": "storage.type.ts"
614
637
  },
615
638
  "2": {
616
639
  "name": "storage.modifier.ts"
@@ -676,10 +699,10 @@
676
699
  "object-heritage-type": {
677
700
  "captures": {
678
701
  "1": {
679
- "name": "storage.type.ts"
702
+ "name": "support.type.ts"
680
703
  }
681
704
  },
682
- "match": "(?:\\s*([a-zA-Z_$][\\w$]*)\\b)",
705
+ "match": "(?:\\b([a-zA-Z_$][\\w$]*)\\b)",
683
706
  "name": "meta.object.heritage.parent.ts"
684
707
  },
685
708
  "object-member": {
@@ -707,13 +730,13 @@
707
730
  "name": "storage.modifier.ts"
708
731
  },
709
732
  "2": {
710
- "name": "keyword.operator.ts"
733
+ "name": "keyword.others.ts"
711
734
  },
712
735
  "3": {
713
736
  "name": "variable.parameter.ts"
714
737
  },
715
738
  "4": {
716
- "name": "keyword.operator.ts"
739
+ "name": "keyword.others.ts"
717
740
  }
718
741
  },
719
742
  "match": "(?:\\s*\\b(public|private|protected)\\b\\s+)?(\\.\\.\\.)?\\s*([a-zA-Z_$][\\w$]*)\\s*(\\??)",
@@ -778,7 +801,7 @@
778
801
  ]
779
802
  },
780
803
  "relational-operator": {
781
- "match": "===|==|=|!=|!==|<=|>=|<>|<|>",
804
+ "match": "===|!==|==|!=|<=|>=|<>|=|<|>",
782
805
  "name": "keyword.operator.comparison.ts"
783
806
  },
784
807
  "return-type": {
@@ -796,7 +819,7 @@
796
819
  "name": "keyword.other.ts"
797
820
  },
798
821
  "storage-keyword": {
799
- "match": "\\b(number|boolean|string|any|var|let|function|const|module|namespace)\\b",
822
+ "match": "\\b(var|let|function|const|module|namespace|void|export)\\b",
800
823
  "name": "storage.type.ts"
801
824
  },
802
825
  "string": {
@@ -828,7 +851,7 @@
828
851
  "begin": "\\b(switch)\\b\\s*\\(",
829
852
  "beginCaptures": {
830
853
  "1": {
831
- "name": "keyword.operator.ts"
854
+ "name": "keyword.control.ts"
832
855
  }
833
856
  },
834
857
  "end": "\\)",
@@ -889,13 +912,13 @@
889
912
  "begin": "\\$\\{",
890
913
  "beginCaptures": {
891
914
  "0": {
892
- "name": "keyword.operator.ts"
915
+ "name": "keyword.others.ts"
893
916
  }
894
917
  },
895
918
  "end": "\\}",
896
919
  "endCaptures": {
897
920
  "0": {
898
- "name": "keyword.operator.ts"
921
+ "name": "keyword.others.ts"
899
922
  }
900
923
  },
901
924
  "name": "template.element.ts",
@@ -905,6 +928,80 @@
905
928
  }
906
929
  ]
907
930
  },
931
+ "ternary-expression": {
932
+ "begin": "(?=\\?)",
933
+ "end": "(?=$|[;,])",
934
+ "patterns": [
935
+ {
936
+ "include": "#ternary-operator"
937
+ },
938
+ {
939
+ "include": "#ternary-expression-type"
940
+ }
941
+ ]
942
+ },
943
+ "ternary-expression-type": {
944
+ "name": "meta.expression.ts",
945
+ "patterns": [
946
+ {
947
+ "include": "#string"
948
+ },
949
+ {
950
+ "include": "#regex"
951
+ },
952
+ {
953
+ "include": "#template"
954
+ },
955
+ {
956
+ "include": "#comment"
957
+ },
958
+ {
959
+ "include": "#literal"
960
+ },
961
+ {
962
+ "include": "#paren-expression"
963
+ },
964
+ {
965
+ "include": "#ternary-expression"
966
+ },
967
+ {
968
+ "include": "#import-operator"
969
+ },
970
+ {
971
+ "include": "#expression-operator"
972
+ },
973
+ {
974
+ "include": "#imply-operator"
975
+ },
976
+ {
977
+ "include": "#relational-operator"
978
+ },
979
+ {
980
+ "include": "#arithmetic-operator"
981
+ },
982
+ {
983
+ "include": "#logic-operator"
984
+ },
985
+ {
986
+ "include": "#assignment-operator"
987
+ },
988
+ {
989
+ "include": "#type-primitive"
990
+ },
991
+ {
992
+ "include": "#function-call"
993
+ }
994
+ ]
995
+ },
996
+ "ternary-operator": {
997
+ "begin": "(\\?)",
998
+ "end": "(:)",
999
+ "patterns": [
1000
+ {
1001
+ "include": "#ternary-expression-type"
1002
+ }
1003
+ ]
1004
+ },
908
1005
  "this-literal": {
909
1006
  "match": "\\b(this)\\b",
910
1007
  "name": "constant.language.this.ts"
@@ -943,6 +1040,9 @@
943
1040
  "end": "(?=$|[,);\\}\\]]|//)|(?==[^>])|(?<=[\\}>\\]\\)]|[a-zA-Z_$])\\s*(?=\\{)",
944
1041
  "name": "meta.type.annotation.ts",
945
1042
  "patterns": [
1043
+ {
1044
+ "include": "#expression-operator"
1045
+ },
946
1046
  {
947
1047
  "include": "#type"
948
1048
  },
@@ -961,7 +1061,7 @@
961
1061
  "name": "keyword.other.ts"
962
1062
  },
963
1063
  "2": {
964
- "name": "storage.type.ts"
1064
+ "name": "entity.name.class.ts"
965
1065
  }
966
1066
  },
967
1067
  "end": "(?=$|[,);>]|var|type|function|class|interface)",
@@ -975,7 +1075,7 @@
975
1075
  },
976
1076
  {
977
1077
  "match": "=\\s*",
978
- "name": "keyword.operator.ts"
1078
+ "name": "keyword.operator.comparison.ts"
979
1079
  }
980
1080
  ]
981
1081
  },
@@ -1093,7 +1193,7 @@
1093
1193
  "type-primitive": {
1094
1194
  "captures": {
1095
1195
  "1": {
1096
- "name": "storage.type.ts"
1196
+ "name": "support.type.ts"
1097
1197
  }
1098
1198
  },
1099
1199
  "match": "\\b(string|number|boolean|symbol|any|void)\\b",
@@ -1127,7 +1227,7 @@
1127
1227
  "name": "constant.language.ts"
1128
1228
  },
1129
1229
  "var-expr": {
1130
- "begin": "(?<!\\()\\s*\\b(var|let|const(?!\\s+enum)\\b)",
1230
+ "begin": "(?<!\\()\\s*\\b(var|let|const(?!\\s+enum))\\b",
1131
1231
  "beginCaptures": {
1132
1232
  "1": {
1133
1233
  "name": "storage.type.ts"
@@ -1154,6 +1254,9 @@
1154
1254
  "end": "(?=$|[;,])",
1155
1255
  "name": "meta.var-single-variable.expr.ts",
1156
1256
  "patterns": [
1257
+ {
1258
+ "include": "#ternary-expression"
1259
+ },
1157
1260
  {
1158
1261
  "include": "#type-annotation"
1159
1262
  },
@@ -1172,7 +1275,7 @@
1172
1275
  "begin": "(=)",
1173
1276
  "beginCaptures": {
1174
1277
  "1": {
1175
- "name": "keyword.operator.ts"
1278
+ "name": "keyword.operator.comparison.ts"
1176
1279
  }
1177
1280
  },
1178
1281
  "end": "(?=$|[,);=])",