github-linguist 4.8.9 → 4.8.10

Sign up to get free protection for your applications and to get access to all the features.
Files changed (44) hide show
  1. checksums.yaml +4 -4
  2. data/bin/git-linguist +2 -2
  3. data/grammars/source.ats.json +58 -128
  4. data/grammars/source.autoit.json +158 -153
  5. data/grammars/source.awk.json +333 -383
  6. data/grammars/source.batchfile.json +194 -0
  7. data/grammars/source.c.platform.json +359 -22
  8. data/grammars/source.changelogs.rpm-spec.json +99 -0
  9. data/grammars/source.clojure.json +9 -3
  10. data/grammars/source.dockerfile.json +67 -78
  11. data/grammars/source.elm.json +20 -379
  12. data/grammars/source.emacs.lisp.json +656 -0
  13. data/grammars/source.gdscript.json +233 -228
  14. data/grammars/source.graphql.json +75 -10
  15. data/grammars/source.js.json +2 -2
  16. data/grammars/source.js.jsx.json +247 -839
  17. data/grammars/source.js.regexp.json +1 -1
  18. data/grammars/source.nginx.json +882 -768
  19. data/grammars/source.nsis.json +151 -143
  20. data/grammars/source.objc.json +3 -0
  21. data/grammars/source.objc.platform.json +174 -104
  22. data/grammars/source.puppet.json +429 -396
  23. data/grammars/source.pyjade.json +11 -0
  24. data/grammars/source.regexp.babel.json +1 -1
  25. data/grammars/source.rpm-spec.json +770 -0
  26. data/grammars/source.systemverilog.json +1110 -961
  27. data/grammars/source.ts.json +57 -57
  28. data/grammars/source.tsx.json +57 -57
  29. data/grammars/text.dart-analysis-output.json +67 -152
  30. data/grammars/text.error-list.json +54 -0
  31. data/grammars/text.find-refs.json +927 -0
  32. data/grammars/text.html.basic.json +1 -1
  33. data/grammars/text.html.mediawiki.elm-build-output.json +108 -0
  34. data/grammars/text.html.mediawiki.elm-documentation.json +22 -0
  35. data/grammars/text.html.vue.json +35 -0
  36. data/grammars/text.jade.json +34 -12
  37. data/grammars/text.roff.json +1 -1
  38. data/lib/linguist/heuristics.rb +16 -4
  39. data/lib/linguist/languages.json +1 -1
  40. data/lib/linguist/languages.yml +25 -5
  41. data/lib/linguist/samples.json +1367 -163
  42. data/lib/linguist/version.rb +1 -1
  43. metadata +10 -3
  44. data/grammars/source.dosbatch.json +0 -70
