github-linguist 4.8.5 → 4.8.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (37) hide show
  1. checksums.yaml +4 -4
  2. data/grammars/{source.sas_log.json → source.SASLog.json} +5 -6
  3. data/grammars/source.ahk.json +81 -57
  4. data/grammars/source.assembly.json +1 -1
  5. data/grammars/source.bro.json +4 -4
  6. data/grammars/source.clojure.json +32 -8
  7. data/grammars/source.coq.json +1 -1
  8. data/grammars/source.crystal.json +21 -6
  9. data/grammars/source.csound-document.json +71 -0
  10. data/grammars/source.csound-score.json +65 -0
  11. data/grammars/source.csound.json +494 -0
  12. data/grammars/source.elm.json +27 -2
  13. data/grammars/source.fsharp.json +1 -1
  14. data/grammars/source.glsl.json +96 -6
  15. data/grammars/source.js.jsx.json +664 -524
  16. data/grammars/source.nu.json +526 -0
  17. data/grammars/source.pawn.json +8 -109
  18. data/grammars/source.pony.json +1 -1
  19. data/grammars/source.python.json +4 -4
  20. data/grammars/source.regexp.babel.json +1 -1
  21. data/grammars/source.shell.json +4 -1
  22. data/grammars/source.swift.json +2 -2
  23. data/grammars/source.wavefront.mtl.json +1177 -0
  24. data/grammars/source.wavefront.obj.json +1344 -0
  25. data/grammars/text.html.creole.json +329 -0
  26. data/grammars/text.html.ecr.json +52 -0
  27. data/grammars/text.html.handlebars.json +1 -1
  28. data/grammars/text.html.mako.json +17 -2
  29. data/grammars/text.html.vue.json +36 -1
  30. data/grammars/text.slim.json +1 -4
  31. data/grammars/text.tex.latex.json +2 -2
  32. data/lib/linguist/languages.json +1 -1
  33. data/lib/linguist/languages.yml +75 -6
  34. data/lib/linguist/samples.json +1856 -71
  35. data/lib/linguist/version.rb +1 -1
  36. metadata +11 -4
  37. data/grammars/source.fan.json +0 -188
