github-linguist 5.2.0 → 5.3.0

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 (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
  }