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
@@ -21,10 +21,6 @@
21
21
  "patterns": [
22
22
  {
23
23
  "include": "#core_syntax"
24
- },
25
- {
26
- "match": "\\b[a-z_]\\w*(?!\\()\\b",
27
- "name": "variable.parameter.function.anonymous.elixir"
28
24
  }
29
25
  ]
30
26
  },
@@ -50,10 +46,6 @@
50
46
  "patterns": [
51
47
  {
52
48
  "include": "#core_syntax"
53
- },
54
- {
55
- "match": "\\b[a-z_]\\w*(?!\\()\\b",
56
- "name": "variable.parameter.function.anonymous.elixir"
57
49
  }
58
50
  ]
59
51
  },
@@ -82,10 +74,6 @@
82
74
  "patterns": [
83
75
  {
84
76
  "include": "#core_syntax"
85
- },
86
- {
87
- "match": "\\b[a-z_]\\w*(?!\\()\\b",
88
- "name": "variable.parameter.function.anonymous.elixir"
89
77
  }
90
78
  ]
91
79
  }
@@ -197,30 +185,9 @@
197
185
  }
198
186
  ]
199
187
  },
200
- {
201
- "begin": "(\\b[a-z_]\\w*)(\\\\\\\\)",
202
- "beginCaptures": {
203
- "1": {
204
- "name": "variable.parameter.function.public.elixir"
205
- },
206
- "2": {
207
- "name": "keyword.operator.other.elixir"
208
- }
209
- },
210
- "end": ",|$",
211
- "patterns": [
212
- {
213
- "include": "$self"
214
- }
215
- ]
216
- },
217
188
  {
218
189
  "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",
219
190
  "name": "keyword.control.elixir"
220
- },
221
- {
222
- "match": "\\b[a-z_]\\w*\\b",
223
- "name": "variable.parameter.function.public.elixir"
224
191
  }
225
192
  ]
226
193
  },
@@ -265,30 +232,9 @@
265
232
  }
266
233
  ]
267
234
  },
268
- {
269
- "begin": "(\\b[a-z_]\\w*)(\\\\\\\\)",
270
- "beginCaptures": {
271
- "1": {
272
- "name": "variable.parameter.function.private.elixir"
273
- },
274
- "2": {
275
- "name": "keyword.operator.other.elixir"
276
- }
277
- },
278
- "end": ",|$",
279
- "patterns": [
280
- {
281
- "include": "$self"
282
- }
283
- ]
284
- },
285
235
  {
286
236
  "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",
287
237
  "name": "keyword.control.elixir"
288
- },
289
- {
290
- "match": "\\b[a-z_]\\w*\\b",
291
- "name": "variable.parameter.function.private.elixir"
292
238
  }
293
239
  ]
294
240
  },
@@ -381,7 +327,7 @@
381
327
  },
382
328
  {
383
329
  "comment": " as above, just doesn't need a 'end' and does a logic operation",
384
- "match": "(?<!\\.)\\b(and|not|or|when|xor|in|inlist|inbits)\\b",
330
+ "match": "(?<!\\.)\\b(and|not|or|when|xor|in)\\b",
385
331
  "name": "keyword.operator.elixir"
386
332
  },
387
333
  {
@@ -809,7 +755,7 @@
809
755
  }
810
756
  },
811
757
  "comment": "symbols",
812
- "match": "(?<!:)(:)(?>[a-zA-Z_][\\w@]*(?>[?!]|=(?![>=]))?|\\<\\>|===?|!==?|<<>>|<<<|>>>|~~~|::|<\\-|\\|>|=>|~|~=|=|/|\\\\\\\\|\\*\\*?|\\.\\.?\\.?|>=?|<=?|&&?&?|\\+\\+?|\\-\\-?|\\|\\|?\\|?|\\!|@|\\%?\\{\\}|%|\\[\\]|\\^(\\^\\^)?)",
758
+ "match": "(?<!:)(:)(?>[a-zA-Z_][\\w@]*(?>[?!]|=(?![>=]))?|\\<\\>|===?|!==?|<<>>|<<<|>>>|~~~|::|<\\-|\\|>|=>|=~|=|/|\\\\\\\\|\\*\\*?|\\.\\.?\\.?|>=?|<=?|&&?&?|\\+\\+?|\\-\\-?|\\|\\|?\\|?|\\!|@|\\%?\\{\\}|%|\\[\\]|\\^(\\^\\^)?)",
813
759
  "name": "constant.other.symbol.elixir"
