github-linguist 5.2.0 → 5.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (84) hide show
  1. checksums.yaml +4 -4
  2. data/grammars/annotation.liquidhaskell.haskell.json +1445 -0
  3. data/grammars/hint.haskell.json +134 -17
  4. data/grammars/hint.message.haskell.json +134 -17
  5. data/grammars/hint.type.haskell.json +134 -17
  6. data/grammars/source.abl.json +48 -48
  7. data/grammars/source.afm.json +8 -1
  8. data/grammars/source.angelscript.json +195 -0
  9. data/grammars/source.ats.json +128 -58
  10. data/grammars/source.awk.json +138 -138
  11. data/grammars/source.ballerina.json +434 -0
  12. data/grammars/source.chapel.json +1 -1
  13. data/grammars/source.clips.json +20 -20
  14. data/grammars/source.cobol.json +4 -3
  15. data/grammars/source.coffee.json +556 -109
  16. data/grammars/source.cs.json +10 -5
  17. data/grammars/source.csound-document.json +1 -1
  18. data/grammars/source.csound-score.json +9 -9
  19. data/grammars/source.csound.json +23 -28
  20. data/grammars/source.css.json +6 -5
  21. data/grammars/source.data-weave.json +1584 -0
  22. data/grammars/source.elixir.json +3 -61
  23. data/grammars/source.elm.json +88 -88
  24. data/grammars/source.emacs.lisp.json +12 -1
  25. data/grammars/source.haskell.json +134 -17
  26. data/grammars/source.hsig.json +1376 -0
  27. data/grammars/source.httpspec.json +128 -128
  28. data/grammars/source.jison.json +6 -14
  29. data/grammars/source.jisonlex.json +1 -9
  30. data/grammars/source.js.json +1 -0
  31. data/grammars/source.js.regexp.json +0 -4
  32. data/grammars/source.js.regexp.replacement.json +0 -4
  33. data/grammars/source.jsdoc.json +3 -3
  34. data/grammars/source.lsl.json +146 -53
  35. data/grammars/source.mercury.json +166 -166
  36. data/grammars/source.ne.json +108 -0
  37. data/grammars/source.nim_filter.json +51 -51
  38. data/grammars/source.nut.json +266 -0
  39. data/grammars/source.opal.json +112 -112
  40. data/grammars/source.opalsysdefs.json +16 -16
  41. data/grammars/source.pan.json +1 -1
  42. data/grammars/source.papyrus.skyrim.json +720 -720
  43. data/grammars/source.pawn.json +2 -2
  44. data/grammars/source.prolog.eclipse.json +42 -42
  45. data/grammars/source.prolog.json +41 -41
  46. data/grammars/source.purescript.json +41 -25
  47. data/grammars/source.python.json +47 -34
  48. data/grammars/source.racket.json +54 -54
  49. data/grammars/source.reason.json +37 -3
  50. data/grammars/source.regexp.python.json +31 -0
  51. data/grammars/source.ruby.gemfile.json +27 -0
  52. data/grammars/source.ruby.json +1057 -356
  53. data/grammars/source.rust.json +1 -1
  54. data/grammars/source.sbt.json +13 -3
  55. data/grammars/source.scala.json +74 -55
  56. data/grammars/source.shaderlab.json +1 -1
  57. data/grammars/source.shell.json +26 -21
  58. data/grammars/source.shen.json +91 -91
  59. data/grammars/source.sqf.json +1 -1
  60. data/grammars/source.supercollider.json +1 -1
  61. data/grammars/source.swift.json +4 -0
  62. data/grammars/source.terra.json +36 -37
  63. data/grammars/source.terraform.json +98 -98
  64. data/grammars/source.ts.json +2231 -1677
  65. data/grammars/source.tsx.json +142 -3520
  66. data/grammars/source.vbnet.json +201 -263
  67. data/grammars/source.viml.json +2 -2
  68. data/grammars/source.wdl.json +200 -0
  69. data/grammars/source.yaml.json +34 -16
  70. data/grammars/text.find-refs.json +3 -3
  71. data/grammars/text.haml.json +1 -1
  72. data/grammars/text.html.abl.json +6 -6
  73. data/grammars/text.html.erb.json +8 -11
  74. data/grammars/text.html.php.blade.json +256 -220
  75. data/grammars/text.html.vue.json +1 -1
  76. data/grammars/text.slim.json +31 -17
  77. data/grammars/text.tex.latex.haskell.json +150 -33
  78. data/lib/linguist/heuristics.rb +8 -0
  79. data/lib/linguist/languages.json +1 -1
  80. data/lib/linguist/languages.yml +82 -26
  81. data/lib/linguist/samples.json +134512 -132868
  82. data/lib/linguist/vendor.yml +3 -0
  83. data/lib/linguist/version.rb +1 -1
  84. metadata +13 -4
