tm-grammars 1.7.2 → 1.8.1

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.
package/grammars/hcl.json CHANGED
@@ -80,7 +80,7 @@
80
80
  }
81
81
  },
82
82
  "block": {
83
- "begin": "([\\w][\\-\\w]*)([^?{\\r\\n]*)(\\{)",
83
+ "begin": "([\\w][\\-\\w]*)([^?\\r\\n]*)(\\{)",
84
84
  "beginCaptures": {
85
85
  "1": {
86
86
  "patterns": [
@@ -0,0 +1,65 @@
1
+ {
2
+ "displayName": "HXML",
3
+ "fileTypes": [
4
+ "hxml"
5
+ ],
6
+ "foldingStartMarker": "--next",
7
+ "foldingStopMarker": "\\n\\n",
8
+ "name": "hxml",
9
+ "patterns": [
10
+ {
11
+ "captures": {
12
+ "1": {
13
+ "name": "punctuation.definition.comment.hxml"
14
+ }
15
+ },
16
+ "match": "(#).*$\\n?",
17
+ "name": "comment.line.number-sign.hxml"
18
+ },
19
+ {
20
+ "begin": "(?<!\\w)(--macro)\\b",
21
+ "beginCaptures": {
22
+ "1": {
23
+ "name": "keyword.other.hxml"
24
+ }
25
+ },
26
+ "end": "\\n",
27
+ "patterns": [
28
+ {
29
+ "include": "source.hx#block-contents"
30
+ }
31
+ ]
32
+ },
33
+ {
34
+ "captures": {
35
+ "1": {
36
+ "name": "keyword.other.hxml"
37
+ },
38
+ "2": {
39
+ "name": "support.package.hx"
40
+ },
41
+ "4": {
42
+ "name": "entity.name.type.hx"
43
+ }
44
+ },
45
+ "match": "(?<!\\w)(-m|-main|--main|--run)\\b\\s*\\b(?:(([a-z][a-zA-Z0-9]*\\.)*)(_*[A-Z]\\w*))?\\b"
46
+ },
47
+ {
48
+ "captures": {
49
+ "1": {
50
+ "name": "keyword.other.hxml"
51
+ }
52
+ },
53
+ "match": "(?<!\\w)(-cppia|-cpp?|-js|-as3|-swf-(header|version|lib(-extern)?)|-swf9?|-neko|-python|-php|-cs|-java-lib|-java|-xml|-lua|-hl|-x|-lib|-D|-resource|-exclude|-version|-v|-debug|-prompt|-cmd|-dce\\s+(std|full|no)?|--flash-strict|--no-traces|--flash-use-stage|--neko-source|--gen-hx-classes|-net-lib|-net-std|-c-arg|--each|--next|--display|--no-output|--times|--no-inline|--no-opt|--php-front|--php-lib|--php-prefix|--remap|--help-defines|--help-metas|-help|--help|-java|-cs|--js-modern|--interp|--eval|--dce|--wait|--connect|--cwd|--run).*$"
54
+ },
55
+ {
56
+ "captures": {
57
+ "1": {
58
+ "name": "keyword.other.hxml"
59
+ }
60
+ },
61
+ "match": "(?<!\\w)(--js(on)?|--lua|--swf-(header|version|lib(-extern)?)|--swf|--as3|--neko|--php|--cppia|--cpp|--cppia|--cs|--java-lib(-extern)?|--java|--jvm|--python|--hl|-p|--class-path|-L|--library|--define|-r|--resource|--cmd|-C|--verbose|--debug|--prompt|--xml|--json|--net-lib|--net-std|--c-arg|--version|--haxelib-global|-h|--main|--server-connect|--server-listen).*$"
62
+ }
63
+ ],
64
+ "scopeName": "source.hxml"
65
+ }
@@ -0,0 +1,436 @@
1
+ {
2
+ "displayName": "QML",
3
+ "name": "qml",
4
+ "patterns": [
5
+ {
6
+ "match": "\\bpragma\\s+Singleton\\b",
7
+ "name": "constant.language.qml"
8
+ },
9
+ {
10
+ "include": "#import-statements"
11
+ },
12
+ {
13
+ "include": "#object"
14
+ },
15
+ {
16
+ "include": "#comment"
17
+ }
18
+ ],
19
+ "repository": {
20
+ "attributes-dictionary": {
21
+ "patterns": [
22
+ {
23
+ "include": "#typename"
24
+ },
25
+ {
26
+ "include": "#keywords"
27
+ },
28
+ {
29
+ "include": "#identifier"
30
+ },
31
+ {
32
+ "include": "#attributes-value"
33
+ },
34
+ {
35
+ "include": "#comment"
36
+ }
37
+ ]
38
+ },
39
+ "attributes-value": {
40
+ "patterns": [
41
+ {
42
+ "begin": "(?<=\\w)\\s*\\:\\s*(?=[A-Z]\\w*\\s*\\{)",
43
+ "description": "A QML object as value.",
44
+ "end": "(?<=\\})",
45
+ "patterns": [
46
+ {
47
+ "include": "#object"
48
+ }
49
+ ]
50
+ },
51
+ {
52
+ "begin": "(?<=\\w)\\s*\\:\\s*\\[",
53
+ "description": "A list as value.",
54
+ "end": "\\](.*)$",
55
+ "endCaptures": {
56
+ "0": {
57
+ "patterns": [
58
+ {
59
+ "include": "source.js"
60
+ }
61
+ ]
62
+ }
63
+ },
64
+ "patterns": [
65
+ {
66
+ "include": "#object"
67
+ },
68
+ {
69
+ "include": "source.js"
70
+ }
71
+ ]
72
+ },
73
+ {
74
+ "begin": "(?<=\\w)\\s*\\:(?=\\s*\\{?\\s*$)",
75
+ "description": "A block of JavaScript code as value.",
76
+ "end": "(?<=\\})",
77
+ "patterns": [
78
+ {
79
+ "begin": "\\{",
80
+ "contentName": "meta.embedded.block.js",
81
+ "end": "\\}",
82
+ "patterns": [
83
+ {
84
+ "include": "source.js"
85
+ }
86
+ ]
87
+ }
88
+ ]
89
+ },
90
+ {
91
+ "begin": "(?<=\\w)\\s*\\:",
92
+ "contentName": "meta.embedded.line.js",
93
+ "description": "A JavaScript expression as value.",
94
+ "end": ";|$|(?=\\})",
95
+ "patterns": [
96
+ {
97
+ "include": "source.js"
98
+ }
99
+ ]
100
+ }
101
+ ]
102
+ },
103
+ "comment": {
104
+ "patterns": [
105
+ {
106
+ "begin": "(\\/\\/:)",
107
+ "beginCaptures": {
108
+ "1": {
109
+ "name": "storage.type.class.qml.tr"
110
+ }
111
+ },
112
+ "end": "$",
113
+ "patterns": [
114
+ {
115
+ "include": "#comment-contents"
116
+ }
117
+ ]
118
+ },
119
+ {
120
+ "begin": "(\\/\\/[~|=])\\s*([A-Za-z_$][\\w$.\\[\\]]*)",
121
+ "beginCaptures": {
122
+ "1": {
123
+ "name": "storage.type.class.qml.tr"
124
+ },
125
+ "2": {
126
+ "name": "variable.other.qml.tr"
127
+ }
128
+ },
129
+ "end": "$",
130
+ "patterns": [
131
+ {
132
+ "include": "#comment-contents"
133
+ }
134
+ ]
135
+ },
136
+ {
137
+ "begin": "(\\/\\/)",
138
+ "beginCaptures": {
139
+ "1": {
140
+ "name": "comment.line.double-slash.qml"
141
+ }
142
+ },
143
+ "end": "$",
144
+ "patterns": [
145
+ {
146
+ "include": "#comment-contents"
147
+ }
148
+ ]
149
+ },
150
+ {
151
+ "begin": "(\\/\\*)",
152
+ "beginCaptures": {
153
+ "1": {
154
+ "name": "comment.line.double-slash.qml"
155
+ }
156
+ },
157
+ "end": "(\\*\\/)",
158
+ "endCaptures": {
159
+ "1": {
160
+ "name": "comment.line.double-slash.qml"
161
+ }
162
+ },
163
+ "patterns": [
164
+ {
165
+ "include": "#comment-contents"
166
+ }
167
+ ]
168
+ }
169
+ ]
170
+ },
171
+ "comment-contents": {
172
+ "patterns": [
173
+ {
174
+ "match": "\\b(TODO|DEBUG|XXX)\\b",
175
+ "name": "constant.language.qml"
176
+ },
177
+ {
178
+ "match": "\\b(BUG|FIXME)\\b",
179
+ "name": "invalid"
180
+ },
181
+ {
182
+ "match": ".",
183
+ "name": "comment.line.double-slash.qml"
184
+ }
185
+ ]
186
+ },
187
+ "data-types": {
188
+ "patterns": [
189
+ {
190
+ "description": "QML basic data types.",
191
+ "match": "\\b(bool|double|enum|int|list|real|string|url|variant|var)\\b",
192
+ "name": "storage.type.qml"
193
+ },
194
+ {
195
+ "description": "QML modules basic data types.",
196
+ "match": "\\b(date|point|rect|size)\\b",
197
+ "name": "support.type.qml"
198
+ }
199
+ ]
200
+ },
201
+ "group-attributes": {
202
+ "patterns": [
203
+ {
204
+ "begin": "\\b([_a-zA-Z]\\w*)\\s*\\{",
205
+ "beginCaptures": {
206
+ "1": {
207
+ "name": "variable.parameter.qml"
208
+ }
209
+ },
210
+ "end": "\\}",
211
+ "patterns": [
212
+ {
213
+ "include": "$self"
214
+ },
215
+ {
216
+ "include": "#comment"
217
+ },
218
+ {
219
+ "include": "#attributes-dictionary"
220
+ }
221
+ ]
222
+ }
223
+ ]
224
+ },
225
+ "identifier": {
226
+ "description": "The name of variable, key, signal and etc.",
227
+ "patterns": [
228
+ {
229
+ "match": "\\b[_a-zA-Z]\\w*\\b",
230
+ "name": "variable.parameter.qml"
231
+ }
232
+ ]
233
+ },
234
+ "import-statements": {
235
+ "patterns": [
236
+ {
237
+ "begin": "\\b(import)\\b",
238
+ "beginCaptures": {
239
+ "1": {
240
+ "name": "keyword.control.import.qml"
241
+ }
242
+ },
243
+ "end": "$",
244
+ "patterns": [
245
+ {
246
+ "match": "\\bas\\b",
247
+ "name": "keyword.control.as.qml"
248
+ },
249
+ {
250
+ "include": "#string"
251
+ },
252
+ {
253
+ "description": "<Version.Number>",
254
+ "match": "\\b\\d+\\.\\d+\\b",
255
+ "name": "constant.numeric.qml"
256
+ },
257
+ {
258
+ "description": "as <Namespace>",
259
+ "match": "(?<=as)\\s+[A-Z]\\w*\\b",
260
+ "name": "entity.name.type.qml"
261
+ },
262
+ {
263
+ "include": "#identifier"
264
+ },
265
+ {
266
+ "include": "#comment"
267
+ }
268
+ ]
269
+ }
270
+ ]
271
+ },
272
+ "keywords": {
273
+ "patterns": [
274
+ {
275
+ "include": "#data-types"
276
+ },
277
+ {
278
+ "include": "#reserved-words"
279
+ }
280
+ ]
281
+ },
282
+ "method-attributes": {
283
+ "patterns": [
284
+ {
285
+ "begin": "\\b(function)\\b",
286
+ "beginCaptures": {
287
+ "1": {
288
+ "name": "storage.type.qml"
289
+ }
290
+ },
291
+ "end": "(?<=\\})",
292
+ "patterns": [
293
+ {
294
+ "begin": "([_a-zA-Z]\\w*)\\s*\\(",
295
+ "beginCaptures": {
296
+ "1": {
297
+ "name": "entity.name.function.qml"
298
+ }
299
+ },
300
+ "end": "\\)",
301
+ "patterns": [
302
+ {
303
+ "include": "#identifier"
304
+ }
305
+ ]
306
+ },
307
+ {
308
+ "begin": "\\{",
309
+ "contentName": "meta.embedded.block.js",
310
+ "end": "\\}",
311
+ "patterns": [
312
+ {
313
+ "include": "source.js"
314
+ }
315
+ ]
316
+ }
317
+ ]
318
+ }
319
+ ]
320
+ },
321
+ "object": {
322
+ "patterns": [
323
+ {
324
+ "begin": "\\b([A-Z]\\w*)\\s*\\{",
325
+ "beginCaptures": {
326
+ "1": {
327
+ "name": "entity.name.type.qml"
328
+ }
329
+ },
330
+ "end": "\\}",
331
+ "patterns": [
332
+ {
333
+ "include": "$self"
334
+ },
335
+ {
336
+ "include": "#group-attributes"
337
+ },
338
+ {
339
+ "include": "#method-attributes"
340
+ },
341
+ {
342
+ "include": "#signal-attributes"
343
+ },
344
+ {
345
+ "include": "#comment"
346
+ },
347
+ {
348
+ "include": "#attributes-dictionary"
349
+ }
350
+ ]
351
+ }
352
+ ]
353
+ },
354
+ "reserved-words": {
355
+ "patterns": [
356
+ {
357
+ "description": "Attribute modifier.",
358
+ "match": "\\b(default|alias|readonly|required)\\b",
359
+ "name": "storage.modifier.qml"
360
+ },
361
+ {
362
+ "match": "\\b(property|id|on)\\b",
363
+ "name": "keyword.other.qml"
364
+ },
365
+ {
366
+ "description": "Special words for signal handlers including property change.",
367
+ "match": "\\b(on[A-Z]\\w*(Changed)?)\\b",
368
+ "name": "keyword.control.qml"
369
+ }
370
+ ]
371
+ },
372
+ "signal-attributes": {
373
+ "patterns": [
374
+ {
375
+ "begin": "\\b(signal)\\b",
376
+ "beginCaptures": {
377
+ "1": {
378
+ "name": "storage.type.qml"
379
+ }
380
+ },
381
+ "end": "$",
382
+ "patterns": [
383
+ {
384
+ "begin": "([_a-zA-Z]\\w*)\\s*\\(",
385
+ "beginCaptures": {
386
+ "1": {
387
+ "name": "entity.name.function.qml"
388
+ }
389
+ },
390
+ "end": "\\)",
391
+ "patterns": [
392
+ {
393
+ "include": "#keywords"
394
+ },
395
+ {
396
+ "include": "#identifier"
397
+ }
398
+ ]
399
+ },
400
+ {
401
+ "include": "#identifier"
402
+ },
403
+ {
404
+ "include": "#comment"
405
+ }
406
+ ]
407
+ }
408
+ ]
409
+ },
410
+ "string": {
411
+ "description": "String literal with double or signle quote.",
412
+ "patterns": [
413
+ {
414
+ "begin": "'",
415
+ "end": "'",
416
+ "name": "string.quoted.single.qml"
417
+ },
418
+ {
419
+ "begin": "\"",
420
+ "end": "\"",
421
+ "name": "string.quoted.double.qml"
422
+ }
423
+ ]
424
+ },
425
+ "typename": {
426
+ "description": "The name of type. First letter must be uppercase.",
427
+ "patterns": [
428
+ {
429
+ "match": "\\b[A-Z]\\w*\\b",
430
+ "name": "entity.name.type.qml"
431
+ }
432
+ ]
433
+ }
434
+ },
435
+ "scopeName": "source.qml"
436
+ }
@@ -0,0 +1,83 @@
1
+ {
2
+ "displayName": "QML Directory",
3
+ "name": "qmldir",
4
+ "patterns": [
5
+ {
6
+ "include": "#comment"
7
+ },
8
+ {
9
+ "include": "#keywords"
10
+ },
11
+ {
12
+ "include": "#version"
13
+ },
14
+ {
15
+ "include": "#names"
16
+ }
17
+ ],
18
+ "repository": {
19
+ "comment": {
20
+ "patterns": [
21
+ {
22
+ "begin": "#",
23
+ "end": "$",
24
+ "name": "comment.line.number-sign.qmldir"
25
+ }
26
+ ]
27
+ },
28
+ "file-name": {
29
+ "patterns": [
30
+ {
31
+ "match": "\\b\\w+\\.(qmltypes|qml|js)\\b",
32
+ "name": "string.unquoted.qmldir"
33
+ }
34
+ ]
35
+ },
36
+ "identifier": {
37
+ "patterns": [
38
+ {
39
+ "match": "\\b\\w+\\b",
40
+ "name": "variable.parameter.qmldir"
41
+ }
42
+ ]
43
+ },
44
+ "keywords": {
45
+ "patterns": [
46
+ {
47
+ "match": "\\b(module|singleton|internal|plugin|classname|typeinfo|depends|designersupported)\\b",
48
+ "name": "keyword.other.qmldir"
49
+ }
50
+ ]
51
+ },
52
+ "module-name": {
53
+ "patterns": [
54
+ {
55
+ "match": "\\b[A-Z]\\w*\\b",
56
+ "name": "entity.name.type.qmldir"
57
+ }
58
+ ]
59
+ },
60
+ "names": {
61
+ "patterns": [
62
+ {
63
+ "include": "#file-name"
64
+ },
65
+ {
66
+ "include": "#module-name"
67
+ },
68
+ {
69
+ "include": "#identifier"
70
+ }
71
+ ]
72
+ },
73
+ "version": {
74
+ "patterns": [
75
+ {
76
+ "match": "\\b\\d+\\.\\d+\\b",
77
+ "name": "constant.numeric.qml"
78
+ }
79
+ ]
80
+ }
81
+ },
82
+ "scopeName": "source.qmldir"
83
+ }