814
760
  },
815
761
  {
@@ -845,10 +791,6 @@
845
791
  "match": "(?<!\\w)\\?(\\\\(x[0-9A-Fa-f]{1,2}(?![0-9A-Fa-f])\\b|[^xMC])|[^\\s\\\\])",
846
792
  "name": "constant.numeric.elixir"
847
793
  },
848
- {
849
- "match": "\\+=|\\-=|\\|\\|=|~=|&&=",
850
- "name": "keyword.operator.assignment.augmented.elixir"
851
- },
852
794
  {
853
795
  "match": "===?|!==?|<=?|>=?",
854
796
  "name": "keyword.operator.comparison.elixir"
@@ -866,7 +808,7 @@
866
808
  "name": "keyword.operator.arithmetic.elixir"
867
809
  },
868
810
  {
869
- "match": "\\||\\+\\+|\\-\\-|\\*\\*|\\\\\\\\|\\<\\-|\\<\\>|\\<\\<|\\>\\>|\\:\\:|\\.\\.|\\|>|~|=>",
811
+ "match": "\\||\\+\\+|\\-\\-|\\*\\*|\\\\\\\\|\\<\\-|\\<\\>|\\<\\<|\\>\\>|\\:\\:|\\.\\.|\\|>|~|=>|&",
870
812
  "name": "keyword.operator.other.elixir"
871
813
  },