@@ -305,7 +305,7 @@
305
305
  "name": "meta.preprocessor.macro.parameters.c"
306
306
  }
307
307
  },
308
- "end": "(?<=\\))|(?<=^|[^\\\\])\\s*(\\n)",
308
+ "end": "(?<=\\))|(?<=^|[^\\\\])\\s*(\\n)?",
309
309
  "endCaptures": {
310
310
  "1": {
311
311
  "name": "invalid.illegal.unexpected-end-of-line.c"
@@ -446,7 +446,7 @@
446
446
  ]
447
447
  },
448
448
  "ppline-directive": {
449
- "begin": "^\\s*(#)\\s*(if|elseif|else|endif|pragma|line|define|undef|section|assert|file|endinput)\\b",
449
+ "begin": "^\\s*(#)\\s*(if|elseif|else|endif|pragma|line|define|undef|section|assert|file|endinput|endscript)\\b",
450
450
  "beginCaptures": {
451
451
  "0": {
452
452
  "name": "keyword.other.preprocessor.c"
@@ -1,14 +1,17 @@
1
1
  {
2
2
  "comment": "This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/.",
3
+ "name": "ECLiPSe Prolog",
4
+ "scopeName": "source.prolog.eclipse",
3
5
  "fileTypes": [
4
6
  "ecl"
5
7
  ],
6
- "name": "ECLiPSe Prolog",
8
+ "uuid": "a933e734-8345-407e-90af-9f7647f5ebf8",
7
9
  "patterns": [
8
10
  {
9
11
  "include": "#comments"
10
12
  },
11
13
  {
14
+ "name": "meta.clause.body.prolog",
12
15
  "begin": "(?<=:-)\\s*",
13
16
  "end": "(\\.)[^(\\.\\.)]",
14
17
  "endCaptures": {
@@ -16,7 +19,6 @@
16
19
  "name": "keyword.control.clause.bodyend.prolog"
17
20
  }
18
21
  },
19
- "name": "meta.clause.body.prolog",
20
22
  "patterns": [
21
23
  {
22
24
  "include": "#comments"
@@ -37,12 +39,13 @@
37
39
  "include": "#constants"
38
40
  },
39
41
  {
40
- "match": ".",
41
- "name": "meta.clause.body.prolog"
42
+ "name": "meta.clause.body.prolog",
43
+ "match": "."
42
44
  }
43
45
  ]
44
46
  },
45
47
  {
48
+ "name": "meta.dcg.body.prolog",
46
49
  "begin": "(?<=-->)\\s*",
47
50
  "end": "(\\.)[^(\\.\\.)]",
48
51
  "endCaptures": {
@@ -50,7 +53,6 @@
50
53
  "name": "keyword.control.dcg.bodyend.prolog"
51
54
  }
52
55
  },
53
- "name": "meta.dcg.body.prolog",
54
56
  "patterns": [
55
57
  {
56
58
  "include": "#comments"
@@ -68,8 +70,8 @@
68
70
  "include": "#constants"
69
71
  },
70
72
  {
71
- "match": ".",
72
- "name": "meta.dcg.body.prolog"
73
+ "name": "meta.dcg.body.prolog",
74
+ "match": "."
73
75
  }
74
76
  ]
75
77
  },
@@ -81,64 +83,65 @@
81
83
  "atom": {
82
84
  "patterns": [
83
85
  {
84
- "match": "(?<![a-zA-Z0-9_])[a-z][a-zA-Z0-9_]*(?!\\s*\\(|[a-zA-Z0-9_])",
85
- "name": "constant.other.atom.simple.prolog"
86
+ "name": "constant.other.atom.simple.prolog",
87
+ "match": "(?<![a-zA-Z0-9_])[a-z][a-zA-Z0-9_]*(?!\\s*\\(|[a-zA-Z0-9_])"
86
88
  },
87
89
  {
88
- "match": "'.*?'",
89
- "name": "constant.other.atom.quoted.prolog"
90
+ "name": "constant.other.atom.quoted.prolog",
91
+ "match": "'.*?'"
90
92
  },
91
93
  {
92
- "match": "\\[\\]",
93
- "name": "constant.other.atom.emptylist.prolog"
94
+ "name": "constant.other.atom.emptylist.prolog",
95
+ "match": "\\[\\]"
94
96
  }
95
97
  ]
96
98
  },
97
99
  "builtin": {
98
100
  "patterns": [
99
101
  {
100
- "match": "\\b(op|findall|write|nl|writeln|fail|lib)\\b",
101
- "name": "keyword.other.prolog"
102
+ "name": "keyword.other.prolog",
103
+ "match": "\\b(op|findall|write|nl|writeln|fail|lib)\\b"
102
104
  },
103
105
  {
104
- "match": "\\b(for(each(elem)?)?|fromto|do|param|dim)\\b",
105
- "name": "keyword.other.prolog.eclipse"
106
+ "name": "keyword.other.prolog.eclipse",
107
+ "match": "\\b(for(each(elem)?)?|fromto|do|param|dim)\\b"
106
108
  }
107
109
  ]
108
110
  },
109
111
  "comments": {
110
112
  "patterns": [
111
113
  {
112
- "match": "%.*",
113
- "name": "comment.line.percent-sign.prolog"
114
+ "name": "comment.line.percent-sign.prolog",
115
+ "match": "%.*"
114
116
  },
115
117
  {
118
+ "name": "comment.block.prolog",
116
119
  "begin": "/\\*",
120
+ "end": "\\*/",
117
121
  "captures": {
118
122
  "0": {
119
123
  "name": "punctuation.definition.comment.prolog"
120
124
  }
121
- },
122
- "end": "\\*/",
123
- "name": "comment.block.prolog"
125
+ }
124
126
  }
125
127
  ]
126
128
  },
127
129
  "constants": {
128
130
  "patterns": [
129
131
  {
130
- "match": "(?<![a-zA-Z]|/)(\\d+|(\\d+\\.\\d+))",
131
- "name": "constant.numeric.integer.prolog"
132
+ "name": "constant.numeric.integer.prolog",
133
+ "match": "(?<![a-zA-Z]|/)(\\d+|(\\d+\\.\\d+))"
132
134
  },
133
135
  {
134
- "match": "\".*?\"",
135
- "name": "string.quoted.double.prolog"
136
+ "name": "string.quoted.double.prolog",
137
+ "match": "\".*?\""
136
138
  }
137
139
  ]
138
140
  },
139
141
  "controlandkeywords": {
140
142
  "patterns": [
141
143
  {
144
+ "name": "meta.if.prolog",
142
145
  "begin": "(->)",
143
146
  "beginCaptures": {
144
147
  "1": {
@@ -151,7 +154,6 @@
151
154
  "name": "keyword.control.else.prolog"
152
155
  }
153
156
  },
154
- "name": "meta.if.prolog",
155
157
  "patterns": [
156
158
  {
157
159
  "include": "$self"
@@ -169,38 +171,36 @@
169
171
  "include": "#variable"
170
172
  },
171
173
  {
172
- "match": ".",
173
- "name": "meta.if.body.prolog"
174
+ "name": "meta.if.body.prolog",
175
+ "match": "."
174
176
  }
175
177
  ]
176
178
  },
177
179
  {
178
- "match": "!",
179
- "name": "keyword.control.cut.prolog"
180
+ "name": "keyword.control.cut.prolog",
181
+ "match": "!"
180
182
  },
181
183
  {
182
- "match": "(\\s(is)\\s)|=:=|=?\\\\?=|\\\\\\+|@?>|@?=?<|\\+|\\*|\\-",
183
- "name": "keyword.operator.prolog"
184
+ "name": "keyword.operator.prolog",
185
+ "match": "(\\s(is)\\s)|=:=|=?\\\\?=|\\\\\\+|@?>|@?=?<|\\+|\\*|\\-"
184
186
  },
185
187
  {
186
- "match": "(#|&|\\$)(<|>|=)|(#|&|\\$)?(::)|\\.\\.|or|and|(#|&|\\$)\\\\=",
187
- "name": "keyword.operator.prolog.eclipse"
188
+ "name": "keyword.operator.prolog.eclipse",
189
+ "match": "(#|&|\\$)(<|>|=)|(#|&|\\$)?(::)|\\.\\.|or|and|(#|&|\\$)\\\\="
188
190
  }
189
191
  ]
190
192
  },
191
193
  "variable": {
192
194
  "patterns": [
193
195
  {
194
- "match": "(?<![a-zA-Z0-9_])[A-Z][a-zA-Z0-9_]*",
195
- "name": "variable.parameter.uppercase.prolog"
196
+ "name": "variable.parameter.uppercase.prolog",
197
+ "match": "(?<![a-zA-Z0-9_])[A-Z][a-zA-Z0-9_]*"
196
198
  },
197
199
  {
198
- "match": "(?<!\\w)_",
199
- "name": "variable.language.anonymous.prolog"
200
+ "name": "variable.language.anonymous.prolog",
201
+ "match": "(?<!\\w)_"
200
202
  }
201
203
  ]
202
204
  }
203
- },
204
- "scopeName": "source.prolog.eclipse",
205
- "uuid": "a933e734-8345-407e-90af-9f7647f5ebf8"
205
+ }
206
206
  }