@@ -1,440 +1,473 @@
1
1
  {
2
- "fileTypes": [
2
+ "name": "Puppet",
3
+ "file_extensions": [
3
4
  "pp"
4
5
  ],
5
- "foldingStartMarker": "(^\\s*/\\*|(\\{|\\[|\\()\\s*$)",
6
- "foldingStopMarker": "(\\*/|^\\s*(\\}|\\]|\\)))",
7
- "keyEquivalent": "^~P",
8
- "name": "Puppet",
9
- "patterns": [
10
- {
11
- "include": "#line_comment"
12
- },
13
- {
14
- "begin": "^\\s*/\\*",
15
- "end": "\\*/",
16
- "name": "comment.block.puppet"
17
- },
18
- {
19
- "begin": "(?x)^\\s*\n\t\t\t\t\t(node|class)\\s+\n\t\t\t\t\t((?:[-_A-Za-z0-9\".]+::)*[-_A-Za-z0-9\".]+)\\s* # identifier",
20
- "captures": {
21
- "1": {
22
- "name": "storage.type.puppet"
23
- },
24
- "2": {
25
- "name": "entity.name.type.class.puppet"
26
- }
6
+ "scope": "source.puppet",
7
+ "contexts": {
8
+ "main": [
9
+ {
10
+ "include": "line_comment"
27
11
  },
28
- "end": "(?={)",
29
- "name": "meta.definition.class.puppet",
30
- "patterns": [
31
- {
32
- "include": "#variables"
33
- },
34
- {
35
- "include": "#constants"
36
- },
37
- {
38
- "include": "#strings"
39
- },
40
- {
41
- "include": "#numbers"
42
- },
43
- {
44
- "begin": "\\b(inherits)\\b\\s+",
45
- "captures": {
46
- "1": {
47
- "name": "storage.modifier.puppet"
48
- }
12
+ {
13
+ "match": "^\\s*/\\*",
14
+ "push": [
15
+ {
16
+ "meta_scope": "comment.block.puppet"
49
17
  },
50
- "end": "(?={)",
51
- "name": "meta.definition.class.inherits.puppet",
52
- "patterns": [
53
- {
54
- "match": "\\b((?:[-_A-Za-z0-9\".]+::)*[-_A-Za-z0-9\".]+)\\b",
55
- "name": "support.type.puppet"
56
- }
57
- ]
58
- }
59
- ]
60
- },
61
- {
62
- "begin": "^\\s*(define)\\s+([a-zA-Z0-9_:]+)\\s*(\\()",
63
- "beginCaptures": {
64
- "1": {
65
- "name": "storage.type.function.puppet"
66
- },
67
- "2": {
68
- "name": "entity.name.function.puppet"
69
- },
70
- "3": {
71
- "name": "punctuation.definition.parameters.begin.puppet"
72
- }
18
+ {
19
+ "match": "\\*/",
20
+ "pop": true
21
+ }
22
+ ]
73
23
  },
74
- "contentName": "meta.function.arguments.puppet",
75
- "end": "\\)",
76
- "endCaptures": {
77
- "1": {
78
- "name": "punctuation.definition.parameters.end.puppet"
79
- }
80
- },
81
- "name": "meta.function.puppet",
82
- "patterns": [
83
- {
84
- "captures": {
85
- "1": {
86
- "name": "variable.other.puppet"
24
+ {
25
+ "match": "(?x)^\\s*\n(node|class)\\s+\n((?:[-_A-Za-z0-9\".]+::)*[-_A-Za-z0-9\".]+)\\s* # identifier",
26
+ "captures": {
27
+ "1": "storage.type.puppet",
28
+ "2": "entity.name.type.class.puppet"
29
+ },
30
+ "push": [
31
+ {
32
+ "meta_scope": "meta.definition.class.puppet"
33
+ },
34
+ {
35
+ "match": "(?={)",
36
+ "captures": {
37
+ "1": "storage.type.puppet",
38
+ "2": "entity.name.type.class.puppet"
87
39
  },
88
- "2": {
89
- "name": "punctuation.definition.variable.puppet"
90
- }
40
+ "pop": true
91
41
  },
92
- "match": "((\\$+)[a-zA-Z_\\x{7f}-\\x{ff}][a-zA-Z0-9_\\x{7f}-\\x{ff}]*)\\s*(?=,|\\))",
93
- "name": "meta.function.argument.no-default.puppet"
94
- },
95
- {
96
- "begin": "((\\$+)[a-zA-Z_\\x{7f}-\\x{ff}][a-zA-Z0-9_\\x{7f}-\\x{ff}]*)(?:\\s*(=)\\s*)\\s*",
97
- "captures": {
98
- "1": {
99
- "name": "variable.other.puppet"
42
+ {
43
+ "include": "constants"
44
+ },
45
+ {
46
+ "include": "strings"
47
+ },
48
+ {
49
+ "match": "\\b(inherits)\\b\\s+",
50
+ "captures": {
51
+ "1": "storage.modifier.puppet"
100
52
  },
101
- "2": {
102
- "name": "punctuation.definition.variable.puppet"
53
+ "push": [
54
+ {
55
+ "meta_scope": "meta.definition.class.inherits.puppet"
56
+ },
57
+ {
58
+ "match": "(?={)",
59
+ "captures": {
60
+ "1": "storage.modifier.puppet"
61
+ },
62
+ "pop": true
63
+ },
64
+ {
65
+ "match": "\\b((?:[-_A-Za-z0-9\".]+::)*[-_A-Za-z0-9\".]+)\\b",
66
+ "scope": "support.type.puppet"
67
+ }
68
+ ]
69
+ }
70
+ ]
71
+ },
72
+ {
73
+ "match": "^\\s*(define)\\s+([a-zA-Z0-9_:]+)\\s*(\\()",
74
+ "captures": {
75
+ "1": "storage.type.function.puppet",
76
+ "2": "entity.name.function.puppet",
77
+ "3": "punctuation.definition.parameters.begin.puppet"
78
+ },
79
+ "push": [
80
+ {
81
+ "meta_scope": "meta.function.puppet"
82
+ },
83
+ {
84
+ "meta_content_scope": "meta.function.arguments.puppet"
85
+ },
86
+ {
87
+ "match": "\\)",
88
+ "captures": {
89
+ "1": "punctuation.definition.parameters.end.puppet"
103
90
  },
104
- "3": {
105
- "name": "keyword.operator.assignment.puppet"
106
- }
91
+ "pop": true
107
92
  },
108
- "end": "(?=,|\\))",
109
- "name": "meta.function.argument.default.puppet",
110
- "patterns": [
111
- {
112
- "include": "#parameter-default-types"
93
+ {
94
+ "match": "((\\$+)[a-zA-Z_\\x{7f}-\\x{ff}][a-zA-Z0-9_\\x{7f}-\\x{ff}]*)\\s*(?=,|\\))",
95
+ "scope": "meta.function.argument.no-default.puppet",
96
+ "captures": {
97
+ "1": "variable.other.puppet",
98
+ "2": "punctuation.definition.variable.puppet"
113
99
  }
114
- ]
115
- }
116
- ]
117
- },
118
- {
119
- "captures": {
120
- "1": {
121
- "name": "storage.type.puppet"
122
- },
123
- "2": {
124
- "name": "entity.name.section.puppet"
125
- }
100
+ },
101
+ {
102
+ "match": "((\\$+)[a-zA-Z_\\x{7f}-\\x{ff}][a-zA-Z0-9_\\x{7f}-\\x{ff}]*)(?:\\s*(=)\\s*)\\s*",
103
+ "captures": {
104
+ "1": "variable.other.puppet",
105
+ "2": "punctuation.definition.variable.puppet",
106
+ "3": "keyword.operator.assignment.puppet"
107
+ },
108
+ "push": [
109
+ {
110
+ "meta_scope": "meta.function.argument.default.puppet"
111
+ },
112
+ {
113
+ "match": "(?=,|\\))",
114
+ "captures": {
115
+ "1": "variable.other.puppet",
116
+ "2": "punctuation.definition.variable.puppet",
117
+ "3": "keyword.operator.assignment.puppet"
118
+ },
119
+ "pop": true
120
+ },
121
+ {
122
+ "include": "parameter-default-types"
123
+ }
124
+ ]
125
+ }
126
+ ]
126
127
  },
127
- "match": "^\\s*(\\w+)\\s*{\\s*(['\"].+['\"]):",
128
- "name": "meta.definition.resource.puppet"
129
- },
130
- {
131
- "match": "\\b(case|if|unless|else|elsif)(?!::)",
132
- "name": "keyword.control.puppet"
133
- },
134
- {
135
- "match": "((\\$?)\"?[a-zA-Z_\\x{7f}-\\x{ff}][a-zA-Z0-9_\\x{7f}-\\x{ff}]*\"?):(?=\\s+|$)",
136
- "name": "entity.name.section.puppet"
137
- },
138
- {
139
- "include": "#strings"
140
- },
141
- {
142
- "include": "#variable"
143
- },
144
- {
145
- "include": "#constants"
146
- },
147
- {
148
- "begin": "(?i)\\b(import|include)\\b\\s*",
149
- "beginCaptures": {
150
- "1": {
151
- "name": "keyword.control.import.include.puppet"
128
+ {
129
+ "match": "^\\s*(\\w+)\\s*{\\s*(\\$[a-zA-Z_]+)\\s*:",
130
+ "scope": "meta.definition.resource.puppet",
131
+ "captures": {
132
+ "1": "storage.type.puppet",
133
+ "2": "entity.name.section.puppet"
152
134
  }
153
135
  },
154
- "end": "(?=\\s|$)",
155
- "name": "meta.include.puppet"
156
- },
157
- {
158
- "match": "\\b\\w+\\s*(?==>)\\s*",
159
- "name": "constant.other.key.puppet"
160
- },
161
- {
162
- "match": "(?<={)\\s*\\w+\\s*(?=})",
163
- "name": "constant.other.bareword.puppet"
164
- },
165
- {
166
- "match": "\\b(escape|gsub|alert|crit|debug|notice|defined|emerg|err|failed|file|generate|include|info|realize|search|tag|tagged|template|warning)\\b",
167
- "name": "support.function.puppet"
168
- }
169
- ],
170
- "repository": {
171
- "constants": {
172
- "patterns": [
173
- {
174
- "match": "(?i)\\b(false|true|running|undef|present|absent|file|directory)\\b",
175
- "name": "constant.language.puppet"
176
- }
177
- ]
178
- },
179
- "double-quoted-string": {
180
- "begin": "\"",
181
- "beginCaptures": {
182
- "0": {
183
- "name": "punctuation.definition.string.begin.puppet"
136
+ {
137
+ "match": "^\\s*(\\w+)\\s*{\\s*(['\"].+['\"])\\s*:",
138
+ "scope": "meta.definition.resource.puppet",
139
+ "captures": {
140
+ "1": "storage.type.puppet",
141
+ "2": "entity.name.section.puppet"
184
142
  }
185
143
  },
186
- "end": "\"",
187
- "endCaptures": {
188
- "0": {
189
- "name": "punctuation.definition.string.end.puppet"
190
- }
144
+ {
145
+ "match": "\\b(case|if|unless|else|elsif)\\s+(?!::)",
146
+ "scope": "keyword.control.puppet"
191
147
  },
192
- "name": "string.quoted.double.puppet",
193
- "patterns": [
194
- {
195
- "include": "#escaped_char"
196
- },
197
- {
198
- "include": "#variable"
199
- }
200
- ]
201
- },
202
- "escaped_char": {
203
- "match": "\\\\.",
204
- "name": "constant.character.escape.puppet"
205
- },
206
- "line_comment": {
207
- "patterns": [
208
- {
209
- "captures": {
210
- "1": {
211
- "name": "comment.line.number-sign.puppet"
212
- },
213
- "2": {
214
- "name": "punctuation.definition.comment.puppet"
215
- }
216
- },
217
- "match": "^((#).*$\\n?)",
218
- "name": "meta.comment.full-line.puppet"
219
- },
220
- {
221
- "captures": {
222
- "1": {
223
- "name": "punctuation.definition.comment.puppet"
224
- }
225
- },
226
- "match": "(#).*$\\n?",
227
- "name": "comment.line.number-sign.puppet"
228
- }
229
- ]
230
- },
231
- "nested_braces": {
232
- "begin": "\\{",
233
- "captures": {
234
- "1": {
235
- "name": "punctuation.section.scope.puppet"
236
- }
148
+ {
149
+ "match": "((\\$?)\"?[a-zA-Z_\\x{7f}-\\x{ff}][a-zA-Z0-9_\\x{7f}-\\x{ff}]*\"?):(?=\\s+|$)",
150
+ "scope": "entity.name.section.puppet"
237
151
  },
238
- "end": "\\}",
239
- "patterns": [
240
- {
241
- "include": "#escaped_char"
242
- },
243
- {
244
- "include": "#nested_braces"
245
- }
246
- ]
247
- },
248
- "nested_braces_interpolated": {
249
- "begin": "\\{",
250
- "captures": {
251
- "1": {
252
- "name": "punctuation.section.scope.puppet"
253
- }
152
+ {
153
+ "include": "strings"
254
154
  },
255
- "end": "\\}",
256
- "patterns": [
257
- {
258
- "include": "#escaped_char"
259
- },
260
- {
261
- "include": "#variable"
262
- },
263
- {
264
- "include": "#nested_braces_interpolated"
265
- }
266
- ]
267
- },
268
- "nested_brackets": {
269
- "begin": "\\[",
270
- "captures": {
271
- "1": {
272
- "name": "punctuation.section.scope.puppet"
273
- }
155
+ {
156
+ "include": "variable"
274
157
  },
275
- "end": "\\]",
276
- "patterns": [
277
- {
278
- "include": "#escaped_char"
279
- },
280
- {
281
- "include": "#nested_brackets"
282
- }
283
- ]
284
- },
285
- "nested_brackets_interpolated": {
286
- "begin": "\\[",
287
- "captures": {
288
- "1": {
289
- "name": "punctuation.section.scope.puppet"
290
- }
158
+ {
159
+ "include": "constants"
291
160
  },
292
- "end": "\\]",
293
- "patterns": [
294
- {
295
- "include": "#escaped_char"
161
+ {
162
+ "match": "(?i)\\b(import|include|require)\\s+([::[a-z]]*)\\b\\s*",
163
+ "captures": {
164
+ "1": "keyword.control.import.include.puppet"
296
165
  },
297
- {
298
- "include": "#variable"
299
- },
300
- {
301
- "include": "#nested_brackets_interpolated"
302
- }
303
- ]
304
- },
305
- "nested_parens": {
306
- "begin": "\\(",
307
- "captures": {
308
- "1": {
309
- "name": "punctuation.section.scope.puppet"
310
- }
166
+ "push": [
167
+ {
168
+ "meta_scope": "meta.include.puppet"
169
+ },
170
+ {
171
+ "match": "(?=\\s|$)",
172
+ "pop": true
173
+ }
174
+ ]
175
+ },
176
+ {
177
+ "match": "\\b\\w+\\s*(?==>)\\s*",
178
+ "scope": "constant.other.key.puppet"
311
179
  },
312
- "end": "\\)",
313
- "patterns": [
314
- {
315
- "include": "#escaped_char"
180
+ {
181
+ "match": "(?<={)\\s*\\w+\\s*(?=})",
182
+ "scope": "constant.other.bareword.puppet"
183
+ },
184
+ {
185
+ "match": "\\b(escape|gsub|alert|crit|debug|notice|defined|emerg|err|failed|file|generate|info|realize|search|tag|tagged|template|warning)\\b",
186
+ "scope": "support.function.puppet"
187
+ }
188
+ ],
189
+ "constants": [
190
+ {
191
+ "match": "(?i)\\b(false|true|running|undef|present|absent|file|directory|installed|running|stopped)\\b",
192
+ "scope": "constant.language.puppet"
193
+ }
194
+ ],
195
+ "double-quoted-string": [
196
+ {
197
+ "match": "\"",
198
+ "captures": {
199
+ "0": "punctuation.definition.string.begin.puppet"
316
200
  },
317
- {
318
- "include": "#nested_parens"
319
- }
320
- ]
321
- },
322
- "nested_parens_interpolated": {
323
- "begin": "\\(",
324
- "captures": {
325
- "1": {
326
- "name": "punctuation.section.scope.puppet"
201
+ "push": [
202
+ {
203
+ "meta_scope": "string.quoted.double.puppet"
204
+ },
205
+ {
206
+ "match": "\"",
207
+ "captures": {
208
+ "0": "punctuation.definition.string.end.puppet"
209
+ },
210
+ "pop": true
211
+ },
212
+ {
213
+ "include": "escaped_char"
214
+ },
215
+ {
216
+ "include": "variable"
217
+ }
218
+ ]
219
+ }
220
+ ],
221
+ "escaped_char": [
222
+ {
223
+ "match": "\\\\.",
224
+ "scope": "constant.character.escape.puppet"
225
+ }
226
+ ],
227
+ "line_comment": [
228
+ {
229
+ "match": "^((#).*$\\n?)",
230
+ "scope": "meta.comment.full-line.puppet",
231
+ "captures": {
232
+ "1": "comment.line.number-sign.puppet",
233
+ "2": "punctuation.definition.comment.puppet"
327
234
  }
328
235
  },
329
- "end": "\\)",
330
- "patterns": [
331
- {
332
- "include": "#escaped_char"
333
- },
334
- {
335
- "include": "#variable"
336
- },
337
- {
338
- "include": "#nested_parens_interpolated"
236
+ {
237
+ "match": "(#).*$\\n?",
238
+ "scope": "comment.line.number-sign.puppet",
239
+ "captures": {
240
+ "1": "punctuation.definition.comment.puppet"
339
241
  }
340
- ]
341
- },
342
- "parameter-default-types": {
343
- "patterns": [
344
- {
345
- "include": "#strings"
242
+ }
243
+ ],
244
+ "nested_braces": [
245
+ {
246
+ "match": "\\{",
247
+ "captures": {
248
+ "1": "punctuation.section.scope.puppet"
346
249
  },
347
- {
348
- "include": "#numbers"
250
+ "push": [
251
+ {
252
+ "match": "\\}",
253
+ "captures": {
254
+ "1": "punctuation.section.scope.puppet"
255
+ },
256
+ "pop": true
257
+ },
258
+ {
259
+ "include": "escaped_char"
260
+ },
261
+ {
262
+ "include": "nested_braces"
263
+ }
264
+ ]
265
+ }
266
+ ],
267
+ "nested_braces_interpolated": [
268
+ {
269
+ "match": "\\{",
270
+ "captures": {
271
+ "1": "punctuation.section.scope.puppet"
349
272
  },
350
- {
351
- "include": "#variables"
273
+ "push": [
274
+ {
275
+ "match": "\\}",
276
+ "captures": {
277
+ "1": "punctuation.section.scope.puppet"
278
+ },
279
+ "pop": true
280
+ },
281
+ {
282
+ "include": "escaped_char"
283
+ },
284
+ {
285
+ "include": "variable"
286
+ },
287
+ {
288
+ "include": "nested_braces_interpolated"
289
+ }
290
+ ]
291
+ }
292
+ ],
293
+ "nested_brackets": [
294
+ {
295
+ "match": "\\[",
296
+ "captures": {
297
+ "1": "punctuation.section.scope.puppet"
352
298
  },
353
- {
354
- "match": "=",
355
- "name": "keyword.operator.assignment.php"
299
+ "push": [
300
+ {
301
+ "match": "\\]",
302
+ "captures": {
303
+ "1": "punctuation.section.scope.puppet"
304
+ },
305
+ "pop": true
306
+ },
307
+ {
308
+ "include": "escaped_char"
309
+ },
310
+ {
311
+ "include": "nested_brackets"
312
+ }
313
+ ]
314
+ }
315
+ ],
316
+ "nested_brackets_interpolated": [
317
+ {
318
+ "match": "\\[",
319
+ "captures": {
320
+ "1": "punctuation.section.scope.puppet"
356
321
  },
357
- {
358
- "begin": "(\\[)",
359
- "beginCaptures": {
360
- "1": {
361
- "name": "punctuation.definition.array.begin.puppet"
362
- }
322
+ "push": [
323
+ {
324
+ "match": "\\]",
325
+ "captures": {
326
+ "1": "punctuation.section.scope.puppet"
327
+ },
328
+ "pop": true
363
329
  },
364
- "end": "\\]",
365
- "endCaptures": {
366
- "0": {
367
- "name": "punctuation.definition.array.end.puppet"
368
- }
330
+ {
331
+ "include": "escaped_char"
369
332
  },
370
- "name": "meta.array.php",
371
- "patterns": [
372
- {
373
- "include": "#parameter-default-types"
374
- }
375
- ]
333
+ {
334
+ "include": "variable"
335
+ },
336
+ {
337
+ "include": "nested_brackets_interpolated"
338
+ }
339
+ ]
340
+ }
341
+ ],
342
+ "nested_parens": [
343
+ {
344
+ "match": "\\(",
345
+ "captures": {
346
+ "1": "punctuation.section.scope.puppet"
376
347
  },
377
- {
378
- "include": "#constants"
379
- }
380
- ]
381
- },
382
- "single-quoted-string": {
383
- "begin": "'",
384
- "beginCaptures": {
385
- "0": {
386
- "name": "punctuation.definition.string.begin.puppet"
387
- }
348
+ "push": [
349
+ {
350
+ "match": "\\)",
351
+ "captures": {
352
+ "1": "punctuation.section.scope.puppet"
353
+ },
354
+ "pop": true
355
+ },
356
+ {
357
+ "include": "escaped_char"
358
+ },
359
+ {
360
+ "include": "nested_parens"
361
+ }
362
+ ]
363
+ }
364
+ ],
365
+ "nested_parens_interpolated": [
366
+ {
367
+ "match": "\\(",
368
+ "captures": {
369
+ "1": "punctuation.section.scope.puppet"
370
+ },
371
+ "push": [
372
+ {
373
+ "match": "\\)",
374
+ "captures": {
375
+ "1": "punctuation.section.scope.puppet"
376
+ },
377
+ "pop": true
378
+ },
379
+ {
380
+ "include": "escaped_char"
381
+ },
382
+ {
383
+ "include": "variable"
384
+ },
385
+ {
386
+ "include": "nested_parens_interpolated"
387
+ }
388
+ ]
389
+ }
390
+ ],
391
+ "parameter-default-types": [
392
+ {
393
+ "include": "strings"
388
394
  },
389
- "end": "'",
390
- "endCaptures": {
391
- "0": {
392
- "name": "punctuation.definition.string.end.puppet"
393
- }
395
+ {
396
+ "match": "=",
397
+ "scope": "keyword.operator.assignment.php"
394
398
  },
395
- "name": "string.quoted.single.puppet",
396
- "patterns": [
397
- {
398
- "include": "#escaped_char"
399
- }
400
- ]
401
- },
402
- "strings": {
403
- "patterns": [
404
- {
405
- "include": "#double-quoted-string"
399
+ {
400
+ "match": "(\\[)",
401
+ "captures": {
402
+ "1": "punctuation.definition.array.begin.puppet"
406
403
  },
407
- {
408
- "include": "#single-quoted-string"
409
- }
410
- ]
411
- },
412
- "variable": {
413
- "patterns": [
414
- {
415
- "captures": {
416
- "1": {
417
- "name": "punctuation.definition.variable.puppet"
418
- }
404
+ "push": [
405
+ {
406
+ "meta_scope": "meta.array.php"
407
+ },
408
+ {
409
+ "match": "\\]",
410
+ "captures": {
411
+ "0": "punctuation.definition.array.end.puppet"
412
+ },
413
+ "pop": true
419
414
  },
420
- "match": "(\\$)([a-zA-Zx7f-xff\\$]|::)([a-zA-Z0-9_x7f-xff\\$]|::)*\\b",
421
- "name": "variable.other.readwrite.global.puppet"
415
+ {
416
+ "include": "parameter-default-types"
417
+ }
418
+ ]
419
+ },
420
+ {
421
+ "include": "constants"
422
+ }
423
+ ],
424
+ "single-quoted-string": [
425
+ {
426
+ "match": "'",
427
+ "captures": {
428
+ "0": "punctuation.definition.string.begin.puppet"
422
429
  },
423
- {
424
- "captures": {
425
- "1": {
426
- "name": "punctuation.definition.variable.puppet"
430
+ "push": [
431
+ {
432
+ "meta_scope": "string.quoted.single.puppet"
433
+ },
434
+ {
435
+ "match": "'",
436
+ "captures": {
437
+ "0": "punctuation.definition.string.end.puppet"
427
438
  },
428
- "2": {
429
- "name": "punctuation.definition.variable.puppet"
430
- }
439
+ "pop": true
431
440
  },
432
- "match": "(\\$\\{)(?:[a-zA-Zx7f-xff\\$]|::)(?:[a-zA-Z0-9_x7f-xff\\$]|::)*(\\})",
433
- "name": "variable.other.readwrite.global.puppet"
441
+ {
442
+ "include": "escaped_char"
443
+ }
444
+ ]
445
+ }
446
+ ],
447
+ "strings": [
448
+ {
449
+ "include": "double-quoted-string"
450
+ },
451
+ {
452
+ "include": "single-quoted-string"
453
+ }
454
+ ],
455
+ "variable": [
456
+ {
457
+ "match": "(\\$)([a-zA-Zx7f-xff\\$]|::)([a-zA-Z0-9_x7f-xff\\$]|::)*\\b",
458
+ "scope": "variable.other.readwrite.global.puppet",
459
+ "captures": {
460
+ "1": "punctuation.definition.variable.puppet"
461
+ }
462
+ },
463
+ {
464
+ "match": "(\\$\\{)(?:[a-zA-Zx7f-xff\\$]|::)(?:[a-zA-Z0-9_x7f-xff\\$]|::)*(\\})",
465
+ "scope": "variable.other.readwrite.global.puppet",
466
+ "captures": {
467
+ "1": "punctuation.definition.variable.puppet",
468
+ "2": "punctuation.definition.variable.puppet"
434
469
  }
435
- ]
436
- }
437
- },
438
- "scopeName": "source.puppet",
439
- "uuid": "AAF4E089-E3C9-4FB9-B099-FD2CCBD4E786"
470
+ }
471
+ ]
472
+ }
440
473
  }