@@ -0,0 +1,329 @@
1
+ {
2
+ "author": "Siddley - https://github.com/Siddley",
3
+ "fileTypes": [
4
+ "creole",
5
+ "cr"
6
+ ],
7
+ "foldingStartMarker": "(?x)\n\t\t(<(?i:head|body|table|thead|tbody|tfoot|tr|div|select|fieldset|style|script|ul|ol|form|dl)\\b.*?>\n\t\t|<!--(?!.*-->)\n\t\t|\\{\\s*($|\\?>\\s*$|//|/\\*(.*\\*/\\s*$|(?!.*?\\*/)))\n\t\t)",
8
+ "foldingStopMarker": "(?x)\n\t\t(</(?i:head|body|table|thead|tbody|tfoot|tr|div|select|fieldset|style|script|ul|ol|form|dl)>\n\t\t|^\\s*-->\n\t\t|(^|\\s)\\}\n\t\t)",
9
+ "name": "Creole",
10
+ "patterns": [
11
+ {
12
+ "name": "meta.block-level.creole",
13
+ "patterns": [
14
+ {
15
+ "include": "#block_raw"
16
+ },
17
+ {
18
+ "include": "#heading"
19
+ },
20
+ {
21
+ "include": "#inline"
22
+ }
23
+ ]
24
+ },
25
+ {
26
+ "begin": "^ *([*])+(?=\\s)",
27
+ "captures": {
28
+ "1": {
29
+ "name": "punctuation.definition.list_item.creole"
30
+ }
31
+ },
32
+ "end": "^(?=\\S)",
33
+ "name": "markup.list.unnumbered.creole",
34
+ "patterns": [
35
+ {
36
+ "include": "#list-paragraph"
37
+ },
38
+ {
39
+ "include": "#inline"
40
+ }
41
+ ]
42
+ },
43
+ {
44
+ "begin": "^[ ]*(#)(?=\\s)",
45
+ "captures": {
46
+ "1": {
47
+ "name": "punctuation.definition.list_item.creole"
48
+ }
49
+ },
50
+ "end": "^(?=\\S)",
51
+ "name": "markup.list.numbered.creole",
52
+ "patterns": [
53
+ {
54
+ "include": "#list-paragraph"
55
+ },
56
+ {
57
+ "include": "#inline"
58
+ }
59
+ ]
60
+ },
61
+ {
62
+ "begin": "^(?=<(p|div|h[1-6]|blockquote|pre|table|dl|ol|ul|script|noscript|form|fieldset|iframe|math|ins|del)\\b)(?!.*?</\\1>)",
63
+ "comment": "disable creole formatting in block-level tags",
64
+ "end": "(?<=^</\\1>$\\n)",
65
+ "name": "meta.disable-markdown",
66
+ "patterns": [
67
+ {
68
+ "include": "text.html.basic"
69
+ }
70
+ ]
71
+ },
72
+ {
73
+ "begin": "^(?=<(p|div|h[1-6]|blockquote|pre|table|dl|ol|ul|script|noscript|form|fieldset|iframe|math|ins|del)\\b)",
74
+ "comment": "disable creole formatting in inline tags",
75
+ "end": "$\\n?",
76
+ "name": "meta.disable-markdown",
77
+ "patterns": [
78
+ {
79
+ "include": "text.html.basic"
80
+ }
81
+ ]
82
+ },
83
+ {
84
+ "match": "^ *-{4,} *$\\n?",
85
+ "name": "punctuation.definition.horizonlal-rule.creole"
86
+ }
87
+ ],
88
+ "repository": {
89
+ "list-paragraph": {
90
+ "patterns": [
91
+ {
92
+ "begin": "\\G\\s+(?=\\S)",
93
+ "end": "^\\s*$",
94
+ "name": "meta.paragraph.list.creole",
95
+ "patterns": [
96
+ {
97
+ "include": "#inline"
98
+ }
99
+ ]
100
+ }
101
+ ]
102
+ },
103
+ "block_raw": {
104
+ "patterns": [
105
+ {
106
+ "begin": "^(\\{\\{\\{)\\s*$\\n?",
107
+ "captures": {
108
+ "1": {
109
+ "name": "punctuation.definition.raw.creole"
110
+ }
111
+ },
112
+ "end": "^(\\}\\}\\})\\s*$\\n?",
113
+ "name": "markup.raw.block.creole"
114
+ }
115
+ ]
116
+ },
117
+ "inline_raw": {
118
+ "patterns": [
119
+ {
120
+ "match": "(\\{\\{\\{).*?(\\}\\}\\})",
121
+ "captures": {
122
+ "1": {
123
+ "name": "punctuation.definition.raw.creole"
124
+ },
125
+ "2": {
126
+ "name": "punctuation.definition.raw.creole"
127
+ }
128
+ },
129
+ "name": "markup.raw.inline.creole"
130
+ }
131
+ ]
132
+ },
133
+ "link-inline": {
134
+ "captures": {
135
+ "1": {
136
+ "name": "punctuation.definition.link.creole"
137
+ },
138
+ "2": {
139
+ "name": "markup.underline.link.creole"
140
+ },
141
+ "4": {
142
+ "name": "punctuation.definition.link.creole"
143
+ },
144
+ "5": {
145
+ "name": "string.other.link.title.creole"
146
+ },
147
+ "6": {
148
+ "name": "punctuation.definition.link.creole"
149
+ }
150
+ },
151
+ "match": "(?x:\n\t\t\t\t(\\[\\[)\t\t\t\t\t\t# opening double square bracket\n\t\t\t\t(\\s*[^\\s\\|]+[^\\|]+?)\t\t# the url; anything except pipe (at least 1 not whitespace)\n\t\t\t\t((\\|)\t\t\t\t\t\t# pipe separator\n\t\t\t\t(\\s*[^\\|\\s]+[^\\|]+)\t\t\t# title text\n\t\t\t\t\t)?\t\t\t\t\t\t# pipe and title are optional\n\t\t\t\t(\\]\\])\t\t\t\t\t\t# close double square bracket (end link)\n\t\t\t )",
152
+ "name": "meta.link.inline.creole"
153
+ },
154
+ "link-email": {
155
+ "captures": {
156
+ "1": {
157
+ "name": "invalid.illegal.punctuation.link.creole"
158
+ },
159
+ "2": {
160
+ "name": "markup.underline.link.creole"
161
+ },
162
+ "4": {
163
+ "name": "invalid.illegal.punctuation.link.creole"
164
+ }
165
+ },
166
+ "match": "(<)((?:mailto:)?[-.\\w]+@[-a-z0-9]+(\\.[-a-z0-9]+)*\\.[a-z]+)(>)",
167
+ "name": "meta.link.email.lt-gt.creole"
168
+ },
169
+ "link-inet": {
170
+ "captures": {
171
+ "1": {
172
+ "name": "invalid.illegal.punctuation.link.creole"
173
+ },
174
+ "2": {
175
+ "name": "markup.underline.link.creole"
176
+ },
177
+ "3": {
178
+ "name": "invalid.illegal.punctuation.link.creole"
179
+ }
180
+ },
181
+ "match": "(<)?((?:https?|ftp)://[^\\s>]+)(>)?",
182
+ "name": "meta.link.inet.creole"
183
+ },
184
+ "line-break": {
185
+ "match": " *(\\\\\\\\){1} *",
186
+ "name": "punctuation.definition.line-break.creole"
187
+ },
188
+ "image-inline": {
189
+ "captures": {
190
+ "1": {
191
+ "name": "punctuation.definition.image.creole"
192
+ },
193
+ "2": {
194
+ "name": "markup.underline.link.creole"
195
+ },
196
+ "4": {
197
+ "name": "punctuation.definition.image.creole"
198
+ },
199
+ "5": {
200
+ "name": "string.other.image.title.creole"
201
+ },
202
+ "6": {
203
+ "name": "punctuation.definition.image.creole"
204
+ }
205
+ },
206
+ "match": "(?x:\n\t\t\t\t(\\{\\{)\t\t\t\t\t\t# opening double curly bracket\n\t\t\t\t(\\s*[^\\s\\|]+[^\\|]+?)\t\t# the url; anything except pipe (at least 1 not whitespace)\n\t\t\t\t((\\|)\t\t\t\t\t\t# pipe separator\n\t\t\t\t(\\s*[^\\|\\s]+[^\\|]+)\t\t\t# title text\n\t\t\t\t\t)?\t\t\t\t\t\t# pipe and title are optional\n\t\t\t\t(\\}\\})\t\t\t\t\t\t# close double curly bracket (end image)\n\t\t\t )",
207
+ "name": "meta.image.inline.creole"
208
+ },
209
+ "italic": {
210
+ "begin": "(?x)\n\t\t\t\t\t\t(\\/\\/)(?=\\S)\t\t\t\t\t\t\t\t\t# opening //\n\t\t\t\t\t\t(?=\t\t\t\t\t\t\t\t\t\t\t\t# zero-width positive lookahead\n\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t <[^>]*+>\t\t\t\t\t\t# match any HTML tag\n\t\t\t\t\t\t\t | ~[\\\\*{}\\[\\]#\\|/>]?+\t\t\t\t\t# or escape characters\n\t\t\t\t\t\t\t | \\[\t\t\t\t\t\t\t\t\t\t# or literal [\n\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t (?<square>\t\t\t\t# named group\n\t\t\t\t\t\t\t\t\t\t\t[^\\[\\]~]\t\t\t\t\t# don't match these\n\t\t\t\t\t\t\t\t | ~.\t\t\t\t\t\t\t# or escaped characters\n\t\t\t\t\t\t\t\t | \\[ \\g<square>*+ \\]\t# or nested group\n\t\t\t\t\t\t\t\t )*+\n\t\t\t\t\t\t\t\t\t\\]\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t | (?!(?<=\\S)\\1).\t\t\t\t\t\t# or everything else\n\t\t\t\t\t\t\t)++\n\t\t\t\t\t\t\t(?<=\\S)\\1\t\t\t\t\t\t\t\t# closing //\n\t\t\t\t\t\t)\t\t\t\t\t\t\t\t\t\t\t\t# close positive lookahead\n\t\t\t\t\t",
211
+ "captures": {
212
+ "1": {
213
+ "name": "punctuation.definition.italic.creole"
214
+ }
215
+ },
216
+ "end": "(?<=\\S)(\\1)((?!\\1)|(?=\\1\\1))",
217
+ "name": "markup.italic.creole",
218
+ "patterns": [
219
+ {
220
+ "applyEndPatternLast": 1,
221
+ "begin": "(?=<[^>]*?>)",
222
+ "end": "(?<=>)",
223
+ "patterns": [
224
+ {
225
+ "include": "text.html.basic"
226
+ }
227
+ ]
228
+ },
229
+ {
230
+ "include": "#inline"
231
+ }
232
+ ]
233
+ },
234
+ "bold": {
235
+ "begin": "(?x)\n\t\t\t\t\t\t(\\*\\*)(?=\\S)\t\t\t\t\t\t\t\t\t# opening **\n\t\t\t\t\t\t(?=\t\t\t\t\t\t\t\t\t\t\t\t# zero-width positive lookahead\n\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t <[^>]*+>\t\t\t\t\t\t# match any HTML tag\n\t\t\t\t\t\t\t | ~[\\\\*{}\\[\\]#\\|/>]?+\t\t\t\t\t# or escape characters\n\t\t\t\t\t\t\t | \\[\t\t\t\t\t\t\t\t\t\t# or literal [\n\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t (?<square>\t\t\t\t# named group\n\t\t\t\t\t\t\t\t\t\t\t[^\\[\\]~]\t\t\t\t\t# don't match these\n\t\t\t\t\t\t\t\t | ~.\t\t\t\t\t\t\t# or escaped characters\n\t\t\t\t\t\t\t\t | \\[ \\g<square>*+ \\]\t# or nested group\n\t\t\t\t\t\t\t\t )*+\n\t\t\t\t\t\t\t\t\t\\]\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t | (?!(?<=\\S)\\1).\t\t\t\t\t\t# or everything else\n\t\t\t\t\t\t\t)++\n\t\t\t\t\t\t\t(?<=\\S)\\1\t\t\t\t\t\t\t\t# closing **\n\t\t\t\t\t\t)\t\t\t\t\t\t\t\t\t\t\t\t# close positive lookahead\n\t\t\t\t\t",
236
+ "captures": {
237
+ "1": {
238
+ "name": "punctuation.definition.bold.creole"
239
+ }
240
+ },
241
+ "end": "(?<=\\S)(\\1)",
242
+ "name": "markup.bold.creole",
243
+ "patterns": [
244
+ {
245
+ "applyEndPatternLast": 1,
246
+ "begin": "(?=<[^>]*?>)",
247
+ "end": "(?<=>)",
248
+ "patterns": [
249
+ {
250
+ "include": "text.html.basic"
251
+ }
252
+ ]
253
+ },
254
+ {
255
+ "include": "#inline"
256
+ }
257
+ ]
258
+ },
259
+ "bracket": {
260
+ "comment": "matched so it's not when converted to html",
261
+ "match": "<(?![a-z/?\\$!])",
262
+ "name": "meta.other.valid-bracket.creole"
263
+ },
264
+ "escape": {
265
+ "match": "~[*#{}\\|\\[\\]\\\\/>]+",
266
+ "name": "constant.character.escape.creole"
267
+ },
268
+ "ampersand": {
269
+ "comment": "matched so it's not when converted to html",
270
+ "match": "&(?!([a-zA-Z0-9]+|#[0-9]+|#x[0-9a-fA-F]+);)",
271
+ "name": "meta.other.valid-ampersand.markdown"
272
+ },
273
+ "heading": {
274
+ "begin": "\\G(={1,6})(?!=)\\s*(?=\\S)",
275
+ "captures": {
276
+ "1": {
277
+ "name": "punctuation.definition.heading.creole"
278
+ }
279
+ },
280
+ "contentName": "entity.name.section.creole",
281
+ "end": "\\s*(=*) *$\\n?",
282
+ "name": "markup.heading.creole",
283
+ "patterns": [
284
+ {
285
+ "include": "#inline"
286
+ }
287
+ ]
288
+ },
289
+ "inline": {
290
+ "patterns": [
291
+ {
292
+ "include": "#inline_raw"
293
+ },
294
+ {
295
+ "include": "#link-inline"
296
+ },
297
+ {
298
+ "include": "#link-inet"
299
+ },
300
+ {
301
+ "include": "#link-email"
302
+ },
303
+ {
304
+ "include": "#line-break"
305
+ },
306
+ {
307
+ "include": "#image-inline"
308
+ },
309
+ {
310
+ "include": "#italic"
311
+ },
312
+ {
313
+ "include": "#bold"
314
+ },
315
+ {
316
+ "include": "#escape"
317
+ },
318
+ {
319
+ "include": "#bracket"
320
+ },
321
+ {
322
+ "include": "#ampersand"
323
+ }
324
+ ]
325
+ }
326
+ },
327
+ "scopeName": "text.html.creole",
328
+ "uuid": "16e92828-eaa9-4cde-bc6c-a166adc48304"
329
+ }
@@ -0,0 +1,52 @@
1
+ {
2
+ "fileType": [
3
+ "ecr",
4
+ "html.ecr"
5
+ ],
6
+ "injections": {
7
+ "text.html.ecr": {
8
+ "patterns": [
9
+ {
10
+ "include": "#tags"
11
+ }
12
+ ]
13
+ }
14
+ },
15
+ "name": "HTML (Crystal - ECR)",
16
+ "patterns": [
17
+ {
18
+ "include": "text.html.basic"
19
+ }
20
+ ],
21
+ "repository": {
22
+ "tags": {
23
+ "patterns": [
24
+ {
25
+ "begin": "(<%)(=)?",
26
+ "beginCaptures": {
27
+ "0": {
28
+ "name": "punctuation.section.embedded.begin.ecr"
29
+ },
30
+ "2": {
31
+ "name": "punctuation.section.embedded.return.ecr"
32
+ }
33
+ },
34
+ "contentName": "source.crystal.embedded.ecr",
35
+ "end": "%>",
36
+ "endCaptures": {
37
+ "0": {
38
+ "name": "punctuation.section.embedded.end.ecr"
39
+ }
40
+ },
41
+ "name": "meta.embedded.line.ecr",
42
+ "patterns": [
43
+ {
44
+ "include": "source.crystal"
45
+ }
46
+ ]
47
+ }
48
+ ]
49
+ }
50
+ },
51
+ "scopeName": "text.html.ecr"
52
+ }
@@ -49,7 +49,7 @@
49
49
  "name": "meta.tag.preprocessor.xml.html",