@@ -1,15 +1,18 @@
1
1
  {
2
2
  "comment": "This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/.",
3
+ "name": "SWI-Prolog",
4
+ "scopeName": "source.prolog",
3
5
  "fileTypes": [
4
6
  "pl",
5
7
  "pro"
6
8
  ],
7
- "name": "SWI-Prolog",
9
+ "uuid": "df89928b-6612-475a-b414-f319d9b98664",
8
10
  "patterns": [
9
11
  {
10
12
  "include": "#comments"
11
13
  },
12
14
  {
15
+ "name": "meta.clause.body.prolog",
13
16
  "begin": "(?<=:-)\\s*",
14
17
  "end": "(\\.)",
15
18
  "endCaptures": {
@@ -17,7 +20,6 @@
17
20
  "name": "keyword.control.clause.bodyend.prolog"
18
21
  }
19
22
  },
20
- "name": "meta.clause.body.prolog",
21
23
  "patterns": [
22
24
  {
23
25
  "include": "#comments"
@@ -38,12 +40,13 @@
38
40
  "include": "#constants"
39
41
  },
40
42
  {
41
- "match": ".",
42
- "name": "meta.clause.body.prolog"
43
+ "name": "meta.clause.body.prolog",
44
+ "match": "."
43
45
  }
44
46
  ]
45
47
  },
46
48
  {
49
+ "name": "meta.clause.head.prolog",
47
50
  "begin": "^\\s*([a-z][a-zA-Z0-9_]*)(\\(?)(?=.*:-.*)",
48
51
  "beginCaptures": {
49
52
  "1": {
@@ -62,7 +65,6 @@
62
65
  "name": "keyword.control.clause.bodybegin.prolog"
63
66
  }
64
67
  },
65
- "name": "meta.clause.head.prolog",
66
68
  "patterns": [
67
69
  {
68
70
  "include": "#atom"
@@ -76,6 +78,7 @@
76
78
  ]
77
79
  },
78
80
  {
81
+ "name": "meta.dcg.head.prolog",
79
82
  "begin": "^\\s*([a-z][a-zA-Z0-9_]*)(\\(?)(?=.*-->.*)",
80
83
  "beginCaptures": {
81
84
  "1": {
@@ -94,7 +97,6 @@
94
97
  "name": "keyword.control.dcg.bodybegin.prolog"
95
98
  }
96
99
  },
97
- "name": "meta.dcg.head.prolog",
98
100
  "patterns": [
99
101
  {
100
102
  "include": "#atom"
@@ -108,6 +110,7 @@
108
110
  ]
109
111
  },
110
112
  {
113
+ "name": "meta.dcg.body.prolog",
111
114
  "begin": "(?<=-->)\\s*",
112
115
  "end": "(\\.)",
113
116
  "endCaptures": {
@@ -115,7 +118,6 @@
115
118
  "name": "keyword.control.dcg.bodyend.prolog"
116
119
  }
117
120
  },
118
- "name": "meta.dcg.body.prolog",
119
121
  "patterns": [
120
122
  {
121
123
  "include": "#comments"
@@ -133,12 +135,13 @@
133
135
  "include": "#constants"
134
136
  },
135
137
  {
136
- "match": ".",
137
- "name": "meta.dcg.body.prolog"
138
+ "name": "meta.dcg.body.prolog",
139
+ "match": "."
138
140
  }
139
141
  ]
140
142
  },
141
143
  {
144
+ "name": "meta.fact.prolog",
142
145
  "begin": "^\\s*([a-zA-Z][a-zA-Z0-9_]*)(\\(?)(?!.*(:-|-->).*)",
143
146
  "beginCaptures": {
144
147
  "1": {
@@ -157,7 +160,6 @@
157
160
  "name": "keyword.control.fact.end.prolog"
158
161
  }
159
162
  },
160
- "name": "meta.fact.prolog",
161
163
  "patterns": [
162
164
  {
163
165
  "include": "#atom"
@@ -175,60 +177,61 @@
175
177
  "atom": {
176
178
  "patterns": [
177
179
  {
178
- "match": "(?<![a-zA-Z0-9_])[a-z][a-zA-Z0-9_]*(?!\\s*\\(|[a-zA-Z0-9_])",
179
- "name": "constant.other.atom.simple.prolog"
180
+ "name": "constant.other.atom.simple.prolog",
181
+ "match": "(?<![a-zA-Z0-9_])[a-z][a-zA-Z0-9_]*(?!\\s*\\(|[a-zA-Z0-9_])"
180
182
  },
181
183
  {
182
- "match": "'.*?'",
183
- "name": "constant.other.atom.quoted.prolog"
184
+ "name": "constant.other.atom.quoted.prolog",
185
+ "match": "'.*?'"
184
186
  },
185
187
  {
186
- "match": "\\[\\]",
187
- "name": "constant.other.atom.emptylist.prolog"
188
+ "name": "constant.other.atom.emptylist.prolog",
189
+ "match": "\\[\\]"
188
190
  }
189
191
  ]
190
192
  },
191
193
  "builtin": {
192
194
  "patterns": [
193
195
  {
194
- "match": "\\b(op|findall|write|nl|writeln|fail|use_module|module)\\b",
195
- "name": "keyword.other"
196
+ "name": "keyword.other",
197
+ "match": "\\b(op|findall|write|nl|writeln|fail|use_module|module)\\b"
196
198
  }
197
199
  ]
198
200
  },
199
201
  "comments": {
200
202
  "patterns": [
201
203
  {
202
- "match": "%.*",
203
- "name": "comment.line.percent-sign.prolog"
204
+ "name": "comment.line.percent-sign.prolog",
205
+ "match": "%.*"
204
206
  },
205
207
  {
208
+ "name": "comment.block.prolog",
206
209
  "begin": "/\\*",
210
+ "end": "\\*/",
207
211
  "captures": {
208
212
  "0": {
209
213
  "name": "punctuation.definition.comment.prolog"
210
214
  }
211
- },
212
- "end": "\\*/",
213
- "name": "comment.block.prolog"
215
+ }
214
216
  }
215
217
  ]
216
218
  },
217
219
  "constants": {
218
220
  "patterns": [
219
221
  {
220
- "match": "(?<![a-zA-Z]|/)(\\d+|(\\d+\\.\\d+))",
221
- "name": "constant.numeric.integer.prolog"
222
+ "name": "constant.numeric.integer.prolog",
223
+ "match": "(?<![a-zA-Z]|/)(\\d+|(\\d+\\.\\d+))"
222
224
  },
223
225
  {
224
- "match": "\".*?\"",
225
- "name": "string.quoted.double.prolog"
226
+ "name": "string.quoted.double.prolog",
227
+ "match": "\".*?\""
226
228
  }
227
229
  ]
228
230
  },
229
231
  "controlandkeywords": {
230
232
  "patterns": [
231
233
  {
234
+ "name": "meta.if.prolog",
232
235
  "begin": "(->)",
233
236
  "beginCaptures": {
234
237
  "1": {
@@ -241,7 +244,6 @@
241
244
  "name": "keyword.control.else.prolog"
242
245
  }
243
246
  },
244
- "name": "meta.if.prolog",
245
247
  "patterns": [
246
248
  {
247
249
  "include": "$self"
@@ -259,34 +261,32 @@
259
261
  "include": "#variable"
260
262
  },
261
263
  {
262
- "match": ".",
263
- "name": "meta.if.body.prolog"
264
+ "name": "meta.if.body.prolog",
265
+ "match": "."
264
266
  }
265
267
  ]
266
268
  },
267
269
  {
268
- "match": "!",
269
- "name": "keyword.control.cut.prolog"
270
+ "name": "keyword.control.cut.prolog",
271
+ "match": "!"
270
272
  },
271
273
  {
272
- "match": "(\\s(is)\\s)|=:=|=?\\\\?=|\\\\\\+|@?>|@?=?<|\\+|\\*|\\-",
273
- "name": "keyword.operator.prolog"
274
+ "name": "keyword.operator.prolog",
275
+ "match": "(\\s(is)\\s)|=:=|=?\\\\?=|\\\\\\+|@?>|@?=?<|\\+|\\*|\\-"
274
276
  }
275
277
  ]
276
278
  },
277
279
  "variable": {
278
280
  "patterns": [
279
281
  {
280
- "match": "(?<![a-zA-Z0-9_])[A-Z][a-zA-Z0-9_]*",
281
- "name": "variable.parameter.uppercase.prolog"
282
+ "name": "variable.parameter.uppercase.prolog",
283
+ "match": "(?<![a-zA-Z0-9_])[A-Z][a-zA-Z0-9_]*"
282
284
  },
283
285
  {
284
- "match": "(?<!\\w)_",
285
- "name": "variable.language.anonymous.prolog"
286
+ "name": "variable.language.anonymous.prolog",
287
+ "match": "(?<!\\w)_"
286
288
  }
287
289
  ]
288
290
  }
289
- },
290
- "scopeName": "source.prolog",
291
- "uuid": "df89928b-6612-475a-b414-f319d9b98664"
291
+ }
292
292
  }