github-linguist 4.8.8 → 4.8.9

Sign up to get free protection for your applications and to get access to all the features.
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": "(?=$|[,);=])",