50
50
  "patterns": [
51
51
  {
52
- "include": "#tag-generic-attribute"
52
+ "include": "#tag_generic_attribute"
53
53
  },
54
54
  {
55
55
  "include": "#string"
@@ -27,6 +27,21 @@
27
27
  }
28
28
  ]
29
29
  },
30
+ {
31
+ "begin": "(<%!\\s)",
32
+ "captures": {
33
+ "1": {
34
+ "name": "keyword.control"
35
+ }
36
+ },
37
+ "end": "(%>)",
38
+ "name": "source.mako.substitution",
39
+ "patterns": [
40
+ {
41
+ "include": "source.python"
42
+ }
43
+ ]
44
+ },
30
45
  {
31
46
  "begin": "(<%(text)>)",
32
47
  "captures": {
@@ -306,7 +321,7 @@
306
321
  ]
307
322
  },
308
323
  {
309
- "begin": "(<%([a-zA-Z:_]+))",
324
+ "begin": "(<%([a-zA-Z0-9:_]+))",
310
325
  "captures": {
311
326
  "1": {
312
327
  "name": "keyword.control"
@@ -350,7 +365,7 @@
350
365
  "name": "keyword.control"
351
366
  }
352
367
  },
353
- "end": "(?=</%[a-zA-Z:_]+>)",
368
+ "end": "(?=</%[a-zA-Z0-9:_]+>)",
354
369
  "patterns": [
355
370
  {
356
371
  "include": "$self"
@@ -227,6 +227,41 @@
227
227
  }
228
228
  ]
229
229
  },