872
814
  {
@@ -1,10 +1,14 @@
1
1
  {
2
+ "name": "Elm",
3
+ "scopeName": "source.elm",
2
4
  "fileTypes": [
3
5
  "elm"
4
6
  ],
5
- "name": "Elm",
7
+ "uuid": "2cb90e5e-6e98-456d-9a8a-b59935dbc4b0",
6
8
  "patterns": [
7
9
  {
10
+ "name": "keyword.operator.function.infix.elm",
11
+ "match": "(`)[a-zA-Z_']*?(`)",
8
12
  "captures": {
9
13
  "1": {
10
14
  "name": "punctuation.definition.entity.elm"
@@ -12,15 +16,14 @@
12
16
  "2": {
13
17
  "name": "punctuation.definition.entity.elm"
14
18
  }
15
- },
16
- "match": "(`)[a-zA-Z_']*?(`)",
17
- "name": "keyword.operator.function.infix.elm"
19
+ }
18
20
  },
19
21
  {
20
- "match": "\\(\\)",
21
- "name": "constant.language.unit.elm"
22
+ "name": "constant.language.unit.elm",
23
+ "match": "\\(\\)"
22
24
  },
23
25
  {
26
+ "name": "meta.declaration.module.elm",
24
27
  "begin": "^\\b((effect|port)\\s+)?(module)\\s+",
25
28
  "beginCaptures": {
26
29
  "1": {
@@ -36,7 +39,6 @@
36
39
  "name": "keyword.other.elm"
37
40
  }
38
41
  },
39
- "name": "meta.declaration.module.elm",
40
42
  "patterns": [
41
43
  {
42
44
  "include": "#module_name"
@@ -56,23 +58,24 @@
56
58
  ]
57
59
  },
58
60
  {
59
- "match": "(exposing)",
60
- "name": "keyword.other.elm"
61
+ "name": "keyword.other.elm",
62
+ "match": "(exposing)"
61
63
  },
62
64
  {
63
65
  "include": "#module_exports"
64
66
  },
65
67
  {
66
- "match": "(where)",
67
- "name": "keyword.other.elm"
68
+ "name": "keyword.other.elm",
69
+ "match": "(where)"
68
70
  },
69
71
  {
70
- "match": "[a-z]+",
71
- "name": "invalid"
72
+ "name": "invalid",
73
+ "match": "[a-z]+"
72
74
  }
73
75
  ]
74
76
  },
75
77
  {
78
+ "name": "meta.import.elm",
76
79
  "begin": "^\\b(import)\\s+((open)\\s+)?",
77
80
  "beginCaptures": {
78
81
  "1": {
@@ -83,11 +86,10 @@
83
86
  }
84
87
  },
85
88
  "end": "($|;)",
86
- "name": "meta.import.elm",
87
89
  "patterns": [
88
90
  {
89
- "match": "(as|exposing)",
90
- "name": "keyword.import.elm"
91
+ "name": "keyword.import.elm",
92
+ "match": "(as|exposing)"
91
93
  },
92
94
  {
93
95
  "include": "#module_name"
@@ -98,6 +100,7 @@
98
100
  ]
99
101
  },
100
102
  {
103
+ "name": "entity.glsl.elm",
101
104
  "begin": "(\\[)(glsl)(\\|)",
102
105
  "beginCaptures": {
103
106
  "1": {
@@ -116,7 +119,6 @@
116
119
  "name": "keyword.other.elm"
117
120
  }
118
121
  },
119
- "name": "entity.glsl.elm",
120
122
  "patterns": [
121
123
  {
122
124
  "include": "source.glsl"
@@ -124,23 +126,24 @@
124
126
  ]
125
127
  },
126
128
  {
127
- "match": "\\b(type alias|type|case|of|let|in|as)\\s+",
128
- "name": "keyword.other.elm"
129
+ "name": "keyword.other.elm",
130
+ "match": "\\b(type alias|type|case|of|let|in|as)\\s+"
129
131
  },
130
132
  {
131
- "match": "\\b(if|then|else)\\s+",
132
- "name": "keyword.control.elm"
133
+ "name": "keyword.control.elm",
134
+ "match": "\\b(if|then|else)\\s+"
133
135
  },
134
136
  {
135
137
  "comment": "Floats are always decimal",
136
- "match": "\\b([0-9]+\\.[0-9]+([eE][+-]?[0-9]+)?|[0-9]+[eE][+-]?[0-9]+)\\b",
137
- "name": "constant.numeric.float.elm"
138
+ "name": "constant.numeric.float.elm",
139
+ "match": "\\b([0-9]+\\.[0-9]+([eE][+-]?[0-9]+)?|[0-9]+[eE][+-]?[0-9]+)\\b"
138
140
  },
139
141
  {
140
- "match": "\\b([0-9]+)\\b",
141
- "name": "constant.numeric.elm"
142
+ "name": "constant.numeric.elm",
143
+ "match": "\\b([0-9]+)\\b"
142
144
  },
143
145
  {
146
+ "name": "string.quoted.double.elm",
144
147
  "begin": "\"\"\"",
145
148
  "beginCaptures": {
146
149
  "0": {
@@ -153,19 +156,19 @@
153
156
  "name": "punctuation.definition.string.end.elm"
154
157
  }
155
158
  },
156
- "name": "string.quoted.double.elm",
157
159
  "patterns": [
158
160
  {
159
- "match": "\\\\(NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|[abfnrtv\\\\'\\&])",
160
- "name": "constant.character.escape.elm"
161
+ "name": "constant.character.escape.elm",
162
+ "match": "\\\\(NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|[abfnrtv\\\\'\\&])"
161
163
  },
162
164
  {
163
- "match": "\\^[A-Z@\\[\\]\\\\\\^_]",
164
- "name": "constant.character.escape.control.elm"
165
+ "name": "constant.character.escape.control.elm",
166
+ "match": "\\^[A-Z@\\[\\]\\\\\\^_]"
165
167
  }
166
168
  ]
167
169
  },
168
170
  {
171
+ "name": "string.quoted.double.elm",
169
172
  "begin": "\"",
170
173
  "beginCaptures": {
171
174
  "0": {
@@ -178,19 +181,20 @@
178
181
  "name": "punctuation.definition.string.end.elm"
179
182
  }
180
183
  },
181
- "name": "string.quoted.double.elm",
182
184
  "patterns": [
183
185
  {
184
- "match": "\\\\(NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|[abfnrtv\\\\\\\"'\\&])",
185
- "name": "constant.character.escape.elm"
186
+ "name": "constant.character.escape.elm",
187
+ "match": "\\\\(NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|[abfnrtv\\\\\\\"'\\&])"
186
188
  },
187
189
  {
188
- "match": "\\^[A-Z@\\[\\]\\\\\\^_]",
189
- "name": "constant.character.escape.control.elm"
190
+ "name": "constant.character.escape.control.elm",
191
+ "match": "\\^[A-Z@\\[\\]\\\\\\^_]"
190
192
  }
191
193
  ]
192
194
  },
193
195
  {
196
+ "name": "string.quoted.single.elm",
197
+ "match": "(?x)\n(')\n(?:\n\t[\\ -\\[\\]-~]\t\t\t\t\t\t\t\t# Basic Char\n | (\\\\(?:NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE\n\t\t|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS\n\t\t|US|SP|DEL|[abfnrtv\\\\\\\"'\\&]))\t\t# Escapes\n | (\\^[A-Z@\\[\\]\\\\\\^_])\t\t\t\t\t\t# Control Chars\n)\n(')",
194
198
  "captures": {
195
199
  "1": {
196
200
  "name": "punctuation.definition.string.begin.elm"
@@ -201,11 +205,10 @@
201
205
  "3": {
202
206
  "name": "punctuation.definition.string.end.elm"
203
207
  }
204
- },
205
- "match": "(?x)\n(')\n(?:\n\t[\\ -\\[\\]-~]\t\t\t\t\t\t\t\t# Basic Char\n | (\\\\(?:NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE\n\t\t|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS\n\t\t|US|SP|DEL|[abfnrtv\\\\\\\"'\\&]))\t\t# Escapes\n | (\\^[A-Z@\\[\\]\\\\\\^_])\t\t\t\t\t\t# Control Chars\n)\n(')",
206
- "name": "string.quoted.single.elm"
208
+ }
207
209
  },
208
210
  {
211
+ "name": "meta.function.type-declaration.elm",
209
212
  "begin": "^(port\\s+)?([a-z_][a-zA-Z0-9_']*|\\([|!%$+\\-.,=</>]+\\))\\s*((:)([:]+)?)",
210
213
  "beginCaptures": {
211
214
  "1": {
@@ -222,7 +225,6 @@
222
225
  }
223
226
  },
224
227
  "end": "$\\n?",
225
- "name": "meta.function.type-declaration.elm",
226
228
  "patterns": [
227
229
  {
228
230
  "include": "#type_signature"
@@ -230,68 +232,68 @@
230
232
  ]
231
233
  },
232
234
  {
233
- "match": "\\bport\\s+",
234
- "name": "keyword.other.port.elm"
235
+ "name": "keyword.other.port.elm",
236
+ "match": "\\bport\\s+"
235
237
  },
236
238
  {
237
- "match": "\\b[A-Z]\\w*\\b",
238
- "name": "constant.other.elm"
239
+ "name": "constant.other.elm",
240
+ "match": "\\b[A-Z]\\w*\\b"
239
241
  },
240
242
  {
241
243
  "include": "#comments"
242
244
  },
243
245
  {
244
- "match": "^[a-z][A-Za-z0-9_']*\\s+",
245
- "name": "entity.name.function.elm"
246
+ "name": "entity.name.function.elm",
247
+ "match": "^[a-z][A-Za-z0-9_']*\\s+"
246
248
  },
247
249
  {
248
250
  "include": "#infix_op"
249
251
  },
250
252
  {
251
- "match": "[|!%$?~+:\\-.=</>&\\\\*^]+",
252
- "name": "keyword.operator.elm"
253
+ "name": "keyword.operator.elm",
254
+ "match": "[|!%$?~+:\\-.=</>&\\\\*^]+"
253
255
  },
254
256
  {
257
+ "name": "constant.language.delimiter.elm",
258
+ "match": "([\\[\\]\\{\\},])",
255
259
  "captures": {
256
260
  "1": {
257
261
  "name": "support.function.delimiter.elm"
258
262
  }
259
- },
260
- "match": "([\\[\\]\\{\\},])",
261
- "name": "constant.language.delimiter.elm"
263
+ }
262
264
  },
263
265
  {
264
- "match": "([\\(\\)])",
265
- "name": "keyword.other.parenthesis.elm"
266
+ "name": "keyword.other.parenthesis.elm",
267
+ "match": "([\\(\\)])"
266
268
  }
267
269
  ],
268
270
  "repository": {
269
271
  "block_comment": {
270
- "applyEndPatternLast": 1,
272
+ "name": "comment.block.elm",
271
273
  "begin": "\\{-(?!#)",
274
+ "end": "-\\}",
272
275
  "captures": {
273
276
  "0": {
274
277
  "name": "punctuation.definition.comment.elm"
275
278
  }
276
279
  },
277
- "end": "-\\}",
278
- "name": "comment.block.elm",
279
280
  "patterns": [
280
281
  {
281
282
  "include": "#block_comment"
282
283
  }
283
- ]
284
+ ],
285
+ "applyEndPatternLast": 1
284
286
  },
285
287
  "comments": {
286
288
  "patterns": [
287
289
  {
290
+ "name": "comment.line.double-dash.elm",
291
+ "match": "(--).*$\\n?",
288
292
  "captures": {
289
293
  "1": {
290
294
  "name": "punctuation.definition.comment.elm"
291
295
  }
292
- },
293
- "match": "(--).*$\\n?",
294
- "name": "comment.line.double-dash.elm"
296
+ }
295
297
  },
296
298
  {
297
299
  "include": "#block_comment"
@@ -299,43 +301,45 @@
299
301
  ]
300
302
  },
301
303
  "infix_op": {
302
- "match": "(\\([|!%$+:\\-.=</>]+\\)|\\(,+\\))",
303
- "name": "entity.name.function.infix.elm"
304
+ "name": "entity.name.function.infix.elm",
305
+ "match": "(\\([|!%$+:\\-.=</>]+\\)|\\(,+\\))"
304
306
  },
305
307
  "module_exports": {
308
+ "name": "meta.declaration.exports.elm",
306
309
  "begin": "\\(",
307
310
  "end": "\\)",
308
- "name": "meta.declaration.exports.elm",
309
311
  "patterns": [
310
312
  {
311
- "match": "\\b[a-z][a-zA-Z_'0-9]*",
312
- "name": "entity.name.function.elm"
313
+ "name": "entity.name.function.elm",
314
+ "match": "\\b[a-z][a-zA-Z_'0-9]*"
313
315
  },
314
316
  {
315
- "match": "\\b[A-Z][A-Za-z_'0-9]*",
316
- "name": "storage.type.elm"
317
+ "name": "storage.type.elm",
318
+ "match": "\\b[A-Z][A-Za-z_'0-9]*"
317
319
  },
318
320
  {
319
- "match": ",",
320
- "name": "punctuation.separator.comma.elm"
321
+ "name": "punctuation.separator.comma.elm",
322
+ "match": ","
321
323
  },
322
324
  {
323
325
  "include": "#infix_op"
324
326
  },
325
327
  {
326
328
  "comment": "So named because I don't know what to call this.",
327
- "match": "\\(.*?\\)",
328
- "name": "meta.other.unknown.elm"
329
+ "name": "meta.other.unknown.elm",
330
+ "match": "\\(.*?\\)"
329
331
  }
330
332
  ]
331
333
  },
332
334
  "module_name": {
333
- "match": "[A-Z][A-Za-z._']*",
334
- "name": "support.other.module.elm"
335
+ "name": "support.other.module.elm",
336
+ "match": "[A-Z][A-Za-z._']*"
335
337
  },
336
338
  "type_signature": {
337
339
  "patterns": [
338
340
  {
341
+ "name": "meta.class-constraint.elm",
342
+ "match": "\\(\\s*([A-Z][A-Za-z]*)\\s+([a-z][A-Za-z_']*)\\)\\s*(=>)",
339
343
  "captures": {
340
344
  "1": {
341
345
  "name": "entity.other.inherited-class.elm"
@@ -346,36 +350,32 @@
346
350
  "3": {
347
351
  "name": "keyword.other.big-arrow.elm"
348
352
  }
349
- },
350
- "match": "\\(\\s*([A-Z][A-Za-z]*)\\s+([a-z][A-Za-z_']*)\\)\\s*(=>)",
351
- "name": "meta.class-constraint.elm"
353
+ }
352
354
  },
353
355
  {
354
- "match": "->",
355
- "name": "keyword.other.arrow.elm"
356
+ "name": "keyword.other.arrow.elm",
357
+ "match": "->"
356
358
  },
357
359
  {
358
- "match": "=>",
359
- "name": "keyword.other.big-arrow.elm"
360
+ "name": "keyword.other.big-arrow.elm",
361
+ "match": "=>"
360
362
  },
361
363
  {
362
- "match": "\\b[a-z][a-zA-Z0-9_']*\\b",
363
- "name": "variable.other.generic-type.elm"
364
+ "name": "variable.other.generic-type.elm",
365
+ "match": "\\b[a-z][a-zA-Z0-9_']*\\b"
364
366
  },
365
367
  {
366
- "match": "\\b[A-Z][a-zA-Z0-9_']*\\b",
367
- "name": "storage.type.elm"
368
+ "name": "storage.type.elm",
369
+ "match": "\\b[A-Z][a-zA-Z0-9_']*\\b"
368
370
  },
369
371
  {
370
- "match": "\\(\\)",
371
- "name": "support.constant.unit.elm"
372
+ "name": "support.constant.unit.elm",
373
+ "match": "\\(\\)"
372
374
  },
373
375
  {
374
376
  "include": "#comments"
375
377
  }
376
378
  ]
377
379
  }
378
- },
379
- "scopeName": "source.elm",
380
- "uuid": "2cb90e5e-6e98-456d-9a8a-b59935dbc4b0"
380
+ }
381
381
  }