230
+ {
231
+ "begin": "(?:^\\s+)?(<)((?i:style))\\b(?=[^>]*lang=\"postcss(?:\\?[^\"]*)?\")",
232
+ "captures": {
233
+ "1": {
234
+ "name": "punctuation.definition.tag.begin.html"
235
+ },
236
+ "2": {
237
+ "name": "entity.name.tag.style.html"
238
+ },
239
+ "3": {
240
+ "name": "punctuation.definition.tag.html"
241
+ }
242
+ },
243
+ "end": "(</)((?i:style))(>)(?:\\s*\\n)?",
244
+ "name": "source.postcss.embedded.html",
245
+ "patterns": [
246
+ {
247
+ "include": "#tag-stuff"
248
+ },
249
+ {
250
+ "begin": "(>)",
251
+ "beginCaptures": {
252
+ "1": {
253
+ "name": "punctuation.definition.tag.end.html"
254
+ }
255
+ },
256
+ "end": "(?=</(?i:style))",
257
+ "patterns": [
258
+ {
259
+ "include": "source.postcss"
260
+ }
261
+ ]
262
+ }
263
+ ]
264
+ },
230
265
  {
231
266
  "begin": "(?:^\\s+)?(<)((?i:style))\\b(?=[^>]*lang=\"(?:s(a|c)ss)(?:\\?[^\"]*)?\")",
232
267
  "captures": {
@@ -373,7 +408,7 @@
373
408
  ]
374
409
  },
375
410
  {
376
- "begin": "(?:^\\s+)?(<)((?i:script))\\b(?![^>]*/>)",
411
+ "begin": "(<)((?i:script))\\b(?![^>]*/>)(?![^>]*(?i:type.?=.?text/((?!javascript).*)))",
377
412
  "beginCaptures": {
378
413
  "1": {
379
414
  "name": "punctuation.definition.tag.begin.html"