[OCaml] Mobile-friendly clone of cgit.
feat add 15 more language grammars (48 total)
New grammars: clojure, dart, dune, elixir, erlang, fortran, groovy, julia, lisp, objective-c, opam, powershell, protobuf, terraform/hcl, vue Also improves language detection in syntax.ml: - Add file extensions for all new languages (.clj, .dart, .ex, .erl, .f90, .gradle, .jl, .m, .opam, .proto, .ps1, .tf, .vue, etc.) - Detect extensionless files by basename: Makefile, Dockerfile, dune, dune-project, Jenkinsfile - Fix: .toml now returns "toml" (not "ini"), .html returns "html" (not "xml") - Add .kts, .hrl, .sc, .scm, .ss, .dune extensions The grammar registry now covers 48 languages, handling the vast majority of source files encountered in typical repositories.
Changed files
- lib/grammars/clojure.json
- lib/grammars/dart.json
- lib/grammars/dune.json
- lib/grammars/elixir.json
- lib/grammars/erlang.json
- lib/grammars/fortran.json
- lib/grammars/groovy.json
- lib/grammars/julia.json
- lib/grammars/lisp.json
- lib/grammars/objective-c.json
- lib/grammars/opam.json
- lib/grammars/powershell.json
- lib/grammars/protobuf.json
- lib/grammars/terraform.json
- lib/grammars/vue.json
- lib/highlight_grammars.ml
- lib/syntax.ml
lib/grammars/clojure.json
@@ -0,0 +1,431 @@
1
Added:
{
2
Added:
"information_for_contributors": [
3
Added:
"This file has been converted from https://github.com/atom/language-clojure/blob/master/grammars/clojure.cson",
4
Added:
"If you want to provide a fix or improvement, please create a pull request against the original repository.",
5
Added:
"Once accepted there, we are happy to receive an update request."
6
Added:
],
7
Added:
"version": "https://github.com/atom/language-clojure/commit/45bdb881501d0b8f8b707ca1d3fcc8b4b99fca03",
8
Added:
"name": "Clojure",
9
Added:
"scopeName": "source.clojure",
10
Added:
"patterns": [
11
Added:
{
12
Added:
"include": "#comment"
13
Added:
},
14
Added:
{
15
Added:
"include": "#shebang-comment"
16
Added:
},
17
Added:
{
18
Added:
"include": "#quoted-sexp"
19
Added:
},
20
Added:
{
21
Added:
"include": "#sexp"
22
Added:
},
23
Added:
{
24
Added:
"include": "#keyfn"
25
Added:
},
26
Added:
{
27
Added:
"include": "#string"
28
Added:
},
29
Added:
{
30
Added:
"include": "#vector"
31
Added:
},
32
Added:
{
33
Added:
"include": "#set"
34
Added:
},
35
Added:
{
36
Added:
"include": "#map"
37
Added:
},
38
Added:
{
39
Added:
"include": "#regexp"
40
Added:
},
41
Added:
{
42
Added:
"include": "#var"
43
Added:
},
44
Added:
{
45
Added:
"include": "#constants"
46
Added:
},
47
Added:
{
48
Added:
"include": "#dynamic-variables"
49
Added:
},
50
Added:
{
51
Added:
"include": "#metadata"
52
Added:
},
53
Added:
{
54
Added:
"include": "#namespace-symbol"
55
Added:
},
56
Added:
{
57
Added:
"include": "#symbol"
58
Added:
}
59
Added:
],
60
Added:
"repository": {
61
Added:
"comment": {
62
Added:
"begin": "(?<!\\\\);",
63
Added:
"beginCaptures": {
64
Added:
"0": {
65
Added:
"name": "punctuation.definition.comment.clojure"
66
Added:
}
67
Added:
},
68
Added:
"end": "$",
69
Added:
"name": "comment.line.semicolon.clojure"
70
Added:
},
71
Added:
"constants": {
72
Added:
"patterns": [
73
Added:
{
74
Added:
"match": "(nil)(?=(\\s|\\)|\\]|\\}))",
75
Added:
"name": "constant.language.nil.clojure"
76
Added:
},
77
Added:
{
78
Added:
"match": "(true|false)",
79
Added:
"name": "constant.language.boolean.clojure"
80
Added:
},
81
Added:
{
82
Added:
"match": "(##(?:Inf|-Inf|NaN))",
83
Added:
"name": "constant.numeric.symbol.clojure"
84
Added:
},
85
Added:
{
86
Added:
"match": "([-+]?\\d+/\\d+)",
87
Added:
"name": "constant.numeric.ratio.clojure"
88
Added:
},
89
Added:
{
90
Added:
"match": "([-+]?(?:(?:3[0-6])|(?:[12]\\d)|[2-9])[rR][0-9A-Za-z]+N?)",
91
Added:
"name": "constant.numeric.arbitrary-radix.clojure"
92
Added:
},
93
Added:
{
94
Added:
"match": "([-+]?0[xX][0-9a-fA-F]+N?)",
95
Added:
"name": "constant.numeric.hexadecimal.clojure"
96
Added:
},
97
Added:
{
98
Added:
"match": "([-+]?0[0-7]+N?)",
99
Added:
"name": "constant.numeric.octal.clojure"
100
Added:
},
101
Added:
{
102
Added:
"match": "([-+]?[0-9]+(?:(\\.|(?=[eEM]))[0-9]*([eE][-+]?[0-9]+)?)M?)",
103
Added:
"name": "constant.numeric.double.clojure"
104
Added:
},
105
Added:
{
106
Added:
"match": "([-+]?\\d+N?)",
107
Added:
"name": "constant.numeric.long.clojure"
108
Added:
},
109
Added:
{
110
Added:
"include": "#keyword"
111
Added:
}
112
Added:
]
113
Added:
},
114
Added:
"keyword": {
115
Added:
"match": "(?<=(\\s|\\(|\\[|\\{)):[\\w\\#\\.\\-\\_\\:\\+\\=\\>\\<\\/\\!\\?\\*]+(?=(\\s|\\)|\\]|\\}|\\,))",
116
Added:
"name": "constant.keyword.clojure"
117
Added:
},
118
Added:
"keyfn": {
119
Added:
"patterns": [
120
Added:
{
121
Added:
"match": "(?<=(\\s|\\(|\\[|\\{))(if(-[-\\p{Ll}\\?]*)?|when(-[-\\p{Ll}]*)?|for(-[-\\p{Ll}]*)?|cond|do|let(-[-\\p{Ll}\\?]*)?|binding|loop|recur|fn|throw[\\p{Ll}\\-]*|try|catch|finally|([\\p{Ll}]*case))(?=(\\s|\\)|\\]|\\}))",
122
Added:
"name": "storage.control.clojure"
123
Added:
},
124
Added:
{
125
Added:
"match": "(?<=(\\s|\\(|\\[|\\{))(declare-?|(in-)?ns|import|use|require|load|compile|(def[\\p{Ll}\\-]*))(?=(\\s|\\)|\\]|\\}))",
126
Added:
"name": "keyword.control.clojure"
127
Added:
}
128
Added:
]
129
Added:
},
130
Added:
"dynamic-variables": {
131
Added:
"match": "\\*[\\w\\.\\-\\_\\:\\+\\=\\>\\<\\!\\?\\d]+\\*",
132
Added:
"name": "meta.symbol.dynamic.clojure"
133
Added:
},
134
Added:
"map": {
135
Added:
"begin": "(\\{)",
136
Added:
"beginCaptures": {
137
Added:
"1": {
138
Added:
"name": "punctuation.section.map.begin.clojure"
139
Added:
}
140
Added:
},
141
Added:
"end": "(\\}(?=[\\}\\]\\)\\s]*(?:;|$)))|(\\})",
142
Added:
"endCaptures": {
143
Added:
"1": {
144
Added:
"name": "punctuation.section.map.end.trailing.clojure"
145
Added:
},
146
Added:
"2": {
147
Added:
"name": "punctuation.section.map.end.clojure"
148
Added:
}
149
Added:
},
150
Added:
"name": "meta.map.clojure",
151
Added:
"patterns": [
152
Added:
{
153
Added:
"include": "$self"
154
Added:
}
155
Added:
]
156
Added:
},
157
Added:
"metadata": {
158
Added:
"patterns": [
159
Added:
{
160
Added:
"begin": "(\\^\\{)",
161
Added:
"beginCaptures": {
162
Added:
"1": {
163
Added:
"name": "punctuation.section.metadata.map.begin.clojure"
164
Added:
}
165
Added:
},
166
Added:
"end": "(\\}(?=[\\}\\]\\)\\s]*(?:;|$)))|(\\})",
167
Added:
"endCaptures": {
168
Added:
"1": {
169
Added:
"name": "punctuation.section.metadata.map.end.trailing.clojure"
170
Added:
},
171
Added:
"2": {
172
Added:
"name": "punctuation.section.metadata.map.end.clojure"
173
Added:
}
174
Added:
},
175
Added:
"name": "meta.metadata.map.clojure",
176
Added:
"patterns": [
177
Added:
{
178
Added:
"include": "$self"
179
Added:
}
180
Added:
]
181
Added:
},
182
Added:
{
183
Added:
"begin": "(\\^)",
184
Added:
"end": "(\\s)",
185
Added:
"name": "meta.metadata.simple.clojure",
186
Added:
"patterns": [
187
Added:
{
188
Added:
"include": "#keyword"
189
Added:
},
190
Added:
{
191
Added:
"include": "$self"
192
Added:
}
193
Added:
]
194
Added:
}
195
Added:
]
196
Added:
},
197
Added:
"quoted-sexp": {
198
Added:
"begin": "(['``]\\()",
199
Added:
"beginCaptures": {
200
Added:
"1": {
201
Added:
"name": "punctuation.section.expression.begin.clojure"
202
Added:
}
203
Added:
},
204
Added:
"end": "(\\))$|(\\)(?=[\\}\\]\\)\\s]*(?:;|$)))|(\\))",
205
Added:
"endCaptures": {
206
Added:
"1": {
207
Added:
"name": "punctuation.section.expression.end.trailing.clojure"
208
Added:
},
209
Added:
"2": {
210
Added:
"name": "punctuation.section.expression.end.trailing.clojure"
211
Added:
},
212
Added:
"3": {
213
Added:
"name": "punctuation.section.expression.end.clojure"
214
Added:
}
215
Added:
},
216
Added:
"name": "meta.quoted-expression.clojure",
217
Added:
"patterns": [
218
Added:
{
219
Added:
"include": "$self"
220
Added:
}
221
Added:
]
222
Added:
},
223
Added:
"regexp": {
224
Added:
"begin": "#\"",
225
Added:
"beginCaptures": {
226
Added:
"0": {
227
Added:
"name": "punctuation.definition.regexp.begin.clojure"
228
Added:
}
229
Added:
},
230
Added:
"end": "\"",
231
Added:
"endCaptures": {
232
Added:
"0": {
233
Added:
"name": "punctuation.definition.regexp.end.clojure"
234
Added:
}
235
Added:
},
236
Added:
"name": "string.regexp.clojure",
237
Added:
"patterns": [
238
Added:
{
239
Added:
"include": "#regexp_escaped_char"
240
Added:
}
241
Added:
]
242
Added:
},
243
Added:
"regexp_escaped_char": {
244
Added:
"match": "\\\\.",
245
Added:
"name": "constant.character.escape.clojure"
246
Added:
},
247
Added:
"set": {
248
Added:
"begin": "(\\#\\{)",
249
Added:
"beginCaptures": {
250
Added:
"1": {
251
Added:
"name": "punctuation.section.set.begin.clojure"
252
Added:
}
253
Added:
},
254
Added:
"end": "(\\}(?=[\\}\\]\\)\\s]*(?:;|$)))|(\\})",
255
Added:
"endCaptures": {
256
Added:
"1": {
257
Added:
"name": "punctuation.section.set.end.trailing.clojure"
258
Added:
},
259
Added:
"2": {
260
Added:
"name": "punctuation.section.set.end.clojure"
261
Added:
}
262
Added:
},
263
Added:
"name": "meta.set.clojure",
264
Added:
"patterns": [
265
Added:
{
266
Added:
"include": "$self"
267
Added:
}
268
Added:
]
269
Added:
},
270
Added:
"sexp": {
271
Added:
"begin": "(\\()",
272
Added:
"beginCaptures": {
273
Added:
"1": {
274
Added:
"name": "punctuation.section.expression.begin.clojure"
275
Added:
}
276
Added:
},
277
Added:
"end": "(\\))$|(\\)(?=[\\}\\]\\)\\s]*(?:;|$)))|(\\))",
278
Added:
"endCaptures": {
279
Added:
"1": {
280
Added:
"name": "punctuation.section.expression.end.trailing.clojure"
281
Added:
},
282
Added:
"2": {
283
Added:
"name": "punctuation.section.expression.end.trailing.clojure"
284
Added:
},
285
Added:
"3": {
286
Added:
"name": "punctuation.section.expression.end.clojure"
287
Added:
}
288
Added:
},
289
Added:
"name": "meta.expression.clojure",
290
Added:
"patterns": [
291
Added:
{
292
Added:
"begin": "(?<=\\()(ns|declare|def[\\w\\d._:+=><!?*-]*|[\\w._:+=><!?*-][\\w\\d._:+=><!?*-]*/def[\\w\\d._:+=><!?*-]*)\\s+",
293
Added:
"beginCaptures": {
294
Added:
"1": {
295
Added:
"name": "keyword.control.clojure"
296
Added:
}
297
Added:
},
298
Added:
"end": "(?=\\))",
299
Added:
"name": "meta.definition.global.clojure",
300
Added:
"patterns": [
301
Added:
{
302
Added:
"include": "#metadata"
303
Added:
},
304
Added:
{
305
Added:
"include": "#dynamic-variables"
306
Added:
},
307
Added:
{
308
Added:
"match": "([\\p{L}\\.\\-\\_\\+\\=\\>\\<\\!\\?\\*][\\w\\.\\-\\_\\:\\+\\=\\>\\<\\!\\?\\*\\d]*)",
309
Added:
"name": "entity.global.clojure"
310
Added:
},
311
Added:
{
312
Added:
"include": "$self"
313
Added:
}
314
Added:
]
315
Added:
},
316
Added:
{
317
Added:
"include": "#keyfn"
318
Added:
},
319
Added:
{
320
Added:
"include": "#constants"
321
Added:
},
322
Added:
{
323
Added:
"include": "#vector"
324
Added:
},
325
Added:
{
326
Added:
"include": "#map"
327
Added:
},
328
Added:
{
329
Added:
"include": "#set"
330
Added:
},
331
Added:
{
332
Added:
"include": "#sexp"
333
Added:
},
334
Added:
{
335
Added:
"match": "(?<=\\()(.+?)(?=\\s|\\))",
336
Added:
"captures": {
337
Added:
"1": {
338
Added:
"name": "entity.name.function.clojure"
339
Added:
}
340
Added:
},
341
Added:
"patterns": [
342
Added:
{
343
Added:
"include": "$self"
344
Added:
}
345
Added:
]
346
Added:
},
347
Added:
{
348
Added:
"include": "$self"
349
Added:
}
350
Added:
]
351
Added:
},
352
Added:
"shebang-comment": {
353
Added:
"begin": "^(#!)",
354
Added:
"beginCaptures": {
355
Added:
"1": {
356
Added:
"name": "punctuation.definition.comment.shebang.clojure"
357
Added:
}
358
Added:
},
359
Added:
"end": "$",
360
Added:
"name": "comment.line.shebang.clojure"
361
Added:
},
362
Added:
"string": {
363
Added:
"begin": "(?<!\\\\)(\")",
364
Added:
"beginCaptures": {
365
Added:
"1": {
366
Added:
"name": "punctuation.definition.string.begin.clojure"
367
Added:
}
368
Added:
},
369
Added:
"end": "(\")",
370
Added:
"endCaptures": {
371
Added:
"1": {
372
Added:
"name": "punctuation.definition.string.end.clojure"
373
Added:
}
374
Added:
},
375
Added:
"name": "string.quoted.double.clojure",
376
Added:
"patterns": [
377
Added:
{
378
Added:
"match": "\\\\.",
379
Added:
"name": "constant.character.escape.clojure"
380
Added:
}
381
Added:
]
382
Added:
},
383
Added:
"namespace-symbol": {
384
Added:
"patterns": [
385
Added:
{
386
Added:
"match": "([\\p{L}\\.\\-\\_\\+\\=\\>\\<\\!\\?\\*][\\w\\.\\-\\_\\:\\+\\=\\>\\<\\!\\?\\*\\d]*)/",
387
Added:
"captures": {
388
Added:
"1": {
389
Added:
"name": "meta.symbol.namespace.clojure"
390
Added:
}
391
Added:
}
392
Added:
}
393
Added:
]
394
Added:
},
395
Added:
"symbol": {
396
Added:
"patterns": [
397
Added:
{
398
Added:
"match": "([\\p{L}\\.\\-\\_\\+\\=\\>\\<\\!\\?\\*][\\w\\.\\-\\_\\:\\+\\=\\>\\<\\!\\?\\*\\d]*)",
399
Added:
"name": "meta.symbol.clojure"
400
Added:
}
401
Added:
]
402
Added:
},
403
Added:
"var": {
404
Added:
"match": "(?<=(\\s|\\(|\\[|\\{)\\#)'[\\w\\.\\-\\_\\:\\+\\=\\>\\<\\/\\!\\?\\*]+(?=(\\s|\\)|\\]|\\}))",
405
Added:
"name": "meta.var.clojure"
406
Added:
},
407
Added:
"vector": {
408
Added:
"begin": "(\\[)",
409
Added:
"beginCaptures": {
410
Added:
"1": {
411
Added:
"name": "punctuation.section.vector.begin.clojure"
412
Added:
}
413
Added:
},
414
Added:
"end": "(\\](?=[\\}\\]\\)\\s]*(?:;|$)))|(\\])",
415
Added:
"endCaptures": {
416
Added:
"1": {
417
Added:
"name": "punctuation.section.vector.end.trailing.clojure"
418
Added:
},
419
Added:
"2": {
420
Added:
"name": "punctuation.section.vector.end.clojure"
421
Added:
}
422
Added:
},
423
Added:
"name": "meta.vector.clojure",
424
Added:
"patterns": [
425
Added:
{
426
Added:
"include": "$self"
427
Added:
}
428
Added:
]
429
Added:
}
430
Added:
}
431
Added:
}
lib/grammars/dart.json
@@ -0,0 +1,609 @@
1
Added:
{
2
Added:
"name": "Dart",
3
Added:
"version": "1.6.0",
4
Added:
"fileTypes": [
5
Added:
"dart"
6
Added:
],
7
Added:
"scopeName": "source.dart",
8
Added:
9
Added:
"foldingStartMarker": "\\{\\s*$",
10
Added:
"foldingStopMarker": "^\\s*\\}",
11
Added:
12
Added:
"patterns": [
13
Added:
{
14
Added:
"name": "meta.preprocessor.script.dart",
15
Added:
"match": "^(#!.*)$"
16
Added:
},
17
Added:
{
18
Added:
"name": "meta.declaration.dart",
19
Added:
"begin": "^\\w*\\b(augment\\s+library|library|import\\s+augment|import|part\\s+of|part|export)\\b",
20
Added:
"beginCaptures": {
21
Added:
"0": {
22
Added:
"name": "keyword.other.import.dart"
23
Added:
}
24
Added:
},
25
Added:
"end": ";",
26
Added:
"endCaptures": {
27
Added:
"0": {
28
Added:
"name": "punctuation.terminator.dart"
29
Added:
}
30
Added:
},
31
Added:
"patterns": [
32
Added:
{
33
Added:
"include": "#strings"
34
Added:
},
35
Added:
{
36
Added:
"include": "#comments"
37
Added:
},
38
Added:
{
39
Added:
"name": "keyword.other.import.dart",
40
Added:
"match": "\\b(as|show|hide)\\b"
41
Added:
},
42
Added:
{
43
Added:
"name": "keyword.control.dart",
44
Added:
"match": "\\b(if)\\b"
45
Added:
}
46
Added:
]
47
Added:
},
48
Added:
{
49
Added:
"include": "#comments"
50
Added:
},
51
Added:
{
52
Added:
"include": "#punctuation"
53
Added:
},
54
Added:
{
55
Added:
"include": "#annotations"
56
Added:
},
57
Added:
{
58
Added:
"include": "#keywords"
59
Added:
},
60
Added:
{
61
Added:
"include": "#constants-and-special-vars"
62
Added:
},
63
Added:
{
64
Added:
"include": "#class-identifier-with-optional-factory-method"
65
Added:
},
66
Added:
{
67
Added:
"include": "#function-identifier"
68
Added:
},
69
Added:
{
70
Added:
"include": "#operators"
71
Added:
},
72
Added:
{
73
Added:
"include": "#strings"
74
Added:
}
75
Added:
],
76
Added:
77
Added:
"repository": {
78
Added:
"dartdoc-codeblock-triple": {
79
Added:
"begin": "^\\s*///\\s*(?!\\s*```)",
80
Added:
"end": "$",
81
Added:
"contentName": "variable.other.source.dart"
82
Added:
},
83
Added:
"dartdoc-codeblock-block": {
84
Added:
"begin": "^\\s*\\*\\s*(?!(\\s*```|\/))",
85
Added:
"end": "$",
86
Added:
"contentName": "variable.other.source.dart"
87
Added:
},
88
Added:
"dartdoc": {
89
Added:
"patterns": [
90
Added:
{
91
Added:
"match": "(\\[.*?\\])",
92
Added:
"captures": {
93
Added:
"0": {
94
Added:
"name": "variable.name.source.dart"
95
Added:
}
96
Added:
}
97
Added:
},
98
Added:
{
99
Added:
"begin": "^\\s*///\\s*(```)",
100
Added:
"end": "^\\s*///\\s*(```)|^(?!\\s*///)",
101
Added:
"patterns": [
102
Added:
{
103
Added:
"include": "#dartdoc-codeblock-triple"
104
Added:
}
105
Added:
]
106
Added:
},
107
Added:
{
108
Added:
"begin": "^\\s*\\*\\s*(```)",
109
Added:
"end": "^\\s*\\*\\s*(```)|^(?=\\s*\\*\/)",
110
Added:
"patterns": [
111
Added:
{
112
Added:
"include": "#dartdoc-codeblock-block"
113
Added:
}
114
Added:
]
115
Added:
},
116
Added:
{
117
Added:
"match": "`[^`\n]+`",
118
Added:
"name": "variable.other.source.dart"
119
Added:
},
120
Added:
{
121
Added:
"match": "(?:\\*|\\/\\/)\\s{4,}(.*?)(?=($|\\*\\/))",
122
Added:
"captures": {
123
Added:
"1": {
124
Added:
"name": "variable.other.source.dart"
125
Added:
}
126
Added:
}
127
Added:
}
128
Added:
]
129
Added:
},
130
Added:
"comments": {
131
Added:
"patterns": [
132
Added:
{
133
Added:
"name": "comment.block.empty.dart",
134
Added:
"match": "/\\*\\*/",
135
Added:
"captures": {
136
Added:
"0": {
137
Added:
"name": "punctuation.definition.comment.dart"
138
Added:
}
139
Added:
}
140
Added:
},
141
Added:
{
142
Added:
"include": "#comments-doc-oldschool"
143
Added:
},
144
Added:
{
145
Added:
"include": "#comments-doc"
146
Added:
},
147
Added:
{
148
Added:
"include": "#comments-inline"
149
Added:
}
150
Added:
]
151
Added:
},
152
Added:
"comments-doc-oldschool": {
153
Added:
"patterns": [
154
Added:
{
155
Added:
"name": "comment.block.documentation.dart",
156
Added:
"begin": "/\\*\\*",
157
Added:
"end": "\\*/",
158
Added:
"patterns": [
159
Added:
{
160
Added:
"include": "#comments-doc-oldschool"
161
Added:
},
162
Added:
{
163
Added:
"include": "#comments-block"
164
Added:
},
165
Added:
{
166
Added:
"include": "#dartdoc"
167
Added:
}
168
Added:
]
169
Added:
}
170
Added:
]
171
Added:
},
172
Added:
"comments-doc": {
173
Added:
"patterns": [
174
Added:
{
175
Added:
"name": "comment.block.documentation.dart",
176
Added:
"begin": "///",
177
Added:
"end": "^(?!\\s*///)",
178
Added:
"patterns": [
179
Added:
{
180
Added:
"include": "#dartdoc"
181
Added:
}
182
Added:
]
183
Added:
}
184
Added:
]
185
Added:
},
186
Added:
"comments-inline": {
187
Added:
"patterns": [
188
Added:
{
189
Added:
"include": "#comments-block"
190
Added:
},
191
Added:
{
192
Added:
"match": "((//).*)$",
193
Added:
"captures": {
194
Added:
"1": {
195
Added:
"name": "comment.line.double-slash.dart"
196
Added:
}
197
Added:
}
198
Added:
}
199
Added:
]
200
Added:
},
201
Added:
"comments-block": {
202
Added:
"patterns": [
203
Added:
{
204
Added:
"name": "comment.block.dart",
205
Added:
"begin": "/\\*",
206
Added:
"end": "\\*/",
207
Added:
"patterns": [
208
Added:
{
209
Added:
"include": "#comments-block"
210
Added:
}
211
Added:
]
212
Added:
}
213
Added:
]
214
Added:
},
215
Added:
"annotations": {
216
Added:
"patterns": [
217
Added:
{
218
Added:
"name": "storage.type.annotation.dart",
219
Added:
"match": "@[a-zA-Z]+"
220
Added:
}
221
Added:
]
222
Added:
},
223
Added:
"constants-and-special-vars": {
224
Added:
"patterns": [
225
Added:
{
226
Added:
"name": "constant.language.dart",
227
Added:
"match": "(?<!\\$)\\b(true|false|null)\\b(?!\\$)"
228
Added:
},
229
Added:
{
230
Added:
"name": "variable.language.dart",
231
Added:
"match": "(?<!\\$)\\b(this|super|augmented)\\b(?!\\$)"
232
Added:
},
233
Added:
{
234
Added:
"name": "constant.numeric.dart",
235
Added:
"match": "(?<!\\$)\\b((0(x|X)[0-9a-fA-F][0-9a-fA-F_]*)|(([0-9][0-9_]*\\.?[0-9_]*)|(\\.[0-9][0-9_]*))((e|E)(\\+|-)?[0-9][0-9_]*)?)\\b(?!\\$)"
236
Added:
}
237
Added:
]
238
Added:
},
239
Added:
"class-identifier-with-optional-factory-method": {
240
Added:
"patterns": [
241
Added:
{
242
Added:
"match": "(?<!\\$)\\b(bool|num|int|double|dynamic)\\b(?!\\$)\\s*(factory\\b)?",
243
Added:
"captures": {
244
Added:
"1": {
245
Added:
"name": "support.class.dart"
246
Added:
},
247
Added:
"2": {
248
Added:
"name": "entity.name.function.dart"
249
Added:
}
250
Added:
}
251
Added:
},
252
Added:
{
253
Added:
"match": "(?<!\\$)\\b(void)\\b(?!\\$)\\s*(factory\\b)?",
254
Added:
"captures": {
255
Added:
"1": {
256
Added:
"name": "storage.type.primitive.dart"
257
Added:
},
258
Added:
"2": {
259
Added:
"name": "entity.name.function.dart"
260
Added:
}
261
Added:
}
262
Added:
},
263
Added:
{
264
Added:
"begin": "(?<![a-zA-Z0-9_$])([_$]*[A-Z][a-zA-Z0-9_$]*)\\b\\s*(factory\\b)?",
265
Added:
"end": "(?!<)",
266
Added:
"beginCaptures": {
267
Added:
"1": {
268
Added:
"name": "support.class.dart"
269
Added:
},
270
Added:
"2": {
271
Added:
"name": "entity.name.function.dart"
272
Added:
}
273
Added:
},
274
Added:
"patterns": [
275
Added:
{
276
Added:
"include": "#type-args"
277
Added:
}
278
Added:
]
279
Added:
}
280
Added:
]
281
Added:
},
282
Added:
"class-identifier": {
283
Added:
"patterns": [
284
Added:
{
285
Added:
"match": "(?<!\\$)\\b(bool|num|int|double|dynamic)\\b(?!\\$)",
286
Added:
"name": "support.class.dart"
287
Added:
},
288
Added:
{
289
Added:
"match": "(?<!\\$)\\bvoid\\b(?!\\$)",
290
Added:
"name": "storage.type.primitive.dart"
291
Added:
},
292
Added:
{
293
Added:
"begin": "(?<![a-zA-Z0-9_$])([_$]*[A-Z][a-zA-Z0-9_$]*)\\b",
294
Added:
"end": "(?!<)",
295
Added:
"beginCaptures": {
296
Added:
"1": {
297
Added:
"name": "support.class.dart"
298
Added:
}
299
Added:
},
300
Added:
"patterns": [
301
Added:
{
302
Added:
"include": "#type-args"
303
Added:
}
304
Added:
]
305
Added:
}
306
Added:
]
307
Added:
},
308
Added:
"function-identifier": {
309
Added:
"patterns": [
310
Added:
{
311
Added:
"match": "([_$]*[a-z][a-zA-Z0-9_$]*)(<(?:[a-zA-Z0-9_$<>?]|,\\s*|\\s+extends\\s+)+>)?[!?]?\\(",
312
Added:
"captures": {
313
Added:
"1": {
314
Added:
"name": "entity.name.function.dart"
315
Added:
},
316
Added:
"2": {
317
Added:
"patterns": [
318
Added:
{
319
Added:
"include": "#type-args"
320
Added:
}
321
Added:
]
322
Added:
}
323
Added:
}
324
Added:
},
325
Added:
{
326
Added:
"match": "(?<=\\.)new\\b",
327
Added:
"name": "entity.name.function.dart"
328
Added:
}
329
Added:
]
330
Added:
},
331
Added:
"type-args": {
332
Added:
"begin": "(<)",
333
Added:
"end": "(>)",
334
Added:
"beginCaptures": {
335
Added:
"1": {
336
Added:
"name": "other.source.dart"
337
Added:
}
338
Added:
},
339
Added:
"endCaptures": {
340
Added:
"1": {
341
Added:
"name": "other.source.dart"
342
Added:
}
343
Added:
},
344
Added:
"patterns": [
345
Added:
{
346
Added:
"include": "#class-identifier"
347
Added:
},
348
Added:
{
349
Added:
"match": ","
350
Added:
},
351
Added:
{
352
Added:
"name": "keyword.declaration.dart",
353
Added:
"match": "extends"
354
Added:
},
355
Added:
{
356
Added:
"include": "#comments"
357
Added:
}
358
Added:
]
359
Added:
},
360
Added:
"keywords": {
361
Added:
"patterns": [
362
Added:
{
363
Added:
"name": "keyword.cast.dart",
364
Added:
"match": "(?<!\\$)\\bas\\b(?!\\$)"
365
Added:
},
366
Added:
{
367
Added:
"name": "keyword.control.catch-exception.dart",
368
Added:
"match": "(?<!\\$)\\b(try|on|catch|finally|throw|rethrow)\\b(?!\\$)"
369
Added:
},
370
Added:
{
371
Added:
"name": "keyword.control.dart",
372
Added:
"match": "(?<!\\$)\\b(break|case|continue|default|do|else|for|if|in|switch|while|when)\\b(?!\\$)"
373
Added:
},
374
Added:
{
375
Added:
"name": "keyword.control.dart",
376
Added:
"match": "(?<!\\$)\\b(sync(\\*)?|async(\\*)?|await|yield(\\*)?)\\b(?!\\$)"
377
Added:
},
378
Added:
{
379
Added:
"name": "keyword.control.dart",
380
Added:
"match": "(?<!\\$)\\bassert\\b(?!\\$)"
381
Added:
},
382
Added:
{
383
Added:
"name": "keyword.new.dart",
384
Added:
"match": "(?<![\\$\\.])\\b(new)\\b(?!\\$)"
385
Added:
},
386
Added:
{
387
Added:
"name": "keyword.control.return.dart",
388
Added:
"match": "(?<!\\$)\\b(return)\\b(?!\\$)"
389
Added:
},
390
Added:
{
391
Added:
"name": "keyword.declaration.dart",
392
Added:
"match": "(?<!\\$)\\b(abstract|sealed|base|interface|class|enum|extends|extension\\s+type|extension|external|factory|implements|get(?![(<])|mixin|native|operator|set(?![(<])|typedef|with|covariant)\\b(?!\\$)"
393
Added:
},
394
Added:
{
395
Added:
"name": "storage.modifier.dart",
396
Added:
"match": "(?<!\\$)\\b(macro|augment|static|final|const|required|late)\\b(?!\\$)"
397
Added:
},
398
Added:
{
399
Added:
"name": "storage.type.primitive.dart",
400
Added:
"match": "(?<!\\$)\\b(?:var)\\b(?!\\$)"
401
Added:
}
402
Added:
]
403
Added:
},
404
Added:
"operators": {
405
Added:
"patterns": [
406
Added:
{
407
Added:
"name": "keyword.operator.dart",
408
Added:
"match": "(?<!\\$)\\b(is\\!?)\\b(?!\\$)"
409
Added:
},
410
Added:
{
411
Added:
"name": "keyword.operator.ternary.dart",
412
Added:
"match": "\\?|:"
413
Added:
},
414
Added:
{
415
Added:
"name": "keyword.operator.bitwise.dart",
416
Added:
"match": "(<<|>>>?|~|\\^|\\||&)"
417
Added:
},
418
Added:
{
419
Added:
"name": "keyword.operator.assignment.bitwise.dart",
420
Added:
"match": "((&|\\^|\\||<<|>>>?)=)"
421
Added:
},
422
Added:
{
423
Added:
"name": "keyword.operator.closure.dart",
424
Added:
"match": "(=>)"
425
Added:
},
426
Added:
{
427
Added:
"name": "keyword.operator.comparison.dart",
428
Added:
"match": "(==|!=|<=?|>=?)"
429
Added:
},
430
Added:
{
431
Added:
"name": "keyword.operator.assignment.arithmetic.dart",
432
Added:
"match": "(([+*/%-]|\\~)=)"
433
Added:
},
434
Added:
{
435
Added:
"name": "keyword.operator.assignment.dart",
436
Added:
"match": "(=)"
437
Added:
},
438
Added:
{
439
Added:
"name": "keyword.operator.increment-decrement.dart",
440
Added:
"match": "(\\-\\-|\\+\\+)"
441
Added:
},
442
Added:
{
443
Added:
"name": "keyword.operator.arithmetic.dart",
444
Added:
"match": "(\\-|\\+|\\*|\\/|\\~\\/|%)"
445
Added:
},
446
Added:
{
447
Added:
"name": "keyword.operator.logical.dart",
448
Added:
"match": "(!|&&|\\|\\|)"
449
Added:
}
450
Added:
]
451
Added:
},
452
Added:
"expression": {
453
Added:
"patterns": [
454
Added:
{
455
Added:
"include": "#constants-and-special-vars"
456
Added:
},
457
Added:
{
458
Added:
"include": "#class-identifier-with-optional-factory-method"
459
Added:
},
460
Added:
{
461
Added:
"include": "#function-identifier"
462
Added:
},
463
Added:
{
464
Added:
"include": "#strings"
465
Added:
},
466
Added:
{
467
Added:
"name": "variable.parameter.dart",
468
Added:
"match": "[a-zA-Z0-9_]+"
469
Added:
},
470
Added:
{
471
Added:
"begin": "\\{",
472
Added:
"end": "\\}",
473
Added:
"patterns": [
474
Added:
{
475
Added:
"include": "#expression"
476
Added:
}
477
Added:
]
478
Added:
}
479
Added:
]
480
Added:
},
481
Added:
"string-interp": {
482
Added:
"patterns": [
483
Added:
{
484
Added:
"name": "meta.embedded.expression.dart",
485
Added:
"match": "\\$([a-zA-Z0-9_]+)",
486
Added:
"captures": {
487
Added:
"1": {
488
Added:
"name": "variable.parameter.dart"
489
Added:
}
490
Added:
}
491
Added:
},
492
Added:
{
493
Added:
"name": "meta.embedded.expression.dart",
494
Added:
"begin": "\\$\\{",
495
Added:
"end": "\\}",
496
Added:
"patterns": [
497
Added:
{
498
Added:
"include": "#expression"
499
Added:
}
500
Added:
]
501
Added:
},
502
Added:
{
503
Added:
"name": "constant.character.escape.dart",
504
Added:
"match": "\\\\."
505
Added:
}
506
Added:
]
507
Added:
},
508
Added:
"strings": {
509
Added:
"patterns": [
510
Added:
{
511
Added:
"name": "string.interpolated.triple.double.dart",
512
Added:
"begin": "(?<!r)\"\"\"",
513
Added:
"end": "\"\"\"(?!\")",
514
Added:
"patterns": [
515
Added:
{
516
Added:
"include": "#string-interp"
517
Added:
}
518
Added:
]
519
Added:
},
520
Added:
{
521
Added:
"name": "string.interpolated.triple.single.dart",
522
Added:
"begin": "(?<!r)'''",
523
Added:
"end": "'''(?!')",
524
Added:
"patterns": [
525
Added:
{
526
Added:
"include": "#string-interp"
527
Added:
}
528
Added:
]
529
Added:
},
530
Added:
{
531
Added:
"name": "string.quoted.triple.double.dart",
532
Added:
"begin": "r\"\"\"",
533
Added:
"end": "\"\"\"(?!\")"
534
Added:
},
535
Added:
{
536
Added:
"name": "string.quoted.triple.single.dart",
537
Added:
"begin": "r'''",
538
Added:
"end": "'''(?!')"
539
Added:
},
540
Added:
{
541
Added:
"name": "string.interpolated.double.dart",
542
Added:
"begin": "(?<!\\|r)\"",
543
Added:
"end": "\"",
544
Added:
"patterns": [
545
Added:
{
546
Added:
"name": "invalid.string.newline",
547
Added:
"match": "\\n"
548
Added:
},
549
Added:
{
550
Added:
"include": "#string-interp"
551
Added:
}
552
Added:
]
553
Added:
},
554
Added:
{
555
Added:
"name": "string.quoted.double.dart",
556
Added:
"begin": "r\"",
557
Added:
"end": "\"",
558
Added:
"patterns": [
559
Added:
{
560
Added:
"name": "invalid.string.newline",
561
Added:
"match": "\\n"
562
Added:
}
563
Added:
]
564
Added:
},
565
Added:
{
566
Added:
"name": "string.interpolated.single.dart",
567
Added:
"begin": "(?<!\\|r)'",
568
Added:
"end": "'",
569
Added:
"patterns": [
570
Added:
{
571
Added:
"name": "invalid.string.newline",
572
Added:
"match": "\\n"
573
Added:
},
574
Added:
{
575
Added:
"include": "#string-interp"
576
Added:
}
577
Added:
]
578
Added:
},
579
Added:
{
580
Added:
"name": "string.quoted.single.dart",
581
Added:
"begin": "r'",
582
Added:
"end": "'",
583
Added:
"patterns": [
584
Added:
{
585
Added:
"name": "invalid.string.newline",
586
Added:
"match": "\\n"
587
Added:
}
588
Added:
]
589
Added:
}
590
Added:
]
591
Added:
},
592
Added:
"punctuation": {
593
Added:
"patterns": [
594
Added:
{
595
Added:
"name": "punctuation.comma.dart",
596
Added:
"match": ","
597
Added:
},
598
Added:
{
599
Added:
"name": "punctuation.terminator.dart",
600
Added:
"match": ";"
601
Added:
},
602
Added:
{
603
Added:
"name": "punctuation.dot.dart",
604
Added:
"match": "\\."
605
Added:
}
606
Added:
]
607
Added:
}
608
Added:
}
609
Added:
}
lib/grammars/dune.json
@@ -0,0 +1,352 @@
1
Added:
{
2
Added:
"name": "dune",
3
Added:
"scopeName": "source.dune",
4
Added:
"fileTypes": [
5
Added:
"dune",
6
Added:
"jbuild"
7
Added:
],
8
Added:
"patterns": [
9
Added:
{
10
Added:
"include": "#comments"
11
Added:
},
12
Added:
{
13
Added:
"name": "meta.stanza.dune",
14
Added:
"begin": "\\([[:space:]]*(library|rule|executable|executables|rule|ocamllex|ocamlyacc|menhir|install|alias|copy_files|copy_files#|jbuild_version|include)[[:space:]]",
15
Added:
"end": "\\)",
16
Added:
"beginCaptures": {
17
Added:
"1": {
18
Added:
"name": "meta.class.stanza.dune"
19
Added:
}
20
Added:
},
21
Added:
"patterns": [
22
Added:
{
23
Added:
"include": "$self"
24
Added:
}
25
Added:
]
26
Added:
},
27
Added:
{
28
Added:
"name": "meta.stanza.library.field.dune",
29
Added:
"begin": "\\([[:space:]]*(name|public_name|synopsis|install_c_headers|ppx_runtime_libraries|c_flags|cxx_flags|c_names|cxx_names|library_flags|c_library_flags|virtual_deps|modes|kind|wrapped|optional|self_build_stubs_archive|no_dynlink|ppx\\.driver)[[:space:]]",
30
Added:
"end": "\\)",
31
Added:
"beginCaptures": {
32
Added:
"1": {
33
Added:
"name": "keyword.other.dune"
34
Added:
}
35
Added:
},
36
Added:
"patterns": [
37
Added:
{
38
Added:
"include": "$self"
39
Added:
}
40
Added:
]
41
Added:
},
42
Added:
{
43
Added:
"name": "meta.stanza.rule.dune",
44
Added:
"begin": "\\([[:space:]]*(targets|deps|locks|loc|mode|action)[[:space:]]",
45
Added:
"beginCaptures": {
46
Added:
"1": {
47
Added:
"name": "keyword.other.dune"
48
Added:
}
49
Added:
},
50
Added:
"end": "\\)",
51
Added:
"patterns": [
52
Added:
{
53
Added:
"include": "$self"
54
Added:
}
55
Added:
]
56
Added:
},
57
Added:
{
58
Added:
"name": "meta.mono-sexp.dune",
59
Added:
"match": "\\([[:space:]]*(fallback|optional)[[:space:]]*\\)",
60
Added:
"captures": {
61
Added:
"1": {
62
Added:
"name": "keyword.other.dune"
63
Added:
}
64
Added:
}
65
Added:
},
66
Added:
{
67
Added:
"name": "meta.stanza.rule.action.dune",
68
Added:
"begin": "\\([[:space:]]*(run|chdir|setenv|with-stdout-to|with-stderr-to|with-outputs-to|ignore-stdout|ignore-stderr|ignore-outputs|progn|echo|cat|copy|copy#|system|bash|write-file|diff|diff\\?)[[:space:]]",
69
Added:
"end": "\\)",
70
Added:
"beginCaptures": {
71
Added:
"1": {
72
Added:
"name": "entity.name.function.action.dune"
73
Added:
}
74
Added:
},
75
Added:
"patterns": [
76
Added:
{
77
Added:
"include": "$self"
78
Added:
}
79
Added:
]
80
Added:
},
81
Added:
{
82
Added:
"name": "meta.stanza.install.dune",
83
Added:
"begin": "\\([[:space:]]*(section)[[:space:]]",
84
Added:
"end": "\\)",
85
Added:
"beginCaptures": {
86
Added:
"1": {
87
Added:
"name": "keyword.other.dune"
88
Added:
}
89
Added:
},
90
Added:
"patterns": [
91
Added:
{
92
Added:
"name": "constant.language.rule.mode.dune",
93
Added:
"match": "\\b(lib|libexec|bin|sbin|toplevel|share|share_root|etc|doc|stublibs|man|misc)\\b"
94
Added:
}
95
Added:
]
96
Added:
},
97
Added:
{
98
Added:
"name": "meta.stanza.install.dune",
99
Added:
"begin": "\\([[:space:]]*(files)[[:space:]]",
100
Added:
"end": "\\)",
101
Added:
"beginCaptures": {
102
Added:
"1": {
103
Added:
"name": "keyword.other.dune"
104
Added:
}
105
Added:
},
106
Added:
"patterns": [
107
Added:
{
108
Added:
"include": "$self"
109
Added:
}
110
Added:
]
111
Added:
},
112
Added:
{
113
Added:
"name": "meta.library.kind.dune",
114
Added:
"begin": "\\([[:space:]]*(normal|ppx_deriver|ppx_rewriter)[[:space:]]",
115
Added:
"end": "\\)",
116
Added:
"beginCaptures": {
117
Added:
"1": {
118
Added:
"name": "constant.language.rule.mode.dune"
119
Added:
}
120
Added:
}
121
Added:
},
122
Added:
{
123
Added:
"name": "meta.stanza.executables.dune",
124
Added:
"begin": "\\([[:space:]]*(name|link_executables|link_flags|modes)[[:space:]]",
125
Added:
"end": "\\)",
126
Added:
"beginCaptures": {
127
Added:
"1": {
128
Added:
"name": "keyword.other.dune"
129
Added:
}
130
Added:
},
131
Added:
"patterns": [
132
Added:
{
133
Added:
"include": "$self"
134
Added:
}
135
Added:
]
136
Added:
},
137
Added:
{
138
Added:
"name": "meta.stanza.lib-or-exec.buildable.dune",
139
Added:
"begin": "\\([[:space:]]*(preprocess|preprocessor_deps|lint|modules|modules_without_implementation|libraries|flags|ocamlc_flags|ocamlopt_flags|js_of_ocaml|allow_overlapping_dependencies|per_module)[[:space:]]",
140
Added:
"end": "\\)",
141
Added:
"beginCaptures": {
142
Added:
"1": {
143
Added:
"name": "keyword.other.dune"
144
Added:
}
145
Added:
},
146
Added:
"patterns": [
147
Added:
{
148
Added:
"include": "$self"
149
Added:
}
150
Added:
]
151
Added:
},
152
Added:
{
153
Added:
"name": "meta.stanza.lib-or-exec.buildable.preprocess.dune",
154
Added:
"begin": "\\([[:space:]]*(no_preprocessing|action|pps)[[:space:]]",
155
Added:
"end": "\\)",
156
Added:
"beginCaptures": {
157
Added:
"1": {
158
Added:
"name": "keyword.other.dune"
159
Added:
}
160
Added:
},
161
Added:
"patterns": [
162
Added:
{
163
Added:
"include": "$self"
164
Added:
}
165
Added:
]
166
Added:
},
167
Added:
{
168
Added:
"name": "meta.stanza.lib-or-exec.buildable.preprocess_deps.dune",
169
Added:
"begin": "\\([[:space:]]*(file|alias|alias_rec|glob_files|files_recursively_in)[[:space:]]",
170
Added:
"end": "\\)",
171
Added:
"beginCaptures": {
172
Added:
"1": {
173
Added:
"name": "keyword.other.dune"
174
Added:
}
175
Added:
},
176
Added:
"patterns": [
177
Added:
{
178
Added:
"include": "$self"
179
Added:
}
180
Added:
]
181
Added:
},
182
Added:
{
183
Added:
"name": "meta.stanza.lib-or-exec.buildable.libraries.dune",
184
Added:
"begin": "\\([[:space:]]*(select)[[:space:]]",
185
Added:
"end": "\\)",
186
Added:
"beginCaptures": {
187
Added:
"1": {
188
Added:
"name": "keyword.other.dune"
189
Added:
}
190
Added:
},
191
Added:
"patterns": [
192
Added:
{
193
Added:
"include": "$self"
194
Added:
}
195
Added:
]
196
Added:
},
197
Added:
{
198
Added:
"name": "constant.numeric.dune",
199
Added:
"match": "\\b\\d+\\b"
200
Added:
},
201
Added:
{
202
Added:
"name": "constant.language.dune",
203
Added:
"match": "(true|false)"
204
Added:
},
205
Added:
{
206
Added:
"name": "keyword.other.dune",
207
Added:
"match": "[[:space:]](as|from|->)[[:space:]]"
208
Added:
},
209
Added:
{
210
Added:
"name": "keyword.other.dune",
211
Added:
"match": "(\\!)"
212
Added:
},
213
Added:
{
214
Added:
"name": "constant.language.flag.dune",
215
Added:
"match": "(:\\w+)\\b"
216
Added:
},
217
Added:
{
218
Added:
"name": "constant.language.rule.mode.dune",
219
Added:
"match": "\\b(standard|fallback|promote|promote-until-then)\\b"
220
Added:
},
221
Added:
{
222
Added:
"include": "#string"
223
Added:
},
224
Added:
{
225
Added:
"include": "#variable"
226
Added:
},
227
Added:
{
228
Added:
"include": "#list"
229
Added:
},
230
Added:
{
231
Added:
"include": "#atom"
232
Added:
}
233
Added:
],
234
Added:
"repository": {
235
Added:
"comments": {
236
Added:
"patterns": [
237
Added:
{
238
Added:
"name": "comment.block.dune",
239
Added:
"begin": "#\\|",
240
Added:
"beginCaptures": {
241
Added:
"0": {
242
Added:
"name": "punctuation.definition.comment.begin.dune"
243
Added:
}
244
Added:
},
245
Added:
"end": "\\|#",
246
Added:
"endCaptures": {
247
Added:
"0": {
248
Added:
"name": "punctuation.definition.comment.end.dune"
249
Added:
}
250
Added:
},
251
Added:
"patterns": [
252
Added:
{
253
Added:
"include": "#comments"
254
Added:
}
255
Added:
]
256
Added:
},
257
Added:
{
258
Added:
"name": "comment.sexp.dune",
259
Added:
"begin": "#;[[:space:]]*\\(",
260
Added:
"end": "\\)",
261
Added:
"patterns": [
262
Added:
{
263
Added:
"include": "#comment-inner"
264
Added:
}
265
Added:
]
266
Added:
},
267
Added:
{
268
Added:
"name": "comment.line.dune",
269
Added:
"match": ";.*$"
270
Added:
}
271
Added:
]
272
Added:
},
273
Added:
"comment-inner": {
274
Added:
"patterns": [
275
Added:
{
276
Added:
"name": "comment.sexp.inner.dune",
277
Added:
"begin": "\\(",
278
Added:
"end": "\\)",
279
Added:
"patterns": [
280
Added:
{
281
Added:
"include": "#comment-inner"
282
Added:
}
283
Added:
]
284
Added:
}
285
Added:
]
286
Added:
},
287
Added:
"string": {
288
Added:
"patterns": [
289
Added:
{
290
Added:
"name": "string.quoted.double.dune",
291
Added:
"begin": "(?=[^\\\\])(\")",
292
Added:
"beginCaptures": {
293
Added:
"1": {
294
Added:
"name": "punctuation.definition.string.begin.dune"
295
Added:
}
296
Added:
},
297
Added:
"end": "(\")",
298
Added:
"endCaptures": {
299
Added:
"1": {
300
Added:
"name": "punctuation.definition.string.end.dune"
301
Added:
}
302
Added:
},
303
Added:
"patterns": [
304
Added:
{
305
Added:
"name": "constant.character.string.escape.dune",
306
Added:
"match": "\\\\\""
307
Added:
},
308
Added:
{
309
Added:
"include": "#variable"
310
Added:
}
311
Added:
]
312
Added:
}
313
Added:
]
314
Added:
},
315
Added:
"variable": {
316
Added:
"patterns": [
317
Added:
{
318
Added:
"name": "variable.other.dune",
319
Added:
"match": "\\${[^}]*}"
320
Added:
}
321
Added:
]
322
Added:
},
323
Added:
"list": {
324
Added:
"patterns": [
325
Added:
{
326
Added:
"name": "meta.list.dune",
327
Added:
"begin": "(\\()",
328
Added:
"end": "(\\))",
329
Added:
"captures": {
330
Added:
"1": {
331
Added:
"name": "entity.tag.list.parenthesis.dune"
332
Added:
}
333
Added:
},
334
Added:
"comment": "ok, for this one, I didn't know what to choose",
335
Added:
"patterns": [
336
Added:
{
337
Added:
"include": "$self"
338
Added:
}
339
Added:
]
340
Added:
}
341
Added:
]
342
Added:
},
343
Added:
"atom": {
344
Added:
"patterns": [
345
Added:
{
346
Added:
"name": "meta.atom.dune",
347
Added:
"match": "\\b[^[[:space:]]]+\\b"
348
Added:
}
349
Added:
]
350
Added:
}
351
Added:
}
352
Added:
}
lib/grammars/elixir.json
@@ -0,0 +1,2736 @@
1
Added:
{
2
Added:
"comment": "Syntax Parser for Elixir Programming Language.",
3
Added:
"fileTypes": ["ex", "exs"],
4
Added:
"firstLineMatch": "^#!/.*\\belixir",
5
Added:
"foldingStartMarker": "(after|else|catch|rescue|\\-\\>|\\{|\\[|do)\\s*$",
6
Added:
"foldingStopMarker": "^\\s*((\\}|\\]|after|else|catch|rescue)\\s*$|end\\b)",
7
Added:
"name": "Elixir",
8
Added:
"injections": {
9
Added:
"R:text.html.elixir meta.tag meta.attribute string.quoted": {
10
Added:
"comment": "Uses R: to ensure this matches after any other injections.",
11
Added:
"patterns": [
12
Added:
{
13
Added:
"include": "text.elixir"
14
Added:
}
15
Added:
]
16
Added:
}
17
Added:
},
18
Added:
"patterns": [
19
Added:
{
20
Added:
"captures": {
21
Added:
"1": {
22
Added:
"name": "keyword.control.module.elixir"
23
Added:
},
24
Added:
"2": {
25
Added:
"name": "entity.name.type.module.elixir"
26
Added:
}
27
Added:
},
28
Added:
"match": "^\\s*(defmodule|defprotocol|defimpl)\\s+(([A-Z][A-Za-z0-9_]*\\s*(\\.)\\s*)*[A-Z][A-Za-z0-9_]*)",
29
Added:
"name": "meta.module.elixir"
30
Added:
},
31
Added:
{
32
Added:
"begin": "@(module|type)?doc\\s*(~s)?\"\"\"",
33
Added:
"comment": "@doc with interpolated heredocs",
34
Added:
"end": "\\s*\"\"\"",
35
Added:
"name": "comment.documentation.heredoc.elixir",
36
Added:
"patterns": [
37
Added:
{
38
Added:
"include": "#interpolated_elixir"
39
Added:
},
40
Added:
{
41
Added:
"include": "#escaped_char"
42
Added:
}
43
Added:
]
44
Added:
},
45
Added:
{
46
Added:
"begin": "@(module|type)?doc\\s*(~s)?'''",
47
Added:
"comment": "@doc with interpolated single quoted heredocs",
48
Added:
"end": "\\s*'''",
49
Added:
"name": "comment.documentation.heredoc.elixir",
50
Added:
"patterns": [
51
Added:
{
52
Added:
"include": "#interpolated_elixir"
53
Added:
},
54
Added:
{
55
Added:
"include": "#escaped_char"
56
Added:
}
57
Added:
]
58
Added:
},
59
Added:
{
60
Added:
"begin": "@(module|type)?doc\\s*~S\"\"\"",
61
Added:
"comment": "@doc with heredocs is treated as documentation",
62
Added:
"end": "\\s*\"\"\"",
63
Added:
"name": "comment.documentation.heredoc.elixir",
64
Added:
"patterns": [
65
Added:
{
66
Added:
"include": "#escaped_char"
67
Added:
}
68
Added:
]
69
Added:
},
70
Added:
{
71
Added:
"begin": "@(module|type)?doc\\s*~S'''",
72
Added:
"comment": "@doc with heredocs is treated as documentation",
73
Added:
"end": "\\s*'''",
74
Added:
"name": "comment.documentation.heredoc.elixir",
75
Added:
"patterns": [
76
Added:
{
77
Added:
"include": "#escaped_char"
78
Added:
}
79
Added:
]
80
Added:
},
81
Added:
{
82
Added:
"comment": "@doc false is treated as documentation",
83
Added:
"match": "@(module|type)?doc\\s*false",
84
Added:
"name": "comment.documentation.false"
85
Added:
},
86
Added:
{
87
Added:
"comment": "@doc since|deprecated is treated as documentation",
88
Added:
"begin": "@(module|type)?doc\\s*(since|deprecated): '",
89
Added:
"end": "'",
90
Added:
"name": "comment.documentation.false"
91
Added:
},
92
Added:
{
93
Added:
"comment": "@doc since|deprecated is treated as documentation",
94
Added:
"begin": "@(module|type)?doc\\s*(since|deprecated): \"",
95
Added:
"end": "\"",
96
Added:
"name": "comment.documentation.false"
97
Added:
},
98
Added:
{
99
Added:
"comment": "@deprecated is treated as documentation",
100
Added:
"begin": "@deprecated\\s*'",
101
Added:
"end": "'",
102
Added:
"name": "comment.documentation.false"
103
Added:
},
104
Added:
{
105
Added:
"comment": "@deprecated is treated as documentation",
106
Added:
"begin": "@deprecated\\s*\"",
107
Added:
"end": "\"",
108
Added:
"name": "comment.documentation.false"
109
Added:
},
110
Added:
{
111
Added:
"begin": "@(module|type)?doc\\s*\"",
112
Added:
"comment": "@doc with string is treated as documentation",
113
Added:
"end": "\"",
114
Added:
"name": "comment.documentation.string",
115
Added:
"patterns": [
116
Added:
{
117
Added:
"include": "#interpolated_elixir"
118
Added:
},
119
Added:
{
120
Added:
"include": "#escaped_char"
121
Added:
}
122
Added:
]
123
Added:
},
124
Added:
{
125
Added:
"begin": "@(module|type)?doc\\s*'",
126
Added:
"comment": "@doc with string is treated as documentation",
127
Added:
"end": "'",
128
Added:
"name": "comment.documentation.string",
129
Added:
"patterns": [
130
Added:
{
131
Added:
"include": "#interpolated_elixir"
132
Added:
},
133
Added:
{
134
Added:
"include": "#escaped_char"
135
Added:
}
136
Added:
]
137
Added:
},
138
Added:
{
139
Added:
"match": "(?<!\\.)\\b(alias|require|import|use)\\b(?![?!])",
140
Added:
"name": "keyword.other.special-method.elixir"
141
Added:
},
142
Added:
{
143
Added:
"captures": {
144
Added:
"1": {
145
Added:
"name": "punctuation.definition.constant.elixir"
146
Added:
}
147
Added:
},
148
Added:
"comment": "Atom key",
149
Added:
"match": "(?:<<<|<<>>|<<~|<~>|<>|<=|<-|<~|<|>>>|>=|>|\\+\\+\\+|\\+\\+|\\+|---|--|->|-|\\*\\*|\\*|\\|\\|\\||\\|\\||\\|>|\\||%{}|%|&&&|&&|&|===|==|=~|=>|=|!==|!=|!|\\.\\.|\\.|~>>|~>|\\^|{}|@|\\/|\\\\\\\\|[\\p{L}_][\\p{L}\\p{N}_@]*[?!]?)(:)(?!:|\\b)",
150
Added:
"name": "constant.language.symbol.elixir"
151
Added:
},
152
Added:
{
153
Added:
"match": "(?<!\\.)\\b(do|end|case|for|if|cond|with|unless|try|receive|fn|defmodule|defprotocol|defimpl|defrecordp?|defstruct|defcallback|defexception|defoverridable|exit|after|rescue|catch|else|raise|reraise|throw|quote|unquote|unquote_splicing|super|when|and|or|not|in)\\b(?![?!])",
154
Added:
"name": "keyword.control.elixir"
155
Added:
},
156
Added:
{
157
Added:
"comment": "Function with parameters",
158
Added:
"begin": "\\b(defp?|defmacrop?|defguardp?|defdelegate)\\b\\s*([_\\p{Ll}\\p{Lo}][\\p{L}\\p{N}_]*[?!]?)\\s*\\(",
159
Added:
"name": "meta.function.definition.elixir",
160
Added:
"beginCaptures": {
161
Added:
"1": {
162
Added:
"name": "keyword.control.elixir"
163
Added:
},
164
Added:
"2": {
165
Added:
"name": "entity.name.function.elixir"
166
Added:
}
167
Added:
},
168
Added:
"end": "\\)",
169
Added:
"patterns": [
170
Added:
{
171
Added:
"include": "$self"
172
Added:
}
173
Added:
]
174
Added:
},
175
Added:
{
176
Added:
"comment": "Function without parameters",
177
Added:
"match": "\\b(defp?|defmacrop?|defguardp?|defdelegate)\\b\\s*([_\\p{Ll}\\p{Lo}][\\p{L}\\p{N}_]*[?!]?)",
178
Added:
"name": "meta.function.definition.elixir",
179
Added:
"captures": {
180
Added:
"1": {
181
Added:
"name": "keyword.control.elixir"
182
Added:
},
183
Added:
"2": {
184
Added:
"name": "entity.name.function.elixir"
185
Added:
}
186
Added:
}
187
Added:
},
188
Added:
{
189
Added:
"comment": "Typespec with parameters",
190
Added:
"begin": "((@)(callback|macrocallback|spec|typep?|opaque))\\b\\s*([_\\p{Ll}\\p{Lo}][\\p{L}\\p{N}_]*[?!]?)\\s*\\(",
191
Added:
"name": "meta.type.definition.elixir",
192
Added:
"beginCaptures": {
193
Added:
"2": {
194
Added:
"name": "punctuation.definition.variable.elixir"
195
Added:
},
196
Added:
"1": {
197
Added:
"name": "variable.other.constant.elixir"
198
Added:
},
199
Added:
"4": {
200
Added:
"name": "entity.name.function.typespec.elixir"
201
Added:
}
202
Added:
},
203
Added:
"end": "\\)",
204
Added:
"patterns": [
205
Added:
{
206
Added:
"include": "$self"
207
Added:
}
208
Added:
]
209
Added:
},
210
Added:
{
211
Added:
"comment": "Typespec without parameters",
212
Added:
"match": "((@)(callback|macrocallback|spec|typep?|opaque))\\b\\s*([_\\p{Ll}\\p{Lo}][\\p{L}\\p{N}_]*[?!]?)",
213
Added:
"name": "meta.type.definition.elixir",
214
Added:
"captures": {
215
Added:
"2": {
216
Added:
"name": "punctuation.definition.variable.elixir"
217
Added:
},
218
Added:
"1": {
219
Added:
"name": "variable.other.constant.elixir"
220
Added:
},
221
Added:
"4": {
222
Added:
"name": "entity.name.function.typespec.elixir"
223
Added:
}
224
Added:
}
225
Added:
},
226
Added:
{
227
Added:
"comment": " as above, just doesn't need a 'end' and does a logic operation",
228
Added:
"match": "(?<!\\.)\\b(and|not|or|when|in)\\b",
229
Added:
"name": "keyword.operator.elixir"
230
Added:
},
231
Added:
{
232
Added:
"comment": "Keyword",
233
Added:
"match": "\\b(nil|true|false)\\b(?![?!])",
234
Added:
"name": "constant.language.elixir"
235
Added:
},
236
Added:
{
237
Added:
"comment": "Access",
238
Added:
"match": "((@)[_\\p{Ll}\\p{Lo}][\\p{L}\\p{N}_]*[?!]?)\\s*(\\.)\\s*\\b([_\\p{Ll}\\p{Lo}][\\p{L}\\p{N}_]*[?!]?)\\s*(\\.)\\s*\\b([_\\p{Ll}\\p{Lo}][\\p{L}\\p{N}_]*[?!]?)(?!\\s*\\.)",
239
Added:
"captures": {
240
Added:
"2": {
241
Added:
"name": "punctuation.definition.variable.elixir"
242
Added:
},
243
Added:
"1": {
244
Added:
"name": "variable.other.constant.elixir"
245
Added:
},
246
Added:
"3": {
247
Added:
"name": "punctuation.separator.method.elixir"
248
Added:
},
249
Added:
"4": {
250
Added:
"name": "variable.other.readwrite.elixir"
251
Added:
},
252
Added:
"5": {
253
Added:
"name": "punctuation.separator.method.elixir"
254
Added:
},
255
Added:
"6": {
256
Added:
"name": "variable.other.readwrite.elixir"
257
Added:
}
258
Added:
}
259
Added:
},
260
Added:
{
261
Added:
"comment": "Access",
262
Added:
"match": "((@)[_\\p{Ll}\\p{Lo}][\\p{L}\\p{N}_]*[?!]?)\\s*(\\.)\\s*\\b([_\\p{Ll}\\p{Lo}][\\p{L}\\p{N}_]*[?!]?)",
263
Added:
"captures": {
264
Added:
"2": {
265
Added:
"name": "punctuation.definition.variable.elixir"
266
Added:
},
267
Added:
"1": {
268
Added:
"name": "variable.other.constant.elixir"
269
Added:
},
270
Added:
"3": {
271
Added:
"name": "punctuation.separator.method.elixir"
272
Added:
},
273
Added:
"4": {
274
Added:
"name": "variable.other.readwrite.elixir"
275
Added:
}
276
Added:
}
277
Added:
},
278
Added:
{
279
Added:
"comment": "Access",
280
Added:
"match": "\\b([_\\p{Ll}\\p{Lo}][\\p{L}\\p{N}_]*[?!]?)\\s*(\\.)\\s*\\b([_\\p{Ll}\\p{Lo}][\\p{L}\\p{N}_]*[?!]?)\\s*(\\.)\\s*\\b([_\\p{Ll}\\p{Lo}][\\p{L}\\p{N}_]*[?!]?)(?!\\s*\\.)",
281
Added:
"captures": {
282
Added:
"1": {
283
Added:
"name": "variable.other.readwrite.elixir"
284
Added:
},
285
Added:
"2": {
286
Added:
"name": "punctuation.separator.method.elixir"
287
Added:
},
288
Added:
"3": {
289
Added:
"name": "variable.other.readwrite.elixir"
290
Added:
},
291
Added:
"4": {
292
Added:
"name": "punctuation.separator.method.elixir"
293
Added:
},
294
Added:
"5": {
295
Added:
"name": "variable.other.readwrite.elixir"
296
Added:
}
297
Added:
}
298
Added:
},
299
Added:
{
300
Added:
"comment": "Access",
301
Added:
"match": "\\b([_\\p{Ll}\\p{Lo}][\\p{L}\\p{N}_]*[?!]?)\\s*(\\.)\\s*\\b([_\\p{Ll}\\p{Lo}][\\p{L}\\p{N}_]*[?!]?)",
302
Added:
"captures": {
303
Added:
"1": {
304
Added:
"name": "variable.other.readwrite.elixir"
305
Added:
},
306
Added:
"2": {
307
Added:
"name": "punctuation.separator.method.elixir"
308
Added:
},
309
Added:
"3": {
310
Added:
"name": "variable.other.readwrite.elixir"
311
Added:
}
312
Added:
}
313
Added:
},
314
Added:
{
315
Added:
"comment": "Dot call",
316
Added:
"match": "\\b(?<=\\.)\\s*([_\\p{Ll}\\p{Lo}][\\p{L}\\p{N}_]*[?!]?)(?!\\s*\\.)",
317
Added:
"name": "entity.name.function.call.dot.elixir"
318
Added:
},
319
Added:
{
320
Added:
"begin": "(?<=\\.)\\s*\"",
321
Added:
"captures": {
322
Added:
"1": {
323
Added:
"name": "punctuation.definition.constant.elixir"
324
Added:
}
325
Added:
},
326
Added:
"end": "\"(?!\\s*\\.)",
327
Added:
"name": "entity.name.function.call.dot.elixir",
328
Added:
"patterns": [
329
Added:
{
330
Added:
"include": "#escaped_char"
331
Added:
}
332
Added:
]
333
Added:
},
334
Added:
{
335
Added:
"begin": "(?<=\\.)\\s*'",
336
Added:
"captures": {
337
Added:
"1": {
338
Added:
"name": "punctuation.definition.constant.elixir"
339
Added:
}
340
Added:
},
341
Added:
"end": "'(?!\\s*\\.)",
342
Added:
"name": "entity.name.function.call.dot.elixir",
343
Added:
"patterns": [
344
Added:
{
345
Added:
"include": "#escaped_char"
346
Added:
}
347
Added:
]
348
Added:
},
349
Added:
{
350
Added:
"comment": "Local function capture",
351
Added:
"match": "(\\&)([_\\p{Ll}\\p{Lo}][\\p{L}\\p{N}_]*[?!]?)(\\/)([0-9]+)",
352
Added:
"captures": {
353
Added:
"1": {
354
Added:
"name": "keyword.operator.other.elixir"
355
Added:
},
356
Added:
"2": {
357
Added:
"name": "entity.name.function.call.capture.elixir"
358
Added:
},
359
Added:
"3": {
360
Added:
"name": "keyword.operator.arithmetic.elixir"
361
Added:
},
362
Added:
"4": {
363
Added:
"name": "constant.numeric.elixir"
364
Added:
}
365
Added:
}
366
Added:
},
367
Added:
{
368
Added:
"comment": "Local function call",
369
Added:
"match": "\\b([_\\p{Ll}\\p{Lo}][\\p{L}\\p{N}_]*[?!]?)(?=\\s*?\\()",
370
Added:
"name": "entity.name.function.call.local.elixir"
371
Added:
},
372
Added:
{
373
Added:
"comment": "Pipe into no parens local function call",
374
Added:
"match": "(?<=\\|\\>\\s*)([_\\p{Ll}\\p{Lo}][\\p{L}\\p{N}_]*[?!]?)",
375
Added:
"name": "entity.name.function.call.local.pipe.elixir"
376
Added:
},
377
Added:
{
378
Added:
"match": "\\b(__(CALLER|ENV|MODULE|DIR|STACKTRACE)__)\\b(?![?!])",
379
Added:
"name": "variable.language.elixir"
380
Added:
},
381
Added:
{
382
Added:
"match": "\\b[A-Z][A-Za-z0-9_]*\\b",
383
Added:
"name": "entity.name.type.module.elixir"
384
Added:
},
385
Added:
{
386
Added:
"match": "\\b(0[xX]\\h(?>_?\\h)*|\\d(?>_?\\d)*(\\.(?![^[:space:][:digit:]])(?>_?\\d)*)?([eE][-+]?\\d(?>_?\\d)*)?|0b[01](?:[_01]*[01]+|[01]*)|0o[0-7](?:[_0-7]*[0-7]+|[0-7]*))\\b",
387
Added:
"name": "constant.numeric.elixir"
388
Added:
},
389
Added:
{
390
Added:
"comment": "Regex sigil with curlies",
391
Added:
"begin": "~r\\{",
392
Added:
"beginCaptures": {
393
Added:
"0": {
394
Added:
"name": "punctuation.section.regexp.begin.elixir"
395
Added:
}
396
Added:
},
397
Added:
"end": "\\}[eimnosux]*",
398
Added:
"endCaptures": {
399
Added:
"0": {
400
Added:
"name": "punctuation.section.regexp.end.elixir"
401
Added:
}
402
Added:
},
403
Added:
"name": "string.regexp.interpolated.elixir",
404
Added:
"patterns": [
405
Added:
{
406
Added:
"include": "#regex_sub"
407
Added:
},
408
Added:
{
409
Added:
"include": "#nest_curly"
410
Added:
}
411
Added:
]
412
Added:
},
413
Added:
{
414
Added:
"comment": "Regex sigil with pipes",
415
Added:
"begin": "~r\\|",
416
Added:
"beginCaptures": {
417
Added:
"0": {
418
Added:
"name": "punctuation.section.regexp.begin.elixir"
419
Added:
}
420
Added:
},
421
Added:
"end": "\\|[eimnosux]*",
422
Added:
"endCaptures": {
423
Added:
"0": {
424
Added:
"name": "punctuation.section.regexp.end.elixir"
425
Added:
}
426
Added:
},
427
Added:
"name": "string.regexp.interpolated.elixir",
428
Added:
"patterns": [
429
Added:
{
430
Added:
"include": "#regex_sub"
431
Added:
}
432
Added:
]
433
Added:
},
434
Added:
{
435
Added:
"comment": "Regex sigil with parens",
436
Added:
"begin": "~r\\(",
437
Added:
"beginCaptures": {
438
Added:
"0": {
439
Added:
"name": "punctuation.section.regexp.begin.elixir"
440
Added:
}
441
Added:
},
442
Added:
"end": "\\)[eimnosux]*",
443
Added:
"endCaptures": {
444
Added:
"0": {
445
Added:
"name": "punctuation.section.regexp.end.elixir"
446
Added:
}
447
Added:
},
448
Added:
"name": "string.regexp.interpolated.elixir",
449
Added:
"patterns": [
450
Added:
{
451
Added:
"include": "#regex_sub"
452
Added:
}
453
Added:
]
454
Added:
},
455
Added:
{
456
Added:
"comment": "Regex sigil with slashes",
457
Added:
"begin": "~r\\/",
458
Added:
"beginCaptures": {
459
Added:
"0": {
460
Added:
"name": "punctuation.section.regexp.begin.elixir"
461
Added:
}
462
Added:
},
463
Added:
"end": "\\/[eimnosux]*",
464
Added:
"endCaptures": {
465
Added:
"0": {
466
Added:
"name": "punctuation.section.regexp.end.elixir"
467
Added:
}
468
Added:
},
469
Added:
"name": "string.regexp.interpolated.elixir",
470
Added:
"patterns": [
471
Added:
{
472
Added:
"include": "#regex_sub"
473
Added:
}
474
Added:
]
475
Added:
},
476
Added:
{
477
Added:
"comment": "Regex sigil with brackets",
478
Added:
"begin": "~r\\[",
479
Added:
"beginCaptures": {
480
Added:
"0": {
481
Added:
"name": "punctuation.section.regexp.begin.elixir"
482
Added:
}
483
Added:
},
484
Added:
"end": "\\][eimnosux]*",
485
Added:
"endCaptures": {
486
Added:
"0": {
487
Added:
"name": "punctuation.section.regexp.end.elixir"
488
Added:
}
489
Added:
},
490
Added:
"name": "string.regexp.interpolated.elixir",
491
Added:
"patterns": [
492
Added:
{
493
Added:
"include": "#regex_sub"
494
Added:
},
495
Added:
{
496
Added:
"include": "#nest_brackets"
497
Added:
}
498
Added:
]
499
Added:
},
500
Added:
{
501
Added:
"comment": "Regex sigil with ltgt",
502
Added:
"begin": "~r\\<",
503
Added:
"beginCaptures": {
504
Added:
"0": {
505
Added:
"name": "punctuation.section.regexp.begin.elixir"
506
Added:
}
507
Added:
},
508
Added:
"end": "\\>[eimnosux]*",
509
Added:
"endCaptures": {
510
Added:
"0": {
511
Added:
"name": "punctuation.section.regexp.end.elixir"
512
Added:
}
513
Added:
},
514
Added:
"name": "string.regexp.interpolated.elixir",
515
Added:
"patterns": [
516
Added:
{
517
Added:
"include": "#regex_sub"
518
Added:
}
519
Added:
]
520
Added:
},
521
Added:
{
522
Added:
"comment": "Regex sigil with single quoted heredocs",
523
Added:
"begin": "~r\\'\\'\\'",
524
Added:
"beginCaptures": {
525
Added:
"0": {
526
Added:
"name": "punctuation.section.regexp.begin.elixir"
527
Added:
}
528
Added:
},
529
Added:
"end": "\\'\\'\\'[eimnosux]*",
530
Added:
"endCaptures": {
531
Added:
"0": {
532
Added:
"name": "punctuation.section.regexp.end.elixir"
533
Added:
}
534
Added:
},
535
Added:
"name": "string.regexp.interpolated.elixir",
536
Added:
"patterns": [
537
Added:
{
538
Added:
"include": "#regex_sub"
539
Added:
}
540
Added:
]
541
Added:
},
542
Added:
{
543
Added:
"comment": "Regex sigil with double quotes heredocs",
544
Added:
"begin": "~r\\\"\\\"\\\"",
545
Added:
"beginCaptures": {
546
Added:
"0": {
547
Added:
"name": "punctuation.section.regexp.begin.elixir"
548
Added:
}
549
Added:
},
550
Added:
"end": "\\\"\\\"\\\"[eimnosux]*",
551
Added:
"endCaptures": {
552
Added:
"0": {
553
Added:
"name": "punctuation.section.regexp.end.elixir"
554
Added:
}
555
Added:
},
556
Added:
"name": "string.regexp.interpolated.elixir",
557
Added:
"patterns": [
558
Added:
{
559
Added:
"include": "#regex_sub"
560
Added:
}
561
Added:
]
562
Added:
},
563
Added:
{
564
Added:
"comment": "Regex sigil with double quotes",
565
Added:
"begin": "~r\\\"",
566
Added:
"beginCaptures": {
567
Added:
"0": {
568
Added:
"name": "punctuation.section.regexp.begin.elixir"
569
Added:
}
570
Added:
},
571
Added:
"end": "\\\"[eimnosux]*",
572
Added:
"endCaptures": {
573
Added:
"0": {
574
Added:
"name": "punctuation.section.regexp.end.elixir"
575
Added:
}
576
Added:
},
577
Added:
"name": "string.regexp.interpolated.elixir",
578
Added:
"patterns": [
579
Added:
{
580
Added:
"include": "#regex_sub"
581
Added:
}
582
Added:
]
583
Added:
},
584
Added:
{
585
Added:
"comment": "Regex sigil with single quotes",
586
Added:
"begin": "~r\\'",
587
Added:
"beginCaptures": {
588
Added:
"0": {
589
Added:
"name": "punctuation.section.regexp.begin.elixir"
590
Added:
}
591
Added:
},
592
Added:
"end": "\\'[eimnosux]*",
593
Added:
"endCaptures": {
594
Added:
"0": {
595
Added:
"name": "punctuation.section.regexp.end.elixir"
596
Added:
}
597
Added:
},
598
Added:
"name": "string.regexp.interpolated.elixir",
599
Added:
"patterns": [
600
Added:
{
601
Added:
"include": "#regex_sub"
602
Added:
}
603
Added:
]
604
Added:
},
605
Added:
{
606
Added:
"comment": "Literal regex sigil with curlies",
607
Added:
"begin": "~R\\{",
608
Added:
"beginCaptures": {
609
Added:
"0": {
610
Added:
"name": "punctuation.section.regexp.begin.elixir"
611
Added:
}
612
Added:
},
613
Added:
"end": "\\}[eimnosux]*",
614
Added:
"endCaptures": {
615
Added:
"0": {
616
Added:
"name": "punctuation.section.regexp.end.elixir"
617
Added:
}
618
Added:
},
619
Added:
"name": "string.regexp.literal.elixir",
620
Added:
"patterns": [
621
Added:
{
622
Added:
"include": "#nest_curly"
623
Added:
}
624
Added:
]
625
Added:
},
626
Added:
{
627
Added:
"comment": "Literal regex sigil with pipes",
628
Added:
"begin": "~R\\|",
629
Added:
"beginCaptures": {
630
Added:
"0": {
631
Added:
"name": "punctuation.section.regexp.begin.elixir"
632
Added:
}
633
Added:
},
634
Added:
"end": "\\|[eimnosux]*",
635
Added:
"endCaptures": {
636
Added:
"0": {
637
Added:
"name": "punctuation.section.regexp.end.elixir"
638
Added:
}
639
Added:
},
640
Added:
"name": "string.regexp.literal.elixir"
641
Added:
},
642
Added:
{
643
Added:
"comment": "Literal regex sigil with parens",
644
Added:
"begin": "~R\\(",
645
Added:
"beginCaptures": {
646
Added:
"0": {
647
Added:
"name": "punctuation.section.regexp.begin.elixir"
648
Added:
}
649
Added:
},
650
Added:
"end": "\\)[eimnosux]*",
651
Added:
"endCaptures": {
652
Added:
"0": {
653
Added:
"name": "punctuation.section.regexp.end.elixir"
654
Added:
}
655
Added:
},
656
Added:
"name": "string.regexp.literal.elixir",
657
Added:
"patterns": [
658
Added:
{
659
Added:
"include": "#nest_parens"
660
Added:
}
661
Added:
]
662
Added:
},
663
Added:
{
664
Added:
"comment": "Literal regex sigil with slashes",
665
Added:
"begin": "~R\\/",
666
Added:
"beginCaptures": {
667
Added:
"0": {
668
Added:
"name": "punctuation.section.regexp.begin.elixir"
669
Added:
}
670
Added:
},
671
Added:
"end": "\\/[eimnosux]*",
672
Added:
"endCaptures": {
673
Added:
"0": {
674
Added:
"name": "punctuation.section.regexp.end.elixir"
675
Added:
}
676
Added:
},
677
Added:
"name": "string.regexp.literal.elixir"
678
Added:
},
679
Added:
{
680
Added:
"comment": "Literal regex sigil with brackets",
681
Added:
"begin": "~R\\[",
682
Added:
"beginCaptures": {
683
Added:
"0": {
684
Added:
"name": "punctuation.section.regexp.begin.elixir"
685
Added:
}
686
Added:
},
687
Added:
"end": "\\][eimnosux]*",
688
Added:
"endCaptures": {
689
Added:
"0": {
690
Added:
"name": "punctuation.section.regexp.end.elixir"
691
Added:
}
692
Added:
},
693
Added:
"name": "string.regexp.literal.elixir",
694
Added:
"patterns": [
695
Added:
{
696
Added:
"include": "#nest_brackets"
697
Added:
}
698
Added:
]
699
Added:
},
700
Added:
{
701
Added:
"comment": "Literal regex sigil with ltgt",
702
Added:
"begin": "~R\\<",
703
Added:
"beginCaptures": {
704
Added:
"0": {
705
Added:
"name": "punctuation.section.regexp.begin.elixir"
706
Added:
}
707
Added:
},
708
Added:
"end": "\\>[eimnosux]*",
709
Added:
"endCaptures": {
710
Added:
"0": {
711
Added:
"name": "punctuation.section.regexp.end.elixir"
712
Added:
}
713
Added:
},
714
Added:
"name": "string.regexp.literal.elixir"
715
Added:
},
716
Added:
{
717
Added:
"comment": "Literal regex sigil with single quoted heredoc",
718
Added:
"begin": "~R\\'\\'\\'",
719
Added:
"beginCaptures": {
720
Added:
"0": {
721
Added:
"name": "punctuation.section.regexp.begin.elixir"
722
Added:
}
723
Added:
},
724
Added:
"end": "\\'\\'\\'[eimnosux]*",
725
Added:
"endCaptures": {
726
Added:
"0": {
727
Added:
"name": "punctuation.section.regexp.end.elixir"
728
Added:
}
729
Added:
},
730
Added:
"name": "string.regexp.literal.elixir"
731
Added:
},
732
Added:
{
733
Added:
"comment": "Literal regex sigil with double quoted heredoc",
734
Added:
"begin": "~R\\\"\\\"\\\"",
735
Added:
"beginCaptures": {
736
Added:
"0": {
737
Added:
"name": "punctuation.section.regexp.begin.elixir"
738
Added:
}
739
Added:
},
740
Added:
"end": "\\\"\\\"\\\"[eimnosux]*",
741
Added:
"endCaptures": {
742
Added:
"0": {
743
Added:
"name": "punctuation.section.regexp.end.elixir"
744
Added:
}
745
Added:
},
746
Added:
"name": "string.regexp.literal.elixir"
747
Added:
},
748
Added:
{
749
Added:
"comment": "Literal regex sigil with double quotes",
750
Added:
"begin": "~R\\\"",
751
Added:
"beginCaptures": {
752
Added:
"0": {
753
Added:
"name": "punctuation.section.regexp.begin.elixir"
754
Added:
}
755
Added:
},
756
Added:
"end": "\\\"[eimnosux]*",
757
Added:
"endCaptures": {
758
Added:
"0": {
759
Added:
"name": "punctuation.section.regexp.end.elixir"
760
Added:
}
761
Added:
},
762
Added:
"name": "string.regexp.literal.elixir"
763
Added:
},
764
Added:
{
765
Added:
"comment": "Literal regex sigil with single quotes",
766
Added:
"begin": "~R\\'",
767
Added:
"beginCaptures": {
768
Added:
"0": {
769
Added:
"name": "punctuation.section.regexp.begin.elixir"
770
Added:
}
771
Added:
},
772
Added:
"end": "\\'[eimnosux]*",
773
Added:
"endCaptures": {
774
Added:
"0": {
775
Added:
"name": "punctuation.section.regexp.end.elixir"
776
Added:
}
777
Added:
},
778
Added:
"name": "string.regexp.literal.elixir"
779
Added:
},
780
Added:
{
781
Added:
"comment": "Character list sigil with curlies",
782
Added:
"begin": "~c\\{",
783
Added:
"beginCaptures": {
784
Added:
"0": {
785
Added:
"name": "punctuation.definition.string.begin.elixir"
786
Added:
}
787
Added:
},
788
Added:
"end": "\\}[a-z]*",
789
Added:
"endCaptures": {
790
Added:
"0": {
791
Added:
"name": "punctuation.definition.string.end.elixir"
792
Added:
}
793
Added:
},
794
Added:
"name": "string.quoted.single.elixir",
795
Added:
"patterns": [
796
Added:
{
797
Added:
"include": "#interpolated_elixir"
798
Added:
},
799
Added:
{
800
Added:
"include": "#escaped_char"
801
Added:
}
802
Added:
]
803
Added:
},
804
Added:
{
805
Added:
"comment": "Character list sigil with pipes",
806
Added:
"begin": "~c\\|",
807
Added:
"beginCaptures": {
808
Added:
"0": {
809
Added:
"name": "punctuation.definition.string.begin.elixir"
810
Added:
}
811
Added:
},
812
Added:
"end": "\\|[a-z]*",
813
Added:
"endCaptures": {
814
Added:
"0": {
815
Added:
"name": "punctuation.definition.string.end.elixir"
816
Added:
}
817
Added:
},
818
Added:
"name": "string.quoted.single.elixir",
819
Added:
"patterns": [
820
Added:
{
821
Added:
"include": "#interpolated_elixir"
822
Added:
},
823
Added:
{
824
Added:
"include": "#escaped_char"
825
Added:
}
826
Added:
]
827
Added:
},
828
Added:
{
829
Added:
"comment": "Character list sigil with parens",
830
Added:
"begin": "~c\\(",
831
Added:
"beginCaptures": {
832
Added:
"0": {
833
Added:
"name": "punctuation.definition.string.begin.elixir"
834
Added:
}
835
Added:
},
836
Added:
"end": "\\)[a-z]*",
837
Added:
"endCaptures": {
838
Added:
"0": {
839
Added:
"name": "punctuation.definition.string.end.elixir"
840
Added:
}
841
Added:
},
842
Added:
"name": "string.quoted.single.elixir",
843
Added:
"patterns": [
844
Added:
{
845
Added:
"include": "#interpolated_elixir"
846
Added:
},
847
Added:
{
848
Added:
"include": "#escaped_char"
849
Added:
}
850
Added:
]
851
Added:
},
852
Added:
{
853
Added:
"comment": "Character list sigil with curlies",
854
Added:
"begin": "~c\\<",
855
Added:
"beginCaptures": {
856
Added:
"0": {
857
Added:
"name": "punctuation.definition.string.begin.elixir"
858
Added:
}
859
Added:
},
860
Added:
"end": "\\>[a-z]*",
861
Added:
"endCaptures": {
862
Added:
"0": {
863
Added:
"name": "punctuation.definition.string.end.elixir"
864
Added:
}
865
Added:
},
866
Added:
"name": "string.quoted.single.elixir",
867
Added:
"patterns": [
868
Added:
{
869
Added:
"include": "#interpolated_elixir"
870
Added:
},
871
Added:
{
872
Added:
"include": "#escaped_char"
873
Added:
}
874
Added:
]
875
Added:
},
876
Added:
{
877
Added:
"comment": "Character list sigil with curlies",
878
Added:
"begin": "~c\\[",
879
Added:
"beginCaptures": {
880
Added:
"0": {
881
Added:
"name": "punctuation.definition.string.begin.elixir"
882
Added:
}
883
Added:
},
884
Added:
"end": "\\][a-z]*",
885
Added:
"endCaptures": {
886
Added:
"0": {
887
Added:
"name": "punctuation.definition.string.end.elixir"
888
Added:
}
889
Added:
},
890
Added:
"name": "string.quoted.single.elixir",
891
Added:
"patterns": [
892
Added:
{
893
Added:
"include": "#interpolated_elixir"
894
Added:
},
895
Added:
{
896
Added:
"include": "#escaped_char"
897
Added:
}
898
Added:
]
899
Added:
},
900
Added:
{
901
Added:
"comment": "Character list sigil with curlies",
902
Added:
"begin": "~c\\/",
903
Added:
"beginCaptures": {
904
Added:
"0": {
905
Added:
"name": "punctuation.definition.string.begin.elixir"
906
Added:
}
907
Added:
},
908
Added:
"end": "\\/[a-z]*",
909
Added:
"endCaptures": {
910
Added:
"0": {
911
Added:
"name": "punctuation.definition.string.end.elixir"
912
Added:
}
913
Added:
},
914
Added:
"name": "string.quoted.single.elixir",
915
Added:
"patterns": [
916
Added:
{
917
Added:
"include": "#interpolated_elixir"
918
Added:
},
919
Added:
{
920
Added:
"include": "#escaped_char"
921
Added:
}
922
Added:
]
923
Added:
},
924
Added:
{
925
Added:
"comment": "Character list sigil with single quoted heredoc",
926
Added:
"begin": "~c\\'\\'\\'",
927
Added:
"beginCaptures": {
928
Added:
"0": {
929
Added:
"name": "punctuation.definition.string.begin.elixir"
930
Added:
}
931
Added:
},
932
Added:
"end": "\\'\\'\\'[a-z]*",
933
Added:
"endCaptures": {
934
Added:
"0": {
935
Added:
"name": "punctuation.definition.string.end.elixir"
936
Added:
}
937
Added:
},
938
Added:
"name": "string.quoted.single.elixir",
939
Added:
"patterns": [
940
Added:
{
941
Added:
"include": "#interpolated_elixir"
942
Added:
},
943
Added:
{
944
Added:
"include": "#escaped_char"
945
Added:
}
946
Added:
]
947
Added:
},
948
Added:
{
949
Added:
"comment": "Character list sigil with double quoted heredoc",
950
Added:
"begin": "~c\\\"\\\"\\\"",
951
Added:
"beginCaptures": {
952
Added:
"0": {
953
Added:
"name": "punctuation.definition.string.begin.elixir"
954
Added:
}
955
Added:
},
956
Added:
"end": "\\\"\\\"\\\"[a-z]*",
957
Added:
"endCaptures": {
958
Added:
"0": {
959
Added:
"name": "punctuation.definition.string.end.elixir"
960
Added:
}
961
Added:
},
962
Added:
"name": "string.quoted.single.elixir",
963
Added:
"patterns": [
964
Added:
{
965
Added:
"include": "#interpolated_elixir"
966
Added:
},
967
Added:
{
968
Added:
"include": "#escaped_char"
969
Added:
}
970
Added:
]
971
Added:
},
972
Added:
{
973
Added:
"comment": "Character list sigil with curlies",
974
Added:
"begin": "~c\\'",
975
Added:
"beginCaptures": {
976
Added:
"0": {
977
Added:
"name": "punctuation.definition.string.begin.elixir"
978
Added:
}
979
Added:
},
980
Added:
"end": "\\'[a-z]*",
981
Added:
"endCaptures": {
982
Added:
"0": {
983
Added:
"name": "punctuation.definition.string.end.elixir"
984
Added:
}
985
Added:
},
986
Added:
"name": "string.quoted.single.elixir",
987
Added:
"patterns": [
988
Added:
{
989
Added:
"include": "#interpolated_elixir"
990
Added:
},
991
Added:
{
992
Added:
"include": "#escaped_char"
993
Added:
}
994
Added:
]
995
Added:
},
996
Added:
{
997
Added:
"comment": "Character list sigil with curlies",
998
Added:
"begin": "~c\\\"",
999
Added:
"beginCaptures": {
1000
Added:
"0": {
1001
Added:
"name": "punctuation.definition.string.begin.elixir"
1002
Added:
}
1003
Added:
},
1004
Added:
"end": "\\\"[a-z]*",
1005
Added:
"endCaptures": {
1006
Added:
"0": {
1007
Added:
"name": "punctuation.definition.string.end.elixir"
1008
Added:
}
1009
Added:
},
1010
Added:
"name": "string.quoted.single.elixir",
1011
Added:
"patterns": [
1012
Added:
{
1013
Added:
"include": "#interpolated_elixir"
1014
Added:
},
1015
Added:
{
1016
Added:
"include": "#escaped_char"
1017
Added:
}
1018
Added:
]
1019
Added:
},
1020
Added:
{
1021
Added:
"comment": "Literal Character list sigil with curlies",
1022
Added:
"begin": "~C\\{",
1023
Added:
"beginCaptures": {
1024
Added:
"0": {
1025
Added:
"name": "punctuation.definition.string.begin.elixir"
1026
Added:
}
1027
Added:
},
1028
Added:
"end": "\\}[a-z]*",
1029
Added:
"endCaptures": {
1030
Added:
"0": {
1031
Added:
"name": "punctuation.definition.string.end.elixir"
1032
Added:
}
1033
Added:
},
1034
Added:
"name": "string.quoted.single.elixir"
1035
Added:
},
1036
Added:
{
1037
Added:
"comment": "Literal Character list sigil with pipes",
1038
Added:
"begin": "~C\\|",
1039
Added:
"beginCaptures": {
1040
Added:
"0": {
1041
Added:
"name": "punctuation.definition.string.begin.elixir"
1042
Added:
}
1043
Added:
},
1044
Added:
"end": "\\|[a-z]*",
1045
Added:
"endCaptures": {
1046
Added:
"0": {
1047
Added:
"name": "punctuation.definition.string.end.elixir"
1048
Added:
}
1049
Added:
},
1050
Added:
"name": "string.quoted.single.elixir"
1051
Added:
},
1052
Added:
{
1053
Added:
"comment": "Literal Character list sigil with parens",
1054
Added:
"begin": "~C\\(",
1055
Added:
"beginCaptures": {
1056
Added:
"0": {
1057
Added:
"name": "punctuation.definition.string.begin.elixir"
1058
Added:
}
1059
Added:
},
1060
Added:
"end": "\\)[a-z]*",
1061
Added:
"endCaptures": {
1062
Added:
"0": {
1063
Added:
"name": "punctuation.definition.string.end.elixir"
1064
Added:
}
1065
Added:
},
1066
Added:
"name": "string.quoted.single.elixir"
1067
Added:
},
1068
Added:
{
1069
Added:
"comment": "Literal Character list sigil with curlies",
1070
Added:
"begin": "~C\\<",
1071
Added:
"beginCaptures": {
1072
Added:
"0": {
1073
Added:
"name": "punctuation.definition.string.begin.elixir"
1074
Added:
}
1075
Added:
},
1076
Added:
"end": "\\>[a-z]*",
1077
Added:
"endCaptures": {
1078
Added:
"0": {
1079
Added:
"name": "punctuation.definition.string.end.elixir"
1080
Added:
}
1081
Added:
},
1082
Added:
"name": "string.quoted.single.elixir"
1083
Added:
},
1084
Added:
{
1085
Added:
"comment": "Literal Character list sigil with curlies",
1086
Added:
"begin": "~C\\[",
1087
Added:
"beginCaptures": {
1088
Added:
"0": {
1089
Added:
"name": "punctuation.definition.string.begin.elixir"
1090
Added:
}
1091
Added:
},
1092
Added:
"end": "\\][a-z]*",
1093
Added:
"endCaptures": {
1094
Added:
"0": {
1095
Added:
"name": "punctuation.definition.string.end.elixir"
1096
Added:
}
1097
Added:
},
1098
Added:
"name": "string.quoted.single.elixir"
1099
Added:
},
1100
Added:
{
1101
Added:
"comment": "Literal Character list sigil with curlies",
1102
Added:
"begin": "~C\\/",
1103
Added:
"beginCaptures": {
1104
Added:
"0": {
1105
Added:
"name": "punctuation.definition.string.begin.elixir"
1106
Added:
}
1107
Added:
},
1108
Added:
"end": "\\/[a-z]*",
1109
Added:
"endCaptures": {
1110
Added:
"0": {
1111
Added:
"name": "punctuation.definition.string.end.elixir"
1112
Added:
}
1113
Added:
},
1114
Added:
"name": "string.quoted.single.elixir"
1115
Added:
},
1116
Added:
{
1117
Added:
"comment": "Literal Character list sigil with single quoted heredoc",
1118
Added:
"begin": "~C\\'\\'\\'",
1119
Added:
"beginCaptures": {
1120
Added:
"0": {
1121
Added:
"name": "punctuation.definition.string.begin.elixir"
1122
Added:
}
1123
Added:
},
1124
Added:
"end": "\\'\\'\\'[a-z]*",
1125
Added:
"endCaptures": {
1126
Added:
"0": {
1127
Added:
"name": "punctuation.definition.string.end.elixir"
1128
Added:
}
1129
Added:
},
1130
Added:
"name": "string.quoted.single.elixir"
1131
Added:
},
1132
Added:
{
1133
Added:
"comment": "Literal Character list sigil with double quoted heredoc",
1134
Added:
"begin": "~C\\\"\\\"\\\"",
1135
Added:
"beginCaptures": {
1136
Added:
"0": {
1137
Added:
"name": "punctuation.definition.string.begin.elixir"
1138
Added:
}
1139
Added:
},
1140
Added:
"end": "\\\"\\\"\\\"[a-z]*",
1141
Added:
"endCaptures": {
1142
Added:
"0": {
1143
Added:
"name": "punctuation.definition.string.end.elixir"
1144
Added:
}
1145
Added:
},
1146
Added:
"name": "string.quoted.single.elixir"
1147
Added:
},
1148
Added:
{
1149
Added:
"comment": "Literal Character list sigil with curlies",
1150
Added:
"begin": "~C\\'",
1151
Added:
"beginCaptures": {
1152
Added:
"0": {
1153
Added:
"name": "punctuation.definition.string.begin.elixir"
1154
Added:
}
1155
Added:
},
1156
Added:
"end": "\\'[a-z]*",
1157
Added:
"endCaptures": {
1158
Added:
"0": {
1159
Added:
"name": "punctuation.definition.string.end.elixir"
1160
Added:
}
1161
Added:
},
1162
Added:
"name": "string.quoted.single.elixir"
1163
Added:
},
1164
Added:
{
1165
Added:
"comment": "Literal Character list sigil with curlies",
1166
Added:
"begin": "~C\\\"",
1167
Added:
"beginCaptures": {
1168
Added:
"0": {
1169
Added:
"name": "punctuation.definition.string.begin.elixir"
1170
Added:
}
1171
Added:
},
1172
Added:
"end": "\\\"[a-z]*",
1173
Added:
"endCaptures": {
1174
Added:
"0": {
1175
Added:
"name": "punctuation.definition.string.end.elixir"
1176
Added:
}
1177
Added:
},
1178
Added:
"name": "string.quoted.single.elixir"
1179
Added:
},
1180
Added:
{
1181
Added:
"begin": "~w\\{",
1182
Added:
"beginCaptures": {
1183
Added:
"0": {
1184
Added:
"name": "punctuation.section.list.begin.elixir"
1185
Added:
}
1186
Added:
},
1187
Added:
"comment": "sigil (allow for interpolation)",
1188
Added:
"end": "\\}[acs]*",
1189
Added:
"endCaptures": {
1190
Added:
"0": {
1191
Added:
"name": "punctuation.section.list.end.elixir"
1192
Added:
}
1193
Added:
},
1194
Added:
"name": "string.quoted.double.interpolated.elixir",
1195
Added:
"patterns": [
1196
Added:
{
1197
Added:
"include": "#interpolated_elixir"
1198
Added:
},
1199
Added:
{
1200
Added:
"include": "#escaped_char"
1201
Added:
},
1202
Added:
{
1203
Added:
"include": "#nest_curly"
1204
Added:
}
1205
Added:
]
1206
Added:
},
1207
Added:
{
1208
Added:
"begin": "~w\\[",
1209
Added:
"beginCaptures": {
1210
Added:
"0": {
1211
Added:
"name": "punctuation.section.list.begin.elixir"
1212
Added:
}
1213
Added:
},
1214
Added:
"comment": "sigil (allow for interpolation)",
1215
Added:
"end": "\\][acs]*",
1216
Added:
"endCaptures": {
1217
Added:
"0": {
1218
Added:
"name": "punctuation.section.list.end.elixir"
1219
Added:
}
1220
Added:
},
1221
Added:
"name": "string.quoted.double.interpolated.elixir",
1222
Added:
"patterns": [
1223
Added:
{
1224
Added:
"include": "#interpolated_elixir"
1225
Added:
},
1226
Added:
{
1227
Added:
"include": "#escaped_char"
1228
Added:
},
1229
Added:
{
1230
Added:
"include": "#nest_brackets"
1231
Added:
}
1232
Added:
]
1233
Added:
},
1234
Added:
{
1235
Added:
"begin": "~w\\<",
1236
Added:
"beginCaptures": {
1237
Added:
"0": {
1238
Added:
"name": "punctuation.section.list.begin.elixir"
1239
Added:
}
1240
Added:
},
1241
Added:
"comment": "sigil (allow for interpolation)",
1242
Added:
"end": "\\>[acs]*",
1243
Added:
"endCaptures": {
1244
Added:
"0": {
1245
Added:
"name": "punctuation.section.list.end.elixir"
1246
Added:
}
1247
Added:
},
1248
Added:
"name": "string.quoted.double.interpolated.elixir",
1249
Added:
"patterns": [
1250
Added:
{
1251
Added:
"include": "#interpolated_elixir"
1252
Added:
},
1253
Added:
{
1254
Added:
"include": "#escaped_char"
1255
Added:
},
1256
Added:
{
1257
Added:
"include": "#nest_ltgt"
1258
Added:
}
1259
Added:
]
1260
Added:
},
1261
Added:
{
1262
Added:
"begin": "~w\\(",
1263
Added:
"beginCaptures": {
1264
Added:
"0": {
1265
Added:
"name": "punctuation.section.list.begin.elixir"
1266
Added:
}
1267
Added:
},
1268
Added:
"comment": "sigil (allow for interpolation)",
1269
Added:
"end": "\\)[acs]*",
1270
Added:
"endCaptures": {
1271
Added:
"0": {
1272
Added:
"name": "punctuation.section.list.end.elixir"
1273
Added:
}
1274
Added:
},
1275
Added:
"name": "string.quoted.double.interpolated.elixir",
1276
Added:
"patterns": [
1277
Added:
{
1278
Added:
"include": "#interpolated_elixir"
1279
Added:
},
1280
Added:
{
1281
Added:
"include": "#escaped_char"
1282
Added:
},
1283
Added:
{
1284
Added:
"include": "#nest_parens"
1285
Added:
}
1286
Added:
]
1287
Added:
},
1288
Added:
{
1289
Added:
"begin": "~w\\/",
1290
Added:
"beginCaptures": {
1291
Added:
"0": {
1292
Added:
"name": "punctuation.section.list.begin.elixir"
1293
Added:
}
1294
Added:
},
1295
Added:
"comment": "sigil (allow for interpolation)",
1296
Added:
"end": "\\/[acs]*",
1297
Added:
"endCaptures": {
1298
Added:
"0": {
1299
Added:
"name": "punctuation.section.list.end.elixir"
1300
Added:
}
1301
Added:
},
1302
Added:
"name": "string.quoted.double.interpolated.elixir",
1303
Added:
"patterns": [
1304
Added:
{
1305
Added:
"include": "#interpolated_elixir"
1306
Added:
},
1307
Added:
{
1308
Added:
"include": "#escaped_char"
1309
Added:
}
1310
Added:
]
1311
Added:
},
1312
Added:
{
1313
Added:
"begin": "~w\\|",
1314
Added:
"beginCaptures": {
1315
Added:
"0": {
1316
Added:
"name": "punctuation.section.list.begin.elixir"
1317
Added:
}
1318
Added:
},
1319
Added:
"comment": "sigil (allow for interpolation)",
1320
Added:
"end": "\\|[acs]*",
1321
Added:
"endCaptures": {
1322
Added:
"0": {
1323
Added:
"name": "punctuation.section.list.end.elixir"
1324
Added:
}
1325
Added:
},
1326
Added:
"name": "string.quoted.double.interpolated.elixir",
1327
Added:
"patterns": [
1328
Added:
{
1329
Added:
"include": "#interpolated_elixir"
1330
Added:
},
1331
Added:
{
1332
Added:
"include": "#escaped_char"
1333
Added:
}
1334
Added:
]
1335
Added:
},
1336
Added:
{
1337
Added:
"comment": "Interpolated word list sigil with single quoted heredoc",
1338
Added:
"begin": "~w\\'\\'\\'",
1339
Added:
"beginCaptures": {
1340
Added:
"0": {
1341
Added:
"name": "punctuation.section.list.begin.elixir"
1342
Added:
}
1343
Added:
},
1344
Added:
"end": "\\'\\'\\'[acs]*",
1345
Added:
"endCaptures": {
1346
Added:
"0": {
1347
Added:
"name": "punctuation.section.list.end.elixir"
1348
Added:
}
1349
Added:
},
1350
Added:
"name": "string.quoted.double.interpolated.elixir",
1351
Added:
"patterns": [
1352
Added:
{
1353
Added:
"include": "#interpolated_elixir"
1354
Added:
},
1355
Added:
{
1356
Added:
"include": "#escaped_char"
1357
Added:
}
1358
Added:
]
1359
Added:
},
1360
Added:
{
1361
Added:
"comment": "Interpolated word list sigil with double quoted heredoc",
1362
Added:
"begin": "~w\\\"\\\"\\\"",
1363
Added:
"beginCaptures": {
1364
Added:
"0": {
1365
Added:
"name": "punctuation.section.list.begin.elixir"
1366
Added:
}
1367
Added:
},
1368
Added:
"end": "\\\"\\\"\\\"[acs]*",
1369
Added:
"endCaptures": {
1370
Added:
"0": {
1371
Added:
"name": "punctuation.section.list.end.elixir"
1372
Added:
}
1373
Added:
},
1374
Added:
"name": "string.quoted.double.interpolated.elixir",
1375
Added:
"patterns": [
1376
Added:
{
1377
Added:
"include": "#interpolated_elixir"
1378
Added:
},
1379
Added:
{
1380
Added:
"include": "#escaped_char"
1381
Added:
}
1382
Added:
]
1383
Added:
},
1384
Added:
{
1385
Added:
"begin": "~w\\'",
1386
Added:
"beginCaptures": {
1387
Added:
"0": {
1388
Added:
"name": "punctuation.section.list.begin.elixir"
1389
Added:
}
1390
Added:
},
1391
Added:
"comment": "sigil (allow for interpolation)",
1392
Added:
"end": "\\'[acs]*",
1393
Added:
"endCaptures": {
1394
Added:
"0": {
1395
Added:
"name": "punctuation.section.list.end.elixir"
1396
Added:
}
1397
Added:
},
1398
Added:
"name": "string.quoted.double.interpolated.elixir",
1399
Added:
"patterns": [
1400
Added:
{
1401
Added:
"include": "#interpolated_elixir"
1402
Added:
},
1403
Added:
{
1404
Added:
"include": "#escaped_char"
1405
Added:
}
1406
Added:
]
1407
Added:
},
1408
Added:
{
1409
Added:
"begin": "~w\\\"",
1410
Added:
"beginCaptures": {
1411
Added:
"0": {
1412
Added:
"name": "punctuation.section.list.begin.elixir"
1413
Added:
}
1414
Added:
},
1415
Added:
"comment": "sigil (allow for interpolation)",
1416
Added:
"end": "\\\"[acs]*",
1417
Added:
"endCaptures": {
1418
Added:
"0": {
1419
Added:
"name": "punctuation.section.list.end.elixir"
1420
Added:
}
1421
Added:
},
1422
Added:
"name": "string.quoted.double.interpolated.elixir",
1423
Added:
"patterns": [
1424
Added:
{
1425
Added:
"include": "#interpolated_elixir"
1426
Added:
},
1427
Added:
{
1428
Added:
"include": "#escaped_char"
1429
Added:
}
1430
Added:
]
1431
Added:
},
1432
Added:
{
1433
Added:
"begin": "~W\\{",
1434
Added:
"beginCaptures": {
1435
Added:
"0": {
1436
Added:
"name": "punctuation.section.list.begin.elixir"
1437
Added:
}
1438
Added:
},
1439
Added:
"comment": "sigil (without interpolation)",
1440
Added:
"end": "\\}[acs]*",
1441
Added:
"endCaptures": {
1442
Added:
"0": {
1443
Added:
"name": "punctuation.section.list.end.elixir"
1444
Added:
}
1445
Added:
},
1446
Added:
"name": "string.quoted.double.literal.elixir"
1447
Added:
},
1448
Added:
{
1449
Added:
"begin": "~W\\[",
1450
Added:
"beginCaptures": {
1451
Added:
"0": {
1452
Added:
"name": "punctuation.section.list.begin.elixir"
1453
Added:
}
1454
Added:
},
1455
Added:
"comment": "sigil (without interpolation)",
1456
Added:
"end": "\\][acs]*",
1457
Added:
"endCaptures": {
1458
Added:
"0": {
1459
Added:
"name": "punctuation.section.list.end.elixir"
1460
Added:
}
1461
Added:
},
1462
Added:
"name": "string.quoted.double.literal.elixir",
1463
Added:
"patterns": [
1464
Added:
{
1465
Added:
"include": "#nest_brackets"
1466
Added:
}
1467
Added:
]
1468
Added:
},
1469
Added:
{
1470
Added:
"begin": "~W\\<",
1471
Added:
"beginCaptures": {
1472
Added:
"0": {
1473
Added:
"name": "punctuation.section.list.begin.elixir"
1474
Added:
}
1475
Added:
},
1476
Added:
"comment": "sigil (without interpolation)",
1477
Added:
"end": "\\>[acs]*",
1478
Added:
"endCaptures": {
1479
Added:
"0": {
1480
Added:
"name": "punctuation.section.list.end.elixir"
1481
Added:
}
1482
Added:
},
1483
Added:
"name": "string.quoted.double.literal.elixir",
1484
Added:
"patterns": [
1485
Added:
{
1486
Added:
"include": "#nest_ltgt"
1487
Added:
}
1488
Added:
]
1489
Added:
},
1490
Added:
{
1491
Added:
"begin": "~W\\(",
1492
Added:
"beginCaptures": {
1493
Added:
"0": {
1494
Added:
"name": "punctuation.section.list.begin.elixir"
1495
Added:
}
1496
Added:
},
1497
Added:
"comment": "sigil (without interpolation)",
1498
Added:
"end": "\\)[acs]*",
1499
Added:
"endCaptures": {
1500
Added:
"0": {
1501
Added:
"name": "punctuation.section.list.end.elixir"
1502
Added:
}
1503
Added:
},
1504
Added:
"name": "string.quoted.double.literal.elixir",
1505
Added:
"patterns": [
1506
Added:
{
1507
Added:
"include": "#nest_parens"
1508
Added:
}
1509
Added:
]
1510
Added:
},
1511
Added:
{
1512
Added:
"begin": "~W\\/",
1513
Added:
"beginCaptures": {
1514
Added:
"0": {
1515
Added:
"name": "punctuation.section.list.begin.elixir"
1516
Added:
}
1517
Added:
},
1518
Added:
"comment": "sigil (without interpolation)",
1519
Added:
"end": "\\/[acs]*",
1520
Added:
"endCaptures": {
1521
Added:
"0": {
1522
Added:
"name": "punctuation.section.list.end.elixir"
1523
Added:
}
1524
Added:
},
1525
Added:
"name": "string.quoted.double.literal.elixir"
1526
Added:
},
1527
Added:
{
1528
Added:
"begin": "~W\\|",
1529
Added:
"beginCaptures": {
1530
Added:
"0": {
1531
Added:
"name": "punctuation.section.list.begin.elixir"
1532
Added:
}
1533
Added:
},
1534
Added:
"comment": "sigil (without interpolation)",
1535
Added:
"end": "\\|[acs]*",
1536
Added:
"endCaptures": {
1537
Added:
"0": {
1538
Added:
"name": "punctuation.section.list.end.elixir"
1539
Added:
}
1540
Added:
},
1541
Added:
"name": "string.quoted.double.literal.elixir"
1542
Added:
},
1543
Added:
{
1544
Added:
"comment": "Literal word list sigil with single quoted heredoc",
1545
Added:
"begin": "~W\\'\\'\\'",
1546
Added:
"beginCaptures": {
1547
Added:
"0": {
1548
Added:
"name": "punctuation.section.list.begin.elixir"
1549
Added:
}
1550
Added:
},
1551
Added:
"end": "\\'\\'\\'[acs]*",
1552
Added:
"endCaptures": {
1553
Added:
"0": {
1554
Added:
"name": "punctuation.section.list.end.elixir"
1555
Added:
}
1556
Added:
},
1557
Added:
"name": "string.quoted.double.literal.elixir"
1558
Added:
},
1559
Added:
{
1560
Added:
"comment": "Literal word list sigil with double quoted heredoc",
1561
Added:
"begin": "~W\\\"\\\"\\\"",
1562
Added:
"beginCaptures": {
1563
Added:
"0": {
1564
Added:
"name": "punctuation.section.list.begin.elixir"
1565
Added:
}
1566
Added:
},
1567
Added:
"end": "\\\"\\\"\\\"[acs]*",
1568
Added:
"endCaptures": {
1569
Added:
"0": {
1570
Added:
"name": "punctuation.section.list.end.elixir"
1571
Added:
}
1572
Added:
},
1573
Added:
"name": "string.quoted.double.literal.elixir"
1574
Added:
},
1575
Added:
{
1576
Added:
"begin": "~W\\'",
1577
Added:
"beginCaptures": {
1578
Added:
"0": {
1579
Added:
"name": "punctuation.section.list.begin.elixir"
1580
Added:
}
1581
Added:
},
1582
Added:
"comment": "sigil (without interpolation)",
1583
Added:
"end": "\\'[acs]*",
1584
Added:
"endCaptures": {
1585
Added:
"0": {
1586
Added:
"name": "punctuation.section.list.end.elixir"
1587
Added:
}
1588
Added:
},
1589
Added:
"name": "string.quoted.double.literal.elixir"
1590
Added:
},
1591
Added:
{
1592
Added:
"begin": "~W\\\"",
1593
Added:
"beginCaptures": {
1594
Added:
"0": {
1595
Added:
"name": "punctuation.section.list.begin.elixir"
1596
Added:
}
1597
Added:
},
1598
Added:
"comment": "sigil (without interpolation)",
1599
Added:
"end": "\\\"[acs]*",
1600
Added:
"endCaptures": {
1601
Added:
"0": {
1602
Added:
"name": "punctuation.section.list.end.elixir"
1603
Added:
}
1604
Added:
},
1605
Added:
"name": "string.quoted.double.literal.elixir"
1606
Added:
},
1607
Added:
{
1608
Added:
"comment": "String Eex heredoc with double quotes",
1609
Added:
"begin": "\\s?(~E\"\"\")$",
1610
Added:
"beginCaptures": {
1611
Added:
"0": {
1612
Added:
"name": "punctuation.definition.string.begin.elixir"
1613
Added:
},
1614
Added:
"1": {
1615
Added:
"name": "string.quoted.double.heredoc.elixir"
1616
Added:
}
1617
Added:
},
1618
Added:
"end": "^\\s*(\"\"\"[a-z]*)$",
1619
Added:
"endCaptures": {
1620
Added:
"0": {
1621
Added:
"name": "punctuation.definition.string.end.elixir"
1622
Added:
},
1623
Added:
"1": {
1624
Added:
"name": "string.quoted.double.heredoc.elixir"
1625
Added:
}
1626
Added:
},
1627
Added:
"name": "text.html.elixir",
1628
Added:
"patterns": [
1629
Added:
{
1630
Added:
"include": "text.html.elixir"
1631
Added:
}
1632
Added:
]
1633
Added:
},
1634
Added:
{
1635
Added:
"comment": "String Eex heredoc with double quotes",
1636
Added:
"begin": "\\s?(~e\"\"\")$",
1637
Added:
"beginCaptures": {
1638
Added:
"0": {
1639
Added:
"name": "punctuation.definition.string.begin.elixir"
1640
Added:
},
1641
Added:
"1": {
1642
Added:
"name": "string.quoted.double.heredoc.elixir"
1643
Added:
}
1644
Added:
},
1645
Added:
"end": "^\\s*(\"\"\"[a-z]*)$",
1646
Added:
"endCaptures": {
1647
Added:
"0": {
1648
Added:
"name": "punctuation.definition.string.end.elixir"
1649
Added:
},
1650
Added:
"1": {
1651
Added:
"name": "string.quoted.double.heredoc.elixir"
1652
Added:
}
1653
Added:
},
1654
Added:
"name": "text.html.elixir",
1655
Added:
"patterns": [
1656
Added:
{
1657
Added:
"include": "text.html.elixir"
1658
Added:
}
1659
Added:
]
1660
Added:
},
1661
Added:
{
1662
Added:
"comment": "String Eex heredoc with single quotes",
1663
Added:
"begin": "\\s?(~E''')$",
1664
Added:
"beginCaptures": {
1665
Added:
"0": {
1666
Added:
"name": "punctuation.definition.string.begin.elixir"
1667
Added:
},
1668
Added:
"1": {
1669
Added:
"name": "string.quoted.double.heredoc.elixir"
1670
Added:
}
1671
Added:
},
1672
Added:
"end": "^\\s*('''[a-z]*)$",
1673
Added:
"endCaptures": {
1674
Added:
"0": {
1675
Added:
"name": "punctuation.definition.string.end.elixir"
1676
Added:
},
1677
Added:
"1": {
1678
Added:
"name": "string.quoted.double.heredoc.elixir"
1679
Added:
}
1680
Added:
},
1681
Added:
"name": "text.html.elixir",
1682
Added:
"patterns": [
1683
Added:
{
1684
Added:
"include": "text.html.elixir"
1685
Added:
}
1686
Added:
]
1687
Added:
},
1688
Added:
{
1689
Added:
"comment": "String Eex heredoc with single quotes",
1690
Added:
"begin": "\\s?(~e''')$",
1691
Added:
"beginCaptures": {
1692
Added:
"0": {
1693
Added:
"name": "punctuation.definition.string.begin.elixir"
1694
Added:
},
1695
Added:
"1": {
1696
Added:
"name": "string.quoted.double.heredoc.elixir"
1697
Added:
}
1698
Added:
},
1699
Added:
"end": "^\\s*('''[a-z]*)$",
1700
Added:
"endCaptures": {
1701
Added:
"0": {
1702
Added:
"name": "punctuation.definition.string.end.elixir"
1703
Added:
},
1704
Added:
"1": {
1705
Added:
"name": "string.quoted.double.heredoc.elixir"
1706
Added:
}
1707
Added:
},
1708
Added:
"name": "text.html.elixir",
1709
Added:
"patterns": [
1710
Added:
{
1711
Added:
"include": "text.html.elixir"
1712
Added:
}
1713
Added:
]
1714
Added:
},
1715
Added:
{
1716
Added:
"comment": "Embedded LiveView heredoc with double quotes",
1717
Added:
"begin": "\\s?(~L\"\"\")$",
1718
Added:
"beginCaptures": {
1719
Added:
"0": {
1720
Added:
"name": "punctuation.definition.string.begin.elixir"
1721
Added:
},
1722
Added:
"1": {
1723
Added:
"name": "string.quoted.double.heredoc.elixir"
1724
Added:
}
1725
Added:
},
1726
Added:
"end": "^\\s*(\"\"\"[a-z]*)$",
1727
Added:
"endCaptures": {
1728
Added:
"0": {
1729
Added:
"name": "punctuation.definition.string.end.elixir"
1730
Added:
},
1731
Added:
"1": {
1732
Added:
"name": "string.quoted.double.heredoc.elixir"
1733
Added:
}
1734
Added:
},
1735
Added:
"name": "text.html.elixir",
1736
Added:
"patterns": [
1737
Added:
{
1738
Added:
"include": "text.html.elixir"
1739
Added:
}
1740
Added:
]
1741
Added:
},
1742
Added:
{
1743
Added:
"comment": "Embedded LiveView heredoc with double quotes",
1744
Added:
"begin": "\\s?(~l\"\"\")$",
1745
Added:
"beginCaptures": {
1746
Added:
"0": {
1747
Added:
"name": "punctuation.definition.string.begin.elixir"
1748
Added:
},
1749
Added:
"1": {
1750
Added:
"name": "string.quoted.double.heredoc.elixir"
1751
Added:
}
1752
Added:
},
1753
Added:
"end": "^\\s*(\"\"\"[a-z]*)$",
1754
Added:
"endCaptures": {
1755
Added:
"0": {
1756
Added:
"name": "punctuation.definition.string.end.elixir"
1757
Added:
},
1758
Added:
"1": {
1759
Added:
"name": "string.quoted.double.heredoc.elixir"
1760
Added:
}
1761
Added:
},
1762
Added:
"name": "text.html.elixir",
1763
Added:
"patterns": [
1764
Added:
{
1765
Added:
"include": "text.html.elixir"
1766
Added:
}
1767
Added:
]
1768
Added:
},
1769
Added:
{
1770
Added:
"comment": "Embedded LiveView heredoc with single quotes",
1771
Added:
"begin": "\\s?(~L''')$",
1772
Added:
"beginCaptures": {
1773
Added:
"0": {
1774
Added:
"name": "punctuation.definition.string.begin.elixir"
1775
Added:
},
1776
Added:
"1": {
1777
Added:
"name": "string.quoted.double.heredoc.elixir"
1778
Added:
}
1779
Added:
},
1780
Added:
"end": "^\\s*('''[a-z]*)$",
1781
Added:
"endCaptures": {
1782
Added:
"0": {
1783
Added:
"name": "punctuation.definition.string.end.elixir"
1784
Added:
},
1785
Added:
"1": {
1786
Added:
"name": "string.quoted.double.heredoc.elixir"
1787
Added:
}
1788
Added:
},
1789
Added:
"name": "text.html.elixir",
1790
Added:
"patterns": [
1791
Added:
{
1792
Added:
"include": "text.html.elixir"
1793
Added:
}
1794
Added:
]
1795
Added:
},
1796
Added:
{
1797
Added:
"comment": "Embedded LiveView heredoc with single quotes",
1798
Added:
"begin": "\\s?(~l''')$",
1799
Added:
"beginCaptures": {
1800
Added:
"0": {
1801
Added:
"name": "punctuation.definition.string.begin.elixir"
1802
Added:
},
1803
Added:
"1": {
1804
Added:
"name": "string.quoted.double.heredoc.elixir"
1805
Added:
}
1806
Added:
},
1807
Added:
"end": "^\\s*('''[a-z]*)$",
1808
Added:
"endCaptures": {
1809
Added:
"0": {
1810
Added:
"name": "punctuation.definition.string.end.elixir"
1811
Added:
},
1812
Added:
"1": {
1813
Added:
"name": "string.quoted.double.heredoc.elixir"
1814
Added:
}
1815
Added:
},
1816
Added:
"name": "text.html.elixir",
1817
Added:
"patterns": [
1818
Added:
{
1819
Added:
"include": "text.html.elixir"
1820
Added:
}
1821
Added:
]
1822
Added:
},
1823
Added:
{
1824
Added:
"begin": "~[a-z](?>\"\"\")",
1825
Added:
"beginCaptures": {
1826
Added:
"0": {
1827
Added:
"name": "punctuation.definition.string.begin.elixir"
1828
Added:
}
1829
Added:
},
1830
Added:
"comment": "Double-quoted heredocs sigils",
1831
Added:
"end": "^\\s*\"\"\"",
1832
Added:
"endCaptures": {
1833
Added:
"0": {
1834
Added:
"name": "punctuation.definition.string.end.elixir"
1835
Added:
}
1836
Added:
},
1837
Added:
"name": "string.quoted.double.heredoc.elixir",
1838
Added:
"patterns": [
1839
Added:
{
1840
Added:
"include": "#interpolated_elixir"
1841
Added:
},
1842
Added:
{
1843
Added:
"include": "#escaped_char"
1844
Added:
}
1845
Added:
]
1846
Added:
},
1847
Added:
{
1848
Added:
"begin": "~[a-z](?>''')",
1849
Added:
"beginCaptures": {
1850
Added:
"0": {
1851
Added:
"name": "punctuation.definition.string.begin.elixir"
1852
Added:
}
1853
Added:
},
1854
Added:
"comment": "Double-quoted heredocs sigils",
1855
Added:
"end": "^\\s*'''",
1856
Added:
"endCaptures": {
1857
Added:
"0": {
1858
Added:
"name": "punctuation.definition.string.end.elixir"
1859
Added:
}
1860
Added:
},
1861
Added:
"name": "string.quoted.double.heredoc.elixir",
1862
Added:
"patterns": [
1863
Added:
{
1864
Added:
"include": "#interpolated_elixir"
1865
Added:
},
1866
Added:
{
1867
Added:
"include": "#escaped_char"
1868
Added:
}
1869
Added:
]
1870
Added:
},
1871
Added:
{
1872
Added:
"begin": "~[a-z]\\{",
1873
Added:
"beginCaptures": {
1874
Added:
"0": {
1875
Added:
"name": "punctuation.definition.string.begin.elixir"
1876
Added:
}
1877
Added:
},
1878
Added:
"comment": "sigil (allow for interpolation)",
1879
Added:
"end": "\\}[a-z]*",
1880
Added:
"endCaptures": {
1881
Added:
"0": {
1882
Added:
"name": "punctuation.definition.string.end.elixir"
1883
Added:
}
1884
Added:
},
1885
Added:
"name": "string.quoted.double.interpolated.elixir",
1886
Added:
"patterns": [
1887
Added:
{
1888
Added:
"include": "#interpolated_elixir"
1889
Added:
},
1890
Added:
{
1891
Added:
"include": "#escaped_char"
1892
Added:
},
1893
Added:
{
1894
Added:
"include": "#nest_curly"
1895
Added:
}
1896
Added:
]
1897
Added:
},
1898
Added:
{
1899
Added:
"begin": "~[a-z]\\[",
1900
Added:
"beginCaptures": {
1901
Added:
"0": {
1902
Added:
"name": "punctuation.definition.string.begin.elixir"
1903
Added:
}
1904
Added:
},
1905
Added:
"comment": "sigil (allow for interpolation)",
1906
Added:
"end": "\\][a-z]*",
1907
Added:
"endCaptures": {
1908
Added:
"0": {
1909
Added:
"name": "punctuation.definition.string.end.elixir"
1910
Added:
}
1911
Added:
},
1912
Added:
"name": "string.quoted.double.interpolated.elixir",
1913
Added:
"patterns": [
1914
Added:
{
1915
Added:
"include": "#interpolated_elixir"
1916
Added:
},
1917
Added:
{
1918
Added:
"include": "#escaped_char"
1919
Added:
},
1920
Added:
{
1921
Added:
"include": "#nest_brackets"
1922
Added:
}
1923
Added:
]
1924
Added:
},
1925
Added:
{
1926
Added:
"begin": "~[a-z]\\<",
1927
Added:
"beginCaptures": {
1928
Added:
"0": {
1929
Added:
"name": "punctuation.definition.string.begin.elixir"
1930
Added:
}
1931
Added:
},
1932
Added:
"comment": "sigil (allow for interpolation)",
1933
Added:
"end": "\\>[a-z]*",
1934
Added:
"endCaptures": {
1935
Added:
"0": {
1936
Added:
"name": "punctuation.definition.string.end.elixir"
1937
Added:
}
1938
Added:
},
1939
Added:
"name": "string.quoted.double.interpolated.elixir",
1940
Added:
"patterns": [
1941
Added:
{
1942
Added:
"include": "#interpolated_elixir"
1943
Added:
},
1944
Added:
{
1945
Added:
"include": "#escaped_char"
1946
Added:
},
1947
Added:
{
1948
Added:
"include": "#nest_ltgt"
1949
Added:
}
1950
Added:
]
1951
Added:
},
1952
Added:
{
1953
Added:
"begin": "~[a-z]\\(",
1954
Added:
"beginCaptures": {
1955
Added:
"0": {
1956
Added:
"name": "punctuation.definition.string.begin.elixir"
1957
Added:
}
1958
Added:
},
1959
Added:
"comment": "sigil (allow for interpolation)",
1960
Added:
"end": "\\)[a-z]*",
1961
Added:
"endCaptures": {
1962
Added:
"0": {
1963
Added:
"name": "punctuation.definition.string.end.elixir"
1964
Added:
}
1965
Added:
},
1966
Added:
"name": "string.quoted.double.interpolated.elixir",
1967
Added:
"patterns": [
1968
Added:
{
1969
Added:
"include": "#interpolated_elixir"
1970
Added:
},
1971
Added:
{
1972
Added:
"include": "#escaped_char"
1973
Added:
},
1974
Added:
{
1975
Added:
"include": "#nest_parens"
1976
Added:
}
1977
Added:
]
1978
Added:
},
1979
Added:
{
1980
Added:
"begin": "~[a-z]\\/",
1981
Added:
"beginCaptures": {
1982
Added:
"0": {
1983
Added:
"name": "punctuation.definition.string.begin.elixir"
1984
Added:
}
1985
Added:
},
1986
Added:
"comment": "sigil (allow for interpolation)",
1987
Added:
"end": "\\/[a-z]*",
1988
Added:
"endCaptures": {
1989
Added:
"0": {
1990
Added:
"name": "punctuation.definition.string.end.elixir"
1991
Added:
}
1992
Added:
},
1993
Added:
"name": "string.quoted.double.interpolated.elixir",
1994
Added:
"patterns": [
1995
Added:
{
1996
Added:
"include": "#interpolated_elixir"
1997
Added:
},
1998
Added:
{
1999
Added:
"include": "#escaped_char"
2000
Added:
}
2001
Added:
]
2002
Added:
},
2003
Added:
{
2004
Added:
"begin": "~[a-z]\\'",
2005
Added:
"beginCaptures": {
2006
Added:
"0": {
2007
Added:
"name": "punctuation.definition.string.begin.elixir"
2008
Added:
}
2009
Added:
},
2010
Added:
"comment": "sigil (allow for interpolation)",
2011
Added:
"end": "\\'[a-z]*",
2012
Added:
"endCaptures": {
2013
Added:
"0": {
2014
Added:
"name": "punctuation.definition.string.end.elixir"
2015
Added:
}
2016
Added:
},
2017
Added:
"name": "string.quoted.double.interpolated.elixir",
2018
Added:
"patterns": [
2019
Added:
{
2020
Added:
"include": "#interpolated_elixir"
2021
Added:
},
2022
Added:
{
2023
Added:
"include": "#escaped_char"
2024
Added:
}
2025
Added:
]
2026
Added:
},
2027
Added:
{
2028
Added:
"begin": "~[a-z]\\\"",
2029
Added:
"beginCaptures": {
2030
Added:
"0": {
2031
Added:
"name": "punctuation.definition.string.begin.elixir"
2032
Added:
}
2033
Added:
},
2034
Added:
"comment": "sigil (allow for interpolation)",
2035
Added:
"end": "\\\"[a-z]*",
2036
Added:
"endCaptures": {
2037
Added:
"0": {
2038
Added:
"name": "punctuation.definition.string.end.elixir"
2039
Added:
}
2040
Added:
},
2041
Added:
"name": "string.quoted.double.interpolated.elixir",
2042
Added:
"patterns": [
2043
Added:
{
2044
Added:
"include": "#interpolated_elixir"
2045
Added:
},
2046
Added:
{
2047
Added:
"include": "#escaped_char"
2048
Added:
}
2049
Added:
]
2050
Added:
},
2051
Added:
{
2052
Added:
"begin": "~[a-z]\\|",
2053
Added:
"beginCaptures": {
2054
Added:
"0": {
2055
Added:
"name": "punctuation.definition.string.begin.elixir"
2056
Added:
}
2057
Added:
},
2058
Added:
"comment": "sigil (allow for interpolation)",
2059
Added:
"end": "\\|[a-z]*",
2060
Added:
"endCaptures": {
2061
Added:
"0": {
2062
Added:
"name": "punctuation.definition.string.end.elixir"
2063
Added:
}
2064
Added:
},
2065
Added:
"name": "string.quoted.double.interpolated.elixir",
2066
Added:
"patterns": [
2067
Added:
{
2068
Added:
"include": "#interpolated_elixir"
2069
Added:
},
2070
Added:
{
2071
Added:
"include": "#escaped_char"
2072
Added:
}
2073
Added:
]
2074
Added:
},
2075
Added:
{
2076
Added:
"begin": "~[A-Z][A-Z0-9]*(?>\"\"\")",
2077
Added:
"beginCaptures": {
2078
Added:
"0": {
2079
Added:
"name": "punctuation.definition.string.begin.elixir"
2080
Added:
}
2081
Added:
},
2082
Added:
"comment": "Double-quoted heredocs sigils",
2083
Added:
"end": "^\\s*\"\"\"",
2084
Added:
"endCaptures": {
2085
Added:
"0": {
2086
Added:
"name": "punctuation.definition.string.end.elixir"
2087
Added:
}
2088
Added:
},
2089
Added:
"name": "string.quoted.other.literal.elixir"
2090
Added:
},
2091
Added:
{
2092
Added:
"begin": "~[A-Z][A-Z0-9]*(?>''')",
2093
Added:
"beginCaptures": {
2094
Added:
"0": {
2095
Added:
"name": "punctuation.definition.string.begin.elixir"
2096
Added:
}
2097
Added:
},
2098
Added:
"comment": "Double-quoted heredocs sigils",
2099
Added:
"end": "^\\s*'''",
2100
Added:
"endCaptures": {
2101
Added:
"0": {
2102
Added:
"name": "punctuation.definition.string.end.elixir"
2103
Added:
}
2104
Added:
},
2105
Added:
"name": "string.quoted.other.literal.elixir"
2106
Added:
},
2107
Added:
{
2108
Added:
"begin": "~[A-Z][A-Z0-9]*\\{",
2109
Added:
"beginCaptures": {
2110
Added:
"0": {
2111
Added:
"name": "punctuation.definition.string.begin.elixir"
2112
Added:
}
2113
Added:
},
2114
Added:
"comment": "sigil (without interpolation)",
2115
Added:
"end": "\\}[a-z]*",
2116
Added:
"endCaptures": {
2117
Added:
"0": {
2118
Added:
"name": "punctuation.definition.string.end.elixir"
2119
Added:
}
2120
Added:
},
2121
Added:
"name": "string.quoted.double.literal.elixir"
2122
Added:
},
2123
Added:
{
2124
Added:
"begin": "~[A-Z][A-Z0-9]*\\[",
2125
Added:
"beginCaptures": {
2126
Added:
"0": {
2127
Added:
"name": "punctuation.definition.string.begin.elixir"
2128
Added:
}
2129
Added:
},
2130
Added:
"comment": "sigil (without interpolation)",
2131
Added:
"end": "\\][a-z]*",
2132
Added:
"endCaptures": {
2133
Added:
"0": {
2134
Added:
"name": "punctuation.definition.string.end.elixir"
2135
Added:
}
2136
Added:
},
2137
Added:
"name": "string.quoted.double.literal.elixir",
2138
Added:
"patterns": [
2139
Added:
{
2140
Added:
"include": "#nest_brackets"
2141
Added:
}
2142
Added:
]
2143
Added:
},
2144
Added:
{
2145
Added:
"begin": "~[A-Z][A-Z0-9]*\\<",
2146
Added:
"beginCaptures": {
2147
Added:
"0": {
2148
Added:
"name": "punctuation.definition.string.begin.elixir"
2149
Added:
}
2150
Added:
},
2151
Added:
"comment": "sigil (without interpolation)",
2152
Added:
"end": "\\>[a-z]*",
2153
Added:
"endCaptures": {
2154
Added:
"0": {
2155
Added:
"name": "punctuation.definition.string.end.elixir"
2156
Added:
}
2157
Added:
},
2158
Added:
"name": "string.quoted.double.literal.elixir",
2159
Added:
"patterns": [
2160
Added:
{
2161
Added:
"include": "#nest_ltgt"
2162
Added:
}
2163
Added:
]
2164
Added:
},
2165
Added:
{
2166
Added:
"begin": "~[A-Z][A-Z0-9]*\\(",
2167
Added:
"beginCaptures": {
2168
Added:
"0": {
2169
Added:
"name": "punctuation.definition.string.begin.elixir"
2170
Added:
}
2171
Added:
},
2172
Added:
"comment": "sigil (without interpolation)",
2173
Added:
"end": "\\)[a-z]*",
2174
Added:
"endCaptures": {
2175
Added:
"0": {
2176
Added:
"name": "punctuation.definition.string.end.elixir"
2177
Added:
}
2178
Added:
},
2179
Added:
"name": "string.quoted.double.literal.elixir",
2180
Added:
"patterns": [
2181
Added:
{
2182
Added:
"include": "#nest_parens"
2183
Added:
}
2184
Added:
]
2185
Added:
},
2186
Added:
{
2187
Added:
"begin": "~[A-Z][A-Z0-9]*\\/",
2188
Added:
"beginCaptures": {
2189
Added:
"0": {
2190
Added:
"name": "punctuation.definition.string.begin.elixir"
2191
Added:
}
2192
Added:
},
2193
Added:
"comment": "sigil (without interpolation)",
2194
Added:
"end": "\\/[a-z]*",
2195
Added:
"endCaptures": {
2196
Added:
"0": {
2197
Added:
"name": "punctuation.definition.string.end.elixir"
2198
Added:
}
2199
Added:
},
2200
Added:
"name": "string.quoted.double.literal.elixir"
2201
Added:
},
2202
Added:
{
2203
Added:
"begin": "~[A-Z][A-Z0-9]*\\'",
2204
Added:
"beginCaptures": {
2205
Added:
"0": {
2206
Added:
"name": "punctuation.definition.string.begin.elixir"
2207
Added:
}
2208
Added:
},
2209
Added:
"comment": "sigil (without interpolation)",
2210
Added:
"end": "\\'[a-z]*",
2211
Added:
"endCaptures": {
2212
Added:
"0": {
2213
Added:
"name": "punctuation.definition.string.end.elixir"
2214
Added:
}
2215
Added:
},
2216
Added:
"name": "string.quoted.double.literal.elixir"
2217
Added:
},
2218
Added:
{
2219
Added:
"begin": "~[A-Z][A-Z0-9]*\\\"",
2220
Added:
"beginCaptures": {
2221
Added:
"0": {
2222
Added:
"name": "punctuation.definition.string.begin.elixir"
2223
Added:
}
2224
Added:
},
2225
Added:
"comment": "sigil (without interpolation)",
2226
Added:
"end": "\\\"[a-z]*",
2227
Added:
"endCaptures": {
2228
Added:
"0": {
2229
Added:
"name": "punctuation.definition.string.end.elixir"
2230
Added:
}
2231
Added:
},
2232
Added:
"name": "string.quoted.double.literal.elixir"
2233
Added:
},
2234
Added:
{
2235
Added:
"begin": "~[A-Z][A-Z0-9]*\\|",
2236
Added:
"beginCaptures": {
2237
Added:
"0": {
2238
Added:
"name": "punctuation.definition.string.begin.elixir"
2239
Added:
}
2240
Added:
},
2241
Added:
"comment": "sigil (without interpolation)",
2242
Added:
"end": "\\|[a-z]*",
2243
Added:
"endCaptures": {
2244
Added:
"0": {
2245
Added:
"name": "punctuation.definition.string.end.elixir"
2246
Added:
}
2247
Added:
},
2248
Added:
"name": "string.quoted.double.literal.elixir"
2249
Added:
},
2250
Added:
{
2251
Added:
"begin": ":'",
2252
Added:
"captures": {
2253
Added:
"0": {
2254
Added:
"name": "punctuation.definition.constant.elixir"
2255
Added:
}
2256
Added:
},
2257
Added:
"end": "'",
2258
Added:
"name": "constant.language.symbol.single-quoted.elixir",
2259
Added:
"patterns": [
2260
Added:
{
2261
Added:
"include": "#interpolated_elixir"
2262
Added:
},
2263
Added:
{
2264
Added:
"include": "#escaped_char"
2265
Added:
}
2266
Added:
]
2267
Added:
},
2268
Added:
{
2269
Added:
"comment": "symbols with single-quoted string, used as keys in Keyword lists.",
2270
Added:
"match": "(')((?:[^'\\\\]*(?:\\\\.[^'\\\\]*)*))(':)(?!:)",
2271
Added:
"name": "constant.language.symbol.single-quoted.elixir",
2272
Added:
"captures": {
2273
Added:
"1": {
2274
Added:
"name": "punctuation.definition.constant.elixir"
2275
Added:
},
2276
Added:
"2": {
2277
Added:
"patterns": [
2278
Added:
{
2279
Added:
"include": "#interpolated_elixir"
2280
Added:
},
2281
Added:
{
2282
Added:
"include": "#escaped_char"
2283
Added:
}
2284
Added:
]
2285
Added:
},
2286
Added:
"3": {
2287
Added:
"name": "punctuation.definition.constant.elixir"
2288
Added:
}
2289
Added:
}
2290
Added:
},
2291
Added:
{
2292
Added:
"begin": ":\"",
2293
Added:
"captures": {
2294
Added:
"0": {
2295
Added:
"name": "punctuation.definition.constant.elixir"
2296
Added:
}
2297
Added:
},
2298
Added:
"end": "\"",
2299
Added:
"name": "constant.language.symbol.double-quoted.elixir",
2300
Added:
"patterns": [
2301
Added:
{
2302
Added:
"include": "#interpolated_elixir"
2303
Added:
},
2304
Added:
{
2305
Added:
"include": "#escaped_char"
2306
Added:
}
2307
Added:
]
2308
Added:
},
2309
Added:
{
2310
Added:
"begin": "(?>''')",
2311
Added:
"beginCaptures": {
2312
Added:
"0": {
2313
Added:
"name": "punctuation.definition.string.begin.elixir"
2314
Added:
}
2315
Added:
},
2316
Added:
"comment": "Single-quoted heredocs",
2317
Added:
"end": "^\\s*'''",
2318
Added:
"endCaptures": {
2319
Added:
"0": {
2320
Added:
"name": "punctuation.definition.string.end.elixir"
2321
Added:
}
2322
Added:
},
2323
Added:
"name": "string.quoted.single.heredoc.elixir",
2324
Added:
"patterns": [
2325
Added:
{
2326
Added:
"include": "#interpolated_elixir"
2327
Added:
},
2328
Added:
{
2329
Added:
"include": "#escaped_char"
2330
Added:
}
2331
Added:
]
2332
Added:
},
2333
Added:
{
2334
Added:
"begin": "'",
2335
Added:
"beginCaptures": {
2336
Added:
"0": {
2337
Added:
"name": "punctuation.definition.string.begin.elixir"
2338
Added:
}
2339
Added:
},
2340
Added:
"comment": "single quoted string (allows for interpolation)",
2341
Added:
"end": "'",
2342
Added:
"endCaptures": {
2343
Added:
"0": {
2344
Added:
"name": "punctuation.definition.string.end.elixir"
2345
Added:
}
2346
Added:
},
2347
Added:
"name": "string.quoted.single.elixir",
2348
Added:
"patterns": [
2349
Added:
{
2350
Added:
"include": "#interpolated_elixir"
2351
Added:
},
2352
Added:
{
2353
Added:
"include": "#escaped_char"
2354
Added:
}
2355
Added:
]
2356
Added:
},
2357
Added:
{
2358
Added:
"begin": "(?>\"\"\")",
2359
Added:
"beginCaptures": {
2360
Added:
"0": {
2361
Added:
"name": "punctuation.definition.string.begin.elixir"
2362
Added:
}
2363
Added:
},
2364
Added:
"comment": "Double-quoted heredocs",
2365
Added:
"end": "^\\s*\"\"\"",
2366
Added:
"endCaptures": {
2367
Added:
"0": {
2368
Added:
"name": "punctuation.definition.string.end.elixir"
2369
Added:
}
2370
Added:
},
2371
Added:
"name": "string.quoted.double.heredoc.elixir",
2372
Added:
"patterns": [
2373
Added:
{
2374
Added:
"include": "#interpolated_elixir"
2375
Added:
},
2376
Added:
{
2377
Added:
"include": "#escaped_char"
2378
Added:
}
2379
Added:
]
2380
Added:
},
2381
Added:
{
2382
Added:
"comment": "symbols defined by double-quoted string, used as keys in Keyword lists.",
2383
Added:
"match": "(\")((?:[^\"\\\\]*(?:\\\\.[^\"\\\\]*)*))(\":)(?!:)",
2384
Added:
"name": "constant.language.symbol.double-quoted.elixir",
2385
Added:
"captures": {
2386
Added:
"1": {
2387
Added:
"name": "punctuation.definition.constant.elixir"
2388
Added:
},
2389
Added:
"2": {
2390
Added:
"patterns": [
2391
Added:
{
2392
Added:
"include": "#interpolated_elixir"
2393
Added:
},
2394
Added:
{
2395
Added:
"include": "#escaped_char"
2396
Added:
}
2397
Added:
]
2398
Added:
},
2399
Added:
"3": {
2400
Added:
"name": "punctuation.definition.constant.elixir"
2401
Added:
}
2402
Added:
}
2403
Added:
},
2404
Added:
{
2405
Added:
"begin": "\"",
2406
Added:
"beginCaptures": {
2407
Added:
"0": {
2408
Added:
"name": "punctuation.definition.string.begin.elixir"
2409
Added:
}
2410
Added:
},
2411
Added:
"comment": "double quoted string (allows for interpolation)",
2412
Added:
"end": "\"",
2413
Added:
"endCaptures": {
2414
Added:
"0": {
2415
Added:
"name": "punctuation.definition.string.end.elixir"
2416
Added:
}
2417
Added:
},
2418
Added:
"name": "string.quoted.double.elixir",
2419
Added:
"patterns": [
2420
Added:
{
2421
Added:
"include": "#interpolated_elixir"
2422
Added:
},
2423
Added:
{
2424
Added:
"include": "#escaped_char"
2425
Added:
}
2426
Added:
]
2427
Added:
},
2428
Added:
{
2429
Added:
"begin": "#",
2430
Added:
"beginCaptures": {
2431
Added:
"0": {
2432
Added:
"name": "punctuation.definition.comment.elixir"
2433
Added:
}
2434
Added:
},
2435
Added:
"end": "\\n",
2436
Added:
"name": "comment.line.number-sign.elixir"
2437
Added:
},
2438
Added:
{
2439
Added:
"match": "\\b_([\\w]+[?!]?)",
2440
Added:
"name": "comment.unused.elixir"
2441
Added:
},
2442
Added:
{
2443
Added:
"match": "\\b_\\b",
2444
Added:
"name": "comment.wildcard.elixir"
2445
Added:
},
2446
Added:
{
2447
Added:
"comment": "matches question mark letters.\n\nexamples (1st alternation = hex):\n?\\x1 ?\\x61\n\nexamples (2nd alternation = octal):\n?\\0 ?\\07 ?\\017\n\nexamples (3rd alternation = escaped):\n?\\n ?\\b\n\nexamples (4th alternation = meta-ctrl):\n?\\C-a ?\\M-a ?\\C-\\M-\\C-\\M-a\n\nexamples (4th alternation = normal):\n?a ?A ?0\n?* ?\" ?(\n?. ?#\n\n\nthe negative lookbehind prevents against matching\np(42.tainted?)",
2448
Added:
"match": "(?<!\\w)\\?(\\\\(x\\h{1,2}(?!\\h)\\b|0[0-7]{0,2}(?![0-7])\\b|[^x0MC])|(\\\\[MC]-)+\\w|[^\\s\\\\])",
2449
Added:
"name": "constant.numeric.elixir"
2450
Added:
},
2451
Added:
{
2452
Added:
"match": "(\\|\\|\\||&&&|\\^\\^\\^|<<<|>>>|~~~)",
2453
Added:
"name": "keyword.operator.bitwise.elixir"
2454
Added:
},
2455
Added:
{
2456
Added:
"comment": "matches: <<~ ~>>",
2457
Added:
"match": "~>>|<\\<\\~",
2458
Added:
"name": "keyword.operator.other.unbalanced.elixir"
2459
Added:
},
2460
Added:
{
2461
Added:
"comment": "matches: | ++ -- ** \\ <- <> << >> :: .. ... |> => -> <|> <~> <~ ~>",
2462
Added:
"match": "\\+\\+|\\-\\-|\\*\\*|\\\\\\\\|\\<\\-|\\<\\>|\\<\\<|\\>\\>|\\:\\:|\\.\\.\\.?|\\|>|=>|<\\|\\>|<~>|->|~>|<~|(?<!\\|)\\|(?!\\|)",
2463
Added:
"name": "keyword.operator.other.elixir"
2464
Added:
},
2465
Added:
{
2466
Added:
"match": "===?|!==?|<=?|>=?|=~",
2467
Added:
"name": "keyword.operator.comparison.elixir"
2468
Added:
},
2469
Added:
{
2470
Added:
"match": "(?<=[ \\t])!+|\\bnot\\b|&&|\\band\\b|\\|\\||\\bor\\b|\\bxor\\b",
2471
Added:
"name": "keyword.operator.logical.elixir"
2472
Added:
},
2473
Added:
{
2474
Added:
"match": "(\\^)",
2475
Added:
"name": "keyword.operator.other.elixir"
2476
Added:
},
2477
Added:
{
2478
Added:
"match": "(\\*|\\+|\\-|/)",
2479
Added:
"name": "keyword.operator.arithmetic.elixir"
2480
Added:
},
2481
Added:
{
2482
Added:
"match": "=",
2483
Added:
"name": "keyword.operator.assignment.elixir"
2484
Added:
},
2485
Added:
{
2486
Added:
"match": "\\;",
2487
Added:
"name": "punctuation.separator.statement.elixir"
2488
Added:
},
2489
Added:
{
2490
Added:
"match": ",",
2491
Added:
"name": "punctuation.separator.object.elixir"
2492
Added:
},
2493
Added:
{
2494
Added:
"match": "\\.",
2495
Added:
"name": "punctuation.separator.method.elixir"
2496
Added:
},
2497
Added:
{
2498
Added:
"match": "%",
2499
Added:
"name": "punctuation.definition.map.elixir"
2500
Added:
},
2501
Added:
{
2502
Added:
"match": "\\{|\\}",
2503
Added:
"name": "punctuation.section.scope.elixir"
2504
Added:
},
2505
Added:
{
2506
Added:
"match": "\\[\\]|\\[|\\]",
2507
Added:
"name": "punctuation.section.array.elixir"
2508
Added:
},
2509
Added:
{
2510
Added:
"match": "\\(|\\)",
2511
Added:
"name": "punctuation.section.function.elixir"
2512
Added:
},
2513
Added:
{
2514
Added:
"match": "(@)([_\\p{Ll}\\p{Lo}][\\p{L}\\p{N}_]*[?!]?)",
2515
Added:
"name": "variable.other.constant.elixir",
2516
Added:
"captures": {
2517
Added:
"1": {
2518
Added:
"name": "punctuation.definition.variable.elixir"
2519
Added:
}
2520
Added:
}
2521
Added:
},
2522
Added:
{
2523
Added:
"match": "([_\\p{Ll}\\p{Lo}][\\p{L}\\p{N}_]*[?!]?)",
2524
Added:
"name": "variable.other.readwrite.elixir"
2525
Added:
},
2526
Added:
{
2527
Added:
"match": "(&)\\d+",
2528
Added:
"name": "variable.other.anonymous.elixir"
2529
Added:
},
2530
Added:
{
2531
Added:
"match": "(&)",
2532
Added:
"name": "keyword.operator.other.elixir"
2533
Added:
},
2534
Added:
{
2535
Added:
"captures": {
2536
Added:
"1": {
2537
Added:
"name": "punctuation.definition.constant.elixir"
2538
Added:
}
2539
Added:
},
2540
Added:
"comment": "Atom",
2541
Added:
"match": "(?<!:)(:)(?:<<<|<<>>|<<~|<~>|<>|<=|<-|<~|<|>>>|>=|>|\\+\\+\\+|\\+\\+|\\+|---|--|->|-|\\*\\*|\\*|\\|\\|\\||\\|\\||\\|>|\\||%{}|%|&&&|&&|&|===|==|=~|=>|=|!==|!=|!|\\.\\.|\\.|~>>|~>|\\^|{}|@|\\/|\\\\\\\\|[\\p{L}_][\\p{L}\\p{N}_@]*[?!]?)",
2542
Added:
"name": "constant.language.symbol.elixir"
2543
Added:
},
2544
Added:
{
2545
Added:
"match": ":",
2546
Added:
"name": "punctuation.separator.other.elixir"
2547
Added:
}
2548
Added:
],
2549
Added:
"repository": {
2550
Added:
"escaped_char": {
2551
Added:
"match": "\\\\(?:[0-7]{1,3}|x[\\da-fA-F]{1,2}|.)",
2552
Added:
"name": "constant.character.escape.elixir"
2553
Added:
},
2554
Added:
"interpolated_elixir": {
2555
Added:
"patterns": [
2556
Added:
{
2557
Added:
"captures": {
2558
Added:
"0": {
2559
Added:
"name": "punctuation.section.embedded.elixir"
2560
Added:
},
2561
Added:
"1": {
2562
Added:
"name": "meta.embedded.line.empty.elixir"
2563
Added:
}
2564
Added:
},
2565
Added:
"match": "#\\{(\\})",
2566
Added:
"name": "meta.embedded.line.elixir"
2567
Added:
},
2568
Added:
{
2569
Added:
"begin": "#\\{",
2570
Added:
"captures": {
2571
Added:
"0": {
2572
Added:
"name": "punctuation.section.embedded.elixir"
2573
Added:
}
2574
Added:
},
2575
Added:
"end": "\\}",
2576
Added:
"name": "meta.embedded.line.elixir",
2577
Added:
"patterns": [
2578
Added:
{
2579
Added:
"include": "#nest_curly_and_self"
2580
Added:
},
2581
Added:
{
2582
Added:
"include": "$self"
2583
Added:
}
2584
Added:
]
2585
Added:
}
2586
Added:
]
2587
Added:
},
2588
Added:
"nest_brackets": {
2589
Added:
"begin": "\\[",
2590
Added:
"captures": {
2591
Added:
"0": {
2592
Added:
"name": "punctuation.section.scope.elixir"
2593
Added:
}
2594
Added:
},
2595
Added:
"end": "\\]",
2596
Added:
"patterns": [
2597
Added:
{
2598
Added:
"include": "#nest_brackets"
2599
Added:
}
2600
Added:
]
2601
Added:
},
2602
Added:
"nest_curly": {
2603
Added:
"begin": "\\{",
2604
Added:
"captures": {
2605
Added:
"0": {
2606
Added:
"name": "punctuation.section.scope.elixir"
2607
Added:
}
2608
Added:
},
2609
Added:
"end": "\\}",
2610
Added:
"patterns": [
2611
Added:
{
2612
Added:
"include": "#nest_curly"
2613
Added:
}
2614
Added:
]
2615
Added:
},
2616
Added:
"nest_curly_and_self": {
2617
Added:
"patterns": [
2618
Added:
{
2619
Added:
"begin": "\\{",
2620
Added:
"captures": {
2621
Added:
"0": {
2622
Added:
"name": "punctuation.section.scope.elixir"
2623
Added:
}
2624
Added:
},
2625
Added:
"end": "\\}",
2626
Added:
"patterns": [
2627
Added:
{
2628
Added:
"include": "#nest_curly_and_self"
2629
Added:
}
2630
Added:
]
2631
Added:
},
2632
Added:
{
2633
Added:
"include": "$self"
2634
Added:
}
2635
Added:
]
2636
Added:
},
2637
Added:
"nest_ltgt": {
2638
Added:
"begin": "\\<",
2639
Added:
"captures": {
2640
Added:
"0": {
2641
Added:
"name": "punctuation.section.scope.elixir"
2642
Added:
}
2643
Added:
},
2644
Added:
"end": "\\>",
2645
Added:
"patterns": [
2646
Added:
{
2647
Added:
"include": "#nest_ltgt"
2648
Added:
}
2649
Added:
]
2650
Added:
},
2651
Added:
"nest_parens": {
2652
Added:
"begin": "\\(",
2653
Added:
"captures": {
2654
Added:
"0": {
2655
Added:
"name": "punctuation.section.scope.elixir"
2656
Added:
}
2657
Added:
},
2658
Added:
"end": "\\)",
2659
Added:
"patterns": [
2660
Added:
{
2661
Added:
"include": "#nest_parens"
2662
Added:
}
2663
Added:
]
2664
Added:
},
2665
Added:
"regex_sub": {
2666
Added:
"name": "string.interpolated.regexp.elixir",
2667
Added:
"patterns": [
2668
Added:
{
2669
Added:
"include": "#interpolated_elixir"
2670
Added:
},
2671
Added:
{
2672
Added:
"include": "#escaped_char"
2673
Added:
},
2674
Added:
{
2675
Added:
"name": "string.regexp.arbitrary-repitition.elixir",
2676
Added:
"match": "(\\{)\\d+(,\\d+)?(\\})",
2677
Added:
"captures": {
2678
Added:
"1": {
2679
Added:
"name": "punctuation.definition.arbitrary-repitition.elixir"
2680
Added:
},
2681
Added:
"3": {
2682
Added:
"name": "punctuation.definition.arbitrary-repitition.elixir"
2683
Added:
}
2684
Added:
}
2685
Added:
},
2686
Added:
{
2687
Added:
"name": "string.regexp.character-class.elixir",
2688
Added:
"begin": "\\[(?:\\^?\\])?",
2689
Added:
"end": "\\]",
2690
Added:
"captures": {
2691
Added:
"0": {
2692
Added:
"name": "punctuation.definition.character-class.elixir"
2693
Added:
}
2694
Added:
},
2695
Added:
"patterns": [
2696
Added:
{
2697
Added:
"include": "#escaped_char"
2698
Added:
}
2699
Added:
]
2700
Added:
},
2701
Added:
{
2702
Added:
"begin": "\\(",
2703
Added:
"captures": {
2704
Added:
"0": {
2705
Added:
"name": "punctuation.definition.group.elixir"
2706
Added:
}
2707
Added:
},
2708
Added:
"end": "\\)",
2709
Added:
"name": "string.regexp.group.elixir",
2710
Added:
"patterns": [
2711
Added:
{
2712
Added:
"include": "#regex_sub"
2713
Added:
}
2714
Added:
]
2715
Added:
},
2716
Added:
{
2717
Added:
"begin": "(?<=^|\\s)(#)\\s(?=[[a-zA-Z0-9,. \\t?!-][^\\x{00}-\\x{7F}]]*$)",
2718
Added:
"beginCaptures": {
2719
Added:
"1": {
2720
Added:
"name": "punctuation.definition.comment.elixir"
2721
Added:
}
2722
Added:
},
2723
Added:
"comment": "We are restrictive in what we allow to go after the comment character to avoid false positives, since the availability of comments depend on regexp flags.",
2724
Added:
"end": "$\\n?",
2725
Added:
"endCaptures": {
2726
Added:
"0": {
2727
Added:
"name": "punctuation.definition.comment.elixir"
2728
Added:
}
2729
Added:
},
2730
Added:
"name": "comment.line.number-sign.elixir"
2731
Added:
}
2732
Added:
]
2733
Added:
}
2734
Added:
},
2735
Added:
"scopeName": "source.elixir"
2736
Added:
}
lib/grammars/erlang.json
@@ -0,0 +1,2285 @@
1
Added:
{
2
Added:
"comment": "The recognition of function definitions and compiler directives (such as module, record and macro definitions) requires that each of the aforementioned constructs must be the first string inside a line (except for whitespace). Also, the function/module/record/macro names must be given unquoted. -- desp",
3
Added:
"fileTypes": [
4
Added:
"erl",
5
Added:
"escript",
6
Added:
"hrl",
7
Added:
"xrl",
8
Added:
"yrl"
9
Added:
],
10
Added:
"keyEquivalent": "^~E",
11
Added:
"name": "Erlang",
12
Added:
"patterns": [
13
Added:
{
14
Added:
"include": "#module-directive"
15
Added:
},
16
Added:
{
17
Added:
"include": "#import-export-directive"
18
Added:
},
19
Added:
{
20
Added:
"include": "#behaviour-directive"
21
Added:
},
22
Added:
{
23
Added:
"include": "#record-directive"
24
Added:
},
25
Added:
{
26
Added:
"include": "#define-directive"
27
Added:
},
28
Added:
{
29
Added:
"include": "#macro-directive"
30
Added:
},
31
Added:
{
32
Added:
"include": "#doc-directive"
33
Added:
},
34
Added:
{
35
Added:
"include": "#directive"
36
Added:
},
37
Added:
{
38
Added:
"include": "#function"
39
Added:
},
40
Added:
{
41
Added:
"include": "#everything-else"
42
Added:
}
43
Added:
],
44
Added:
"repository": {
45
Added:
"atom": {
46
Added:
"patterns": [
47
Added:
{
48
Added:
"begin": "(')",
49
Added:
"beginCaptures": {
50
Added:
"1": {
51
Added:
"name": "punctuation.definition.symbol.begin.erlang"
52
Added:
}
53
Added:
},
54
Added:
"end": "(')",
55
Added:
"endCaptures": {
56
Added:
"1": {
57
Added:
"name": "punctuation.definition.symbol.end.erlang"
58
Added:
}
59
Added:
},
60
Added:
"name": "constant.other.symbol.quoted.single.erlang",
61
Added:
"patterns": [
62
Added:
{
63
Added:
"captures": {
64
Added:
"1": {
65
Added:
"name": "punctuation.definition.escape.erlang"
66
Added:
},
67
Added:
"3": {
68
Added:
"name": "punctuation.definition.escape.erlang"
69
Added:
}
70
Added:
},
71
Added:
"match": "(\\\\)([bdefnrstv\\\\'\"]|(\\^)[@-_a-z]|[0-7]{1,3}|x[\\da-fA-F]{2})",
72
Added:
"name": "constant.other.symbol.escape.erlang"
73
Added:
},
74
Added:
{
75
Added:
"match": "\\\\\\^?.?",
76
Added:
"name": "invalid.illegal.atom.erlang"
77
Added:
}
78
Added:
]
79
Added:
},
80
Added:
{
81
Added:
"match": "[a-z][a-zA-Z\\d@_]*+",
82
Added:
"name": "constant.other.symbol.unquoted.erlang"
83
Added:
}
84
Added:
]
85
Added:
},
86
Added:
"behaviour-directive": {
87
Added:
"captures": {
88
Added:
"1": {
89
Added:
"name": "punctuation.section.directive.begin.erlang"
90
Added:
},
91
Added:
"2": {
92
Added:
"name": "keyword.control.directive.behaviour.erlang"
93
Added:
},
94
Added:
"3": {
95
Added:
"name": "punctuation.definition.parameters.begin.erlang"
96
Added:
},
97
Added:
"4": {
98
Added:
"name": "entity.name.type.class.behaviour.definition.erlang"
99
Added:
},
100
Added:
"5": {
101
Added:
"name": "punctuation.definition.parameters.end.erlang"
102
Added:
},
103
Added:
"6": {
104
Added:
"name": "punctuation.section.directive.end.erlang"
105
Added:
}
106
Added:
},
107
Added:
"match": "^\\s*+(-)\\s*+(behaviour)\\s*+(\\()\\s*+([a-z][a-zA-Z\\d@_]*+)\\s*+(\\))\\s*+(\\.)",
108
Added:
"name": "meta.directive.behaviour.erlang"
109
Added:
},
110
Added:
"binary": {
111
Added:
"begin": "(<<)",
112
Added:
"beginCaptures": {
113
Added:
"1": {
114
Added:
"name": "punctuation.definition.binary.begin.erlang"
115
Added:
}
116
Added:
},
117
Added:
"end": "(>>)",
118
Added:
"endCaptures": {
119
Added:
"1": {
120
Added:
"name": "punctuation.definition.binary.end.erlang"
121
Added:
}
122
Added:
},
123
Added:
"name": "meta.structure.binary.erlang",
124
Added:
"patterns": [
125
Added:
{
126
Added:
"captures": {
127
Added:
"1": {
128
Added:
"name": "punctuation.separator.binary.erlang"
129
Added:
},
130
Added:
"2": {
131
Added:
"name": "punctuation.separator.value-size.erlang"
132
Added:
}
133
Added:
},
134
Added:
"match": "(,)|(:)"
135
Added:
},
136
Added:
{
137
Added:
"include": "#internal-type-specifiers"
138
Added:
},
139
Added:
{
140
Added:
"include": "#everything-else"
141
Added:
}
142
Added:
]
143
Added:
},
144
Added:
"character": {
145
Added:
"patterns": [
146
Added:
{
147
Added:
"captures": {
148
Added:
"1": {
149
Added:
"name": "punctuation.definition.character.erlang"
150
Added:
},
151
Added:
"2": {
152
Added:
"name": "constant.character.escape.erlang"
153
Added:
},
154
Added:
"3": {
155
Added:
"name": "punctuation.definition.escape.erlang"
156
Added:
},
157
Added:
"5": {
158
Added:
"name": "punctuation.definition.escape.erlang"
159
Added:
}
160
Added:
},
161
Added:
"match": "(\\$)((\\\\)([bdefnrstv\\\\'\"]|(\\^)[@-_a-z]|[0-7]{1,3}|x[\\da-fA-F]{2}))",
162
Added:
"name": "constant.character.erlang"
163
Added:
},
164
Added:
{
165
Added:
"match": "\\$\\\\\\^?.?",
166
Added:
"name": "invalid.illegal.character.erlang"
167
Added:
},
168
Added:
{
169
Added:
"captures": {
170
Added:
"1": {
171
Added:
"name": "punctuation.definition.character.erlang"
172
Added:
}
173
Added:
},
174
Added:
"match": "(\\$)[ \\S]",
175
Added:
"name": "constant.character.erlang"
176
Added:
},
177
Added:
{
178
Added:
"match": "\\$.?",
179
Added:
"name": "invalid.illegal.character.erlang"
180
Added:
}
181
Added:
]
182
Added:
},
183
Added:
"comment": {
184
Added:
"begin": "(^[ \\t]+)?(?=%)",
185
Added:
"beginCaptures": {
186
Added:
"1": {
187
Added:
"name": "punctuation.whitespace.comment.leading.erlang"
188
Added:
}
189
Added:
},
190
Added:
"end": "(?!\\G)",
191
Added:
"patterns": [
192
Added:
{
193
Added:
"begin": "%",
194
Added:
"beginCaptures": {
195
Added:
"0": {
196
Added:
"name": "punctuation.definition.comment.erlang"
197
Added:
}
198
Added:
},
199
Added:
"end": "\\n",
200
Added:
"name": "comment.line.percentage.erlang"
201
Added:
}
202
Added:
]
203
Added:
},
204
Added:
"define-directive": {
205
Added:
"patterns": [
206
Added:
{
207
Added:
"begin": "^\\s*+(-)\\s*+(define)\\s*+(\\()\\s*+([a-zA-Z\\d@_]++)\\s*+",
208
Added:
"beginCaptures": {
209
Added:
"1": {
210
Added:
"name": "punctuation.section.directive.begin.erlang"
211
Added:
},
212
Added:
"2": {
213
Added:
"name": "keyword.control.directive.define.erlang"
214
Added:
},
215
Added:
"3": {
216
Added:
"name": "punctuation.definition.parameters.begin.erlang"
217
Added:
},
218
Added:
"4": {
219
Added:
"name": "entity.name.function.macro.definition.erlang"
220
Added:
}
221
Added:
},
222
Added:
"end": "(\\))\\s*+(\\.)",
223
Added:
"endCaptures": {
224
Added:
"1": {
225
Added:
"name": "punctuation.definition.parameters.end.erlang"
226
Added:
},
227
Added:
"2": {
228
Added:
"name": "punctuation.section.directive.end.erlang"
229
Added:
}
230
Added:
},
231
Added:
"name": "meta.directive.define.erlang",
232
Added:
"patterns": [
233
Added:
{
234
Added:
"include": "#everything-else"
235
Added:
}
236
Added:
]
237
Added:
},
238
Added:
{
239
Added:
"begin": "(?=^\\s*+-\\s*+define\\s*+\\(\\s*+[a-zA-Z\\d@_]++\\s*+\\()",
240
Added:
"end": "(\\))\\s*+(\\.)",
241
Added:
"endCaptures": {
242
Added:
"1": {
243
Added:
"name": "punctuation.definition.parameters.end.erlang"
244
Added:
},
245
Added:
"2": {
246
Added:
"name": "punctuation.section.directive.end.erlang"
247
Added:
}
248
Added:
},
249
Added:
"name": "meta.directive.define.erlang",
250
Added:
"patterns": [
251
Added:
{
252
Added:
"begin": "^\\s*+(-)\\s*+(define)\\s*+(\\()\\s*+([a-zA-Z\\d@_]++)\\s*+(\\()",
253
Added:
"beginCaptures": {
254
Added:
"1": {
255
Added:
"name": "punctuation.section.directive.begin.erlang"
256
Added:
},
257
Added:
"2": {
258
Added:
"name": "keyword.control.directive.define.erlang"
259
Added:
},
260
Added:
"3": {
261
Added:
"name": "punctuation.definition.parameters.begin.erlang"
262
Added:
},
263
Added:
"4": {
264
Added:
"name": "entity.name.function.macro.definition.erlang"
265
Added:
},
266
Added:
"5": {
267
Added:
"name": "punctuation.definition.parameters.begin.erlang"
268
Added:
}
269
Added:
},
270
Added:
"end": "(\\))\\s*(,)",
271
Added:
"endCaptures": {
272
Added:
"1": {
273
Added:
"name": "punctuation.definition.parameters.end.erlang"
274
Added:
},
275
Added:
"2": {
276
Added:
"name": "punctuation.separator.parameters.erlang"
277
Added:
}
278
Added:
},
279
Added:
"patterns": [
280
Added:
{
281
Added:
"match": ",",
282
Added:
"name": "punctuation.separator.parameters.erlang"
283
Added:
},
284
Added:
{
285
Added:
"include": "#everything-else"
286
Added:
}
287
Added:
]
288
Added:
},
289
Added:
{
290
Added:
"match": "\\|\\||\\||:|;|,|\\.|->",
291
Added:
"name": "punctuation.separator.define.erlang"
292
Added:
},
293
Added:
{
294
Added:
"include": "#everything-else"
295
Added:
}
296
Added:
]
297
Added:
}
298
Added:
]
299
Added:
},
300
Added:
"directive": {
301
Added:
"patterns": [
302
Added:
{
303
Added:
"begin": "^\\s*+(-)\\s*+([a-z][a-zA-Z\\d@_]*+)\\s*+(\\(?)",
304
Added:
"beginCaptures": {
305
Added:
"1": {
306
Added:
"name": "punctuation.section.directive.begin.erlang"
307
Added:
},
308
Added:
"2": {
309
Added:
"name": "keyword.control.directive.erlang"
310
Added:
},
311
Added:
"3": {
312
Added:
"name": "punctuation.definition.parameters.begin.erlang"
313
Added:
}
314
Added:
},
315
Added:
"end": "(\\)?)\\s*+(\\.)",
316
Added:
"endCaptures": {
317
Added:
"1": {
318
Added:
"name": "punctuation.definition.parameters.end.erlang"
319
Added:
},
320
Added:
"2": {
321
Added:
"name": "punctuation.section.directive.end.erlang"
322
Added:
}
323
Added:
},
324
Added:
"name": "meta.directive.erlang",
325
Added:
"patterns": [
326
Added:
{
327
Added:
"include": "#everything-else"
328
Added:
}
329
Added:
]
330
Added:
},
331
Added:
{
332
Added:
"captures": {
333
Added:
"1": {
334
Added:
"name": "punctuation.section.directive.begin.erlang"
335
Added:
},
336
Added:
"2": {
337
Added:
"name": "keyword.control.directive.erlang"
338
Added:
},
339
Added:
"3": {
340
Added:
"name": "punctuation.section.directive.end.erlang"
341
Added:
}
342
Added:
},
343
Added:
"match": "^\\s*+(-)\\s*+([a-z][a-zA-Z\\d@_]*+)\\s*+(\\.)",
344
Added:
"name": "meta.directive.erlang"
345
Added:
}
346
Added:
]
347
Added:
},
348
Added:
"doc-directive": {
349
Added:
"begin": "^\\s*+(-)\\s*+((module)?doc)\\s*([(]\\s*)?(~[bBsS]?)?(([\"]{3,})\\s*)(\\S.*)?$",
350
Added:
"beginCaptures": {
351
Added:
"1": {
352
Added:
"name": "punctuation.section.directive.begin.erlang"
353
Added:
},
354
Added:
"2": {
355
Added:
"name": "keyword.control.directive.doc.erlang"
356
Added:
},
357
Added:
"4": {
358
Added:
"name": "punctuation.definition.parameters.begin.erlang"
359
Added:
},
360
Added:
"5": {
361
Added:
"name": "storage.type.string.erlang"
362
Added:
},
363
Added:
"6": {
364
Added:
"name": "comment.block.documentation.erlang"
365
Added:
},
366
Added:
"7": {
367
Added:
"name": "punctuation.definition.string.begin.erlang"
368
Added:
},
369
Added:
"8": {
370
Added:
"name": "invalid.illegal.string.erlang"
371
Added:
}
372
Added:
},
373
Added:
"end": "^(\\s*(\\7))\\s*([)]\\s*)?(\\.)",
374
Added:
"endCaptures": {
375
Added:
"1": {
376
Added:
"name": "comment.block.documentation.erlang"
377
Added:
},
378
Added:
"2": {
379
Added:
"name": "punctuation.definition.string.end.erlang"
380
Added:
},
381
Added:
"3": {
382
Added:
"name": "punctuation.section.directive.end.Erlang"
383
Added:
}
384
Added:
},
385
Added:
"name": "meta.directive.doc.erlang",
386
Added:
"contentName": "meta.embedded.block.markdown",
387
Added:
"patterns": [
388
Added:
{
389
Added:
"include": "text.html.markdown"
390
Added:
}
391
Added:
]
392
Added:
},
393
Added:
"docstring": {
394
Added:
"begin": "(?<!\")(([\"]{3,})\\s*)(\\S.*)?$",
395
Added:
"beginCaptures": {
396
Added:
"1": {
397
Added:
"name": "meta.string.quoted.triple.begin.erlang"
398
Added:
},
399
Added:
"2": {
400
Added:
"name": "punctuation.definition.string.begin.erlang"
401
Added:
},
402
Added:
"3": {
403
Added:
"name": "invalid.illegal.string.erlang"
404
Added:
}
405
Added:
},
406
Added:
"comment": "Only whitespace characters are allowed after the beggining and before the closing sequences and those cannot be in the same line",
407
Added:
"end": "^(\\s*(\\2))(?!\")",
408
Added:
"endCaptures": {
409
Added:
"1": {
410
Added:
"name": "meta.string.quoted.triple.end.erlang"
411
Added:
},
412
Added:
"2": {
413
Added:
"name": "punctuation.definition.string.end.erlang"
414
Added:
}
415
Added:
},
416
Added:
"name": "string.quoted.triple.erlang",
417
Added:
"patterns": [
418
Added:
{
419
Added:
"include": "#internal-string-body-verbatim"
420
Added:
}
421
Added:
]
422
Added:
},
423
Added:
"everything-else": {
424
Added:
"patterns": [
425
Added:
{
426
Added:
"include": "#comment"
427
Added:
},
428
Added:
{
429
Added:
"include": "#record-usage"
430
Added:
},
431
Added:
{
432
Added:
"include": "#macro-usage"
433
Added:
},
434
Added:
{
435
Added:
"include": "#expression"
436
Added:
},
437
Added:
{
438
Added:
"include": "#keyword"
439
Added:
},
440
Added:
{
441
Added:
"include": "#textual-operator"
442
Added:
},
443
Added:
{
444
Added:
"include": "#language-constant"
445
Added:
},
446
Added:
{
447
Added:
"include": "#function-call"
448
Added:
},
449
Added:
{
450
Added:
"include": "#tuple"
451
Added:
},
452
Added:
{
453
Added:
"include": "#list"
454
Added:
},
455
Added:
{
456
Added:
"include": "#binary"
457
Added:
},
458
Added:
{
459
Added:
"include": "#parenthesized-expression"
460
Added:
},
461
Added:
{
462
Added:
"include": "#character"
463
Added:
},
464
Added:
{
465
Added:
"include": "#number"
466
Added:
},
467
Added:
{
468
Added:
"include": "#atom"
469
Added:
},
470
Added:
{
471
Added:
"include": "#sigil-docstring"
472
Added:
},
473
Added:
{
474
Added:
"include": "#sigil-docstring-verbatim"
475
Added:
},
476
Added:
{
477
Added:
"include": "#sigil-string"
478
Added:
},
479
Added:
{
480
Added:
"include": "#docstring"
481
Added:
},
482
Added:
{
483
Added:
"include": "#string"
484
Added:
},
485
Added:
{
486
Added:
"include": "#symbolic-operator"
487
Added:
},
488
Added:
{
489
Added:
"include": "#variable"
490
Added:
}
491
Added:
]
492
Added:
},
493
Added:
"expression": {
494
Added:
"patterns": [
495
Added:
{
496
Added:
"begin": "\\b(if)\\b",
497
Added:
"beginCaptures": {
498
Added:
"1": {
499
Added:
"name": "keyword.control.if.erlang"
500
Added:
}
501
Added:
},
502
Added:
"end": "\\b(end)\\b",
503
Added:
"endCaptures": {
504
Added:
"1": {
505
Added:
"name": "keyword.control.end.erlang"
506
Added:
}
507
Added:
},
508
Added:
"name": "meta.expression.if.erlang",
509
Added:
"patterns": [
510
Added:
{
511
Added:
"include": "#internal-expression-punctuation"
512
Added:
},
513
Added:
{
514
Added:
"include": "#everything-else"
515
Added:
}
516
Added:
]
517
Added:
},
518
Added:
{
519
Added:
"begin": "\\b(case)\\b",
520
Added:
"beginCaptures": {
521
Added:
"1": {
522
Added:
"name": "keyword.control.case.erlang"
523
Added:
}
524
Added:
},
525
Added:
"end": "\\b(end)\\b",
526
Added:
"endCaptures": {
527
Added:
"1": {
528
Added:
"name": "keyword.control.end.erlang"
529
Added:
}
530
Added:
},
531
Added:
"name": "meta.expression.case.erlang",
532
Added:
"patterns": [
533
Added:
{
534
Added:
"include": "#internal-expression-punctuation"
535
Added:
},
536
Added:
{
537
Added:
"include": "#everything-else"
538
Added:
}
539
Added:
]
540
Added:
},
541
Added:
{
542
Added:
"begin": "\\b(receive)\\b",
543
Added:
"beginCaptures": {
544
Added:
"1": {
545
Added:
"name": "keyword.control.receive.erlang"
546
Added:
}
547
Added:
},
548
Added:
"end": "\\b(end)\\b",
549
Added:
"endCaptures": {
550
Added:
"1": {
551
Added:
"name": "keyword.control.end.erlang"
552
Added:
}
553
Added:
},
554
Added:
"name": "meta.expression.receive.erlang",
555
Added:
"patterns": [
556
Added:
{
557
Added:
"include": "#internal-expression-punctuation"
558
Added:
},
559
Added:
{
560
Added:
"include": "#everything-else"
561
Added:
}
562
Added:
]
563
Added:
},
564
Added:
{
565
Added:
"captures": {
566
Added:
"1": {
567
Added:
"name": "keyword.control.fun.erlang"
568
Added:
},
569
Added:
"10": {
570
Added:
"name": "punctuation.separator.function-arity.erlang"
571
Added:
},
572
Added:
"4": {
573
Added:
"name": "entity.name.type.class.module.erlang"
574
Added:
},
575
Added:
"5": {
576
Added:
"name": "variable.other.erlang"
577
Added:
},
578
Added:
"6": {
579
Added:
"name": "punctuation.separator.module-function.erlang"
580
Added:
},
581
Added:
"8": {
582
Added:
"name": "entity.name.function.erlang"
583
Added:
},
584
Added:
"9": {
585
Added:
"name": "variable.other.erlang"
586
Added:
}
587
Added:
},
588
Added:
"comment": "Implicit function expression with optional module qualifier when both module and function can be atom or variable",
589
Added:
"match": "\\b(fun)\\s+((([a-z][a-zA-Z\\d@_]*+)|(_[a-zA-Z\\d@_]++|[A-Z][a-zA-Z\\d@_]*+))\\s*+(:)\\s*+)?(([a-z][a-zA-Z\\d@_]*+|'[^']*+')|(_[a-zA-Z\\d@_]++|[A-Z][a-zA-Z\\d@_]*+))\\s*(/)",
590
Added:
"name": "meta.expression.fun.implicit.erlang"
591
Added:
},
592
Added:
{
593
Added:
"begin": "\\b(fun)\\s+(([a-z][a-zA-Z\\d@_]*+)|(_[a-zA-Z\\d@_]++|[A-Z][a-zA-Z\\d@_]*+))\\s*+(:)",
594
Added:
"beginCaptures": {
595
Added:
"1": {
596
Added:
"name": "keyword.control.fun.erlang"
597
Added:
},
598
Added:
"3": {
599
Added:
"name": "entity.name.type.class.module.erlang"
600
Added:
},
601
Added:
"4": {
602
Added:
"name": "variable.other.erlang"
603
Added:
},
604
Added:
"5": {
605
Added:
"name": "punctuation.separator.module-function.erlang"
606
Added:
}
607
Added:
},
608
Added:
"comment": "Implicit function expression with module qualifier when module can be atom or variable and function can by anything",
609
Added:
"end": "(/)",
610
Added:
"endCaptures": {
611
Added:
"1": {
612
Added:
"name": "punctuation.separator.function-arity.erlang"
613
Added:
}
614
Added:
},
615
Added:
"name": "meta.expression.fun.implicit.erlang",
616
Added:
"patterns": [
617
Added:
{
618
Added:
"include": "#everything-else"
619
Added:
}
620
Added:
]
621
Added:
},
622
Added:
{
623
Added:
"begin": "\\b(fun)\\s+(?!\\()",
624
Added:
"beginCaptures": {
625
Added:
"1": {
626
Added:
"name": "keyword.control.fun.erlang"
627
Added:
}
628
Added:
},
629
Added:
"comment": "Implicit function expression when both module and function can by anything",
630
Added:
"end": "(/)",
631
Added:
"endCaptures": {
632
Added:
"1": {
633
Added:
"name": "punctuation.separator.function-arity.erlang"
634
Added:
}
635
Added:
},
636
Added:
"name": "meta.expression.fun.implicit.erlang",
637
Added:
"patterns": [
638
Added:
{
639
Added:
"include": "#everything-else"
640
Added:
}
641
Added:
]
642
Added:
},
643
Added:
{
644
Added:
"begin": "\\b(fun)\\s*+(\\()(?=(\\s*+\\()|(\\)))",
645
Added:
"beginCaptures": {
646
Added:
"1": {
647
Added:
"name": "entity.name.function.erlang"
648
Added:
},
649
Added:
"2": {
650
Added:
"name": "punctuation.definition.parameters.begin.erlang"
651
Added:
}
652
Added:
},
653
Added:
"comment": "Function type in type specification",
654
Added:
"end": "(\\))",
655
Added:
"endCaptures": {
656
Added:
"1": {
657
Added:
"name": "punctuation.definition.parameters.end.erlang"
658
Added:
}
659
Added:
},
660
Added:
"patterns": [
661
Added:
{
662
Added:
"include": "#everything-else"
663
Added:
}
664
Added:
]
665
Added:
},
666
Added:
{
667
Added:
"begin": "\\b(fun)\\b",
668
Added:
"beginCaptures": {
669
Added:
"1": {
670
Added:
"name": "keyword.control.fun.erlang"
671
Added:
}
672
Added:
},
673
Added:
"comment": "Explicit function expression",
674
Added:
"end": "\\b(end)\\b",
675
Added:
"endCaptures": {
676
Added:
"1": {
677
Added:
"name": "keyword.control.end.erlang"
678
Added:
}
679
Added:
},
680
Added:
"name": "meta.expression.fun.erlang",
681
Added:
"patterns": [
682
Added:
{
683
Added:
"begin": "(?=\\()",
684
Added:
"end": "(;)|(?=\\bend\\b)",
685
Added:
"endCaptures": {
686
Added:
"1": {
687
Added:
"name": "punctuation.separator.clauses.erlang"
688
Added:
}
689
Added:
},
690
Added:
"patterns": [
691
Added:
{
692
Added:
"include": "#internal-function-parts"
693
Added:
}
694
Added:
]
695
Added:
},
696
Added:
{
697
Added:
"include": "#everything-else"
698
Added:
}
699
Added:
]
700
Added:
},
701
Added:
{
702
Added:
"begin": "\\b(try)\\b",
703
Added:
"beginCaptures": {
704
Added:
"1": {
705
Added:
"name": "keyword.control.try.erlang"
706
Added:
}
707
Added:
},
708
Added:
"end": "\\b(end)\\b",
709
Added:
"endCaptures": {
710
Added:
"1": {
711
Added:
"name": "keyword.control.end.erlang"
712
Added:
}
713
Added:
},
714
Added:
"name": "meta.expression.try.erlang",
715
Added:
"patterns": [
716
Added:
{
717
Added:
"include": "#internal-expression-punctuation"
718
Added:
},
719
Added:
{
720
Added:
"include": "#everything-else"
721
Added:
}
722
Added:
]
723
Added:
},
724
Added:
{
725
Added:
"begin": "\\b(begin)\\b",
726
Added:
"beginCaptures": {
727
Added:
"1": {
728
Added:
"name": "keyword.control.begin.erlang"
729
Added:
}
730
Added:
},
731
Added:
"end": "\\b(end)\\b",
732
Added:
"endCaptures": {
733
Added:
"1": {
734
Added:
"name": "keyword.control.end.erlang"
735
Added:
}
736
Added:
},
737
Added:
"name": "meta.expression.begin.erlang",
738
Added:
"patterns": [
739
Added:
{
740
Added:
"include": "#internal-expression-punctuation"
741
Added:
},
742
Added:
{
743
Added:
"include": "#everything-else"
744
Added:
}
745
Added:
]
746
Added:
},
747
Added:
{
748
Added:
"begin": "\\b(maybe)\\b",
749
Added:
"beginCaptures": {
750
Added:
"1": {
751
Added:
"name": "keyword.control.maybe.erlang"
752
Added:
}
753
Added:
},
754
Added:
"end": "\\b(end)\\b",
755
Added:
"endCaptures": {
756
Added:
"1": {
757
Added:
"name": "keyword.control.end.erlang"
758
Added:
}
759
Added:
},
760
Added:
"name": "meta.expression.maybe.erlang",
761
Added:
"patterns": [
762
Added:
{
763
Added:
"include": "#internal-expression-punctuation"
764
Added:
},
765
Added:
{
766
Added:
"include": "#everything-else"
767
Added:
}
768
Added:
]
769
Added:
}
770
Added:
]
771
Added:
},
772
Added:
"function": {
773
Added:
"begin": "^\\s*+([a-z][a-zA-Z\\d@_]*+|'[^']*+')\\s*+(?=\\()",
774
Added:
"beginCaptures": {
775
Added:
"1": {
776
Added:
"name": "entity.name.function.definition.erlang"
777
Added:
}
778
Added:
},
779
Added:
"end": "(\\.)",
780
Added:
"endCaptures": {
781
Added:
"1": {
782
Added:
"name": "punctuation.terminator.function.erlang"
783
Added:
}
784
Added:
},
785
Added:
"name": "meta.function.erlang",
786
Added:
"patterns": [
787
Added:
{
788
Added:
"captures": {
789
Added:
"1": {
790
Added:
"name": "entity.name.function.erlang"
791
Added:
}
792
Added:
},
793
Added:
"match": "^\\s*+([a-z][a-zA-Z\\d@_]*+|'[^']*+')\\s*+(?=\\()"
794
Added:
},
795
Added:
{
796
Added:
"begin": "(?=\\()",
797
Added:
"end": "(;)|(?=\\.)",
798
Added:
"endCaptures": {
799
Added:
"1": {
800
Added:
"name": "punctuation.separator.clauses.erlang"
801
Added:
}
802
Added:
},
803
Added:
"patterns": [
804
Added:
{
805
Added:
"include": "#parenthesized-expression"
806
Added:
},
807
Added:
{
808
Added:
"include": "#internal-function-parts"
809
Added:
}
810
Added:
]
811
Added:
},
812
Added:
{
813
Added:
"include": "#everything-else"
814
Added:
}
815
Added:
]
816
Added:
},
817
Added:
"function-call": {
818
Added:
"begin": "(?=([a-z][a-zA-Z\\d@_]*+|'[^']*+'|_[a-zA-Z\\d@_]++|[A-Z][a-zA-Z\\d@_]*+)\\s*+(\\(|:\\s*+([a-z][a-zA-Z\\d@_]*+|'[^']*+'|_[a-zA-Z\\d@_]++|[A-Z][a-zA-Z\\d@_]*+)\\s*+\\())",
819
Added:
"end": "(\\))",
820
Added:
"endCaptures": {
821
Added:
"1": {
822
Added:
"name": "punctuation.definition.parameters.end.erlang"
823
Added:
}
824
Added:
},
825
Added:
"name": "meta.function-call.erlang",
826
Added:
"patterns": [
827
Added:
{
828
Added:
"begin": "((erlang)\\s*+(:)\\s*+)?(is_atom|is_binary|is_constant|is_float|is_function|is_integer|is_list|is_number|is_pid|is_port|is_reference|is_tuple|is_record|abs|element|hd|length|node|round|self|size|tl|trunc)\\s*+(\\()",
829
Added:
"beginCaptures": {
830
Added:
"2": {
831
Added:
"name": "entity.name.type.class.module.erlang"
832
Added:
},
833
Added:
"3": {
834
Added:
"name": "punctuation.separator.module-function.erlang"
835
Added:
},
836
Added:
"4": {
837
Added:
"name": "entity.name.function.guard.erlang"
838
Added:
},
839
Added:
"5": {
840
Added:
"name": "punctuation.definition.parameters.begin.erlang"
841
Added:
}
842
Added:
},
843
Added:
"end": "(?=\\))",
844
Added:
"patterns": [
845
Added:
{
846
Added:
"match": ",",
847
Added:
"name": "punctuation.separator.parameters.erlang"
848
Added:
},
849
Added:
{
850
Added:
"include": "#everything-else"
851
Added:
}
852
Added:
]
853
Added:
},
854
Added:
{
855
Added:
"begin": "((([a-z][a-zA-Z\\d@_]*+|'[^']*+')|(_[a-zA-Z\\d@_]++|[A-Z][a-zA-Z\\d@_]*+))\\s*+(:)\\s*+)?(([a-z][a-zA-Z\\d@_]*+|'[^']*+')|(_[a-zA-Z\\d@_]++|[A-Z][a-zA-Z\\d@_]*+))\\s*+(\\()",
856
Added:
"beginCaptures": {
857
Added:
"3": {
858
Added:
"name": "entity.name.type.class.module.erlang"
859
Added:
},
860
Added:
"4": {
861
Added:
"name": "variable.other.erlang"
862
Added:
},
863
Added:
"5": {
864
Added:
"name": "punctuation.separator.module-function.erlang"
865
Added:
},
866
Added:
"7": {
867
Added:
"name": "entity.name.function.erlang"
868
Added:
},
869
Added:
"8": {
870
Added:
"name": "variable.other.erlang"
871
Added:
},
872
Added:
"9": {
873
Added:
"name": "punctuation.definition.parameters.begin.erlang"
874
Added:
}
875
Added:
},
876
Added:
"end": "(?=\\))",
877
Added:
"patterns": [
878
Added:
{
879
Added:
"match": ",",
880
Added:
"name": "punctuation.separator.parameters.erlang"
881
Added:
},
882
Added:
{
883
Added:
"include": "#everything-else"
884
Added:
}
885
Added:
]
886
Added:
}
887
Added:
]
888
Added:
},
889
Added:
"import-export-directive": {
890
Added:
"patterns": [
891
Added:
{
892
Added:
"begin": "^\\s*+(-)\\s*+(import)\\s*+(\\()\\s*+([a-z][a-zA-Z\\d@_]*+|'[^']*+')\\s*+(,)",
893
Added:
"beginCaptures": {
894
Added:
"1": {
895
Added:
"name": "punctuation.section.directive.begin.erlang"
896
Added:
},
897
Added:
"2": {
898
Added:
"name": "keyword.control.directive.import.erlang"
899
Added:
},
900
Added:
"3": {
901
Added:
"name": "punctuation.definition.parameters.begin.erlang"
902
Added:
},
903
Added:
"4": {
904
Added:
"name": "entity.name.type.class.module.erlang"
905
Added:
},
906
Added:
"5": {
907
Added:
"name": "punctuation.separator.parameters.erlang"
908
Added:
}
909
Added:
},
910
Added:
"end": "(\\))\\s*+(\\.)",
911
Added:
"endCaptures": {
912
Added:
"1": {
913
Added:
"name": "punctuation.definition.parameters.end.erlang"
914
Added:
},
915
Added:
"2": {
916
Added:
"name": "punctuation.section.directive.end.erlang"
917
Added:
}
918
Added:
},
919
Added:
"name": "meta.directive.import.erlang",
920
Added:
"patterns": [
921
Added:
{
922
Added:
"include": "#internal-function-list"
923
Added:
}
924
Added:
]
925
Added:
},
926
Added:
{
927
Added:
"begin": "^\\s*+(-)\\s*+(export)\\s*+(\\()",
928
Added:
"beginCaptures": {
929
Added:
"1": {
930
Added:
"name": "punctuation.section.directive.begin.erlang"
931
Added:
},
932
Added:
"2": {
933
Added:
"name": "keyword.control.directive.export.erlang"
934
Added:
},
935
Added:
"3": {
936
Added:
"name": "punctuation.definition.parameters.begin.erlang"
937
Added:
}
938
Added:
},
939
Added:
"end": "(\\))\\s*+(\\.)",
940
Added:
"endCaptures": {
941
Added:
"1": {
942
Added:
"name": "punctuation.definition.parameters.end.erlang"
943
Added:
},
944
Added:
"2": {
945
Added:
"name": "punctuation.section.directive.end.erlang"
946
Added:
}
947
Added:
},
948
Added:
"name": "meta.directive.export.erlang",
949
Added:
"patterns": [
950
Added:
{
951
Added:
"include": "#internal-function-list"
952
Added:
}
953
Added:
]
954
Added:
}
955
Added:
]
956
Added:
},
957
Added:
"internal-expression-punctuation": {
958
Added:
"captures": {
959
Added:
"1": {
960
Added:
"name": "punctuation.separator.clause-head-body.erlang"
961
Added:
},
962
Added:
"2": {
963
Added:
"name": "punctuation.separator.clauses.erlang"
964
Added:
},
965
Added:
"3": {
966
Added:
"name": "punctuation.separator.expressions.erlang"
967
Added:
}
968
Added:
},
969
Added:
"match": "(->)|(;)|(,)"
970
Added:
},
971
Added:
"internal-function-list": {
972
Added:
"begin": "(\\[)",
973
Added:
"beginCaptures": {
974
Added:
"1": {
975
Added:
"name": "punctuation.definition.list.begin.erlang"
976
Added:
}
977
Added:
},
978
Added:
"end": "(\\])",
979
Added:
"endCaptures": {
980
Added:
"1": {
981
Added:
"name": "punctuation.definition.list.end.erlang"
982
Added:
}
983
Added:
},
984
Added:
"name": "meta.structure.list.function.erlang",
985
Added:
"patterns": [
986
Added:
{
987
Added:
"begin": "([a-z][a-zA-Z\\d@_]*+|'[^']*+')\\s*+(/)",
988
Added:
"beginCaptures": {
989
Added:
"1": {
990
Added:
"name": "entity.name.function.erlang"
991
Added:
},
992
Added:
"2": {
993
Added:
"name": "punctuation.separator.function-arity.erlang"
994
Added:
}
995
Added:
},
996
Added:
"end": "(,)|(?=\\])",
997
Added:
"endCaptures": {
998
Added:
"1": {
999
Added:
"name": "punctuation.separator.list.erlang"
1000
Added:
}
1001
Added:
},
1002
Added:
"patterns": [
1003
Added:
{
1004
Added:
"include": "#everything-else"
1005
Added:
}
1006
Added:
]
1007
Added:
},
1008
Added:
{
1009
Added:
"include": "#everything-else"
1010
Added:
}
1011
Added:
]
1012
Added:
},
1013
Added:
"internal-function-parts": {
1014
Added:
"patterns": [
1015
Added:
{
1016
Added:
"begin": "(?=\\()",
1017
Added:
"end": "(->)",
1018
Added:
"endCaptures": {
1019
Added:
"1": {
1020
Added:
"name": "punctuation.separator.clause-head-body.erlang"
1021
Added:
}
1022
Added:
},
1023
Added:
"patterns": [
1024
Added:
{
1025
Added:
"begin": "(\\()",
1026
Added:
"beginCaptures": {
1027
Added:
"1": {
1028
Added:
"name": "punctuation.definition.parameters.begin.erlang"
1029
Added:
}
1030
Added:
},
1031
Added:
"end": "(\\))",
1032
Added:
"endCaptures": {
1033
Added:
"1": {
1034
Added:
"name": "punctuation.definition.parameters.end.erlang"
1035
Added:
}
1036
Added:
},
1037
Added:
"patterns": [
1038
Added:
{
1039
Added:
"match": ",",
1040
Added:
"name": "punctuation.separator.parameters.erlang"
1041
Added:
},
1042
Added:
{
1043
Added:
"include": "#everything-else"
1044
Added:
}
1045
Added:
]
1046
Added:
},
1047
Added:
{
1048
Added:
"match": ",|;",
1049
Added:
"name": "punctuation.separator.guards.erlang"
1050
Added:
},
1051
Added:
{
1052
Added:
"include": "#everything-else"
1053
Added:
}
1054
Added:
]
1055
Added:
},
1056
Added:
{
1057
Added:
"match": ",",
1058
Added:
"name": "punctuation.separator.expressions.erlang"
1059
Added:
},
1060
Added:
{
1061
Added:
"include": "#everything-else"
1062
Added:
}
1063
Added:
]
1064
Added:
},
1065
Added:
"internal-record-body": {
1066
Added:
"begin": "(\\{)",
1067
Added:
"beginCaptures": {
1068
Added:
"1": {
1069
Added:
"name": "punctuation.definition.class.record.begin.erlang"
1070
Added:
}
1071
Added:
},
1072
Added:
"end": "(\\})",
1073
Added:
"endCaptures": {
1074
Added:
"1": {
1075
Added:
"name": "punctuation.definition.class.record.end.erlang"
1076
Added:
}
1077
Added:
},
1078
Added:
"name": "meta.structure.record.erlang",
1079
Added:
"patterns": [
1080
Added:
{
1081
Added:
"begin": "(([a-z][a-zA-Z\\d@_]*+|'[^']*+')|(_))",
1082
Added:
"beginCaptures": {
1083
Added:
"2": {
1084
Added:
"name": "variable.other.field.erlang"
1085
Added:
},
1086
Added:
"3": {
1087
Added:
"name": "variable.language.omitted.field.erlang"
1088
Added:
}
1089
Added:
},
1090
Added:
"end": "(,)|(?=\\})",
1091
Added:
"endCaptures": {
1092
Added:
"1": {
1093
Added:
"name": "punctuation.separator.class.record.erlang"
1094
Added:
}
1095
Added:
},
1096
Added:
"patterns": [
1097
Added:
{
1098
Added:
"include": "#everything-else"
1099
Added:
}
1100
Added:
]
1101
Added:
},
1102
Added:
{
1103
Added:
"include": "#everything-else"
1104
Added:
}
1105
Added:
]
1106
Added:
},
1107
Added:
"internal-string-body": {
1108
Added:
"patterns": [
1109
Added:
{
1110
Added:
"captures": {
1111
Added:
"1": {
1112
Added:
"name": "punctuation.definition.escape.erlang"
1113
Added:
},
1114
Added:
"3": {
1115
Added:
"name": "punctuation.definition.escape.erlang"
1116
Added:
}
1117
Added:
},
1118
Added:
"comment": "escape sequence",
1119
Added:
"match": "(\\\\)([bdefnrstv\\\\'\"]|(\\^)[@-_a-z]|[0-7]{1,3}|x[\\da-fA-F]{2})",
1120
Added:
"name": "constant.character.escape.erlang"
1121
Added:
},
1122
Added:
{
1123
Added:
"match": "\\\\\\^?.?",
1124
Added:
"name": "invalid.illegal.string.erlang"
1125
Added:
},
1126
Added:
{
1127
Added:
"include": "#internal-string-body-verbatim"
1128
Added:
}
1129
Added:
]
1130
Added:
},
1131
Added:
"internal-string-body-verbatim": {
1132
Added:
"patterns": [
1133
Added:
{
1134
Added:
"captures": {
1135
Added:
"1": {
1136
Added:
"name": "punctuation.definition.placeholder.erlang"
1137
Added:
},
1138
Added:
"10": {
1139
Added:
"name": "punctuation.separator.placeholder-parts.erlang"
1140
Added:
},
1141
Added:
"6": {
1142
Added:
"name": "punctuation.separator.placeholder-parts.erlang"
1143
Added:
}
1144
Added:
},
1145
Added:
"comment": "io:fwrite format control sequence",
1146
Added:
"match": "(~)((\\-)?\\d++|(\\*))?((\\.)(\\d++|(\\*))?((\\.)((\\*)|.))?)?[tlkK]*[~cfegswpWPBX#bx\\+ni]",
1147
Added:
"name": "constant.character.format.placeholder.other.erlang"
1148
Added:
},
1149
Added:
{
1150
Added:
"captures": {
1151
Added:
"1": {
1152
Added:
"name": "punctuation.definition.placeholder.erlang"
1153
Added:
}
1154
Added:
},
1155
Added:
"comment": "io:fread format control sequence",
1156
Added:
"match": "(~)(\\*)?(\\d++)?(t)?[~du\\-#fsacl]",
1157
Added:
"name": "constant.character.format.placeholder.other.erlang"
1158
Added:
},
1159
Added:
{
1160
Added:
"match": "~[^\"]?",
1161
Added:
"name": "invalid.illegal.string.erlang"
1162
Added:
}
1163
Added:
]
1164
Added:
},
1165
Added:
"internal-type-specifiers": {
1166
Added:
"begin": "(/)",
1167
Added:
"beginCaptures": {
1168
Added:
"1": {
1169
Added:
"name": "punctuation.separator.value-type.erlang"
1170
Added:
}
1171
Added:
},
1172
Added:
"end": "(?=,|:|>>)",
1173
Added:
"patterns": [
1174
Added:
{
1175
Added:
"captures": {
1176
Added:
"1": {
1177
Added:
"name": "storage.type.erlang"
1178
Added:
},
1179
Added:
"2": {
1180
Added:
"name": "storage.modifier.signedness.erlang"
1181
Added:
},
1182
Added:
"3": {
1183
Added:
"name": "storage.modifier.endianness.erlang"
1184
Added:
},
1185
Added:
"4": {
1186
Added:
"name": "storage.modifier.unit.erlang"
1187
Added:
},
1188
Added:
"5": {
1189
Added:
"name": "punctuation.separator.unit-specifiers.erlang"
1190
Added:
},
1191
Added:
"6": {
1192
Added:
"name": "constant.numeric.integer.decimal.erlang"
1193
Added:
},
1194
Added:
"7": {
1195
Added:
"name": "punctuation.separator.type-specifiers.erlang"
1196
Added:
}
1197
Added:
},
1198
Added:
"match": "(integer|float|binary|bytes|bitstring|bits|utf8|utf16|utf32)|(signed|unsigned)|(big|little|native)|(unit)(:)(\\d++)|(-)"
1199
Added:
}
1200
Added:
]
1201
Added:
},
1202
Added:
"keyword": {
1203
Added:
"match": "\\b(after|begin|case|catch|cond|end|fun|if|let|of|try|receive|when|maybe|else)\\b",
1204
Added:
"name": "keyword.control.erlang"
1205
Added:
},
1206
Added:
"language-constant": {
1207
Added:
"match": "\\b(false|true|undefined)\\b",
1208
Added:
"name": "constant.language"
1209
Added:
},
1210
Added:
"list": {
1211
Added:
"begin": "(\\[)",
1212
Added:
"beginCaptures": {
1213
Added:
"1": {
1214
Added:
"name": "punctuation.definition.list.begin.erlang"
1215
Added:
}
1216
Added:
},
1217
Added:
"end": "(\\])",
1218
Added:
"endCaptures": {
1219
Added:
"1": {
1220
Added:
"name": "punctuation.definition.list.end.erlang"
1221
Added:
}
1222
Added:
},
1223
Added:
"name": "meta.structure.list.erlang",
1224
Added:
"patterns": [
1225
Added:
{
1226
Added:
"match": "\\||\\|\\||,",
1227
Added:
"name": "punctuation.separator.list.erlang"
1228
Added:
},
1229
Added:
{
1230
Added:
"include": "#everything-else"
1231
Added:
}
1232
Added:
]
1233
Added:
},
1234
Added:
"macro-directive": {
1235
Added:
"patterns": [
1236
Added:
{
1237
Added:
"captures": {
1238
Added:
"1": {
1239
Added:
"name": "punctuation.section.directive.begin.erlang"
1240
Added:
},
1241
Added:
"2": {
1242
Added:
"name": "keyword.control.directive.ifdef.erlang"
1243
Added:
},
1244
Added:
"3": {
1245
Added:
"name": "punctuation.definition.parameters.begin.erlang"
1246
Added:
},
1247
Added:
"4": {
1248
Added:
"name": "entity.name.function.macro.erlang"
1249
Added:
},
1250
Added:
"5": {
1251
Added:
"name": "punctuation.definition.parameters.end.erlang"
1252
Added:
},
1253
Added:
"6": {
1254
Added:
"name": "punctuation.section.directive.end.erlang"
1255
Added:
}
1256
Added:
},
1257
Added:
"match": "^\\s*+(-)\\s*+(ifdef)\\s*+(\\()\\s*+([a-zA-z\\d@_]++)\\s*+(\\))\\s*+(\\.)",
1258
Added:
"name": "meta.directive.ifdef.erlang"
1259
Added:
},
1260
Added:
{
1261
Added:
"captures": {
1262
Added:
"1": {
1263
Added:
"name": "punctuation.section.directive.begin.erlang"
1264
Added:
},
1265
Added:
"2": {
1266
Added:
"name": "keyword.control.directive.ifndef.erlang"
1267
Added:
},
1268
Added:
"3": {
1269
Added:
"name": "punctuation.definition.parameters.begin.erlang"
1270
Added:
},
1271
Added:
"4": {
1272
Added:
"name": "entity.name.function.macro.erlang"
1273
Added:
},
1274
Added:
"5": {
1275
Added:
"name": "punctuation.definition.parameters.end.erlang"
1276
Added:
},
1277
Added:
"6": {
1278
Added:
"name": "punctuation.section.directive.end.erlang"
1279
Added:
}
1280
Added:
},
1281
Added:
"match": "^\\s*+(-)\\s*+(ifndef)\\s*+(\\()\\s*+([a-zA-z\\d@_]++)\\s*+(\\))\\s*+(\\.)",
1282
Added:
"name": "meta.directive.ifndef.erlang"
1283
Added:
},
1284
Added:
{
1285
Added:
"captures": {
1286
Added:
"1": {
1287
Added:
"name": "punctuation.section.directive.begin.erlang"
1288
Added:
},
1289
Added:
"2": {
1290
Added:
"name": "keyword.control.directive.undef.erlang"
1291
Added:
},
1292
Added:
"3": {
1293
Added:
"name": "punctuation.definition.parameters.begin.erlang"
1294
Added:
},
1295
Added:
"4": {
1296
Added:
"name": "entity.name.function.macro.erlang"
1297
Added:
},
1298
Added:
"5": {
1299
Added:
"name": "punctuation.definition.parameters.end.erlang"
1300
Added:
},
1301
Added:
"6": {
1302
Added:
"name": "punctuation.section.directive.end.erlang"
1303
Added:
}
1304
Added:
},
1305
Added:
"match": "^\\s*+(-)\\s*+(undef)\\s*+(\\()\\s*+([a-zA-z\\d@_]++)\\s*+(\\))\\s*+(\\.)",
1306
Added:
"name": "meta.directive.undef.erlang"
1307
Added:
}
1308
Added:
]
1309
Added:
},
1310
Added:
"macro-usage": {
1311
Added:
"captures": {
1312
Added:
"1": {
1313
Added:
"name": "keyword.operator.macro.erlang"
1314
Added:
},
1315
Added:
"2": {
1316
Added:
"name": "entity.name.function.macro.erlang"
1317
Added:
}
1318
Added:
},
1319
Added:
"match": "(\\?\\??)\\s*+([a-zA-Z\\d@_]++)",
1320
Added:
"name": "meta.macro-usage.erlang"
1321
Added:
},
1322
Added:
"module-directive": {
1323
Added:
"captures": {
1324
Added:
"1": {
1325
Added:
"name": "punctuation.section.directive.begin.erlang"
1326
Added:
},
1327
Added:
"2": {
1328
Added:
"name": "keyword.control.directive.module.erlang"
1329
Added:
},
1330
Added:
"3": {
1331
Added:
"name": "punctuation.definition.parameters.begin.erlang"
1332
Added:
},
1333
Added:
"4": {
1334
Added:
"name": "entity.name.type.class.module.definition.erlang"
1335
Added:
},
1336
Added:
"5": {
1337
Added:
"name": "punctuation.definition.parameters.end.erlang"
1338
Added:
},
1339
Added:
"6": {
1340
Added:
"name": "punctuation.section.directive.end.erlang"
1341
Added:
}
1342
Added:
},
1343
Added:
"match": "^\\s*+(-)\\s*+(module)\\s*+(\\()\\s*+([a-z][a-zA-Z\\d@_]*+)\\s*+(\\))\\s*+(\\.)",
1344
Added:
"name": "meta.directive.module.erlang"
1345
Added:
},
1346
Added:
"number": {
1347
Added:
"begin": "(?=\\d)",
1348
Added:
"end": "(?!\\d)",
1349
Added:
"patterns": [
1350
Added:
{
1351
Added:
"captures": {
1352
Added:
"1": {
1353
Added:
"name": "punctuation.separator.integer-float.erlang"
1354
Added:
},
1355
Added:
"2": {
1356
Added:
"name": "punctuation.separator.float-exponent.erlang"
1357
Added:
}
1358
Added:
},
1359
Added:
"match": "\\d++(\\.)\\d++([eE][\\+\\-]?\\d++)?",
1360
Added:
"name": "constant.numeric.float.erlang"
1361
Added:
},
1362
Added:
{
1363
Added:
"captures": {
1364
Added:
"1": {
1365
Added:
"name": "punctuation.separator.base-integer.erlang"
1366
Added:
}
1367
Added:
},
1368
Added:
"match": "2(#)([0-1]++_)*[0-1]++",
1369
Added:
"name": "constant.numeric.integer.binary.erlang"
1370
Added:
},
1371
Added:
{
1372
Added:
"captures": {
1373
Added:
"1": {
1374
Added:
"name": "punctuation.separator.base-integer.erlang"
1375
Added:
}
1376
Added:
},
1377
Added:
"match": "3(#)([0-2]++_)*[0-2]++",
1378
Added:
"name": "constant.numeric.integer.base-3.erlang"
1379
Added:
},
1380
Added:
{
1381
Added:
"captures": {
1382
Added:
"1": {
1383
Added:
"name": "punctuation.separator.base-integer.erlang"
1384
Added:
}
1385
Added:
},
1386
Added:
"match": "4(#)([0-3]++_)*[0-3]++",
1387
Added:
"name": "constant.numeric.integer.base-4.erlang"
1388
Added:
},
1389
Added:
{
1390
Added:
"captures": {
1391
Added:
"1": {
1392
Added:
"name": "punctuation.separator.base-integer.erlang"
1393
Added:
}
1394
Added:
},
1395
Added:
"match": "5(#)([0-4]++_)*[0-4]++",
1396
Added:
"name": "constant.numeric.integer.base-5.erlang"
1397
Added:
},
1398
Added:
{
1399
Added:
"captures": {
1400
Added:
"1": {
1401
Added:
"name": "punctuation.separator.base-integer.erlang"
1402
Added:
}
1403
Added:
},
1404
Added:
"match": "6(#)([0-5]++_)*[0-5]++",
1405
Added:
"name": "constant.numeric.integer.base-6.erlang"
1406
Added:
},
1407
Added:
{
1408
Added:
"captures": {
1409
Added:
"1": {
1410
Added:
"name": "punctuation.separator.base-integer.erlang"
1411
Added:
}
1412
Added:
},
1413
Added:
"match": "7(#)([0-6]++_)*[0-6]++",
1414
Added:
"name": "constant.numeric.integer.base-7.erlang"
1415
Added:
},
1416
Added:
{
1417
Added:
"captures": {
1418
Added:
"1": {
1419
Added:
"name": "punctuation.separator.base-integer.erlang"
1420
Added:
}
1421
Added:
},
1422
Added:
"match": "8(#)([0-7]++_)*[0-7]++",
1423
Added:
"name": "constant.numeric.integer.octal.erlang"
1424
Added:
},
1425
Added:
{
1426
Added:
"captures": {
1427
Added:
"1": {
1428
Added:
"name": "punctuation.separator.base-integer.erlang"
1429
Added:
}
1430
Added:
},
1431
Added:
"match": "9(#)([0-8]++_)*[0-8]++",
1432
Added:
"name": "constant.numeric.integer.base-9.erlang"
1433
Added:
},
1434
Added:
{
1435
Added:
"captures": {
1436
Added:
"1": {
1437
Added:
"name": "punctuation.separator.base-integer.erlang"
1438
Added:
}
1439
Added:
},
1440
Added:
"match": "10(#)(\\d++_)*\\d++",
1441
Added:
"name": "constant.numeric.integer.decimal.erlang"
1442
Added:
},
1443
Added:
{
1444
Added:
"captures": {
1445
Added:
"1": {
1446
Added:
"name": "punctuation.separator.base-integer.erlang"
1447
Added:
}
1448
Added:
},
1449
Added:
"match": "11(#)([\\daA]++_)*[\\daA]++",
1450
Added:
"name": "constant.numeric.integer.base-11.erlang"
1451
Added:
},
1452
Added:
{
1453
Added:
"captures": {
1454
Added:
"1": {
1455
Added:
"name": "punctuation.separator.base-integer.erlang"
1456
Added:
}
1457
Added:
},
1458
Added:
"match": "12(#)([\\da-bA-B]++_)*[\\da-bA-B]++",
1459
Added:
"name": "constant.numeric.integer.base-12.erlang"
1460
Added:
},
1461
Added:
{
1462
Added:
"captures": {
1463
Added:
"1": {
1464
Added:
"name": "punctuation.separator.base-integer.erlang"
1465
Added:
}
1466
Added:
},
1467
Added:
"match": "13(#)([\\da-cA-C]++_)*[\\da-cA-C]++",
1468
Added:
"name": "constant.numeric.integer.base-13.erlang"
1469
Added:
},
1470
Added:
{
1471
Added:
"captures": {
1472
Added:
"1": {
1473
Added:
"name": "punctuation.separator.base-integer.erlang"
1474
Added:
}
1475
Added:
},
1476
Added:
"match": "14(#)([\\da-dA-D]++_)*[\\da-dA-D]++",
1477
Added:
"name": "constant.numeric.integer.base-14.erlang"
1478
Added:
},
1479
Added:
{
1480
Added:
"captures": {
1481
Added:
"1": {
1482
Added:
"name": "punctuation.separator.base-integer.erlang"
1483
Added:
}
1484
Added:
},
1485
Added:
"match": "15(#)([\\da-eA-E]++_)*[\\da-eA-E]++",
1486
Added:
"name": "constant.numeric.integer.base-15.erlang"
1487
Added:
},
1488
Added:
{
1489
Added:
"captures": {
1490
Added:
"1": {
1491
Added:
"name": "punctuation.separator.base-integer.erlang"
1492
Added:
}
1493
Added:
},
1494
Added:
"match": "16(#)([\\da-fA-F]++_)*[\\da-fA-F]++",
1495
Added:
"name": "constant.numeric.integer.hexadecimal.erlang"
1496
Added:
},
1497
Added:
{
1498
Added:
"captures": {
1499
Added:
"1": {
1500
Added:
"name": "punctuation.separator.base-integer.erlang"
1501
Added:
}
1502
Added:
},
1503
Added:
"match": "17(#)([\\da-gA-G]++_)*[\\da-gA-G]++",
1504
Added:
"name": "constant.numeric.integer.base-17.erlang"
1505
Added:
},
1506
Added:
{
1507
Added:
"captures": {
1508
Added:
"1": {
1509
Added:
"name": "punctuation.separator.base-integer.erlang"
1510
Added:
}
1511
Added:
},
1512
Added:
"match": "18(#)([\\da-hA-H]++_)*[\\da-hA-H]++",
1513
Added:
"name": "constant.numeric.integer.base-18.erlang"
1514
Added:
},
1515
Added:
{
1516
Added:
"captures": {
1517
Added:
"1": {
1518
Added:
"name": "punctuation.separator.base-integer.erlang"
1519
Added:
}
1520
Added:
},
1521
Added:
"match": "19(#)([\\da-iA-I]++_)*[\\da-iA-I]++",
1522
Added:
"name": "constant.numeric.integer.base-19.erlang"
1523
Added:
},
1524
Added:
{
1525
Added:
"captures": {
1526
Added:
"1": {
1527
Added:
"name": "punctuation.separator.base-integer.erlang"
1528
Added:
}
1529
Added:
},
1530
Added:
"match": "20(#)([\\da-jA-J]++_)*[\\da-jA-J]++",
1531
Added:
"name": "constant.numeric.integer.base-20.erlang"
1532
Added:
},
1533
Added:
{
1534
Added:
"captures": {
1535
Added:
"1": {
1536
Added:
"name": "punctuation.separator.base-integer.erlang"
1537
Added:
}
1538
Added:
},
1539
Added:
"match": "21(#)([\\da-kA-K]++_)*[\\da-kA-K]++",
1540
Added:
"name": "constant.numeric.integer.base-21.erlang"
1541
Added:
},
1542
Added:
{
1543
Added:
"captures": {
1544
Added:
"1": {
1545
Added:
"name": "punctuation.separator.base-integer.erlang"
1546
Added:
}
1547
Added:
},
1548
Added:
"match": "22(#)([\\da-lA-L]++_)*[\\da-lA-L]++",
1549
Added:
"name": "constant.numeric.integer.base-22.erlang"
1550
Added:
},
1551
Added:
{
1552
Added:
"captures": {
1553
Added:
"1": {
1554
Added:
"name": "punctuation.separator.base-integer.erlang"
1555
Added:
}
1556
Added:
},
1557
Added:
"match": "23(#)([\\da-mA-M]++_)*[\\da-mA-M]++",
1558
Added:
"name": "constant.numeric.integer.base-23.erlang"
1559
Added:
},
1560
Added:
{
1561
Added:
"captures": {
1562
Added:
"1": {
1563
Added:
"name": "punctuation.separator.base-integer.erlang"
1564
Added:
}
1565
Added:
},
1566
Added:
"match": "24(#)([\\da-nA-N]++_)*[\\da-nA-N]++",
1567
Added:
"name": "constant.numeric.integer.base-24.erlang"
1568
Added:
},
1569
Added:
{
1570
Added:
"captures": {
1571
Added:
"1": {
1572
Added:
"name": "punctuation.separator.base-integer.erlang"
1573
Added:
}
1574
Added:
},
1575
Added:
"match": "25(#)([\\da-oA-O]++_)*[\\da-oA-O]++",
1576
Added:
"name": "constant.numeric.integer.base-25.erlang"
1577
Added:
},
1578
Added:
{
1579
Added:
"captures": {
1580
Added:
"1": {
1581
Added:
"name": "punctuation.separator.base-integer.erlang"
1582
Added:
}
1583
Added:
},
1584
Added:
"match": "26(#)([\\da-pA-P]++_)*[\\da-pA-P]++",
1585
Added:
"name": "constant.numeric.integer.base-26.erlang"
1586
Added:
},
1587
Added:
{
1588
Added:
"captures": {
1589
Added:
"1": {
1590
Added:
"name": "punctuation.separator.base-integer.erlang"
1591
Added:
}
1592
Added:
},
1593
Added:
"match": "27(#)([\\da-qA-Q]++_)*[\\da-qA-Q]++",
1594
Added:
"name": "constant.numeric.integer.base-27.erlang"
1595
Added:
},
1596
Added:
{
1597
Added:
"captures": {
1598
Added:
"1": {
1599
Added:
"name": "punctuation.separator.base-integer.erlang"
1600
Added:
}
1601
Added:
},
1602
Added:
"match": "28(#)([\\da-rA-R]++_)*[\\da-rA-R]++",
1603
Added:
"name": "constant.numeric.integer.base-28.erlang"
1604
Added:
},
1605
Added:
{
1606
Added:
"captures": {
1607
Added:
"1": {
1608
Added:
"name": "punctuation.separator.base-integer.erlang"
1609
Added:
}
1610
Added:
},
1611
Added:
"match": "29(#)([\\da-sA-S]++_)*[\\da-sA-S]++",
1612
Added:
"name": "constant.numeric.integer.base-29.erlang"
1613
Added:
},
1614
Added:
{
1615
Added:
"captures": {
1616
Added:
"1": {
1617
Added:
"name": "punctuation.separator.base-integer.erlang"
1618
Added:
}
1619
Added:
},
1620
Added:
"match": "30(#)([\\da-tA-T]++_)*[\\da-tA-T]++",
1621
Added:
"name": "constant.numeric.integer.base-30.erlang"
1622
Added:
},
1623
Added:
{
1624
Added:
"captures": {
1625
Added:
"1": {
1626
Added:
"name": "punctuation.separator.base-integer.erlang"
1627
Added:
}
1628
Added:
},
1629
Added:
"match": "31(#)([\\da-uA-U]++_)*[\\da-uA-U]++",
1630
Added:
"name": "constant.numeric.integer.base-31.erlang"
1631
Added:
},
1632
Added:
{
1633
Added:
"captures": {
1634
Added:
"1": {
1635
Added:
"name": "punctuation.separator.base-integer.erlang"
1636
Added:
}
1637
Added:
},
1638
Added:
"match": "32(#)([\\da-vA-V]++_)*[\\da-vA-V]++",
1639
Added:
"name": "constant.numeric.integer.base-32.erlang"
1640
Added:
},
1641
Added:
{
1642
Added:
"captures": {
1643
Added:
"1": {
1644
Added:
"name": "punctuation.separator.base-integer.erlang"
1645
Added:
}
1646
Added:
},
1647
Added:
"match": "33(#)([\\da-wA-W]++_)*[\\da-wA-W]++",
1648
Added:
"name": "constant.numeric.integer.base-33.erlang"
1649
Added:
},
1650
Added:
{
1651
Added:
"captures": {
1652
Added:
"1": {
1653
Added:
"name": "punctuation.separator.base-integer.erlang"
1654
Added:
}
1655
Added:
},
1656
Added:
"match": "34(#)([\\da-xA-X]++_)*[\\da-xA-X]++",
1657
Added:
"name": "constant.numeric.integer.base-34.erlang"
1658
Added:
},
1659
Added:
{
1660
Added:
"captures": {
1661
Added:
"1": {
1662
Added:
"name": "punctuation.separator.base-integer.erlang"
1663
Added:
}
1664
Added:
},
1665
Added:
"match": "35(#)([\\da-yA-Y]++_)*[\\da-yA-Y]++",
1666
Added:
"name": "constant.numeric.integer.base-35.erlang"
1667
Added:
},
1668
Added:
{
1669
Added:
"captures": {
1670
Added:
"1": {
1671
Added:
"name": "punctuation.separator.base-integer.erlang"
1672
Added:
}
1673
Added:
},
1674
Added:
"match": "36(#)([\\da-zA-Z]++_)*[\\da-zA-Z]++",
1675
Added:
"name": "constant.numeric.integer.base-36.erlang"
1676
Added:
},
1677
Added:
{
1678
Added:
"match": "\\d++#([\\da-zA-Z]++_)*[\\da-zA-Z]++",
1679
Added:
"name": "invalid.illegal.integer.erlang"
1680
Added:
},
1681
Added:
{
1682
Added:
"match": "(\\d++_)*\\d++",
1683
Added:
"name": "constant.numeric.integer.decimal.erlang"
1684
Added:
}
1685
Added:
]
1686
Added:
},
1687
Added:
"parenthesized-expression": {
1688
Added:
"begin": "(\\()",
1689
Added:
"beginCaptures": {
1690
Added:
"1": {
1691
Added:
"name": "punctuation.section.expression.begin.erlang"
1692
Added:
}
1693
Added:
},
1694
Added:
"end": "(\\))",
1695
Added:
"endCaptures": {
1696
Added:
"1": {
1697
Added:
"name": "punctuation.section.expression.end.erlang"
1698
Added:
}
1699
Added:
},
1700
Added:
"name": "meta.expression.parenthesized",
1701
Added:
"patterns": [
1702
Added:
{
1703
Added:
"include": "#everything-else"
1704
Added:
}
1705
Added:
]
1706
Added:
},
1707
Added:
"record-directive": {
1708
Added:
"begin": "^\\s*+(-)\\s*+(record)\\s*+(\\()\\s*+([a-z][a-zA-Z\\d@_]*+|'[^']*+')\\s*+(,)",
1709
Added:
"beginCaptures": {
1710
Added:
"1": {
1711
Added:
"name": "punctuation.section.directive.begin.erlang"
1712
Added:
},
1713
Added:
"2": {
1714
Added:
"name": "keyword.control.directive.import.erlang"
1715
Added:
},
1716
Added:
"3": {
1717
Added:
"name": "punctuation.definition.parameters.begin.erlang"
1718
Added:
},
1719
Added:
"4": {
1720
Added:
"name": "entity.name.type.class.record.definition.erlang"
1721
Added:
},
1722
Added:
"5": {
1723
Added:
"name": "punctuation.separator.parameters.erlang"
1724
Added:
}
1725
Added:
},
1726
Added:
"end": "(\\))\\s*+(\\.)",
1727
Added:
"endCaptures": {
1728
Added:
"1": {
1729
Added:
"name": "punctuation.definition.parameters.end.erlang"
1730
Added:
},
1731
Added:
"2": {
1732
Added:
"name": "punctuation.section.directive.end.erlang"
1733
Added:
}
1734
Added:
},
1735
Added:
"name": "meta.directive.record.erlang",
1736
Added:
"patterns": [
1737
Added:
{
1738
Added:
"include": "#internal-record-body"
1739
Added:
},
1740
Added:
{
1741
Added:
"include": "#comment"
1742
Added:
}
1743
Added:
]
1744
Added:
},
1745
Added:
"record-usage": {
1746
Added:
"patterns": [
1747
Added:
{
1748
Added:
"captures": {
1749
Added:
"1": {
1750
Added:
"name": "keyword.operator.record.erlang"
1751
Added:
},
1752
Added:
"2": {
1753
Added:
"name": "entity.name.type.class.record.erlang"
1754
Added:
},
1755
Added:
"3": {
1756
Added:
"name": "punctuation.separator.record-field.erlang"
1757
Added:
},
1758
Added:
"4": {
1759
Added:
"name": "variable.other.field.erlang"
1760
Added:
}
1761
Added:
},
1762
Added:
"match": "(#)\\s*+([a-z][a-zA-Z\\d@_]*+|'[^']*+')\\s*+(\\.)\\s*+([a-z][a-zA-Z\\d@_]*+|'[^']*+')",
1763
Added:
"name": "meta.record-usage.erlang"
1764
Added:
},
1765
Added:
{
1766
Added:
"begin": "(#)\\s*+([a-z][a-zA-Z\\d@_]*+|'[^']*+')",
1767
Added:
"beginCaptures": {
1768
Added:
"1": {
1769
Added:
"name": "keyword.operator.record.erlang"
1770
Added:
},
1771
Added:
"2": {
1772
Added:
"name": "entity.name.type.class.record.erlang"
1773
Added:
}
1774
Added:
},
1775
Added:
"end": "(?<=\\})",
1776
Added:
"name": "meta.record-usage.erlang",
1777
Added:
"patterns": [
1778
Added:
{
1779
Added:
"include": "#internal-record-body"
1780
Added:
}
1781
Added:
]
1782
Added:
}
1783
Added:
]
1784
Added:
},
1785
Added:
"sigil-docstring": {
1786
Added:
"begin": "(~[bs])(([\"]{3,})\\s*)(\\S.*)?$",
1787
Added:
"beginCaptures": {
1788
Added:
"1": {
1789
Added:
"name": "storage.type.string.erlang"
1790
Added:
},
1791
Added:
"2": {
1792
Added:
"name": "meta.string.quoted.triple.begin.erlang"
1793
Added:
},
1794
Added:
"3": {
1795
Added:
"name": "punctuation.definition.string.begin.erlang"
1796
Added:
},
1797
Added:
"4": {
1798
Added:
"name": "invalid.illegal.string.erlang"
1799
Added:
}
1800
Added:
},
1801
Added:
"comment": "Only whitespace characters are allowed after the beggining and before the closing sequences and those cannot be in the same line",
1802
Added:
"end": "^(\\s*(\\3))(?!\")",
1803
Added:
"endCaptures": {
1804
Added:
"1": {
1805
Added:
"name": "meta.string.quoted.triple.end.erlang"
1806
Added:
},
1807
Added:
"2": {
1808
Added:
"name": "punctuation.definition.string.end.erlang"
1809
Added:
}
1810
Added:
},
1811
Added:
"name": "string.quoted.tripple.sigil.erlang",
1812
Added:
"patterns": [
1813
Added:
{
1814
Added:
"include": "#internal-string-body"
1815
Added:
}
1816
Added:
]
1817
Added:
},
1818
Added:
"sigil-docstring-verbatim": {
1819
Added:
"begin": "(~[BS]?)(([\"]{3,})\\s*)(\\S.*)?$",
1820
Added:
"beginCaptures": {
1821
Added:
"1": {
1822
Added:
"name": "storage.type.string.erlang"
1823
Added:
},
1824
Added:
"2": {
1825
Added:
"name": "meta.string.quoted.triple.begin.erlang"
1826
Added:
},
1827
Added:
"3": {
1828
Added:
"name": "punctuation.definition.string.begin.erlang"
1829
Added:
},
1830
Added:
"4": {
1831
Added:
"name": "invalid.illegal.string.erlang"
1832
Added:
}
1833
Added:
},
1834
Added:
"comment": "Only whitespace characters are allowed after the beggining and before the closing sequences and those cannot be in the same line",
1835
Added:
"end": "^(\\s*(\\3))(?!\")",
1836
Added:
"endCaptures": {
1837
Added:
"1": {
1838
Added:
"name": "meta.string.quoted.triple.end.erlang"
1839
Added:
},
1840
Added:
"2": {
1841
Added:
"name": "punctuation.definition.string.end.erlang"
1842
Added:
}
1843
Added:
},
1844
Added:
"name": "string.quoted.tripple.sigil.erlang",
1845
Added:
"patterns": [
1846
Added:
{
1847
Added:
"include": "#internal-string-body-verbatim"
1848
Added:
}
1849
Added:
]
1850
Added:
},
1851
Added:
"sigil-string": {
1852
Added:
"patterns": [
1853
Added:
{
1854
Added:
"include": "#sigil-string-parenthesis"
1855
Added:
},
1856
Added:
{
1857
Added:
"include": "#sigil-string-parenthesis-verbatim"
1858
Added:
},
1859
Added:
{
1860
Added:
"include": "#sigil-string-curly-brackets"
1861
Added:
},
1862
Added:
{
1863
Added:
"include": "#sigil-string-curly-brackets-verbatim"
1864
Added:
},
1865
Added:
{
1866
Added:
"include": "#sigil-string-square-brackets"
1867
Added:
},
1868
Added:
{
1869
Added:
"include": "#sigil-string-square-brackets-verbatim"
1870
Added:
},
1871
Added:
{
1872
Added:
"include": "#sigil-string-less-greater"
1873
Added:
},
1874
Added:
{
1875
Added:
"include": "#sigil-string-less-greater-verbatim"
1876
Added:
},
1877
Added:
{
1878
Added:
"include": "#sigil-string-single-character"
1879
Added:
},
1880
Added:
{
1881
Added:
"include": "#sigil-string-single-character-verbatim"
1882
Added:
},
1883
Added:
{
1884
Added:
"include": "#sigil-string-single-quote"
1885
Added:
},
1886
Added:
{
1887
Added:
"include": "#sigil-string-single-quote-verbatim"
1888
Added:
},
1889
Added:
{
1890
Added:
"include": "#sigil-string-double-quote"
1891
Added:
},
1892
Added:
{
1893
Added:
"include": "#sigil-string-double-quote-verbatim"
1894
Added:
}
1895
Added:
]
1896
Added:
},
1897
Added:
"sigil-string-curly-brackets": {
1898
Added:
"begin": "(~[bs]?)([{])",
1899
Added:
"beginCaptures": {
1900
Added:
"1": {
1901
Added:
"name": "storage.type.string.erlang"
1902
Added:
},
1903
Added:
"2": {
1904
Added:
"name": "punctuation.definition.string.begin.erlang"
1905
Added:
}
1906
Added:
},
1907
Added:
"end": "([}])",
1908
Added:
"endCaptures": {
1909
Added:
"1": {
1910
Added:
"name": "punctuation.definition.string.end.erlang"
1911
Added:
}
1912
Added:
},
1913
Added:
"name": "string.quoted.curly-brackets.sigil.erlang",
1914
Added:
"patterns": [
1915
Added:
{
1916
Added:
"include": "#internal-string-body"
1917
Added:
}
1918
Added:
]
1919
Added:
},
1920
Added:
"sigil-string-curly-brackets-verbatim": {
1921
Added:
"begin": "(~[BS])([{])",
1922
Added:
"beginCaptures": {
1923
Added:
"1": {
1924
Added:
"name": "storage.type.string.erlang"
1925
Added:
},
1926
Added:
"2": {
1927
Added:
"name": "punctuation.definition.string.begin.erlang"
1928
Added:
}
1929
Added:
},
1930
Added:
"end": "([}])",
1931
Added:
"endCaptures": {
1932
Added:
"1": {
1933
Added:
"name": "punctuation.definition.string.end.erlang"
1934
Added:
}
1935
Added:
},
1936
Added:
"name": "string.quoted.curly-brackets.sigil.erlang",
1937
Added:
"patterns": [
1938
Added:
{
1939
Added:
"include": "#internal-string-body-verbatim"
1940
Added:
}
1941
Added:
]
1942
Added:
},
1943
Added:
"sigil-string-double-quote": {
1944
Added:
"begin": "(~[bs]?)(\")",
1945
Added:
"beginCaptures": {
1946
Added:
"1": {
1947
Added:
"name": "storage.type.string.erlang"
1948
Added:
},
1949
Added:
"2": {
1950
Added:
"name": "punctuation.definition.string.begin.erlang"
1951
Added:
}
1952
Added:
},
1953
Added:
"end": "(\\2)",
1954
Added:
"endCaptures": {
1955
Added:
"1": {
1956
Added:
"name": "punctuation.definition.string.end.erlang"
1957
Added:
}
1958
Added:
},
1959
Added:
"name": "string.quoted.double.sigil.erlang",
1960
Added:
"patterns": [
1961
Added:
{
1962
Added:
"include": "#internal-string-body"
1963
Added:
}
1964
Added:
]
1965
Added:
},
1966
Added:
"sigil-string-double-quote-verbatim": {
1967
Added:
"begin": "(~[BS])(\")",
1968
Added:
"beginCaptures": {
1969
Added:
"1": {
1970
Added:
"name": "storage.type.string.erlang"
1971
Added:
},
1972
Added:
"2": {
1973
Added:
"name": "punctuation.definition.string.begin.erlang"
1974
Added:
}
1975
Added:
},
1976
Added:
"end": "(\\2)",
1977
Added:
"endCaptures": {
1978
Added:
"1": {
1979
Added:
"name": "punctuation.definition.string.end.erlang"
1980
Added:
}
1981
Added:
},
1982
Added:
"name": "string.quoted.double.sigil.erlang",
1983
Added:
"patterns": [
1984
Added:
{
1985
Added:
"include": "#internal-string-body-verbatim"
1986
Added:
}
1987
Added:
]
1988
Added:
},
1989
Added:
"sigil-string-less-greater": {
1990
Added:
"begin": "(~[bs]?)(<)",
1991
Added:
"beginCaptures": {
1992
Added:
"1": {
1993
Added:
"name": "storage.type.string.erlang"
1994
Added:
},
1995
Added:
"2": {
1996
Added:
"name": "punctuation.definition.string.begin.erlang"
1997
Added:
}
1998
Added:
},
1999
Added:
"end": "(>)",
2000
Added:
"endCaptures": {
2001
Added:
"1": {
2002
Added:
"name": "punctuation.definition.string.end.erlang"
2003
Added:
}
2004
Added:
},
2005
Added:
"name": "string.quoted.less-greater.sigil.erlang",
2006
Added:
"patterns": [
2007
Added:
{
2008
Added:
"include": "#internal-string-body"
2009
Added:
}
2010
Added:
]
2011
Added:
},
2012
Added:
"sigil-string-less-greater-verbatim": {
2013
Added:
"begin": "(~[BS])(<)",
2014
Added:
"beginCaptures": {
2015
Added:
"1": {
2016
Added:
"name": "storage.type.string.erlang"
2017
Added:
},
2018
Added:
"2": {
2019
Added:
"name": "punctuation.definition.string.begin.erlang"
2020
Added:
}
2021
Added:
},
2022
Added:
"end": "(>)",
2023
Added:
"endCaptures": {
2024
Added:
"1": {
2025
Added:
"name": "punctuation.definition.string.end.erlang"
2026
Added:
}
2027
Added:
},
2028
Added:
"name": "string.quoted.less-greater.sigil.erlang",
2029
Added:
"patterns": [
2030
Added:
{
2031
Added:
"include": "#internal-string-body-verbatim"
2032
Added:
}
2033
Added:
]
2034
Added:
},
2035
Added:
"sigil-string-parenthesis": {
2036
Added:
"begin": "(~[bs]?)([(])",
2037
Added:
"beginCaptures": {
2038
Added:
"1": {
2039
Added:
"name": "storage.type.string.erlang"
2040
Added:
},
2041
Added:
"2": {
2042
Added:
"name": "punctuation.definition.string.begin.erlang"
2043
Added:
}
2044
Added:
},
2045
Added:
"end": "([)])",
2046
Added:
"endCaptures": {
2047
Added:
"1": {
2048
Added:
"name": "punctuation.definition.string.end.erlang"
2049
Added:
}
2050
Added:
},
2051
Added:
"name": "string.quoted.parenthesis.sigil.erlang",
2052
Added:
"patterns": [
2053
Added:
{
2054
Added:
"include": "#internal-string-body"
2055
Added:
}
2056
Added:
]
2057
Added:
},
2058
Added:
"sigil-string-parenthesis-verbatim": {
2059
Added:
"begin": "(~[BS])([(])",
2060
Added:
"beginCaptures": {
2061
Added:
"1": {
2062
Added:
"name": "storage.type.string.erlang"
2063
Added:
},
2064
Added:
"2": {
2065
Added:
"name": "punctuation.definition.string.begin.erlang"
2066
Added:
}
2067
Added:
},
2068
Added:
"end": "([)])",
2069
Added:
"endCaptures": {
2070
Added:
"1": {
2071
Added:
"name": "punctuation.definition.string.end.erlang"
2072
Added:
}
2073
Added:
},
2074
Added:
"name": "string.quoted.parenthesis.sigil.erlang",
2075
Added:
"patterns": [
2076
Added:
{
2077
Added:
"include": "#internal-string-body-verbatim"
2078
Added:
}
2079
Added:
]
2080
Added:
},
2081
Added:
"sigil-string-single-character": {
2082
Added:
"begin": "(~[bs]?)([/\\|`#])",
2083
Added:
"beginCaptures": {
2084
Added:
"1": {
2085
Added:
"name": "storage.type.string.erlang"
2086
Added:
},
2087
Added:
"2": {
2088
Added:
"name": "punctuation.definition.string.begin.erlang"
2089
Added:
}
2090
Added:
},
2091
Added:
"end": "(\\2)",
2092
Added:
"endCaptures": {
2093
Added:
"1": {
2094
Added:
"name": "punctuation.definition.string.end.erlang"
2095
Added:
}
2096
Added:
},
2097
Added:
"name": "string.quoted.other.sigil.erlang",
2098
Added:
"patterns": [
2099
Added:
{
2100
Added:
"include": "#internal-string-body"
2101
Added:
}
2102
Added:
]
2103
Added:
},
2104
Added:
"sigil-string-single-character-verbatim": {
2105
Added:
"begin": "(~[BS])([/\\|`#])",
2106
Added:
"beginCaptures": {
2107
Added:
"1": {
2108
Added:
"name": "storage.type.string.erlang"
2109
Added:
},
2110
Added:
"2": {
2111
Added:
"name": "punctuation.definition.string.begin.erlang"
2112
Added:
}
2113
Added:
},
2114
Added:
"end": "(\\2)",
2115
Added:
"endCaptures": {
2116
Added:
"1": {
2117
Added:
"name": "punctuation.definition.string.end.erlang"
2118
Added:
}
2119
Added:
},
2120
Added:
"name": "string.quoted.other.sigil.erlang",
2121
Added:
"patterns": [
2122
Added:
{
2123
Added:
"include": "#internal-string-body-verbatim"
2124
Added:
}
2125
Added:
]
2126
Added:
},
2127
Added:
"sigil-string-single-quote": {
2128
Added:
"begin": "(~[bs]?)(')",
2129
Added:
"beginCaptures": {
2130
Added:
"1": {
2131
Added:
"name": "storage.type.string.erlang"
2132
Added:
},
2133
Added:
"2": {
2134
Added:
"name": "punctuation.definition.string.begin.erlang"
2135
Added:
}
2136
Added:
},
2137
Added:
"end": "(\\2)",
2138
Added:
"endCaptures": {
2139
Added:
"1": {
2140
Added:
"name": "punctuation.definition.string.end.erlang"
2141
Added:
}
2142
Added:
},
2143
Added:
"name": "string.quoted.single.sigil.erlang",
2144
Added:
"patterns": [
2145
Added:
{
2146
Added:
"include": "#internal-string-body"
2147
Added:
}
2148
Added:
]
2149
Added:
},
2150
Added:
"sigil-string-single-quote-verbatim": {
2151
Added:
"begin": "(~[BS])(')",
2152
Added:
"beginCaptures": {
2153
Added:
"1": {
2154
Added:
"name": "storage.type.string.erlang"
2155
Added:
},
2156
Added:
"2": {
2157
Added:
"name": "punctuation.definition.string.begin.erlang"
2158
Added:
}
2159
Added:
},
2160
Added:
"end": "(\\2)",
2161
Added:
"endCaptures": {
2162
Added:
"1": {
2163
Added:
"name": "punctuation.definition.string.end.erlang"
2164
Added:
}
2165
Added:
},
2166
Added:
"name": "string.quoted.single.sigil.erlang",
2167
Added:
"patterns": [
2168
Added:
{
2169
Added:
"include": "#internal-string-body-verbatim"
2170
Added:
}
2171
Added:
]
2172
Added:
},
2173
Added:
"sigil-string-square-brackets": {
2174
Added:
"begin": "(~[bs]?)([\\[])",
2175
Added:
"beginCaptures": {
2176
Added:
"1": {
2177
Added:
"name": "storage.type.string.erlang"
2178
Added:
},
2179
Added:
"2": {
2180
Added:
"name": "punctuation.definition.string.begin.erlang"
2181
Added:
}
2182
Added:
},
2183
Added:
"end": "([\\]])",
2184
Added:
"endCaptures": {
2185
Added:
"1": {
2186
Added:
"name": "punctuation.definition.string.end.erlang"
2187
Added:
}
2188
Added:
},
2189
Added:
"name": "string.quoted.square-brackets.sigil.erlang",
2190
Added:
"patterns": [
2191
Added:
{
2192
Added:
"include": "#internal-string-body"
2193
Added:
}
2194
Added:
]
2195
Added:
},
2196
Added:
"sigil-string-square-brackets-verbatim": {
2197
Added:
"begin": "(~[BS])([\\[])",
2198
Added:
"beginCaptures": {
2199
Added:
"1": {
2200
Added:
"name": "storage.type.string.erlang"
2201
Added:
},
2202
Added:
"2": {
2203
Added:
"name": "punctuation.definition.string.begin.erlang"
2204
Added:
}
2205
Added:
},
2206
Added:
"end": "([\\]])",
2207
Added:
"endCaptures": {
2208
Added:
"1": {
2209
Added:
"name": "punctuation.definition.string.end.erlang"
2210
Added:
}
2211
Added:
},
2212
Added:
"name": "string.quoted.square-brackets.sigil.erlang",
2213
Added:
"patterns": [
2214
Added:
{
2215
Added:
"include": "#internal-string-body-verbatim"
2216
Added:
}
2217
Added:
]
2218
Added:
},
2219
Added:
"string": {
2220
Added:
"begin": "(\")",
2221
Added:
"beginCaptures": {
2222
Added:
"1": {
2223
Added:
"name": "punctuation.definition.string.begin.erlang"
2224
Added:
}
2225
Added:
},
2226
Added:
"end": "(\")",
2227
Added:
"endCaptures": {
2228
Added:
"1": {
2229
Added:
"name": "punctuation.definition.string.end.erlang"
2230
Added:
}
2231
Added:
},
2232
Added:
"name": "string.quoted.double.erlang",
2233
Added:
"patterns": [
2234
Added:
{
2235
Added:
"include": "#internal-string-body"
2236
Added:
}
2237
Added:
]
2238
Added:
},
2239
Added:
"symbolic-operator": {
2240
Added:
"match": "\\+\\+|\\+|--|-|\\*|/=|/|=/=|=:=|==|=<|=|<-|<|>=|>|!|::|\\?=",
2241
Added:
"name": "keyword.operator.symbolic.erlang"
2242
Added:
},
2243
Added:
"textual-operator": {
2244
Added:
"match": "\\b(andalso|band|and|bxor|xor|bor|orelse|or|bnot|not|bsl|bsr|div|rem)\\b",
2245
Added:
"name": "keyword.operator.textual.erlang"
2246
Added:
},
2247
Added:
"tuple": {
2248
Added:
"begin": "(\\{)",
2249
Added:
"beginCaptures": {
2250
Added:
"1": {
2251
Added:
"name": "punctuation.definition.tuple.begin.erlang"
2252
Added:
}
2253
Added:
},
2254
Added:
"end": "(\\})",
2255
Added:
"endCaptures": {
2256
Added:
"1": {
2257
Added:
"name": "punctuation.definition.tuple.end.erlang"
2258
Added:
}
2259
Added:
},
2260
Added:
"name": "meta.structure.tuple.erlang",
2261
Added:
"patterns": [
2262
Added:
{
2263
Added:
"match": ",",
2264
Added:
"name": "punctuation.separator.tuple.erlang"
2265
Added:
},
2266
Added:
{
2267
Added:
"include": "#everything-else"
2268
Added:
}
2269
Added:
]
2270
Added:
},
2271
Added:
"variable": {
2272
Added:
"captures": {
2273
Added:
"1": {
2274
Added:
"name": "variable.other.erlang"
2275
Added:
},
2276
Added:
"2": {
2277
Added:
"name": "variable.language.omitted.erlang"
2278
Added:
}
2279
Added:
},
2280
Added:
"match": "(_[a-zA-Z\\d@_]++|[A-Z][a-zA-Z\\d@_]*+)|(_)"
2281
Added:
}
2282
Added:
},
2283
Added:
"scopeName": "source.erlang",
2284
Added:
"uuid": "58EA597D-5158-4BF7-9FB2-B05135D1E166"
2285
Added:
}
lib/grammars/fortran.json
@@ -0,0 +1,5917 @@
1
Added:
{
2
Added:
"comment": "Specificities of Fortran >= 90",
3
Added:
"name": "Fortran - Free Form",
4
Added:
"scopeName": "source.fortran.free",
5
Added:
"fileTypes": [
6
Added:
"f90",
7
Added:
"F90",
8
Added:
"f95",
9
Added:
"F95",
10
Added:
"f03",
11
Added:
"F03",
12
Added:
"f08",
13
Added:
"F08",
14
Added:
"f18",
15
Added:
"F18",
16
Added:
"fpp",
17
Added:
"FPP",
18
Added:
".pf",
19
Added:
".PF"
20
Added:
],
21
Added:
"firstLineMatch": "(?i)-[*]- mode: fortran free -[*]-",
22
Added:
"injections": {
23
Added:
"source.fortran.free - ( string | comment | meta.preprocessor )": {
24
Added:
"patterns": [
25
Added:
{
26
Added:
"include": "#line-continuation-operator"
27
Added:
},
28
Added:
{
29
Added:
"include": "#preprocessor"
30
Added:
}
31
Added:
]
32
Added:
},
33
Added:
"string.quoted.double.fortran": {
34
Added:
"patterns": [
35
Added:
{
36
Added:
"include": "#string-line-continuation-operator"
37
Added:
}
38
Added:
]
39
Added:
},
40
Added:
"string.quoted.single.fortran": {
41
Added:
"patterns": [
42
Added:
{
43
Added:
"include": "#string-line-continuation-operator"
44
Added:
}
45
Added:
]
46
Added:
}
47
Added:
},
48
Added:
"patterns": [
49
Added:
{
50
Added:
"include": "#preprocessor"
51
Added:
},
52
Added:
{
53
Added:
"include": "#comments"
54
Added:
},
55
Added:
{
56
Added:
"include": "#constants"
57
Added:
},
58
Added:
{
59
Added:
"include": "#operators"
60
Added:
},
61
Added:
{
62
Added:
"include": "#array-constructor"
63
Added:
},
64
Added:
{
65
Added:
"include": "#parentheses"
66
Added:
},
67
Added:
{
68
Added:
"include": "#include-statement"
69
Added:
},
70
Added:
{
71
Added:
"include": "#import-statement"
72
Added:
},
73
Added:
{
74
Added:
"include": "#block-data-definition"
75
Added:
},
76
Added:
{
77
Added:
"include": "#function-definition"
78
Added:
},
79
Added:
{
80
Added:
"include": "#module-definition"
81
Added:
},
82
Added:
{
83
Added:
"include": "#program-definition"
84
Added:
},
85
Added:
{
86
Added:
"include": "#submodule-definition"
87
Added:
},
88
Added:
{
89
Added:
"include": "#subroutine-definition"
90
Added:
},
91
Added:
{
92
Added:
"include": "#procedure-definition"
93
Added:
},
94
Added:
{
95
Added:
"include": "#derived-type-definition"
96
Added:
},
97
Added:
{
98
Added:
"include": "#enum-block-construct"
99
Added:
},
100
Added:
{
101
Added:
"include": "#interface-block-constructs"
102
Added:
},
103
Added:
{
104
Added:
"include": "#procedure-specification-statement"
105
Added:
},
106
Added:
{
107
Added:
"include": "#type-specification-statements"
108
Added:
},
109
Added:
{
110
Added:
"include": "#specification-statements"
111
Added:
},
112
Added:
{
113
Added:
"include": "#control-constructs"
114
Added:
},
115
Added:
{
116
Added:
"include": "#control-statements"
117
Added:
},
118
Added:
{
119
Added:
"include": "#execution-statements"
120
Added:
},
121
Added:
{
122
Added:
"include": "#intrinsic-functions"
123
Added:
},
124
Added:
{
125
Added:
"include": "#variable"
126
Added:
}
127
Added:
],
128
Added:
"repository": {
129
Added:
"preprocessor": {
130
Added:
"name": "meta.preprocessor",
131
Added:
"begin": "^\\s*(#:?)",
132
Added:
"beginCaptures": {
133
Added:
"1": {
134
Added:
"name": "keyword.control.preprocessor.indicator.fortran"
135
Added:
}
136
Added:
},
137
Added:
"end": "\\n",
138
Added:
"patterns": [
139
Added:
{
140
Added:
"include": "#preprocessor-if-construct"
141
Added:
},
142
Added:
{
143
Added:
"include": "#preprocessor-statements"
144
Added:
}
145
Added:
]
146
Added:
},
147
Added:
"preprocessor-comments": {
148
Added:
"name": "comment.preprocessor",
149
Added:
"begin": "/\\*",
150
Added:
"end": "\\*/"
151
Added:
},
152
Added:
"preprocessor-constants": {
153
Added:
"patterns": [
154
Added:
{
155
Added:
"include": "#cpp-numeric-constant"
156
Added:
},
157
Added:
{
158
Added:
"include": "#preprocessor-string-constant"
159
Added:
}
160
Added:
]
161
Added:
},
162
Added:
"cpp-numeric-constant": {
163
Added:
"match": "(?<!\\w)\\.?\\d(?:(?:[0-9a-zA-Z_\\.]|')|(?<=[eEpP])[+-])*",
164
Added:
"captures": {
165
Added:
"0": {
166
Added:
"patterns": [
167
Added:
{
168
Added:
"begin": "(?=.)",
169
Added:
"end": "$",
170
Added:
"beginCaptures": {},
171
Added:
"endCaptures": {},
172
Added:
"patterns": [
173
Added:
{
174
Added:
"match": "(\\G0[xX])([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?((?:(?<=[0-9a-fA-F])\\.|\\.(?=[0-9a-fA-F])))([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?(?:(?<!')([pP])((?:\\+)?)((?:\\-)?)([0-9](?:[0-9]|(?<=[0-9a-fA-F])'(?=[0-9a-fA-F]))*))?([lLfF](?!\\w))?((?:\\w(?<![0-9a-fA-FpP])\\w*)?$)",
175
Added:
"captures": {
176
Added:
"1": {
177
Added:
"name": "keyword.other.unit.hexadecimal.cpp"
178
Added:
},
179
Added:
"2": {
180
Added:
"name": "constant.numeric.hexadecimal.cpp",
181
Added:
"patterns": [
182
Added:
{
183
Added:
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
184
Added:
"name": "punctuation.separator.constant.numeric.cpp"
185
Added:
}
186
Added:
]
187
Added:
},
188
Added:
"3": {
189
Added:
"name": "punctuation.separator.constant.numeric.cpp"
190
Added:
},
191
Added:
"4": {
192
Added:
"name": "constant.numeric.hexadecimal.cpp"
193
Added:
},
194
Added:
"5": {
195
Added:
"name": "constant.numeric.hexadecimal.cpp",
196
Added:
"patterns": [
197
Added:
{
198
Added:
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
199
Added:
"name": "punctuation.separator.constant.numeric.cpp"
200
Added:
}
201
Added:
]
202
Added:
},
203
Added:
"6": {
204
Added:
"name": "punctuation.separator.constant.numeric.cpp"
205
Added:
},
206
Added:
"7": {
207
Added:
"name": "keyword.other.unit.exponent.hexadecimal.cpp"
208
Added:
},
209
Added:
"8": {
210
Added:
"name": "keyword.operator.plus.exponent.hexadecimal.cpp"
211
Added:
},
212
Added:
"9": {
213
Added:
"name": "keyword.operator.minus.exponent.hexadecimal.cpp"
214
Added:
},
215
Added:
"10": {
216
Added:
"name": "constant.numeric.exponent.hexadecimal.cpp",
217
Added:
"patterns": [
218
Added:
{
219
Added:
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
220
Added:
"name": "punctuation.separator.constant.numeric.cpp"
221
Added:
}
222
Added:
]
223
Added:
},
224
Added:
"11": {
225
Added:
"name": "keyword.other.unit.suffix.floating-point.cpp"
226
Added:
},
227
Added:
"12": {
228
Added:
"name": "keyword.other.unit.user-defined.cpp"
229
Added:
}
230
Added:
}
231
Added:
},
232
Added:
{
233
Added:
"match": "\\G(?=[0-9.])(?!0[xXbB])([0-9](?:[0-9]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?((?:(?<=[0-9])\\.|\\.(?=[0-9])))([0-9](?:[0-9]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?(?:(?<!')([eE])((?:\\+)?)((?:\\-)?)([0-9](?:[0-9]|(?<=[0-9a-fA-F])'(?=[0-9a-fA-F]))*))?([lLfF](?!\\w))?((?:\\w(?<![0-9eE])\\w*)?$)",
234
Added:
"captures": {
235
Added:
"1": {
236
Added:
"name": "constant.numeric.decimal.cpp",
237
Added:
"patterns": [
238
Added:
{
239
Added:
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
240
Added:
"name": "punctuation.separator.constant.numeric.cpp"
241
Added:
}
242
Added:
]
243
Added:
},
244
Added:
"2": {
245
Added:
"name": "punctuation.separator.constant.numeric.cpp"
246
Added:
},
247
Added:
"3": {
248
Added:
"name": "constant.numeric.decimal.point.cpp"
249
Added:
},
250
Added:
"4": {
251
Added:
"name": "constant.numeric.decimal.cpp",
252
Added:
"patterns": [
253
Added:
{
254
Added:
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
255
Added:
"name": "punctuation.separator.constant.numeric.cpp"
256
Added:
}
257
Added:
]
258
Added:
},
259
Added:
"5": {
260
Added:
"name": "punctuation.separator.constant.numeric.cpp"
261
Added:
},
262
Added:
"6": {
263
Added:
"name": "keyword.other.unit.exponent.decimal.cpp"
264
Added:
},
265
Added:
"7": {
266
Added:
"name": "keyword.operator.plus.exponent.decimal.cpp"
267
Added:
},
268
Added:
"8": {
269
Added:
"name": "keyword.operator.minus.exponent.decimal.cpp"
270
Added:
},
271
Added:
"9": {
272
Added:
"name": "constant.numeric.exponent.decimal.cpp",
273
Added:
"patterns": [
274
Added:
{
275
Added:
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
276
Added:
"name": "punctuation.separator.constant.numeric.cpp"
277
Added:
}
278
Added:
]
279
Added:
},
280
Added:
"10": {
281
Added:
"name": "keyword.other.unit.suffix.floating-point.cpp"
282
Added:
},
283
Added:
"11": {
284
Added:
"name": "keyword.other.unit.user-defined.cpp"
285
Added:
}
286
Added:
}
287
Added:
},
288
Added:
{
289
Added:
"match": "(\\G0[bB])([01](?:[01]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)((?:[uU]|(?:[uU]ll?)|(?:[uU]LL?)|(?:ll?[uU]?)|(?:LL?[uU]?)|[fF])(?!\\w))?((?:\\w(?<![0-9])\\w*)?$)",
290
Added:
"captures": {
291
Added:
"1": {
292
Added:
"name": "keyword.other.unit.binary.cpp"
293
Added:
},
294
Added:
"2": {
295
Added:
"name": "constant.numeric.binary.cpp",
296
Added:
"patterns": [
297
Added:
{
298
Added:
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
299
Added:
"name": "punctuation.separator.constant.numeric.cpp"
300
Added:
}
301
Added:
]
302
Added:
},
303
Added:
"3": {
304
Added:
"name": "punctuation.separator.constant.numeric.cpp"
305
Added:
},
306
Added:
"4": {
307
Added:
"name": "keyword.other.unit.suffix.integer.cpp"
308
Added:
},
309
Added:
"5": {
310
Added:
"name": "keyword.other.unit.user-defined.cpp"
311
Added:
}
312
Added:
}
313
Added:
},
314
Added:
{
315
Added:
"match": "(\\G0)((?:[0-7]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))+)((?:[uU]|(?:[uU]ll?)|(?:[uU]LL?)|(?:ll?[uU]?)|(?:LL?[uU]?)|[fF])(?!\\w))?((?:\\w(?<![0-9])\\w*)?$)",
316
Added:
"captures": {
317
Added:
"1": {
318
Added:
"name": "keyword.other.unit.octal.cpp"
319
Added:
},
320
Added:
"2": {
321
Added:
"name": "constant.numeric.octal.cpp",
322
Added:
"patterns": [
323
Added:
{
324
Added:
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
325
Added:
"name": "punctuation.separator.constant.numeric.cpp"
326
Added:
}
327
Added:
]
328
Added:
},
329
Added:
"3": {
330
Added:
"name": "punctuation.separator.constant.numeric.cpp"
331
Added:
},
332
Added:
"4": {
333
Added:
"name": "keyword.other.unit.suffix.integer.cpp"
334
Added:
},
335
Added:
"5": {
336
Added:
"name": "keyword.other.unit.user-defined.cpp"
337
Added:
}
338
Added:
}
339
Added:
},
340
Added:
{
341
Added:
"match": "(\\G0[xX])([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)(?:(?<!')([pP])((?:\\+)?)((?:\\-)?)([0-9](?:[0-9]|(?<=[0-9a-fA-F])'(?=[0-9a-fA-F]))*))?((?:[uU]|(?:[uU]ll?)|(?:[uU]LL?)|(?:ll?[uU]?)|(?:LL?[uU]?)|[fF])(?!\\w))?((?:\\w(?<![0-9a-fA-FpP])\\w*)?$)",
342
Added:
"captures": {
343
Added:
"1": {
344
Added:
"name": "keyword.other.unit.hexadecimal.cpp"
345
Added:
},
346
Added:
"2": {
347
Added:
"name": "constant.numeric.hexadecimal.cpp",
348
Added:
"patterns": [
349
Added:
{
350
Added:
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
351
Added:
"name": "punctuation.separator.constant.numeric.cpp"
352
Added:
}
353
Added:
]
354
Added:
},
355
Added:
"3": {
356
Added:
"name": "punctuation.separator.constant.numeric.cpp"
357
Added:
},
358
Added:
"4": {
359
Added:
"name": "keyword.other.unit.exponent.hexadecimal.cpp"
360
Added:
},
361
Added:
"5": {
362
Added:
"name": "keyword.operator.plus.exponent.hexadecimal.cpp"
363
Added:
},
364
Added:
"6": {
365
Added:
"name": "keyword.operator.minus.exponent.hexadecimal.cpp"
366
Added:
},
367
Added:
"7": {
368
Added:
"name": "constant.numeric.exponent.hexadecimal.cpp",
369
Added:
"patterns": [
370
Added:
{
371
Added:
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
372
Added:
"name": "punctuation.separator.constant.numeric.cpp"
373
Added:
}
374
Added:
]
375
Added:
},
376
Added:
"8": {
377
Added:
"name": "keyword.other.unit.suffix.integer.cpp"
378
Added:
},
379
Added:
"9": {
380
Added:
"name": "keyword.other.unit.user-defined.cpp"
381
Added:
}
382
Added:
}
383
Added:
},
384
Added:
{
385
Added:
"match": "\\G(?=[0-9.])(?!0[xXbB])([0-9](?:[0-9]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)(?:(?<!')([eE])((?:\\+)?)((?:\\-)?)([0-9](?:[0-9]|(?<=[0-9a-fA-F])'(?=[0-9a-fA-F]))*))?((?:[uU]|(?:[uU]ll?)|(?:[uU]LL?)|(?:ll?[uU]?)|(?:LL?[uU]?)|[fF])(?!\\w))?((?:\\w(?<![0-9eE])\\w*)?$)",
386
Added:
"captures": {
387
Added:
"1": {
388
Added:
"name": "constant.numeric.decimal.cpp",
389
Added:
"patterns": [
390
Added:
{
391
Added:
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
392
Added:
"name": "punctuation.separator.constant.numeric.cpp"
393
Added:
}
394
Added:
]
395
Added:
},
396
Added:
"2": {
397
Added:
"name": "punctuation.separator.constant.numeric.cpp"
398
Added:
},
399
Added:
"3": {
400
Added:
"name": "keyword.other.unit.exponent.decimal.cpp"
401
Added:
},
402
Added:
"4": {
403
Added:
"name": "keyword.operator.plus.exponent.decimal.cpp"
404
Added:
},
405
Added:
"5": {
406
Added:
"name": "keyword.operator.minus.exponent.decimal.cpp"
407
Added:
},
408
Added:
"6": {
409
Added:
"name": "constant.numeric.exponent.decimal.cpp",
410
Added:
"patterns": [
411
Added:
{
412
Added:
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
413
Added:
"name": "punctuation.separator.constant.numeric.cpp"
414
Added:
}
415
Added:
]
416
Added:
},
417
Added:
"7": {
418
Added:
"name": "keyword.other.unit.suffix.integer.cpp"
419
Added:
},
420
Added:
"8": {
421
Added:
"name": "keyword.other.unit.user-defined.cpp"
422
Added:
}
423
Added:
}
424
Added:
},
425
Added:
{
426
Added:
"match": "(?:(?:[0-9a-zA-Z_\\.]|')|(?<=[eEpP])[+-])+",
427
Added:
"name": "invalid.illegal.constant.numeric.cpp"
428
Added:
}
429
Added:
]
430
Added:
}
431
Added:
]
432
Added:
}
433
Added:
}
434
Added:
},
435
Added:
"preprocessor-string-constant": {
436
Added:
"patterns": [
437
Added:
{
438
Added:
"comment": "Double quote string",
439
Added:
"name": "string.quoted.double.include.preprocessor.fortran",
440
Added:
"begin": "\"",
441
Added:
"beginCaptures": {
442
Added:
"0": {
443
Added:
"name": "punctuation.definition.string.begin.preprocessor.fortran"
444
Added:
}
445
Added:
},
446
Added:
"end": "\"",
447
Added:
"endCaptures": {
448
Added:
"0": {
449
Added:
"name": "punctuation.definition.string.end.preprocessor.fortran"
450
Added:
}
451
Added:
}
452
Added:
},
453
Added:
{
454
Added:
"comment": "Single quote string",
455
Added:
"name": "string.quoted.single.include.preprocessor.fortran",
456
Added:
"begin": "'",
457
Added:
"beginCaptures": {
458
Added:
"0": {
459
Added:
"name": "punctuation.definition.string.begin.preprocessor.fortran"
460
Added:
}
461
Added:
},
462
Added:
"end": "'",
463
Added:
"endCaptures": {
464
Added:
"0": {
465
Added:
"name": "punctuation.definition.string.end.preprocessor.fortran"
466
Added:
}
467
Added:
}
468
Added:
}
469
Added:
]
470
Added:
},
471
Added:
"preprocessor-if-construct": {
472
Added:
"patterns": [
473
Added:
{
474
Added:
"name": "meta.preprocessor.conditional.fortran",
475
Added:
"begin": "(?i)\\G\\s*\\b(if)\\b",
476
Added:
"beginCaptures": {
477
Added:
"1": {
478
Added:
"name": "keyword.control.preprocessor.if.fortran"
479
Added:
}
480
Added:
},
481
Added:
"end": "(?=\\n)",
482
Added:
"patterns": [
483
Added:
{
484
Added:
"include": "#preprocessor-comments"
485
Added:
},
486
Added:
{
487
Added:
"include": "#cpp-numeric-constant"
488
Added:
},
489
Added:
{
490
Added:
"include": "#preprocessor-logical-operators"
491
Added:
},
492
Added:
{
493
Added:
"include": "#preprocessor-arithmetic-operators"
494
Added:
},
495
Added:
{
496
Added:
"include": "#preprocessor-defined-function"
497
Added:
},
498
Added:
{
499
Added:
"include": "#preprocessor-line-continuation-operator"
500
Added:
}
501
Added:
]
502
Added:
},
503
Added:
{
504
Added:
"begin": "(?i)\\G\\s*\\b(ifdef)\\b",
505
Added:
"beginCaptures": {
506
Added:
"1": {
507
Added:
"name": "keyword.control.preprocessor.ifdef.fortran"
508
Added:
}
509
Added:
},
510
Added:
"end": "(?=\\n)",
511
Added:
"patterns": [
512
Added:
{
513
Added:
"include": "#preprocessor-comments"
514
Added:
},
515
Added:
{
516
Added:
"include": "#cpp-numeric-constant"
517
Added:
},
518
Added:
{
519
Added:
"include": "#preprocessor-logical-operators"
520
Added:
},
521
Added:
{
522
Added:
"include": "#preprocessor-arithmetic-operators"
523
Added:
},
524
Added:
{
525
Added:
"include": "#preprocessor-line-continuation-operator"
526
Added:
}
527
Added:
]
528
Added:
},
529
Added:
{
530
Added:
"begin": "(?i)\\G\\s*\\b(ifndef)\\b",
531
Added:
"beginCaptures": {
532
Added:
"1": {
533
Added:
"name": "keyword.control.preprocessor.ifndef.fortran"
534
Added:
}
535
Added:
},
536
Added:
"end": "(?=\\n)",
537
Added:
"patterns": [
538
Added:
{
539
Added:
"include": "#preprocessor-comments"
540
Added:
},
541
Added:
{
542
Added:
"include": "#cpp-numeric-constant"
543
Added:
},
544
Added:
{
545
Added:
"include": "#preprocessor-logical-operators"
546
Added:
},
547
Added:
{
548
Added:
"include": "#preprocessor-arithmetic-operators"
549
Added:
},
550
Added:
{
551
Added:
"include": "#preprocessor-line-continuation-operator"
552
Added:
}
553
Added:
]
554
Added:
},
555
Added:
{
556
Added:
"begin": "(?i)\\G\\s*\\b(else)\\b",
557
Added:
"beginCaptures": {
558
Added:
"1": {
559
Added:
"name": "keyword.control.preprocessor.else.fortran"
560
Added:
}
561
Added:
},
562
Added:
"end": "(?=\\n)",
563
Added:
"patterns": [
564
Added:
{
565
Added:
"include": "#preprocessor-comments"
566
Added:
},
567
Added:
{
568
Added:
"include": "#cpp-numeric-constant"
569
Added:
}
570
Added:
]
571
Added:
},
572
Added:
{
573
Added:
"begin": "(?i)\\G\\s*\\b(elif)\\b",
574
Added:
"beginCaptures": {
575
Added:
"1": {
576
Added:
"name": "keyword.control.preprocessor.elif.fortran"
577
Added:
}
578
Added:
},
579
Added:
"end": "(?=\\n)",
580
Added:
"patterns": [
581
Added:
{
582
Added:
"include": "#preprocessor-comments"
583
Added:
},
584
Added:
{
585
Added:
"include": "#cpp-numeric-constant"
586
Added:
},
587
Added:
{
588
Added:
"include": "#preprocessor-logical-operators"
589
Added:
},
590
Added:
{
591
Added:
"include": "#preprocessor-arithmetic-operators"
592
Added:
},
593
Added:
{
594
Added:
"include": "#preprocessor-defined-function"
595
Added:
},
596
Added:
{
597
Added:
"include": "#preprocessor-line-continuation-operator"
598
Added:
}
599
Added:
]
600
Added:
},
601
Added:
{
602
Added:
"begin": "(?i)\\G\\s*\\b(endif)\\b",
603
Added:
"beginCaptures": {
604
Added:
"1": {
605
Added:
"name": "keyword.control.preprocessor.endif.fortran"
606
Added:
}
607
Added:
},
608
Added:
"end": "(?=\\n)",
609
Added:
"patterns": [
610
Added:
{
611
Added:
"include": "#preprocessor-comments"
612
Added:
}
613
Added:
]
614
Added:
}
615
Added:
]
616
Added:
},
617
Added:
"preprocessor-defined-function": {
618
Added:
"match": "(?i)\\b(defined)\\b",
619
Added:
"captures": {
620
Added:
"1": {
621
Added:
"name": "keyword.control.preprocessor.defined.fortran"
622
Added:
}
623
Added:
}
624
Added:
},
625
Added:
"preprocessor-operators": {
626
Added:
"patterns": [
627
Added:
{
628
Added:
"include": "#preprocessor-line-continuation-operator"
629
Added:
},
630
Added:
{
631
Added:
"include": "#preprocessor-logical-operators"
632
Added:
},
633
Added:
{
634
Added:
"include": "#preprocessor-arithmetic-operators"
635
Added:
}
636
Added:
]
637
Added:
},
638
Added:
"preprocessor-assignment-operator": {
639
Added:
"name": "keyword.operator.assignment.preprocessor.fortran",
640
Added:
"comment": "assignments with = are not allowed",
641
Added:
"match": "(?<!\\=)(\\=)(?!\\=)"
642
Added:
},
643
Added:
"preprocessor-line-continuation-operator": {
644
Added:
"begin": "\\s*(\\\\)",
645
Added:
"beginCaptures": {
646
Added:
"1": {
647
Added:
"name": "constant.character.escape.line-continuation.preprocessor.fortran"
648
Added:
}
649
Added:
},
650
Added:
"end": "(?i)^"
651
Added:
},
652
Added:
"preprocessor-logical-operators": {
653
Added:
"name": "keyword.operator.logical.preprocessor.fortran",
654
Added:
"comment": "and:&&, bitand:&, or:||, bitor:|, not eq:!=, not:!, xor:^, compl:~",
655
Added:
"match": "(&&)|(==)|(\\!=)|(\\|\\|)|(\\<\\=)|(\\>=)|(\\<)|(\\>)|(~)|(\\^)|(&)|(\\!)|(\\|)",
656
Added:
"captures": {
657
Added:
"1": {
658
Added:
"name": "keyword.operator.logical.preprocessor.and.fortran"
659
Added:
},
660
Added:
"2": {
661
Added:
"name": "keyword.operator.logical.preprocessor.equals.fortran"
662
Added:
},
663
Added:
"3": {
664
Added:
"name": "keyword.operator.logical.preprocessor.not_equals.fortran"
665
Added:
},
666
Added:
"4": {
667
Added:
"name": "keyword.operator.logical.preprocessor.or.fortran"
668
Added:
},
669
Added:
"5": {
670
Added:
"name": "keyword.operator.logical.preprocessor.less_eq.fortran"
671
Added:
},
672
Added:
"6": {
673
Added:
"name": "keyword.operator.logical.preprocessor.more_eq.fortran"
674
Added:
},
675
Added:
"7": {
676
Added:
"name": "keyword.operator.logical.preprocessor.less.fortran"
677
Added:
},
678
Added:
"8": {
679
Added:
"name": "keyword.operator.logical.preprocessor.more.fortran"
680
Added:
},
681
Added:
"9": {
682
Added:
"name": "keyword.operator.logical.preprocessor.complementary.fortran"
683
Added:
},
684
Added:
"10": {
685
Added:
"name": "keyword.operator.logical.preprocessor.xor.fortran"
686
Added:
},
687
Added:
"11": {
688
Added:
"name": "keyword.operator.logical.preprocessor.bitand.fortran"
689
Added:
},
690
Added:
"12": {
691
Added:
"name": "keyword.operator.logical.preprocessor.not.fortran"
692
Added:
},
693
Added:
"13": {
694
Added:
"name": "keyword.operator.logical.preprocessor.bitor.fortran"
695
Added:
}
696
Added:
}
697
Added:
},
698
Added:
"preprocessor-arithmetic-operators": {
699
Added:
"comment": "division regex is different than in main fortran",
700
Added:
"match": "(\\-)|(\\+)|(\\/)|(\\*)",
701
Added:
"captures": {
702
Added:
"1": {
703
Added:
"name": "keyword.operator.subtraction.fortran"
704
Added:
},
705
Added:
"2": {
706
Added:
"name": "keyword.operator.addition.fortran"
707
Added:
},
708
Added:
"3": {
709
Added:
"name": "keyword.operator.division.fortran"
710
Added:
},
711
Added:
"4": {
712
Added:
"name": "keyword.operator.multiplication.fortran"
713
Added:
}
714
Added:
}
715
Added:
},
716
Added:
"preprocessor-statements": {
717
Added:
"patterns": [
718
Added:
{
719
Added:
"include": "#preprocessor-define-statement"
720
Added:
},
721
Added:
{
722
Added:
"include": "#preprocessor-error-statement"
723
Added:
},
724
Added:
{
725
Added:
"include": "#preprocessor-include-statement"
726
Added:
},
727
Added:
{
728
Added:
"include": "#preprocessor-preprocessor-pragma-statement"
729
Added:
},
730
Added:
{
731
Added:
"include": "#preprocessor-undefine-statement"
732
Added:
}
733
Added:
]
734
Added:
},
735
Added:
"preprocessor-define-statement": {
736
Added:
"name": "meta.preprocessor.macro.fortran",
737
Added:
"begin": "(?i)\\G\\s*\\b(define)\\b",
738
Added:
"beginCaptures": {
739
Added:
"1": {
740
Added:
"name": "keyword.control.preprocessor.define.fortran"
741
Added:
}
742
Added:
},
743
Added:
"end": "(?=\\n)",
744
Added:
"patterns": [
745
Added:
{
746
Added:
"include": "#preprocessor-comments"
747
Added:
},
748
Added:
{
749
Added:
"include": "#preprocessor-constants"
750
Added:
},
751
Added:
{
752
Added:
"include": "#preprocessor-line-continuation-operator"
753
Added:
}
754
Added:
]
755
Added:
},
756
Added:
"preprocessor-error-statement": {
757
Added:
"name": "meta.preprocessor.macro.fortran",
758
Added:
"begin": "(?i)\\G\\s*(error)\\b",
759
Added:
"beginCaptures": {
760
Added:
"1": {
761
Added:
"name": "keyword.control.preprocessor.error.fortran"
762
Added:
}
763
Added:
},
764
Added:
"end": "(?=\\n)",
765
Added:
"patterns": [
766
Added:
{
767
Added:
"include": "#preprocessor-comments"
768
Added:
},
769
Added:
{
770
Added:
"include": "#preprocessor-string-constant"
771
Added:
},
772
Added:
{
773
Added:
"include": "#preprocessor-line-continuation-operator"
774
Added:
}
775
Added:
]
776
Added:
},
777
Added:
"preprocessor-include-statement": {
778
Added:
"name": "meta.preprocessor.include.fortran",
779
Added:
"begin": "(?i)\\G\\s*(include)\\b",
780
Added:
"beginCaptures": {
781
Added:
"1": {
782
Added:
"name": "keyword.control.preprocessor.include.fortran"
783
Added:
}
784
Added:
},
785
Added:
"end": "(?=\\n)",
786
Added:
"patterns": [
787
Added:
{
788
Added:
"include": "#preprocessor-comments"
789
Added:
},
790
Added:
{
791
Added:
"include": "#preprocessor-string-constant"
792
Added:
},
793
Added:
{
794
Added:
"name": "string.quoted.other.lt-gt.include.preprocessor.fortran",
795
Added:
"begin": "<",
796
Added:
"beginCaptures": {
797
Added:
"0": {
798
Added:
"name": "punctuation.definition.string.begin.preprocessor.fortran"
799
Added:
}
800
Added:
},
801
Added:
"end": ">",
802
Added:
"endCaptures": {
803
Added:
"0": {
804
Added:
"name": "punctuation.definition.string.end.preprocessor.fortran"
805
Added:
}
806
Added:
}
807
Added:
},
808
Added:
{
809
Added:
"include": "#line-continuation-operator"
810
Added:
}
811
Added:
]
812
Added:
},
813
Added:
"preprocessor-pragma-statement": {
814
Added:
"name": "meta.preprocessor.pragma.fortran",
815
Added:
"begin": "(?i)\\G\\s*\\b(pragma)\\b",
816
Added:
"beginCaptures": {
817
Added:
"1": {
818
Added:
"name": "keyword.control.preprocessor.pragma.fortran"
819
Added:
}
820
Added:
},
821
Added:
"end": "(?=\\n)",
822
Added:
"patterns": [
823
Added:
{
824
Added:
"include": "#preprocessor-comments"
825
Added:
},
826
Added:
{
827
Added:
"include": "#preprocessor-string-constant"
828
Added:
}
829
Added:
]
830
Added:
},
831
Added:
"preprocessor-undefine-statement": {
832
Added:
"name": "meta.preprocessor.undef.fortran",
833
Added:
"begin": "(?i)\\G\\s*\\b(undef)\\b",
834
Added:
"beginCaptures": {
835
Added:
"1": {
836
Added:
"name": "keyword.control.preprocessor.undef.fortran"
837
Added:
}
838
Added:
},
839
Added:
"end": "(?=\\n)",
840
Added:
"patterns": [
841
Added:
{
842
Added:
"include": "#preprocessor-comments"
843
Added:
},
844
Added:
{
845
Added:
"include": "#preprocessor-line-continuation-operator"
846
Added:
}
847
Added:
]
848
Added:
},
849
Added:
"abstract-attribute": {
850
Added:
"comment": "Introduced in the Fortran 2003 standard.",
851
Added:
"match": "(?i)\\G\\s*\\b(abstract)\\b",
852
Added:
"captures": {
853
Added:
"1": {
854
Added:
"name": "storage.modifier.fortran.fortran"
855
Added:
}
856
Added:
}
857
Added:
},
858
Added:
"access-attribute": {
859
Added:
"patterns": [
860
Added:
{
861
Added:
"include": "#private-attribute"
862
Added:
},
863
Added:
{
864
Added:
"include": "#public-attribute"
865
Added:
}
866
Added:
]
867
Added:
},
868
Added:
"allocatable-attribute": {
869
Added:
"comment": "Introduced in the Fortran 1990 standard.",
870
Added:
"match": "(?i)\\s*\\b(allocatable)\\b",
871
Added:
"captures": {
872
Added:
"1": {
873
Added:
"name": "storage.modifier.allocatable.fortran"
874
Added:
}
875
Added:
}
876
Added:
},
877
Added:
"asynchronous-attribute": {
878
Added:
"comment": "Introduced in the Fortran 2003 standard.",
879
Added:
"match": "(?i)\\G\\s*\\b(asynchronous)\\b",
880
Added:
"captures": {
881
Added:
"1": {
882
Added:
"name": "storage.modifier.asynchronous.fortran"
883
Added:
}
884
Added:
}
885
Added:
},
886
Added:
"codimension-attribute": {
887
Added:
"comment": "Introduced in the Fortran 2008 standard.",
888
Added:
"begin": "(?i)\\G\\s*\\b(codimension)(?=\\s*\\[)",
889
Added:
"beginCaptures": {
890
Added:
"1": {
891
Added:
"name": "storage.modifier.codimension.fortran"
892
Added:
}
893
Added:
},
894
Added:
"end": "(?<!\\G)",
895
Added:
"patterns": [
896
Added:
{
897
Added:
"include": "#brackets"
898
Added:
}
899
Added:
]
900
Added:
},
901
Added:
"contiguous-attribute": {
902
Added:
"comment": "Introduced in the Fortran 2008 standard.",
903
Added:
"match": "(?i)\\G\\s*\\b(contiguous)\\b",
904
Added:
"captures": {
905
Added:
"1": {
906
Added:
"name": "storage.modifier.contigous.fortran"
907
Added:
}
908
Added:
}
909
Added:
},
910
Added:
"concurrent-attribute": {
911
Added:
"comment": "Introduced in the Fortran 2003 standard.",
912
Added:
"begin": "(?i)\\G\\s*\\b(concurrent)\\b",
913
Added:
"beginCaptures": {
914
Added:
"1": {
915
Added:
"name": "keyword.control.while.fortran"
916
Added:
}
917
Added:
},
918
Added:
"end": "(?=[;!\\n])",
919
Added:
"patterns": [
920
Added:
{
921
Added:
"include": "#parentheses"
922
Added:
},
923
Added:
{
924
Added:
"include": "#invalid-word"
925
Added:
}
926
Added:
]
927
Added:
},
928
Added:
"deferred-attribute": {
929
Added:
"comment": "Introduced in the Fortran 2003 standard.",
930
Added:
"match": "(?i)\\s*\\b(deferred)\\b",
931
Added:
"captures": {
932
Added:
"1": {
933
Added:
"name": "storage.modifier.deferred.fortran"
934
Added:
}
935
Added:
}
936
Added:
},
937
Added:
"dimension-attribute": {
938
Added:
"comment": "Introduced in the Fortran 1977 standard.",
939
Added:
"begin": "(?i)\\s*\\b(dimension)(?=\\s*\\()",
940
Added:
"beginCaptures": {
941
Added:
"1": {
942
Added:
"name": "storage.modifier.dimension.fortran"
943
Added:
}
944
Added:
},
945
Added:
"end": "(?<!\\G)",
946
Added:
"patterns": [
947
Added:
{
948
Added:
"include": "#parentheses-dummy-variables"
949
Added:
}
950
Added:
]
951
Added:
},
952
Added:
"elemental-attribute": {
953
Added:
"comment": "Introduced in the Fortran 1990 standard.",
954
Added:
"match": "(?i)\\s*\\b(elemental)\\b",
955
Added:
"captures": {
956
Added:
"1": {
957
Added:
"name": "storage.modifier.elemental.fortran"
958
Added:
}
959
Added:
}
960
Added:
},
961
Added:
"extends-attribute": {
962
Added:
"begin": "(?i)\\s*\\b(extends)\\s*\\(",
963
Added:
"beginCaptures": {
964
Added:
"1": {
965
Added:
"name": "storage.modifier.extends.fortran"
966
Added:
}
967
Added:
},
968
Added:
"end": "(?:\\)|(?=\\n))",
969
Added:
"patterns": [
970
Added:
{
971
Added:
"name": "entity.name.type.fortran",
972
Added:
"match": "(?i)\\s*\\b([a-z]\\w*)\\b"
973
Added:
}
974
Added:
]
975
Added:
},
976
Added:
"external-attribute": {
977
Added:
"comment": "Introduced in the Fortran 1977 standard.",
978
Added:
"match": "(?i)\\s*\\b(external)\\b",
979
Added:
"captures": {
980
Added:
"1": {
981
Added:
"name": "storage.modifier.external.fortran"
982
Added:
}
983
Added:
}
984
Added:
},
985
Added:
"intent-attribute": {
986
Added:
"comment": "Introduced in the Fortran 1990 standard.",
987
Added:
"begin": "(?i)\\s*\\b(intent)\\s*(\\()",
988
Added:
"beginCaptures": {
989
Added:
"1": {
990
Added:
"name": "storage.modifier.intent.fortran"
991
Added:
},
992
Added:
"2": {
993
Added:
"name": "punctuation.parentheses.left.fortran"
994
Added:
}
995
Added:
},
996
Added:
"end": "(\\))|(?=[;!\\n])",
997
Added:
"endCaptures": {
998
Added:
"1": {
999
Added:
"name": "punctuation.parentheses.left.fortran"
1000
Added:
}
1001
Added:
},
1002
Added:
"patterns": [
1003
Added:
{
1004
Added:
"match": "(?i)\\b(?:(in\\s*out)|(in)|(out))\\b",
1005
Added:
"captures": {
1006
Added:
"1": {
1007
Added:
"name": "storage.modifier.intent.in-out.fortran"
1008
Added:
},
1009
Added:
"2": {
1010
Added:
"name": "storage.modifier.intent.in.fortran"
1011
Added:
},
1012
Added:
"3": {
1013
Added:
"name": "storage.modifier.intent.out.fortran"
1014
Added:
}
1015
Added:
}
1016
Added:
},
1017
Added:
{
1018
Added:
"include": "#invalid-word"
1019
Added:
}
1020
Added:
]
1021
Added:
},
1022
Added:
"intrinsic-attribute": {
1023
Added:
"comment": "Introduced in the Fortran 1977 standard.",
1024
Added:
"match": "(?i)\\s*\\b(intrinsic)\\b",
1025
Added:
"captures": {
1026
Added:
"1": {
1027
Added:
"name": "storage.modifier.intrinsic.fortran"
1028
Added:
}
1029
Added:
}
1030
Added:
},
1031
Added:
"language-binding-attribute": {
1032
Added:
"comment": "Introduced in Fortran 2003 standard.",
1033
Added:
"begin": "(?i)\\s*\\b(bind)\\s*\\(",
1034
Added:
"beginCaptures": {
1035
Added:
"1": {
1036
Added:
"name": "storage.modifier.bind.fortran"
1037
Added:
}
1038
Added:
},
1039
Added:
"end": "(?:\\)|(?=\\n))",
1040
Added:
"patterns": [
1041
Added:
{
1042
Added:
"name": "variable.parameter.fortran",
1043
Added:
"match": "(?i)\\b(c)\\b"
1044
Added:
},
1045
Added:
{
1046
Added:
"include": "#dummy-variable"
1047
Added:
},
1048
Added:
{
1049
Added:
"include": "$base"
1050
Added:
}
1051
Added:
]
1052
Added:
},
1053
Added:
"module-attribute": {
1054
Added:
"comment": "Introduced in the Fortran 1990 standard.",
1055
Added:
"match": "(?ix)\\s*\\b(module)\\b(?=\\s*(?:[;!\\n]| [^'\";!\\n]*\\b(?:function|procedure|subroutine)\\b))",
1056
Added:
"captures": {
1057
Added:
"1": {
1058
Added:
"name": "storage.modifier.module.fortran"
1059
Added:
}
1060
Added:
}
1061
Added:
},
1062
Added:
"non-intrinsic-attribute": {
1063
Added:
"comment": "Introduced in the Fortran 1990 standard.",
1064
Added:
"match": "(?i)\\s*\\b(non_intrinsic)\\b",
1065
Added:
"captures": {
1066
Added:
"1": {
1067
Added:
"name": "storage.modifier.non-intrinsic.fortran"
1068
Added:
}
1069
Added:
}
1070
Added:
},
1071
Added:
"non-overridable-attribute": {
1072
Added:
"comment": "Introduced in the Fortran 2003 standard.",
1073
Added:
"match": "(?i)\\s*\\b(non_overridable)\\b",
1074
Added:
"captures": {
1075
Added:
"1": {
1076
Added:
"name": "storage.modifier.non-overridable.fortran"
1077
Added:
}
1078
Added:
}
1079
Added:
},
1080
Added:
"nopass-attribute": {
1081
Added:
"comment": "Introduced in the Fortran 2003 standard.",
1082
Added:
"match": "(?i)\\s*\\b(nopass)\\b",
1083
Added:
"captures": {
1084
Added:
"1": {
1085
Added:
"name": "storage.modifier.nopass.fortran"
1086
Added:
}
1087
Added:
}
1088
Added:
},
1089
Added:
"optional-attribute": {
1090
Added:
"comment": "Introduced in the Fortran 1990 standard.",
1091
Added:
"match": "(?i)\\s*\\b(optional)\\b",
1092
Added:
"captures": {
1093
Added:
"1": {
1094
Added:
"name": "storage.modifier.optional.fortran"
1095
Added:
}
1096
Added:
}
1097
Added:
},
1098
Added:
"parameter-attribute": {
1099
Added:
"comment": "Introduced in the Fortran 1977 standard.",
1100
Added:
"match": "(?i)\\s*\\b(parameter)\\b",
1101
Added:
"captures": {
1102
Added:
"1": {
1103
Added:
"name": "storage.modifier.parameter.fortran"
1104
Added:
}
1105
Added:
}
1106
Added:
},
1107
Added:
"pass-attribute": {
1108
Added:
"comment": "Introduced in the Fortran 2003 standard.",
1109
Added:
"patterns": [
1110
Added:
{
1111
Added:
"comment": "Pass attribute with argument.",
1112
Added:
"begin": "(?i)\\s*\\b(pass)\\s*\\(",
1113
Added:
"beginCaptures": {
1114
Added:
"1": {
1115
Added:
"name": "storage.modifier.pass.fortran"
1116
Added:
}
1117
Added:
},
1118
Added:
"end": "\\)|(?=\\n)",
1119
Added:
"patterns": []
1120
Added:
},
1121
Added:
{
1122
Added:
"comment": "Pass attribute without argument.",
1123
Added:
"match": "(?i)\\s*\\b(pass)\\b",
1124
Added:
"captures": {
1125
Added:
"1": {
1126
Added:
"name": "storage.modifier.pass.fortran"
1127
Added:
}
1128
Added:
}
1129
Added:
}
1130
Added:
]
1131
Added:
},
1132
Added:
"pointer-attribute": {
1133
Added:
"comment": "Introduced in the Fortran 1990 standard.",
1134
Added:
"match": "(?i)\\s*\\b(pointer)\\b",
1135
Added:
"captures": {
1136
Added:
"1": {
1137
Added:
"name": "storage.modifier.pointer.fortran"
1138
Added:
}
1139
Added:
}
1140
Added:
},
1141
Added:
"private-attribute": {
1142
Added:
"comment": "Introduced in the Fortran 1990 standard.",
1143
Added:
"match": "(?i)\\s*\\b(private)\\b",
1144
Added:
"captures": {
1145
Added:
"1": {
1146
Added:
"name": "storage.modifier.private.fortran"
1147
Added:
}
1148
Added:
}
1149
Added:
},
1150
Added:
"protected-attribute": {
1151
Added:
"comment": "Introduced in the Fortran 2003 standard.",
1152
Added:
"match": "(?i)\\s*\\b(protected)\\b",
1153
Added:
"captures": {
1154
Added:
"1": {
1155
Added:
"name": "storage.modifier.protected.fortran"
1156
Added:
}
1157
Added:
}
1158
Added:
},
1159
Added:
"public-attribute": {
1160
Added:
"comment": "Introduced in the Fortran 1990 standard.",
1161
Added:
"match": "(?i)\\s*\\b(public)\\b",
1162
Added:
"captures": {
1163
Added:
"1": {
1164
Added:
"name": "storage.modifier.public.fortran"
1165
Added:
}
1166
Added:
}
1167
Added:
},
1168
Added:
"pure-attribute": {
1169
Added:
"comment": "Introduced in the Fortran 1995 standard.",
1170
Added:
"match": "(?i)\\s*\\b(?:(impure)|(pure))\\b",
1171
Added:
"captures": {
1172
Added:
"1": {
1173
Added:
"name": "storage.modifier.impure.fortran"
1174
Added:
},
1175
Added:
"2": {
1176
Added:
"name": "storage.modifier.pure.fortran"
1177
Added:
}
1178
Added:
}
1179
Added:
},
1180
Added:
"recursive-attribute": {
1181
Added:
"comment": "Introduced in the Fortran 1977 standard.",
1182
Added:
"match": "(?i)\\s*\\b(?:(non_recursive)|(recursive))\\b",
1183
Added:
"captures": {
1184
Added:
"1": {
1185
Added:
"name": "storage.modifier.non_recursive.fortran"
1186
Added:
},
1187
Added:
"2": {
1188
Added:
"name": "storage.modifier.recursive.fortran"
1189
Added:
}
1190
Added:
}
1191
Added:
},
1192
Added:
"save-attribute": {
1193
Added:
"comment": "Introduced in the Fortran 1977 standard.",
1194
Added:
"match": "(?i)\\s*\\b(save)\\b",
1195
Added:
"captures": {
1196
Added:
"1": {
1197
Added:
"name": "storage.modifier.save.fortran"
1198
Added:
}
1199
Added:
}
1200
Added:
},
1201
Added:
"sequence-attribute": {
1202
Added:
"comment": "Introduced in the Fortran 20?? standard.",
1203
Added:
"match": "(?i)\\s*\\b(sequence)\\b",
1204
Added:
"captures": {
1205
Added:
"1": {
1206
Added:
"name": "storage.modifier.sequence.fortran"
1207
Added:
}
1208
Added:
}
1209
Added:
},
1210
Added:
"target-attribute": {
1211
Added:
"comment": "Introduced in the Fortran 1990 standard.",
1212
Added:
"match": "(?i)\\s*\\b(target)\\b",
1213
Added:
"captures": {
1214
Added:
"1": {
1215
Added:
"name": "storage.modifier.target.fortran"
1216
Added:
}
1217
Added:
}
1218
Added:
},
1219
Added:
"value-attribute": {
1220
Added:
"comment": "Introduced in the Fortran 2003 standard.",
1221
Added:
"match": "(?i)\\s*\\b(value)\\b",
1222
Added:
"captures": {
1223
Added:
"1": {
1224
Added:
"name": "storage.modifier.value.fortran"
1225
Added:
}
1226
Added:
}
1227
Added:
},
1228
Added:
"volatile-attribute": {
1229
Added:
"comment": "Introduced in the Fortran 2003 standard.",
1230
Added:
"match": "(?i)\\s*\\b(volatile)\\b",
1231
Added:
"captures": {
1232
Added:
"1": {
1233
Added:
"name": "storage.modifier.volatile.fortran"
1234
Added:
}
1235
Added:
}
1236
Added:
},
1237
Added:
"while-attribute": {
1238
Added:
"comment": "Introduced in the Fortran 1995 standard.",
1239
Added:
"begin": "(?i)\\G\\s*\\b(while)\\b",
1240
Added:
"beginCaptures": {
1241
Added:
"1": {
1242
Added:
"name": "keyword.control.while.fortran"
1243
Added:
}
1244
Added:
},
1245
Added:
"end": "(?=[;!\\n])",
1246
Added:
"patterns": [
1247
Added:
{
1248
Added:
"include": "#parentheses"
1249
Added:
},
1250
Added:
{
1251
Added:
"include": "#invalid-word"
1252
Added:
}
1253
Added:
]
1254
Added:
},
1255
Added:
"comments": {
1256
Added:
"name": "comment.line.fortran",
1257
Added:
"begin": "!",
1258
Added:
"end": "(?=\\n)"
1259
Added:
},
1260
Added:
"constants": {
1261
Added:
"patterns": [
1262
Added:
{
1263
Added:
"include": "#logical-constant"
1264
Added:
},
1265
Added:
{
1266
Added:
"include": "#numeric-constant"
1267
Added:
},
1268
Added:
{
1269
Added:
"include": "#string-constant"
1270
Added:
}
1271
Added:
]
1272
Added:
},
1273
Added:
"logical-constant": {
1274
Added:
"comment": "Logical constants",
1275
Added:
"match": "(?i)\\s*(?:(\\.false\\.)|(\\.true\\.))",
1276
Added:
"captures": {
1277
Added:
"1": {
1278
Added:
"name": "constant.language.logical.false.fortran"
1279
Added:
},
1280
Added:
"2": {
1281
Added:
"name": "constant.language.logical.true.fortran"
1282
Added:
}
1283
Added:
}
1284
Added:
},
1285
Added:
"numeric-constant": {
1286
Added:
"comment": "Numeric constants",
1287
Added:
"name": "constant.numeric.fortran",
1288
Added:
"match": "(?ix)[\\+\\-]?(\\b\\d+\\.?\\d*|\\.\\d+) (_\\w+|d[\\+\\-]?\\d+|e[\\+\\-]?\\d+(_\\w+)?)?(?![a-z_])"
1289
Added:
},
1290
Added:
"string-constant": {
1291
Added:
"comment": "Introduced in the Fortran 1977 standard.",
1292
Added:
"patterns": [
1293
Added:
{
1294
Added:
"comment": "String",
1295
Added:
"name": "string.quoted.single.fortran",
1296
Added:
"begin": "'",
1297
Added:
"beginCaptures": {
1298
Added:
"0": {
1299
Added:
"name": "punctuation.definition.string.begin.fortran"
1300
Added:
}
1301
Added:
},
1302
Added:
"end": "'",
1303
Added:
"endCaptures": {
1304
Added:
"0": {
1305
Added:
"name": "punctuation.definition.string.end.fortran"
1306
Added:
}
1307
Added:
},
1308
Added:
"applyEndPatternLast": 1,
1309
Added:
"patterns": [
1310
Added:
{
1311
Added:
"name": "constant.character.escape.apostrophe.fortran",
1312
Added:
"match": "''"
1313
Added:
}
1314
Added:
]
1315
Added:
},
1316
Added:
{
1317
Added:
"comment": "String",
1318
Added:
"name": "string.quoted.double.fortran",
1319
Added:
"begin": "\"",
1320
Added:
"beginCaptures": {
1321
Added:
"0": {
1322
Added:
"name": "punctuation.definition.string.begin.fortran"
1323
Added:
}
1324
Added:
},
1325
Added:
"end": "\"",
1326
Added:
"endCaptures": {
1327
Added:
"0": {
1328
Added:
"name": "punctuation.definition.string.end.fortran"
1329
Added:
}
1330
Added:
},
1331
Added:
"applyEndPatternLast": 1,
1332
Added:
"patterns": [
1333
Added:
{
1334
Added:
"name": "constant.character.escape.quote.fortran",
1335
Added:
"match": "\"\""
1336
Added:
}
1337
Added:
]
1338
Added:
}
1339
Added:
]
1340
Added:
},
1341
Added:
"control-constructs": {
1342
Added:
"patterns": [
1343
Added:
{
1344
Added:
"include": "#named-control-constructs"
1345
Added:
},
1346
Added:
{
1347
Added:
"include": "#unnamed-control-constructs"
1348
Added:
}
1349
Added:
]
1350
Added:
},
1351
Added:
"named-control-constructs": {
1352
Added:
"comment": "Introduced in the Fortran 1990 standard.",
1353
Added:
"contentName": "meta.named-construct.fortran.modern",
1354
Added:
"begin": "(?ix)([a-z]\\w*)\\s*(:)(?=\\s*(?:associate|block(?!\\s*data)|critical|do|forall|if|select\\s*case|select\\s*type|select\\s*rank|where)\\b)",
1355
Added:
"end": "(?i)(?!\\s*\\b(?:associate|block(?!\\s*data)|critical|do|forall|if|select\\s*case|select\\s*type|select\\s*rank|where)\\b)(?:\\b(\\1)\\b)?([^\\s;!\\n]*?)?(?=\\s*[;!\\n])",
1356
Added:
"endCaptures": {
1357
Added:
"1": {
1358
Added:
"name": "meta.label.end.name.fortran"
1359
Added:
},
1360
Added:
"2": {
1361
Added:
"name": "invalid.error.named-control-constructs.fortran.modern"
1362
Added:
}
1363
Added:
},
1364
Added:
"applyEndPatternLast": 1,
1365
Added:
"patterns": [
1366
Added:
{
1367
Added:
"include": "#unnamed-control-constructs"
1368
Added:
}
1369
Added:
]
1370
Added:
},
1371
Added:
"unnamed-control-constructs": {
1372
Added:
"patterns": [
1373
Added:
{
1374
Added:
"include": "#associate-construct"
1375
Added:
},
1376
Added:
{
1377
Added:
"include": "#block-construct"
1378
Added:
},
1379
Added:
{
1380
Added:
"include": "#critical-construct"
1381
Added:
},
1382
Added:
{
1383
Added:
"include": "#do-construct"
1384
Added:
},
1385
Added:
{
1386
Added:
"include": "#forall-construct"
1387
Added:
},
1388
Added:
{
1389
Added:
"include": "#if-construct"
1390
Added:
},
1391
Added:
{
1392
Added:
"include": "#select-case-construct"
1393
Added:
},
1394
Added:
{
1395
Added:
"include": "#select-type-construct"
1396
Added:
},
1397
Added:
{
1398
Added:
"include": "#select-rank-construct"
1399
Added:
},
1400
Added:
{
1401
Added:
"include": "#where-construct"
1402
Added:
}
1403
Added:
]
1404
Added:
},
1405
Added:
"associate-construct": {
1406
Added:
"comment": "Introduced in the Fortran 2003 standard.",
1407
Added:
"contentName": "meta.block.associate.fortran",
1408
Added:
"begin": "(?i)\\b(associate)\\b(?=\\s*\\()",
1409
Added:
"beginCaptures": {
1410
Added:
"1": {
1411
Added:
"name": "keyword.control.associate.fortran"
1412
Added:
}
1413
Added:
},
1414
Added:
"end": "(?i)\\b(end\\s*associate)\\b",
1415
Added:
"endCaptures": {
1416
Added:
"1": {
1417
Added:
"name": "keyword.control.endassociate.fortran"
1418
Added:
}
1419
Added:
},
1420
Added:
"patterns": [
1421
Added:
{
1422
Added:
"include": "$base"
1423
Added:
}
1424
Added:
]
1425
Added:
},
1426
Added:
"block-construct": {
1427
Added:
"comment": "Introduced in the Fortran 2008 standard.",
1428
Added:
"contentName": "meta.block.block.fortran",
1429
Added:
"begin": "(?i)\\b(block)\\b(?!\\s*\\bdata\\b)",
1430
Added:
"beginCaptures": {
1431
Added:
"1": {
1432
Added:
"name": "keyword.control.associate.fortran"
1433
Added:
}
1434
Added:
},
1435
Added:
"end": "(?i)\\b(end\\s*block)\\b",
1436
Added:
"endCaptures": {
1437
Added:
"1": {
1438
Added:
"name": "keyword.control.endassociate.fortran"
1439
Added:
}
1440
Added:
},
1441
Added:
"patterns": [
1442
Added:
{
1443
Added:
"include": "$base"
1444
Added:
}
1445
Added:
]
1446
Added:
},
1447
Added:
"critical-construct": {
1448
Added:
"comment": "Introduced in the Fortran 2008 standard.",
1449
Added:
"contentName": "meta.block.critical.fortran",
1450
Added:
"begin": "(?i)\\b(critical)\\b",
1451
Added:
"beginCaptures": {
1452
Added:
"1": {
1453
Added:
"name": "keyword.control.associate.fortran"
1454
Added:
}
1455
Added:
},
1456
Added:
"end": "(?i)\\b(end\\s*critical)\\b",
1457
Added:
"endCaptures": {
1458
Added:
"1": {
1459
Added:
"name": "keyword.control.endassociate.fortran"
1460
Added:
}
1461
Added:
},
1462
Added:
"patterns": [
1463
Added:
{
1464
Added:
"include": "$base"
1465
Added:
}
1466
Added:
]
1467
Added:
},
1468
Added:
"do-construct": {
1469
Added:
"patterns": [
1470
Added:
{
1471
Added:
"match": "(?i)\\b(end\\s*do)\\b",
1472
Added:
"captures": {
1473
Added:
"1": {
1474
Added:
"name": "keyword.control.enddo.fortran"
1475
Added:
}
1476
Added:
}
1477
Added:
},
1478
Added:
{
1479
Added:
"comment": "Introduced in the Fortran 1977 standard.",
1480
Added:
"name": "meta.do.labeled.fortran",
1481
Added:
"begin": "(?i)\\b(do)\\s+(\\d{1,5})",
1482
Added:
"beginCaptures": {
1483
Added:
"1": {
1484
Added:
"name": "keyword.control.do.fortran"
1485
Added:
},
1486
Added:
"2": {
1487
Added:
"name": "constant.numeric.fortran"
1488
Added:
}
1489
Added:
},
1490
Added:
"end": "(?i)(?:^|(?<=;))(?=\\s*\\b\\2\\b)",
1491
Added:
"patterns": [
1492
Added:
{
1493
Added:
"comment": "Loop control.",
1494
Added:
"begin": "(?i)\\G(?:\\s*(,)|(?!\\s*[;!\\n]))",
1495
Added:
"beginCaptures": {
1496
Added:
"1": {
1497
Added:
"name": "punctuation.comma.fortran"
1498
Added:
}
1499
Added:
},
1500
Added:
"end": "(?=[;!\\n])",
1501
Added:
"patterns": [
1502
Added:
{
1503
Added:
"include": "#concurrent-attribute"
1504
Added:
},
1505
Added:
{
1506
Added:
"include": "#while-attribute"
1507
Added:
},
1508
Added:
{
1509
Added:
"include": "$base"
1510
Added:
}
1511
Added:
]
1512
Added:
},
1513
Added:
{
1514
Added:
"include": "$base"
1515
Added:
}
1516
Added:
]
1517
Added:
},
1518
Added:
{
1519
Added:
"comment": "Introduced in the Fortran 1995 standard.",
1520
Added:
"name": "meta.block.do.unlabeled.fortran",
1521
Added:
"begin": "(?i)\\b(do)\\b",
1522
Added:
"beginCaptures": {
1523
Added:
"1": {
1524
Added:
"name": "keyword.control.do.fortran"
1525
Added:
}
1526
Added:
},
1527
Added:
"end": "(?i)\\b(?:(continue)|(end\\s*do))\\b",
1528
Added:
"endCaptures": {
1529
Added:
"1": {
1530
Added:
"name": "keyword.control.continue.fortran"
1531
Added:
},
1532
Added:
"2": {
1533
Added:
"name": "keyword.control.enddo.fortran"
1534
Added:
}
1535
Added:
},
1536
Added:
"patterns": [
1537
Added:
{
1538
Added:
"comment": "Loop control.",
1539
Added:
"name": "meta.loop-control.fortran",
1540
Added:
"begin": "(?i)\\G(?:\\s*(,)|(?!\\s*[;!\\n]))",
1541
Added:
"beginCaptures": {
1542
Added:
"1": {
1543
Added:
"name": "punctuation.comma.fortran"
1544
Added:
}
1545
Added:
},
1546
Added:
"end": "(?=[;!\\n])",
1547
Added:
"patterns": [
1548
Added:
{
1549
Added:
"include": "#concurrent-attribute"
1550
Added:
},
1551
Added:
{
1552
Added:
"include": "#while-attribute"
1553
Added:
},
1554
Added:
{
1555
Added:
"include": "$base"
1556
Added:
}
1557
Added:
]
1558
Added:
},
1559
Added:
{
1560
Added:
"comment": "Loop body.",
1561
Added:
"begin": "(?i)(?!\\s*\\b(continue|end\\s*do)\\b)",
1562
Added:
"end": "(?i)(?=\\s*\\b(continue|end\\s*do)\\b)",
1563
Added:
"patterns": [
1564
Added:
{
1565
Added:
"include": "$base"
1566
Added:
}
1567
Added:
]
1568
Added:
}
1569
Added:
]
1570
Added:
}
1571
Added:
]
1572
Added:
},
1573
Added:
"if-construct": {
1574
Added:
"patterns": [
1575
Added:
{
1576
Added:
"begin": "(?i)\\b(if)\\b",
1577
Added:
"beginCaptures": {
1578
Added:
"1": {
1579
Added:
"name": "keyword.control.if.fortran"
1580
Added:
}
1581
Added:
},
1582
Added:
"end": "(?=[;!\\n])",
1583
Added:
"patterns": [
1584
Added:
{
1585
Added:
"include": "#logical-control-expression"
1586
Added:
},
1587
Added:
{
1588
Added:
"contentName": "meta.block.if.fortran",
1589
Added:
"begin": "(?i)\\s*\\b(then)\\b",
1590
Added:
"beginCaptures": {
1591
Added:
"1": {
1592
Added:
"name": "keyword.control.then.fortran"
1593
Added:
}
1594
Added:
},
1595
Added:
"end": "(?i)\\b(end\\s*if)\\b",
1596
Added:
"endCaptures": {
1597
Added:
"1": {
1598
Added:
"name": "keyword.control.endif.fortran"
1599
Added:
}
1600
Added:
},
1601
Added:
"patterns": [
1602
Added:
{
1603
Added:
"comment": "else if statement",
1604
Added:
"begin": "(?i)\\b(else\\s*if)\\b",
1605
Added:
"beginCaptures": {
1606
Added:
"1": {
1607
Added:
"name": "keyword.control.elseif.fortran"
1608
Added:
}
1609
Added:
},
1610
Added:
"end": "(?=[;!\\n])",
1611
Added:
"patterns": [
1612
Added:
{
1613
Added:
"include": "#parentheses"
1614
Added:
},
1615
Added:
{
1616
Added:
"comment": "capture the label if present",
1617
Added:
"match": "(?i)\\b(then)\\b(\\s*[a-z]\\w*)?",
1618
Added:
"captures": {
1619
Added:
"1": {
1620
Added:
"name": "keyword.control.then.fortran"
1621
Added:
},
1622
Added:
"2": {
1623
Added:
"name": "meta.label.elseif.fortran"
1624
Added:
}
1625
Added:
}
1626
Added:
},
1627
Added:
{
1628
Added:
"include": "#invalid-word"
1629
Added:
}
1630
Added:
]
1631
Added:
},
1632
Added:
{
1633
Added:
"comment": "else block",
1634
Added:
"begin": "(?i)\\b(else)\\b",
1635
Added:
"beginCaptures": {
1636
Added:
"1": {
1637
Added:
"name": "keyword.control.else.fortran"
1638
Added:
}
1639
Added:
},
1640
Added:
"end": "(?i)(?=\\b(end\\s*if)\\b)",
1641
Added:
"patterns": [
1642
Added:
{
1643
Added:
"comment": "rest of else line",
1644
Added:
"begin": "(?!(\\s*(;|!|\\n)))",
1645
Added:
"end": "\\s*(?=[;!\\n])",
1646
Added:
"patterns": [
1647
Added:
{
1648
Added:
"comment": "capture the label if present",
1649
Added:
"match": "(?i)\\s*([a-z]\\w*)?\\s*\\b(\\w*)\\b",
1650
Added:
"captures": {
1651
Added:
"1": {
1652
Added:
"name": "meta.label.else.fortran"
1653
Added:
},
1654
Added:
"2": {
1655
Added:
"name": "invalid.error.label.else.fortran"
1656
Added:
}
1657
Added:
}
1658
Added:
},
1659
Added:
{
1660
Added:
"include": "#invalid-word"
1661
Added:
}
1662
Added:
]
1663
Added:
},
1664
Added:
{
1665
Added:
"begin": "(?i)(?!\\b(end\\s*if)\\b)",
1666
Added:
"end": "(?i)(?=\\b(end\\s*if)\\b)",
1667
Added:
"patterns": [
1668
Added:
{
1669
Added:
"include": "$base"
1670
Added:
}
1671
Added:
]
1672
Added:
}
1673
Added:
]
1674
Added:
},
1675
Added:
{
1676
Added:
"include": "$base"
1677
Added:
}
1678
Added:
]
1679
Added:
},
1680
Added:
{
1681
Added:
"name": "meta.statement.control.if.fortran",
1682
Added:
"begin": "(?i)(?=\\s*[a-z])",
1683
Added:
"end": "(?=[;!\\n])",
1684
Added:
"patterns": [
1685
Added:
{
1686
Added:
"include": "$base"
1687
Added:
}
1688
Added:
]
1689
Added:
}
1690
Added:
]
1691
Added:
}
1692
Added:
]
1693
Added:
},
1694
Added:
"select-case-construct": {
1695
Added:
"comment": "Select case construct. Introduced in the Fortran 1990 standard.",
1696
Added:
"name": "meta.block.select.case.fortran",
1697
Added:
"begin": "(?i)\\b(select\\s*case)\\b",
1698
Added:
"beginCaptures": {
1699
Added:
"1": {
1700
Added:
"name": "keyword.control.selectcase.fortran"
1701
Added:
}
1702
Added:
},
1703
Added:
"end": "(?i)\\b(end\\s*select)\\b",
1704
Added:
"endCaptures": {
1705
Added:
"1": {
1706
Added:
"name": "keyword.control.endselect.fortran"
1707
Added:
}
1708
Added:
},
1709
Added:
"patterns": [
1710
Added:
{
1711
Added:
"include": "#parentheses"
1712
Added:
},
1713
Added:
{
1714
Added:
"begin": "(?i)\\b(case)\\b",
1715
Added:
"beginCaptures": {
1716
Added:
"1": {
1717
Added:
"name": "keyword.control.case.fortran"
1718
Added:
}
1719
Added:
},
1720
Added:
"end": "(?i)(?=[;!\\n])",
1721
Added:
"patterns": [
1722
Added:
{
1723
Added:
"match": "(?i)\\G\\s*\\b(default)\\b",
1724
Added:
"captures": {
1725
Added:
"1": {
1726
Added:
"name": "keyword.control.default.fortran"
1727
Added:
}
1728
Added:
}
1729
Added:
},
1730
Added:
{
1731
Added:
"include": "#parentheses"
1732
Added:
},
1733
Added:
{
1734
Added:
"include": "#invalid-word"
1735
Added:
}
1736
Added:
]
1737
Added:
},
1738
Added:
{
1739
Added:
"include": "$base"
1740
Added:
}
1741
Added:
]
1742
Added:
},
1743
Added:
"select-type-construct": {
1744
Added:
"comment": "Select type construct. Introduced in the Fortran 2003 standard.",
1745
Added:
"name": "meta.block.select.type.fortran",
1746
Added:
"begin": "(?i)\\b(select\\s*type)\\b",
1747
Added:
"beginCaptures": {
1748
Added:
"1": {
1749
Added:
"name": "keyword.control.selecttype.fortran"
1750
Added:
}
1751
Added:
},
1752
Added:
"end": "(?i)\\b(end\\s*select)\\b",
1753
Added:
"endCaptures": {
1754
Added:
"1": {
1755
Added:
"name": "keyword.control.endselect.fortran"
1756
Added:
}
1757
Added:
},
1758
Added:
"patterns": [
1759
Added:
{
1760
Added:
"include": "#parentheses"
1761
Added:
},
1762
Added:
{
1763
Added:
"begin": "(?i)\\b(?:(class)|(type))\\b",
1764
Added:
"beginCaptures": {
1765
Added:
"1": {
1766
Added:
"name": "keyword.control.class.fortran"
1767
Added:
},
1768
Added:
"2": {
1769
Added:
"name": "keyword.control.type.fortran"
1770
Added:
}
1771
Added:
},
1772
Added:
"end": "(?i)(?=[;!\\n])",
1773
Added:
"patterns": [
1774
Added:
{
1775
Added:
"match": "(?i)\\G\\s*\\b(default)\\b",
1776
Added:
"captures": {
1777
Added:
"1": {
1778
Added:
"name": "keyword.control.default.fortran"
1779
Added:
}
1780
Added:
}
1781
Added:
},
1782
Added:
{
1783
Added:
"match": "(?i)\\G\\s*\\b(is)\\b",
1784
Added:
"captures": {
1785
Added:
"1": {
1786
Added:
"name": "keyword.control.is.fortran"
1787
Added:
}
1788
Added:
}
1789
Added:
},
1790
Added:
{
1791
Added:
"include": "#parentheses"
1792
Added:
},
1793
Added:
{
1794
Added:
"include": "#invalid-word"
1795
Added:
}
1796
Added:
]
1797
Added:
},
1798
Added:
{
1799
Added:
"include": "$base"
1800
Added:
}
1801
Added:
]
1802
Added:
},
1803
Added:
"select-rank-construct": {
1804
Added:
"comment": "Select rank construct. Introduced in the Fortran 2008 standard.",
1805
Added:
"name": "meta.block.select.rank.fortran",
1806
Added:
"begin": "(?i)\\b(select\\s*rank)\\b",
1807
Added:
"beginCaptures": {
1808
Added:
"1": {
1809
Added:
"name": "keyword.control.selectrank.fortran"
1810
Added:
}
1811
Added:
},
1812
Added:
"end": "(?i)\\b(end\\s*select)\\b",
1813
Added:
"endCaptures": {
1814
Added:
"1": {
1815
Added:
"name": "keyword.control.endselect.fortran"
1816
Added:
}
1817
Added:
},
1818
Added:
"patterns": [
1819
Added:
{
1820
Added:
"include": "#parentheses"
1821
Added:
},
1822
Added:
{
1823
Added:
"begin": "(?i)\\b(rank)\\b",
1824
Added:
"beginCaptures": {
1825
Added:
"1": {
1826
Added:
"name": "keyword.control.rank.fortran"
1827
Added:
}
1828
Added:
},
1829
Added:
"end": "(?i)(?=[;!\\n])",
1830
Added:
"patterns": [
1831
Added:
{
1832
Added:
"match": "(?i)\\G\\s*\\b(default)\\b",
1833
Added:
"captures": {
1834
Added:
"1": {
1835
Added:
"name": "keyword.control.default.fortran"
1836
Added:
}
1837
Added:
}
1838
Added:
},
1839
Added:
{
1840
Added:
"include": "#parentheses"
1841
Added:
},
1842
Added:
{
1843
Added:
"include": "#invalid-word"
1844
Added:
}
1845
Added:
]
1846
Added:
},
1847
Added:
{
1848
Added:
"include": "$base"
1849
Added:
}
1850
Added:
]
1851
Added:
},
1852
Added:
"where-construct": {
1853
Added:
"patterns": [
1854
Added:
{
1855
Added:
"comment": "Introduced in the Fortran 1990 standard.",
1856
Added:
"begin": "(?i)\\b(where)\\b",
1857
Added:
"beginCaptures": {
1858
Added:
"1": {
1859
Added:
"name": "keyword.control.where.fortran"
1860
Added:
}
1861
Added:
},
1862
Added:
"end": "(?<!\\G)",
1863
Added:
"applyEndPatternLast": 1,
1864
Added:
"patterns": [
1865
Added:
{
1866
Added:
"include": "#logical-control-expression"
1867
Added:
},
1868
Added:
{
1869
Added:
"name": "meta.block.where.fortran",
1870
Added:
"begin": "(?<=\\))(?=\\s*[;!\\n])",
1871
Added:
"end": "(?i)\\b(end\\s*where)\\b",
1872
Added:
"endCaptures": {
1873
Added:
"1": {
1874
Added:
"name": "keyword.control.endwhere.fortran"
1875
Added:
}
1876
Added:
},
1877
Added:
"patterns": [
1878
Added:
{
1879
Added:
"begin": "(?i)\\s*\\b(else\\s*where)\\b",
1880
Added:
"beginCaptures": {
1881
Added:
"1": {
1882
Added:
"name": "keyword.control.elsewhere.fortran"
1883
Added:
}
1884
Added:
},
1885
Added:
"end": "\\s*(?=[;!\\n])",
1886
Added:
"patterns": [
1887
Added:
{
1888
Added:
"include": "#parentheses"
1889
Added:
},
1890
Added:
{
1891
Added:
"comment": "capture the label if present",
1892
Added:
"match": "(?i)(\\s*[a-z]\\w*)?",
1893
Added:
"captures": {
1894
Added:
"1": {
1895
Added:
"name": "meta.label.elsewhere.fortran"
1896
Added:
}
1897
Added:
}
1898
Added:
},
1899
Added:
{
1900
Added:
"include": "#invalid-word"
1901
Added:
}
1902
Added:
]
1903
Added:
},
1904
Added:
{
1905
Added:
"include": "$base"
1906
Added:
}
1907
Added:
]
1908
Added:
},
1909
Added:
{
1910
Added:
"name": "meta.statement.control.where.fortran",
1911
Added:
"begin": "(?i)(?<=\\))(?!\\s*[;!\\n])",
1912
Added:
"end": "\\n",
1913
Added:
"patterns": [
1914
Added:
{
1915
Added:
"include": "$base"
1916
Added:
}
1917
Added:
]
1918
Added:
}
1919
Added:
]
1920
Added:
}
1921
Added:
]
1922
Added:
},
1923
Added:
"forall-construct": {
1924
Added:
"comment": "Introduced in the Fortran 1995 standard.",
1925
Added:
"begin": "(?i)\\b(forall)\\b",
1926
Added:
"beginCaptures": {
1927
Added:
"1": {
1928
Added:
"name": "keyword.control.forall.fortran"
1929
Added:
}
1930
Added:
},
1931
Added:
"end": "(?<!\\G)",
1932
Added:
"applyEndPatternLast": 1,
1933
Added:
"patterns": [
1934
Added:
{
1935
Added:
"comment": "Loop control.",
1936
Added:
"name": "meta.loop-control.fortran",
1937
Added:
"begin": "(?i)\\G(?!\\s*[;!\\n])",
1938
Added:
"end": "(?<!\\G)",
1939
Added:
"patterns": [
1940
Added:
{
1941
Added:
"include": "#parentheses"
1942
Added:
},
1943
Added:
{
1944
Added:
"include": "#invalid-word"
1945
Added:
}
1946
Added:
]
1947
Added:
},
1948
Added:
{
1949
Added:
"name": "meta.block.forall.fortran",
1950
Added:
"begin": "(?<=\\))(?=\\s*[;!\\n])",
1951
Added:
"end": "(?i)\\b(end\\s*forall)\\b",
1952
Added:
"endCaptures": {
1953
Added:
"1": {
1954
Added:
"name": "keyword.control.endforall.fortran"
1955
Added:
}
1956
Added:
},
1957
Added:
"patterns": [
1958
Added:
{
1959
Added:
"include": "$base"
1960
Added:
}
1961
Added:
]
1962
Added:
},
1963
Added:
{
1964
Added:
"name": "meta.statement.control.forall.fortran",
1965
Added:
"begin": "(?i)(?<=\\))(?!\\s*[;!\\n])",
1966
Added:
"end": "\\n",
1967
Added:
"patterns": [
1968
Added:
{
1969
Added:
"include": "$base"
1970
Added:
}
1971
Added:
]
1972
Added:
}
1973
Added:
]
1974
Added:
},
1975
Added:
"control-statements": {
1976
Added:
"comment": "Statements controlling the flow of the program",
1977
Added:
"patterns": [
1978
Added:
{
1979
Added:
"include": "#assign-statement"
1980
Added:
},
1981
Added:
{
1982
Added:
"include": "#call-statement"
1983
Added:
},
1984
Added:
{
1985
Added:
"include": "#continue-statement"
1986
Added:
},
1987
Added:
{
1988
Added:
"include": "#cycle-statement"
1989
Added:
},
1990
Added:
{
1991
Added:
"include": "#entry-statement"
1992
Added:
},
1993
Added:
{
1994
Added:
"include": "#error-stop-statement"
1995
Added:
},
1996
Added:
{
1997
Added:
"include": "#exit-statement"
1998
Added:
},
1999
Added:
{
2000
Added:
"include": "#goto-statement"
2001
Added:
},
2002
Added:
{
2003
Added:
"include": "#pause-statement"
2004
Added:
},
2005
Added:
{
2006
Added:
"include": "#return-statement"
2007
Added:
},
2008
Added:
{
2009
Added:
"include": "#stop-statement"
2010
Added:
},
2011
Added:
{
2012
Added:
"include": "#where-statement"
2013
Added:
},
2014
Added:
{
2015
Added:
"include": "#image-control-statement"
2016
Added:
}
2017
Added:
]
2018
Added:
},
2019
Added:
"assign-statement": {
2020
Added:
"patterns": [
2021
Added:
{
2022
Added:
"comment": "Introduced in the Fortran 1977 standard.",
2023
Added:
"name": "meta.statement.control.assign.fortran",
2024
Added:
"begin": "(?i)\\b(assign)\\b",
2025
Added:
"beginCaptures": {
2026
Added:
"1": {
2027
Added:
"name": "keyword.control.assign.fortran"
2028
Added:
}
2029
Added:
},
2030
Added:
"end": "(?=[;!\\n])",
2031
Added:
"patterns": [
2032
Added:
{
2033
Added:
"match": "(?i)\\s*\\b(to)\\b",
2034
Added:
"captures": {
2035
Added:
"1": {
2036
Added:
"name": "keyword.control.to.fortran"
2037
Added:
}
2038
Added:
}
2039
Added:
},
2040
Added:
{
2041
Added:
"include": "$base"
2042
Added:
}
2043
Added:
]
2044
Added:
}
2045
Added:
]
2046
Added:
},
2047
Added:
"call-statement": {
2048
Added:
"patterns": [
2049
Added:
{
2050
Added:
"comment": "Introduced in the Fortran 1977 standard.",
2051
Added:
"name": "meta.statement.control.call.fortran",
2052
Added:
"begin": "(?i)\\s*\\b(call)\\b",
2053
Added:
"beginCaptures": {
2054
Added:
"1": {
2055
Added:
"name": "keyword.control.call.fortran"
2056
Added:
}
2057
Added:
},
2058
Added:
"end": "(?=[;!\\n])",
2059
Added:
"applyEndPatternLast": 1,
2060
Added:
"patterns": [
2061
Added:
{
2062
Added:
"comment": "type-bound subroutines",
2063
Added:
"begin": "(?ix)(?=\\s*[a-z]\\w*\\s*%)",
2064
Added:
"end": "(?=[;!\\n])",
2065
Added:
"patterns": [
2066
Added:
{
2067
Added:
"include": "#comments"
2068
Added:
},
2069
Added:
{
2070
Added:
"include": "#line-continuation-operator"
2071
Added:
},
2072
Added:
{
2073
Added:
"comment": "Variable and accessor",
2074
Added:
"match": "(?ix)\\s*([a-z]\\w*)\\s*(%)",
2075
Added:
"captures": {
2076
Added:
"1": {
2077
Added:
"name": "variable.other.fortran"
2078
Added:
},
2079
Added:
"2": {
2080
Added:
"name": "keyword.accessor.fortran"
2081
Added:
}
2082
Added:
}
2083
Added:
},
2084
Added:
{
2085
Added:
"comment": "Final function",
2086
Added:
"match": "(?ix)\\s*([a-z]\\w*)",
2087
Added:
"captures": {
2088
Added:
"1": {
2089
Added:
"name": "entity.name.function.subroutine.fortran"
2090
Added:
}
2091
Added:
}
2092
Added:
},
2093
Added:
{
2094
Added:
"include": "#parentheses-dummy-variables"
2095
Added:
}
2096
Added:
]
2097
Added:
},
2098
Added:
{
2099
Added:
"include": "#intrinsic-subroutines"
2100
Added:
},
2101
Added:
{
2102
Added:
"comment": "User defined subroutine.",
2103
Added:
"begin": "(?i)\\G\\s*\\b([a-z]\\w*)\\s*(?=\\()",
2104
Added:
"beginCaptures": {
2105
Added:
"1": {
2106
Added:
"name": "entity.name.function.subroutine.fortran"
2107
Added:
},
2108
Added:
"2": {
2109
Added:
"name": "punctuation.parentheses.left.fortran"
2110
Added:
}
2111
Added:
},
2112
Added:
"end": "(?<!\\G)",
2113
Added:
"endCaptures": {
2114
Added:
"1": {
2115
Added:
"name": "punctuation.parentheses.right.fortran"
2116
Added:
}
2117
Added:
},
2118
Added:
"patterns": [
2119
Added:
{
2120
Added:
"include": "#parentheses-dummy-variables"
2121
Added:
}
2122
Added:
]
2123
Added:
},
2124
Added:
{
2125
Added:
"comment": "User defined subroutine.",
2126
Added:
"match": "(?i)\\G\\s*\\b([a-z]\\w*)\\b(?=\\s*[;!\\n])",
2127
Added:
"captures": {
2128
Added:
"1": {
2129
Added:
"name": "entity.name.function.subroutine.fortran"
2130
Added:
}
2131
Added:
}
2132
Added:
},
2133
Added:
{
2134
Added:
"include": "$base"
2135
Added:
}
2136
Added:
]
2137
Added:
}
2138
Added:
]
2139
Added:
},
2140
Added:
"continue-statement": {
2141
Added:
"patterns": [
2142
Added:
{
2143
Added:
"comment": "Introduced in the Fortran 1977 standard.",
2144
Added:
"name": "meta.statement.control.continue.fortran",
2145
Added:
"begin": "(?i)\\s*\\b(continue)\\b",
2146
Added:
"beginCaptures": {
2147
Added:
"1": {
2148
Added:
"name": "keyword.control.continue.fortran"
2149
Added:
}
2150
Added:
},
2151
Added:
"end": "(?=[;!\\n])",
2152
Added:
"patterns": [
2153
Added:
{
2154
Added:
"include": "#invalid-character"
2155
Added:
}
2156
Added:
]
2157
Added:
}
2158
Added:
]
2159
Added:
},
2160
Added:
"cycle-statement": {
2161
Added:
"patterns": [
2162
Added:
{
2163
Added:
"comment": "Introduced in the Fortran 1990 standard.",
2164
Added:
"name": "meta.statement.control.fortran",
2165
Added:
"begin": "(?i)\\s*\\b(cycle)\\b",
2166
Added:
"beginCaptures": {
2167
Added:
"1": {
2168
Added:
"name": "keyword.control.cycle.fortran"
2169
Added:
}
2170
Added:
},
2171
Added:
"end": "(?=[;!\\n])",
2172
Added:
"patterns": []
2173
Added:
}
2174
Added:
]
2175
Added:
},
2176
Added:
"entry-statement": {
2177
Added:
"patterns": [
2178
Added:
{
2179
Added:
"comment": "Introduced in the Fortran 1977 standard.",
2180
Added:
"name": "meta.statement.control.entry.fortran",
2181
Added:
"begin": "(?i)\\s*\\b(entry)\\b",
2182
Added:
"beginCaptures": {
2183
Added:
"1": {
2184
Added:
"name": "keyword.control.entry.fortran"
2185
Added:
}
2186
Added:
},
2187
Added:
"end": "(?=[;!\\n])",
2188
Added:
"patterns": [
2189
Added:
{
2190
Added:
"begin": "(?i)\\s*\\b([a-z]\\w*)\\b",
2191
Added:
"beginCaptures": {
2192
Added:
"1": {
2193
Added:
"name": "entity.name.function.entry.fortran"
2194
Added:
}
2195
Added:
},
2196
Added:
"end": "(?=[;!\\n])",
2197
Added:
"patterns": [
2198
Added:
{
2199
Added:
"include": "#dummy-variable-list"
2200
Added:
},
2201
Added:
{
2202
Added:
"include": "#result-statement"
2203
Added:
},
2204
Added:
{
2205
Added:
"include": "#language-binding-attribute"
2206
Added:
}
2207
Added:
]
2208
Added:
}
2209
Added:
]
2210
Added:
}
2211
Added:
]
2212
Added:
},
2213
Added:
"error-stop-statement": {
2214
Added:
"comment": "Introduced in the Fortran 2008 standard.",
2215
Added:
"name": "meta.statement.control.errorstop.fortran",
2216
Added:
"begin": "(?i)\\s*\\b(error\\s+stop)\\b",
2217
Added:
"beginCaptures": {
2218
Added:
"1": {
2219
Added:
"name": "keyword.control.errorstop.fortran"
2220
Added:
}
2221
Added:
},
2222
Added:
"end": "(?=[;!\\n])",
2223
Added:
"patterns": [
2224
Added:
{
2225
Added:
"include": "#constants"
2226
Added:
},
2227
Added:
{
2228
Added:
"include": "#string-operators"
2229
Added:
},
2230
Added:
{
2231
Added:
"include": "#variable"
2232
Added:
},
2233
Added:
{
2234
Added:
"include": "#invalid-character"
2235
Added:
}
2236
Added:
]
2237
Added:
},
2238
Added:
"exit-statement": {
2239
Added:
"comment": "Introduced in the Fortran 1990 standard.",
2240
Added:
"name": "meta.statement.control.exit.fortran",
2241
Added:
"begin": "(?i)\\s*\\b(exit)\\b",
2242
Added:
"beginCaptures": {
2243
Added:
"1": {
2244
Added:
"name": "keyword.control.exit.fortran"
2245
Added:
}
2246
Added:
},
2247
Added:
"end": "(?=[;!\\n])",
2248
Added:
"patterns": []
2249
Added:
},
2250
Added:
"goto-statement": {
2251
Added:
"comment": "Introduced in the Fortran 1977 standard.",
2252
Added:
"name": "meta.statement.control.goto.fortran",
2253
Added:
"begin": "(?i)\\s*\\b(go\\s*to)\\b",
2254
Added:
"beginCaptures": {
2255
Added:
"1": {
2256
Added:
"name": "keyword.control.goto.fortran"
2257
Added:
}
2258
Added:
},
2259
Added:
"end": "(?=[;!\\n])",
2260
Added:
"patterns": [
2261
Added:
{
2262
Added:
"include": "$base"
2263
Added:
}
2264
Added:
]
2265
Added:
},
2266
Added:
"pause-statement": {
2267
Added:
"comment": "Introduced in the Fortran 1977 standard.",
2268
Added:
"name": "meta.statement.control.pause.fortran",
2269
Added:
"begin": "(?i)\\s*\\b(pause)\\b",
2270
Added:
"beginCaptures": {
2271
Added:
"1": {
2272
Added:
"name": "keyword.control.pause.fortran"
2273
Added:
}
2274
Added:
},
2275
Added:
"end": "(?=[;!\\n])",
2276
Added:
"patterns": [
2277
Added:
{
2278
Added:
"include": "#constants"
2279
Added:
},
2280
Added:
{
2281
Added:
"include": "#invalid-character"
2282
Added:
}
2283
Added:
]
2284
Added:
},
2285
Added:
"result-statement": {
2286
Added:
"comment": "Introduced in the Fortran 1990 standard.",
2287
Added:
"begin": "(?i)\\s*\\b(result)\\s*(\\()",
2288
Added:
"beginCaptures": {
2289
Added:
"1": {
2290
Added:
"name": "keyword.control.result.fortran"
2291
Added:
},
2292
Added:
"2": {
2293
Added:
"name": "punctuation.parentheses.left.fortran"
2294
Added:
}
2295
Added:
},
2296
Added:
"end": "(\\))",
2297
Added:
"endCaptures": {
2298
Added:
"1": {
2299
Added:
"name": "punctuation.parentheses.right.fortran"
2300
Added:
}
2301
Added:
},
2302
Added:
"patterns": [
2303
Added:
{
2304
Added:
"include": "#dummy-variable"
2305
Added:
}
2306
Added:
]
2307
Added:
},
2308
Added:
"return-statement": {
2309
Added:
"comment": "Introduced in the Fortran 1977 standard.",
2310
Added:
"name": "meta.statement.control.return.fortran",
2311
Added:
"begin": "(?i)\\s*\\b(return)\\b",
2312
Added:
"beginCaptures": {
2313
Added:
"1": {
2314
Added:
"name": "keyword.control.return.fortran"
2315
Added:
}
2316
Added:
},
2317
Added:
"end": "(?=[;!\\n])",
2318
Added:
"patterns": [
2319
Added:
{
2320
Added:
"include": "#invalid-character"
2321
Added:
}
2322
Added:
]
2323
Added:
},
2324
Added:
"stop-statement": {
2325
Added:
"comment": "Introduced in the Fortran 1977 standard.",
2326
Added:
"name": "meta.statement.control.stop.fortran",
2327
Added:
"begin": "(?i)\\s*\\b(stop)\\b(?:\\s*\\b([a-z]\\w*)\\b)?",
2328
Added:
"beginCaptures": {
2329
Added:
"1": {
2330
Added:
"name": "keyword.control.stop.fortran"
2331
Added:
},
2332
Added:
"2": {
2333
Added:
"name": "meta.label.stop.stop"
2334
Added:
}
2335
Added:
},
2336
Added:
"end": "(?=[;!\\n])",
2337
Added:
"patterns": [
2338
Added:
{
2339
Added:
"include": "#constants"
2340
Added:
},
2341
Added:
{
2342
Added:
"include": "#string-operators"
2343
Added:
},
2344
Added:
{
2345
Added:
"include": "#invalid-character"
2346
Added:
}
2347
Added:
]
2348
Added:
},
2349
Added:
"derived-type-definition": {
2350
Added:
"name": "meta.derived-type.definition.fortran",
2351
Added:
"begin": "(?i)\\b(type)\\b(?!\\s*(\\(|is\\b|\\=))",
2352
Added:
"beginCaptures": {
2353
Added:
"1": {
2354
Added:
"name": "keyword.control.type.fortran"
2355
Added:
}
2356
Added:
},
2357
Added:
"end": "(?=[;!\\n])",
2358
Added:
"patterns": [
2359
Added:
{
2360
Added:
"comment": "Attribute list.",
2361
Added:
"contentName": "meta.attribute-list.derived-type.fortran",
2362
Added:
"begin": "\\G(?=\\s*(,|::))",
2363
Added:
"end": "(::)|(?=[;!\\n])",
2364
Added:
"endCaptures": {
2365
Added:
"1": {
2366
Added:
"name": "keyword.operator.double-colon.fortran"
2367
Added:
}
2368
Added:
},
2369
Added:
"patterns": [
2370
Added:
{
2371
Added:
"begin": "(,)",
2372
Added:
"beginCaptures": {
2373
Added:
"1": {
2374
Added:
"name": "punctuation.comma.fortran"
2375
Added:
}
2376
Added:
},
2377
Added:
"end": "(?=::|[,;!\\n])",
2378
Added:
"patterns": [
2379
Added:
{
2380
Added:
"include": "#access-attribute"
2381
Added:
},
2382
Added:
{
2383
Added:
"include": "#abstract-attribute"
2384
Added:
},
2385
Added:
{
2386
Added:
"include": "#language-binding-attribute"
2387
Added:
},
2388
Added:
{
2389
Added:
"include": "#extends-attribute"
2390
Added:
},
2391
Added:
{
2392
Added:
"include": "#invalid-word"
2393
Added:
}
2394
Added:
]
2395
Added:
}
2396
Added:
]
2397
Added:
},
2398
Added:
{
2399
Added:
"begin": "(?i)\\s*\\b([a-z]\\w*)\\b",
2400
Added:
"beginCaptures": {
2401
Added:
"1": {
2402
Added:
"name": "entity.name.type.fortran"
2403
Added:
}
2404
Added:
},
2405
Added:
"end": "(?i)(?:^|(?<=;))\\s*(end\\s*type)(?:\\s+(?:(\\1)|(\\w+)))?\\b",
2406
Added:
"endCaptures": {
2407
Added:
"1": {
2408
Added:
"name": "keyword.control.endtype.fortran"
2409
Added:
},
2410
Added:
"2": {
2411
Added:
"name": "entity.name.type.fortran"
2412
Added:
},
2413
Added:
"3": {
2414
Added:
"name": "invalid.error.derived-type.fortran"
2415
Added:
}
2416
Added:
},
2417
Added:
"patterns": [
2418
Added:
{
2419
Added:
"include": "#dummy-variable-list"
2420
Added:
},
2421
Added:
{
2422
Added:
"include": "#comments"
2423
Added:
},
2424
Added:
{
2425
Added:
"comment": "Derived type specification block.",
2426
Added:
"name": "meta.block.specification.derived-type.fortran",
2427
Added:
"begin": "(?i)^(?!\\s*\\b(?:contains|end\\s*type)\\b)",
2428
Added:
"end": "(?i)^(?=\\s*\\b(?:contains|end\\s*type)\\b)",
2429
Added:
"patterns": [
2430
Added:
{
2431
Added:
"include": "#comments"
2432
Added:
},
2433
Added:
{
2434
Added:
"include": "#derived-type-component-attribute-specification"
2435
Added:
},
2436
Added:
{
2437
Added:
"include": "#derived-type-component-parameter-specification"
2438
Added:
},
2439
Added:
{
2440
Added:
"include": "#derived-type-component-procedure-specification"
2441
Added:
},
2442
Added:
{
2443
Added:
"include": "#derived-type-component-type-specification"
2444
Added:
}
2445
Added:
]
2446
Added:
},
2447
Added:
{
2448
Added:
"comment": "Derived type contains block.",
2449
Added:
"name": "meta.block.contains.fortran",
2450
Added:
"begin": "(?i)\\b(contains)\\b",
2451
Added:
"beginCaptures": {
2452
Added:
"1": {
2453
Added:
"name": "keyword.control.contains.fortran"
2454
Added:
}
2455
Added:
},
2456
Added:
"end": "(?i)(?=\\s*end\\s*type\\b)",
2457
Added:
"patterns": [
2458
Added:
{
2459
Added:
"include": "#comments"
2460
Added:
},
2461
Added:
{
2462
Added:
"include": "#derived-type-contains-attribute-specification"
2463
Added:
},
2464
Added:
{
2465
Added:
"include": "#derived-type-contains-final-procedure-specification"
2466
Added:
},
2467
Added:
{
2468
Added:
"include": "#derived-type-contains-generic-procedure-specification"
2469
Added:
},
2470
Added:
{
2471
Added:
"include": "#derived-type-contains-procedure-specification"
2472
Added:
}
2473
Added:
]
2474
Added:
}
2475
Added:
]
2476
Added:
}
2477
Added:
]
2478
Added:
},
2479
Added:
"derived-type-component-attribute-specification": {
2480
Added:
"comment": "Introduced in the Fortran 1995 standard.",
2481
Added:
"name": "meta.statement.attribute-specification.fortran",
2482
Added:
"begin": "(?i)(?=\\s*\\b(?:private|sequence)\\b)",
2483
Added:
"end": "(?=[;!\\n])",
2484
Added:
"patterns": [
2485
Added:
{
2486
Added:
"include": "#access-attribute"
2487
Added:
},
2488
Added:
{
2489
Added:
"include": "#sequence-attribute"
2490
Added:
},
2491
Added:
{
2492
Added:
"include": "#invalid-character"
2493
Added:
}
2494
Added:
]
2495
Added:
},
2496
Added:
"derived-type-component-parameter-specification": {
2497
Added:
"comment": "Derived type parameter.",
2498
Added:
"match": "(?ix)\\b(integer)\\s*(,)\\s*(kind|len)\\s*(?:(::)\\s*([a-z]\\w*)?)?\\s*(?=[;!\\n])",
2499
Added:
"captures": {
2500
Added:
"1": {
2501
Added:
"name": "storage.type.integer.fortran"
2502
Added:
},
2503
Added:
"2": {
2504
Added:
"name": "punctuation.comma.fortran"
2505
Added:
},
2506
Added:
"3": {
2507
Added:
"name": "keyword.other.attribute.derived-type.parameter.fortran"
2508
Added:
},
2509
Added:
"4": {
2510
Added:
"name": "keyword.operator.double-colon.fortran"
2511
Added:
},
2512
Added:
"5": {
2513
Added:
"name": "entity.name.derived-type.parameter.fortran"
2514
Added:
}
2515
Added:
}
2516
Added:
},
2517
Added:
"derived-type-component-procedure-specification": {
2518
Added:
"comment": "Introduced in the Fortran 2003 standard.",
2519
Added:
"name": "meta.specification.procedure.fortran",
2520
Added:
"begin": "(?i)(?=\\b(?:procedure)\\b)",
2521
Added:
"end": "(?=[;!\\n])",
2522
Added:
"patterns": [
2523
Added:
{
2524
Added:
"include": "#procedure-type"
2525
Added:
},
2526
Added:
{
2527
Added:
"comment": "Attribute list.",
2528
Added:
"contentName": "meta.attribute-list.derived-type-component-procedure.fortran",
2529
Added:
"begin": "(?=\\s*(,|::|\\())",
2530
Added:
"end": "(::)|(?=[;!\\n])",
2531
Added:
"endCaptures": {
2532
Added:
"1": {
2533
Added:
"name": "keyword.operator.double-colon.fortran"
2534
Added:
}
2535
Added:
},
2536
Added:
"patterns": [
2537
Added:
{
2538
Added:
"begin": "(,)",
2539
Added:
"beginCaptures": {
2540
Added:
"1": {
2541
Added:
"name": "punctuation.comma.fortran"
2542
Added:
}
2543
Added:
},
2544
Added:
"end": "(?=::|[,;!\\n])",
2545
Added:
"patterns": [
2546
Added:
{
2547
Added:
"include": "#access-attribute"
2548
Added:
},
2549
Added:
{
2550
Added:
"include": "#pass-attribute"
2551
Added:
},
2552
Added:
{
2553
Added:
"include": "#nopass-attribute"
2554
Added:
},
2555
Added:
{
2556
Added:
"include": "#invalid-word"
2557
Added:
},
2558
Added:
{
2559
Added:
"include": "#pointer-attribute"
2560
Added:
}
2561
Added:
]
2562
Added:
}
2563
Added:
]
2564
Added:
},
2565
Added:
{
2566
Added:
"include": "#procedure-name-list"
2567
Added:
}
2568
Added:
]
2569
Added:
},
2570
Added:
"derived-type-component-type-specification": {
2571
Added:
"comment": "Introduced in the Fortran 1995 standard.",
2572
Added:
"name": "meta.specification.derived-type.fortran",
2573
Added:
"begin": "(?ix)(?=\\b(?:character|class|complex|double\\s*precision|double\\s*complex|integer|logical|real|type)\\b(?![^:'\";!\\n]*\\bfunction\\b))",
2574
Added:
"end": "(?=[;!\\n])",
2575
Added:
"patterns": [
2576
Added:
{
2577
Added:
"include": "#types"
2578
Added:
},
2579
Added:
{
2580
Added:
"include": "#line-continuation-operator"
2581
Added:
},
2582
Added:
{
2583
Added:
"comment": "Attribute list.",
2584
Added:
"contentName": "meta.attribute-list.derived-type-component-type.fortran",
2585
Added:
"begin": "(?=\\s*(,|::))",
2586
Added:
"end": "(::)|(?=[;!\\n])",
2587
Added:
"endCaptures": {
2588
Added:
"1": {
2589
Added:
"name": "keyword.operator.double-colon.fortran"
2590
Added:
}
2591
Added:
},
2592
Added:
"patterns": [
2593
Added:
{
2594
Added:
"begin": "(,)",
2595
Added:
"beginCaptures": {
2596
Added:
"1": {
2597
Added:
"name": "punctuation.comma.fortran"
2598
Added:
}
2599
Added:
},
2600
Added:
"end": "(?=::|[,;!\\n])",
2601
Added:
"patterns": [
2602
Added:
{
2603
Added:
"include": "#access-attribute"
2604
Added:
},
2605
Added:
{
2606
Added:
"include": "#allocatable-attribute"
2607
Added:
},
2608
Added:
{
2609
Added:
"include": "#codimension-attribute"
2610
Added:
},
2611
Added:
{
2612
Added:
"include": "#contiguous-attribute"
2613
Added:
},
2614
Added:
{
2615
Added:
"include": "#dimension-attribute"
2616
Added:
},
2617
Added:
{
2618
Added:
"include": "#pointer-attribute"
2619
Added:
},
2620
Added:
{
2621
Added:
"include": "#invalid-word"
2622
Added:
}
2623
Added:
]
2624
Added:
}
2625
Added:
]
2626
Added:
},
2627
Added:
{
2628
Added:
"include": "#name-list"
2629
Added:
}
2630
Added:
]
2631
Added:
},
2632
Added:
"derived-type-contains-attribute-specification": {
2633
Added:
"comment": "Introduced in the Fortran 1995 standard.",
2634
Added:
"name": "meta.statement.attribute-specification.fortran",
2635
Added:
"begin": "(?i)(?=\\b(?:private)\\b)",
2636
Added:
"end": "(?=[;!\\n])",
2637
Added:
"patterns": [
2638
Added:
{
2639
Added:
"include": "#access-attribute"
2640
Added:
},
2641
Added:
{
2642
Added:
"include": "#invalid-character"
2643
Added:
}
2644
Added:
]
2645
Added:
},
2646
Added:
"derived-type-contains-final-procedure-specification": {
2647
Added:
"comment": "Introduced in the Fortran 2003 standard.",
2648
Added:
"name": "meta.specification.procedure.final.fortran",
2649
Added:
"begin": "(?i)\\b(final)\\b",
2650
Added:
"beginCaptures": {
2651
Added:
"1": {
2652
Added:
"name": "storage.type.final-procedure.fortran"
2653
Added:
}
2654
Added:
},
2655
Added:
"end": "(?=[;!\\n])",
2656
Added:
"patterns": [
2657
Added:
{
2658
Added:
"comment": "Attribute list.",
2659
Added:
"name": "meta.attribute-list.derived-type-contains-final-procedure.fortran",
2660
Added:
"begin": "(?=\\s*(::))",
2661
Added:
"end": "(::)|(?=[;!\\n])",
2662
Added:
"endCaptures": {
2663
Added:
"1": {
2664
Added:
"name": "keyword.operator.double-colon.fortran"
2665
Added:
}
2666
Added:
},
2667
Added:
"patterns": [
2668
Added:
{
2669
Added:
"include": "#invalid-word"
2670
Added:
}
2671
Added:
]
2672
Added:
},
2673
Added:
{
2674
Added:
"include": "#procedure-name"
2675
Added:
}
2676
Added:
]
2677
Added:
},
2678
Added:
"derived-type-contains-generic-procedure-specification": {
2679
Added:
"comment": "Introduced in the Fortran 2003 standard.",
2680
Added:
"name": "meta.specification.procedure.generic.fortran",
2681
Added:
"begin": "(?i)\\b(generic)\\b",
2682
Added:
"beginCaptures": {
2683
Added:
"1": {
2684
Added:
"name": "storage.type.procedure.generic.fortran"
2685
Added:
}
2686
Added:
},
2687
Added:
"end": "(?=[;!\\n])",
2688
Added:
"patterns": [
2689
Added:
{
2690
Added:
"comment": "Attribute list.",
2691
Added:
"contentName": "meta.attribute-list.derived-type-contains-generic-procedure.fortran",
2692
Added:
"begin": "(?=\\s*(,|::|\\())",
2693
Added:
"end": "(::)|(?=[;!\\n])",
2694
Added:
"endCaptures": {
2695
Added:
"1": {
2696
Added:
"name": "keyword.operator.double-colon.fortran"
2697
Added:
}
2698
Added:
},
2699
Added:
"patterns": [
2700
Added:
{
2701
Added:
"begin": "(,)|^|(?<=&)",
2702
Added:
"beginCaptures": {
2703
Added:
"1": {
2704
Added:
"name": "punctuation.comma.fortran"
2705
Added:
}
2706
Added:
},
2707
Added:
"end": "(?=::|[,&;!\\n])",
2708
Added:
"patterns": [
2709
Added:
{
2710
Added:
"include": "#access-attribute"
2711
Added:
},
2712
Added:
{
2713
Added:
"include": "#invalid-word"
2714
Added:
}
2715
Added:
]
2716
Added:
}
2717
Added:
]
2718
Added:
},
2719
Added:
{
2720
Added:
"comment": "Name list.",
2721
Added:
"contentName": "meta.name-list.fortran",
2722
Added:
"begin": "(?=\\s*[a-z])",
2723
Added:
"end": "(?=[;!\\n])",
2724
Added:
"patterns": [
2725
Added:
{
2726
Added:
"include": "#IO-keywords"
2727
Added:
},
2728
Added:
{
2729
Added:
"include": "#assignment-keyword"
2730
Added:
},
2731
Added:
{
2732
Added:
"include": "#operator-keyword"
2733
Added:
},
2734
Added:
{
2735
Added:
"include": "#procedure-name"
2736
Added:
},
2737
Added:
{
2738
Added:
"include": "#pointer-operators"
2739
Added:
}
2740
Added:
]
2741
Added:
}
2742
Added:
]
2743
Added:
},
2744
Added:
"derived-type-contains-procedure-specification": {
2745
Added:
"comment": "Introduced in the Fortran 2003 standard.",
2746
Added:
"name": "meta.specification.procedure.fortran",
2747
Added:
"begin": "(?i)(?=\\b(?:procedure)\\b)",
2748
Added:
"end": "(?=[;!\\n])",
2749
Added:
"patterns": [
2750
Added:
{
2751
Added:
"include": "#procedure-type"
2752
Added:
},
2753
Added:
{
2754
Added:
"comment": "Attribute list.",
2755
Added:
"contentName": "meta.attribute-list.derived-type-contains-procedure.fortran",
2756
Added:
"begin": "(?=\\s*(,|::|\\())",
2757
Added:
"end": "(::)|(?=[;!\\n])",
2758
Added:
"endCaptures": {
2759
Added:
"1": {
2760
Added:
"name": "keyword.operator.double-colon.fortran"
2761
Added:
}
2762
Added:
},
2763
Added:
"patterns": [
2764
Added:
{
2765
Added:
"name": "meta.something.fortran",
2766
Added:
"begin": "(,)|^|(?<=&)",
2767
Added:
"beginCaptures": {
2768
Added:
"1": {
2769
Added:
"name": "punctuation.comma.fortran"
2770
Added:
}
2771
Added:
},
2772
Added:
"end": "(?=::|[,&;!\\n])",
2773
Added:
"patterns": [
2774
Added:
{
2775
Added:
"include": "#access-attribute"
2776
Added:
},
2777
Added:
{
2778
Added:
"include": "#deferred-attribute"
2779
Added:
},
2780
Added:
{
2781
Added:
"include": "#non-overridable-attribute"
2782
Added:
},
2783
Added:
{
2784
Added:
"include": "#nopass-attribute"
2785
Added:
},
2786
Added:
{
2787
Added:
"include": "#pass-attribute"
2788
Added:
},
2789
Added:
{
2790
Added:
"include": "#invalid-word"
2791
Added:
}
2792
Added:
]
2793
Added:
}
2794
Added:
]
2795
Added:
},
2796
Added:
{
2797
Added:
"include": "#procedure-name-list"
2798
Added:
}
2799
Added:
]
2800
Added:
},
2801
Added:
"enum-block-construct": {
2802
Added:
"comment": "Introduced in the Fortran 2003 standard.",
2803
Added:
"name": "meta.enum.fortran",
2804
Added:
"begin": "(?i)\\b(enum)\\b",
2805
Added:
"beginCaptures": {
2806
Added:
"1": {
2807
Added:
"name": "keyword.control.enum.fortran"
2808
Added:
}
2809
Added:
},
2810
Added:
"end": "(?i)\\b(end\\s*enum)\\b",
2811
Added:
"endCaptures": {
2812
Added:
"1": {
2813
Added:
"name": "keyword.control.end-enum.fortran"
2814
Added:
}
2815
Added:
},
2816
Added:
"patterns": [
2817
Added:
{
2818
Added:
"begin": "\\G\\s*(,)",
2819
Added:
"beginCaptures": {
2820
Added:
"1": {
2821
Added:
"name": "punctuation.comma.fortran"
2822
Added:
}
2823
Added:
},
2824
Added:
"end": "(?=[;!\\n])",
2825
Added:
"patterns": [
2826
Added:
{
2827
Added:
"include": "#language-binding-attribute"
2828
Added:
},
2829
Added:
{
2830
Added:
"include": "#invalid-word"
2831
Added:
}
2832
Added:
]
2833
Added:
},
2834
Added:
{
2835
Added:
"name": "meta.block.specification.enum.fortran",
2836
Added:
"begin": "(?i)(?!\\s*\\b(end\\s*enum)\\b)",
2837
Added:
"end": "(?i)(?=\\b(end\\s*enum)\\b)",
2838
Added:
"patterns": [
2839
Added:
{
2840
Added:
"include": "#comments"
2841
Added:
},
2842
Added:
{
2843
Added:
"name": "meta.statement.enumerator-specification.fortran",
2844
Added:
"begin": "(?ix)\\b(enumerator)\\b",
2845
Added:
"beginCaptures": {
2846
Added:
"1": {
2847
Added:
"name": "keyword.other.enumerator.fortran"
2848
Added:
}
2849
Added:
},
2850
Added:
"end": "(?=[;!\\n])",
2851
Added:
"patterns": [
2852
Added:
{
2853
Added:
"comment": "Attribute list.",
2854
Added:
"contentName": "meta.attribute-list.enum.fortran",
2855
Added:
"begin": "(?=\\s*(,|::))",
2856
Added:
"end": "(::)|(?=[;!\\n])",
2857
Added:
"endCaptures": {
2858
Added:
"1": {
2859
Added:
"name": "keyword.operator.double-colon.fortran"
2860
Added:
}
2861
Added:
},
2862
Added:
"patterns": [
2863
Added:
{
2864
Added:
"include": "#invalid-word"
2865
Added:
}
2866
Added:
]
2867
Added:
},
2868
Added:
{
2869
Added:
"include": "#comments"
2870
Added:
},
2871
Added:
{
2872
Added:
"include": "#name-list"
2873
Added:
}
2874
Added:
]
2875
Added:
}
2876
Added:
]
2877
Added:
}
2878
Added:
]
2879
Added:
},
2880
Added:
"image-control-statement": {
2881
Added:
"patterns": [
2882
Added:
{
2883
Added:
"include": "#sync-all-statement"
2884
Added:
},
2885
Added:
{
2886
Added:
"include": "#sync-statement"
2887
Added:
},
2888
Added:
{
2889
Added:
"include": "#event-statement"
2890
Added:
},
2891
Added:
{
2892
Added:
"include": "#form-team-statement"
2893
Added:
},
2894
Added:
{
2895
Added:
"include": "#fail-image-statement"
2896
Added:
}
2897
Added:
]
2898
Added:
},
2899
Added:
"sync-all-statement": {
2900
Added:
"comment": "Introduced in the Fortran 2018 standard.",
2901
Added:
"name": "meta.statement.sync-all-memory.fortran",
2902
Added:
"begin": "(?i)\\b(sync all|sync memory)(\\s*(?=\\())?",
2903
Added:
"beginCaptures": {
2904
Added:
"1": {
2905
Added:
"name": "keyword.control.sync-all-memory.fortran"
2906
Added:
},
2907
Added:
"2": {
2908
Added:
"name": "punctuation.parentheses.left.fortran"
2909
Added:
}
2910
Added:
},
2911
Added:
"end": "(?<!\\G)",
2912
Added:
"endCaptures": {
2913
Added:
"1": {
2914
Added:
"name": "punctuation.parentheses.right.fortran"
2915
Added:
}
2916
Added:
},
2917
Added:
"patterns": [
2918
Added:
{
2919
Added:
"include": "#parentheses-dummy-variables"
2920
Added:
}
2921
Added:
]
2922
Added:
},
2923
Added:
"sync-statement": {
2924
Added:
"comment": "Introduced in the Fortran 2018 standard.",
2925
Added:
"name": "meta.statement.sync-images-team.fortran",
2926
Added:
"begin": "(?i)\\b(sync images|sync team)\\s*(?=\\()",
2927
Added:
"beginCaptures": {
2928
Added:
"1": {
2929
Added:
"name": "keyword.control.sync-images-team.fortran"
2930
Added:
},
2931
Added:
"2": {
2932
Added:
"name": "punctuation.parentheses.left.fortran"
2933
Added:
}
2934
Added:
},
2935
Added:
"end": "(?<!\\G)",
2936
Added:
"endCaptures": {
2937
Added:
"1": {
2938
Added:
"name": "punctuation.parentheses.right.fortran"
2939
Added:
}
2940
Added:
},
2941
Added:
"patterns": [
2942
Added:
{
2943
Added:
"include": "#parentheses-dummy-variables"
2944
Added:
}
2945
Added:
]
2946
Added:
},
2947
Added:
"event-statement": {
2948
Added:
"comment": "Introduced in the Fortran 2018 standard.",
2949
Added:
"name": "meta.statement.event.fortran",
2950
Added:
"begin": "(?i)\\b(event post|event wait)\\s*(?=\\()",
2951
Added:
"beginCaptures": {
2952
Added:
"1": {
2953
Added:
"name": "keyword.control.event.fortran"
2954
Added:
},
2955
Added:
"2": {
2956
Added:
"name": "punctuation.parentheses.left.fortran"
2957
Added:
}
2958
Added:
},
2959
Added:
"end": "(?<!\\G)",
2960
Added:
"endCaptures": {
2961
Added:
"1": {
2962
Added:
"name": "punctuation.parentheses.right.fortran"
2963
Added:
}
2964
Added:
},
2965
Added:
"patterns": [
2966
Added:
{
2967
Added:
"include": "#parentheses-dummy-variables"
2968
Added:
}
2969
Added:
]
2970
Added:
},
2971
Added:
"form-team-statement": {
2972
Added:
"comment": "Introduced in the Fortran 2018 standard.",
2973
Added:
"name": "meta.statement.form-team.fortran",
2974
Added:
"begin": "(?i)\\b(form team)\\s*(?=\\()",
2975
Added:
"beginCaptures": {
2976
Added:
"1": {
2977
Added:
"name": "keyword.control.form-team.fortran"
2978
Added:
},
2979
Added:
"2": {
2980
Added:
"name": "punctuation.parentheses.left.fortran"
2981
Added:
}
2982
Added:
},
2983
Added:
"end": "(?<!\\G)",
2984
Added:
"endCaptures": {
2985
Added:
"1": {
2986
Added:
"name": "punctuation.parentheses.right.fortran"
2987
Added:
}
2988
Added:
},
2989
Added:
"patterns": [
2990
Added:
{
2991
Added:
"include": "#parentheses-dummy-variables"
2992
Added:
}
2993
Added:
]
2994
Added:
},
2995
Added:
"fail-image-statement": {
2996
Added:
"comment": "Introduced in the Fortran 2018 standard.",
2997
Added:
"name": "meta.statement.fail-image.fortran",
2998
Added:
"match": "\\b(fail image)\\b",
2999
Added:
"captures": {
3000
Added:
"1": {
3001
Added:
"name": "keyword.control.fail-image.fortran"
3002
Added:
}
3003
Added:
}
3004
Added:
},
3005
Added:
"execution-statements": {
3006
Added:
"patterns": [
3007
Added:
{
3008
Added:
"include": "#allocate-statement"
3009
Added:
},
3010
Added:
{
3011
Added:
"include": "#deallocate-statement"
3012
Added:
},
3013
Added:
{
3014
Added:
"include": "#IO-statements"
3015
Added:
},
3016
Added:
{
3017
Added:
"include": "#nullify-statement"
3018
Added:
}
3019
Added:
]
3020
Added:
},
3021
Added:
"allocate-statement": {
3022
Added:
"comment": "Introduced in the Fortran 1990 standard.",
3023
Added:
"name": "meta.statement.allocate.fortran",
3024
Added:
"begin": "(?i)\\b(allocate)\\s*(?=\\()",
3025
Added:
"beginCaptures": {
3026
Added:
"1": {
3027
Added:
"name": "keyword.control.allocate.fortran"
3028
Added:
},
3029
Added:
"2": {
3030
Added:
"name": "punctuation.parentheses.left.fortran"
3031
Added:
}
3032
Added:
},
3033
Added:
"end": "(?<!\\G)",
3034
Added:
"endCaptures": {
3035
Added:
"1": {
3036
Added:
"name": "punctuation.parentheses.right.fortran"
3037
Added:
}
3038
Added:
},
3039
Added:
"patterns": [
3040
Added:
{
3041
Added:
"include": "#parentheses-dummy-variables"
3042
Added:
}
3043
Added:
]
3044
Added:
},
3045
Added:
"deallocate-statement": {
3046
Added:
"comment": "Introduced in the Fortran 1990 standard.",
3047
Added:
"name": "meta.statement.deallocate.fortran",
3048
Added:
"begin": "(?i)\\b(deallocate)\\s*(?=\\()",
3049
Added:
"beginCaptures": {
3050
Added:
"1": {
3051
Added:
"name": "keyword.control.deallocate.fortran"
3052
Added:
},
3053
Added:
"2": {
3054
Added:
"name": "punctuation.parentheses.left.fortran"
3055
Added:
}
3056
Added:
},
3057
Added:
"end": "(?<!\\G)",
3058
Added:
"endCaptures": {
3059
Added:
"1": {
3060
Added:
"name": "punctuation.parentheses.right.fortran"
3061
Added:
}
3062
Added:
},
3063
Added:
"patterns": [
3064
Added:
{
3065
Added:
"include": "#parentheses-dummy-variables"
3066
Added:
}
3067
Added:
]
3068
Added:
},
3069
Added:
"IO-statements": {
3070
Added:
"patterns": [
3071
Added:
{
3072
Added:
"comment": "Format statement Introduced in the Fortran 1977 standard.",
3073
Added:
"name": "meta.statement.IO.fortran",
3074
Added:
"begin": "(?ix)\\b(format)(?=\\s*(?:\\(|&|!))",
3075
Added:
"beginCaptures": {
3076
Added:
"1": {
3077
Added:
"name": "keyword.control.format.fortran"
3078
Added:
}
3079
Added:
},
3080
Added:
"end": "(?=[;!\\n])",
3081
Added:
"patterns": [
3082
Added:
{
3083
Added:
"include": "#comments"
3084
Added:
},
3085
Added:
{
3086
Added:
"include": "#line-continuation-operator"
3087
Added:
},
3088
Added:
{
3089
Added:
"include": "#format-parentheses"
3090
Added:
}
3091
Added:
]
3092
Added:
},
3093
Added:
{
3094
Added:
"comment": "Introduced in the Fortran 1977 standard.",
3095
Added:
"name": "meta.statement.IO.fortran",
3096
Added:
"begin": "(?ix)\\b(?:(backspace)|(close)|(endfile)|(inquire)|(open)|(read)|(rewind)|(write))\\s*(?=\\()",
3097
Added:
"beginCaptures": {
3098
Added:
"1": {
3099
Added:
"name": "keyword.control.backspace.fortran"
3100
Added:
},
3101
Added:
"2": {
3102
Added:
"name": "keyword.control.close.fortran"
3103
Added:
},
3104
Added:
"3": {
3105
Added:
"name": "keyword.control.endfile.fortran"
3106
Added:
},
3107
Added:
"4": {
3108
Added:
"name": "keyword.control.inquire.fortran"
3109
Added:
},
3110
Added:
"5": {
3111
Added:
"name": "keyword.control.open.fortran"
3112
Added:
},
3113
Added:
"6": {
3114
Added:
"name": "keyword.control.read.fortran"
3115
Added:
},
3116
Added:
"7": {
3117
Added:
"name": "keyword.control.rewind.fortran"
3118
Added:
},
3119
Added:
"8": {
3120
Added:
"name": "keyword.control.write.fortran"
3121
Added:
},
3122
Added:
"9": {
3123
Added:
"name": "punctuation.parentheses.left.fortran"
3124
Added:
}
3125
Added:
},
3126
Added:
"end": "(?=[;!\\n])",
3127
Added:
"endCaptures": {
3128
Added:
"1": {
3129
Added:
"name": "punctuation.parentheses.right.fortran"
3130
Added:
}
3131
Added:
},
3132
Added:
"patterns": [
3133
Added:
{
3134
Added:
"include": "#parentheses-dummy-variables"
3135
Added:
},
3136
Added:
{
3137
Added:
"include": "#IO-item-list"
3138
Added:
}
3139
Added:
]
3140
Added:
},
3141
Added:
{
3142
Added:
"comment": "Introduced in the Fortran 1977 standard.",
3143
Added:
"match": "(?i)\\b(?:(backspace)|(endfile)|(format)|(print)|(read)|(rewind))\\b",
3144
Added:
"captures": {
3145
Added:
"1": {
3146
Added:
"name": "keyword.control.backspace.fortran"
3147
Added:
},
3148
Added:
"2": {
3149
Added:
"name": "keyword.control.endfile.fortran"
3150
Added:
},
3151
Added:
"3": {
3152
Added:
"name": "keyword.control.format.fortran"
3153
Added:
},
3154
Added:
"4": {
3155
Added:
"name": "keyword.control.print.fortran"
3156
Added:
},
3157
Added:
"5": {
3158
Added:
"name": "keyword.control.read.fortran"
3159
Added:
},
3160
Added:
"6": {
3161
Added:
"name": "keyword.control.rewind.fortran"
3162
Added:
}
3163
Added:
}
3164
Added:
},
3165
Added:
{
3166
Added:
"comment": "Introduced in the Fortran 2003 standard.",
3167
Added:
"begin": "(?i)\\b(?:(flush)|(wait))\\s*(?=\\()",
3168
Added:
"beginCaptures": {
3169
Added:
"1": {
3170
Added:
"name": "keyword.control.flush.fortran"
3171
Added:
},
3172
Added:
"2": {
3173
Added:
"name": "keyword.control.wait.fortran"
3174
Added:
},
3175
Added:
"3": {
3176
Added:
"name": "punctuation.parentheses.left.fortran"
3177
Added:
}
3178
Added:
},
3179
Added:
"end": "(?<!\\G)",
3180
Added:
"endCaptures": {
3181
Added:
"1": {
3182
Added:
"name": "punctuation.parentheses.right.fortran"
3183
Added:
}
3184
Added:
},
3185
Added:
"patterns": [
3186
Added:
{
3187
Added:
"include": "#parentheses-dummy-variables"
3188
Added:
}
3189
Added:
]
3190
Added:
},
3191
Added:
{
3192
Added:
"comment": "Introduced in the Fortran 2003 standard.",
3193
Added:
"match": "(?i)\\b(flush)\\b",
3194
Added:
"captures": {
3195
Added:
"1": {
3196
Added:
"name": "keyword.control.flush.fortran"
3197
Added:
}
3198
Added:
}
3199
Added:
}
3200
Added:
]
3201
Added:
},
3202
Added:
"nullify-statement": {
3203
Added:
"comment": "Introduced in the Fortran 1990 standard.",
3204
Added:
"name": "meta.statement.nullify.fortran",
3205
Added:
"begin": "(?i)\\b(nullify)\\s*(?=\\()",
3206
Added:
"beginCaptures": {
3207
Added:
"1": {
3208
Added:
"name": "keyword.control.nullify.fortran"
3209
Added:
},
3210
Added:
"2": {
3211
Added:
"name": "punctuation.parentheses.left.fortran"
3212
Added:
}
3213
Added:
},
3214
Added:
"end": "(?<!\\G)",
3215
Added:
"endCaptures": {
3216
Added:
"1": {
3217
Added:
"name": "punctuation.parentheses.right.fortran"
3218
Added:
}
3219
Added:
},
3220
Added:
"patterns": [
3221
Added:
{
3222
Added:
"include": "#parentheses-dummy-variables"
3223
Added:
}
3224
Added:
]
3225
Added:
},
3226
Added:
"include-statement": {
3227
Added:
"comment": "Introduced in the Fortran 1990 standard.",
3228
Added:
"name": "meta.statement.include.fortran",
3229
Added:
"begin": "(?i)\\b(include)\\b",
3230
Added:
"beginCaptures": {
3231
Added:
"1": {
3232
Added:
"name": "keyword.control.include.fortran"
3233
Added:
}
3234
Added:
},
3235
Added:
"end": "(?=[;!\\n])",
3236
Added:
"patterns": [
3237
Added:
{
3238
Added:
"include": "#string-constant"
3239
Added:
},
3240
Added:
{
3241
Added:
"include": "#invalid-character"
3242
Added:
}
3243
Added:
]
3244
Added:
},
3245
Added:
"import-statement": {
3246
Added:
"comment": "Introduced in the Fortran 1990 standard.",
3247
Added:
"name": "meta.statement.include.fortran",
3248
Added:
"begin": "(?i)\\b(import)\\b",
3249
Added:
"beginCaptures": {
3250
Added:
"1": {
3251
Added:
"name": "keyword.control.include.fortran"
3252
Added:
}
3253
Added:
},
3254
Added:
"end": "(?=[;!\\n])",
3255
Added:
"patterns": [
3256
Added:
{
3257
Added:
"begin": "(?i)\\G\\s*(?:(::)|(?=[a-z]))",
3258
Added:
"beginCaptures": {
3259
Added:
"1": {
3260
Added:
"name": "keyword.operator.double-colon.fortran"
3261
Added:
}
3262
Added:
},
3263
Added:
"end": "(?=[;!\\n])",
3264
Added:
"patterns": [
3265
Added:
{
3266
Added:
"include": "#name-list"
3267
Added:
}
3268
Added:
]
3269
Added:
},
3270
Added:
{
3271
Added:
"begin": "\\G\\s*(,)",
3272
Added:
"beginCaptures": {
3273
Added:
"1": {
3274
Added:
"name": "punctuation.comma.fortran"
3275
Added:
}
3276
Added:
},
3277
Added:
"end": "(?=[;!\\n])",
3278
Added:
"patterns": [
3279
Added:
{
3280
Added:
"match": "(?i)\\G\\s*\\b(all)\\b",
3281
Added:
"captures": {
3282
Added:
"1": {
3283
Added:
"name": "keyword.other.all.fortran"
3284
Added:
}
3285
Added:
}
3286
Added:
},
3287
Added:
{
3288
Added:
"match": "(?i)\\G\\s*\\b(none)\\b",
3289
Added:
"captures": {
3290
Added:
"1": {
3291
Added:
"name": "keyword.other.none.fortran"
3292
Added:
}
3293
Added:
}
3294
Added:
},
3295
Added:
{
3296
Added:
"begin": "(?i)\\G\\s*\\b(only)\\s*(:)",
3297
Added:
"beginCaptures": {
3298
Added:
"1": {
3299
Added:
"name": "keyword.other.only.fortran"
3300
Added:
},
3301
Added:
"2": {
3302
Added:
"name": "keyword.other.colon.fortran"
3303
Added:
}
3304
Added:
},
3305
Added:
"end": "(?=[;!\\n])",
3306
Added:
"patterns": [
3307
Added:
{
3308
Added:
"include": "#name-list"
3309
Added:
}
3310
Added:
]
3311
Added:
},
3312
Added:
{
3313
Added:
"include": "#invalid-word"
3314
Added:
}
3315
Added:
]
3316
Added:
}
3317
Added:
]
3318
Added:
},
3319
Added:
"interface-block-constructs": {
3320
Added:
"patterns": [
3321
Added:
{
3322
Added:
"include": "#abstract-interface-block-construct"
3323
Added:
},
3324
Added:
{
3325
Added:
"include": "#explicit-interface-block-construct"
3326
Added:
},
3327
Added:
{
3328
Added:
"include": "#generic-interface-block-construct"
3329
Added:
}
3330
Added:
]
3331
Added:
},
3332
Added:
"abstract-interface-block-construct": {
3333
Added:
"comment": "Introduced in the Fortran 2003 standard.",
3334
Added:
"name": "meta.interface.abstract.fortran",
3335
Added:
"begin": "(?i)\\b(abstract)\\s+(interface)\\b",
3336
Added:
"beginCaptures": {
3337
Added:
"1": {
3338
Added:
"name": "keyword.other.attribute.fortran.modern"
3339
Added:
},
3340
Added:
"2": {
3341
Added:
"name": "keyword.control.interface.fortran"
3342
Added:
}
3343
Added:
},
3344
Added:
"end": "(?i)\\b(end\\s*interface)\\b",
3345
Added:
"endCaptures": {
3346
Added:
"1": {
3347
Added:
"name": "keyword.control.endinterface.fortran.modern"
3348
Added:
}
3349
Added:
},
3350
Added:
"patterns": [
3351
Added:
{
3352
Added:
"include": "$base"
3353
Added:
}
3354
Added:
]
3355
Added:
},
3356
Added:
"explicit-interface-block-construct": {
3357
Added:
"comment": "Introduced in the Fortran 1990 standard.",
3358
Added:
"name": "meta.interface.explicit.fortran",
3359
Added:
"begin": "(?i)\\b(interface)\\b(?=\\s*[;!\\n])",
3360
Added:
"beginCaptures": {
3361
Added:
"1": {
3362
Added:
"name": "keyword.control.interface.fortran"
3363
Added:
}
3364
Added:
},
3365
Added:
"end": "(?i)\\b(end\\s*interface)\\b",
3366
Added:
"endCaptures": {
3367
Added:
"1": {
3368
Added:
"name": "keyword.control.endinterface.fortran.modern"
3369
Added:
}
3370
Added:
},
3371
Added:
"patterns": [
3372
Added:
{
3373
Added:
"include": "$base"
3374
Added:
}
3375
Added:
]
3376
Added:
},
3377
Added:
"generic-interface-block-construct": {
3378
Added:
"comment": "Introduced in the Fortran 1990 standard.",
3379
Added:
"name": "meta.interface.generic.fortran",
3380
Added:
"begin": "(?i)\\b(interface)\\b",
3381
Added:
"beginCaptures": {
3382
Added:
"1": {
3383
Added:
"name": "keyword.control.interface.fortran"
3384
Added:
}
3385
Added:
},
3386
Added:
"end": "(?=[;!\\n])",
3387
Added:
"patterns": [
3388
Added:
{
3389
Added:
"comment": "Assignment generic interface.",
3390
Added:
"begin": "(?ix)\\G\\s*\\b(assignment)\\s* (\\()\\s*(?:(\\=)|(\\S.*))\\s*(\\))",
3391
Added:
"beginCaptures": {
3392
Added:
"1": {
3393
Added:
"name": "keyword.other.assignment.fortran"
3394
Added:
},
3395
Added:
"2": {
3396
Added:
"name": "punctuation.parentheses.left.fortran"
3397
Added:
},
3398
Added:
"3": {
3399
Added:
"name": "keyword.operator.assignment.fortran"
3400
Added:
},
3401
Added:
"4": {
3402
Added:
"name": "invalid.error.generic-interface.fortran"
3403
Added:
},
3404
Added:
"5": {
3405
Added:
"name": "punctuation.parentheses.right.fortran"
3406
Added:
}
3407
Added:
},
3408
Added:
"end": "(?ix)\\b(end\\s*interface)\\b (?:\\s*\\b(\\1)\\b\\s*(\\()\\s*(?:(\\3)|(\\S.*))\\s*(\\)))?",
3409
Added:
"endCaptures": {
3410
Added:
"1": {
3411
Added:
"name": "keyword.control.endinterface.fortran"
3412
Added:
},
3413
Added:
"2": {
3414
Added:
"name": "keyword.other.assignment.fortran"
3415
Added:
},
3416
Added:
"3": {
3417
Added:
"name": "punctuation.parentheses.left.fortran"
3418
Added:
},
3419
Added:
"4": {
3420
Added:
"name": "keyword.operator.assignment.fortran"
3421
Added:
},
3422
Added:
"5": {
3423
Added:
"name": "invalid.error.generic-interface-end.fortran"
3424
Added:
},
3425
Added:
"6": {
3426
Added:
"name": "punctuation.parentheses.right.fortran"
3427
Added:
}
3428
Added:
},
3429
Added:
"patterns": [
3430
Added:
{
3431
Added:
"include": "#interface-procedure-statement"
3432
Added:
},
3433
Added:
{
3434
Added:
"include": "$base"
3435
Added:
}
3436
Added:
]
3437
Added:
},
3438
Added:
{
3439
Added:
"comment": "Operator generic interface.",
3440
Added:
"begin": "(?ix)\\G\\s*\\b(operator)\\s* (\\()\\s*(?: (\\.[a-z]+\\.|\\=\\=|\\/\\=|\\>\\=|\\>|\\<|\\<\\=|\\-|\\+|\\/|\\/\\/|\\*\\*|\\*) |(\\S.*) )\\s*(\\))",
3441
Added:
"beginCaptures": {
3442
Added:
"1": {
3443
Added:
"name": "keyword.other.operator.fortran"
3444
Added:
},
3445
Added:
"2": {
3446
Added:
"name": "punctuation.parentheses.left.fortran"
3447
Added:
},
3448
Added:
"3": {
3449
Added:
"name": "keyword.operator.fortran"
3450
Added:
},
3451
Added:
"4": {
3452
Added:
"name": "invalid.error.generic-interface-block-op.fortran"
3453
Added:
},
3454
Added:
"5": {
3455
Added:
"name": "punctuation.parentheses.right.fortran"
3456
Added:
}
3457
Added:
},
3458
Added:
"end": "(?ix)\\b(end\\s*interface)\\b (?:\\s*\\b(\\1)\\b\\s*(\\()\\s*(?:(\\3)|(\\S.*))\\s*(\\)))?",
3459
Added:
"endCaptures": {
3460
Added:
"1": {
3461
Added:
"name": "keyword.control.endinterface.fortran"
3462
Added:
},
3463
Added:
"2": {
3464
Added:
"name": "keyword.other.operator.fortran"
3465
Added:
},
3466
Added:
"3": {
3467
Added:
"name": "punctuation.parentheses.left.fortran"
3468
Added:
},
3469
Added:
"4": {
3470
Added:
"name": "keyword.operator.fortran"
3471
Added:
},
3472
Added:
"5": {
3473
Added:
"name": "invalid.error.generic-interface-block-op-end.fortran"
3474
Added:
},
3475
Added:
"6": {
3476
Added:
"name": "punctuation.parentheses.right.fortran"
3477
Added:
}
3478
Added:
},
3479
Added:
"patterns": [
3480
Added:
{
3481
Added:
"include": "#interface-procedure-statement"
3482
Added:
},
3483
Added:
{
3484
Added:
"include": "$base"
3485
Added:
}
3486
Added:
]
3487
Added:
},
3488
Added:
{
3489
Added:
"comment": "Read/Write generic interface.",
3490
Added:
"begin": "(?ix)\\G\\s*\\b(?:(read)|(write))\\s* (\\()\\s*(?:(formatted)|(unformatted)|(\\S.*))\\s*(\\))",
3491
Added:
"beginCaptures": {
3492
Added:
"1": {
3493
Added:
"name": "keyword.other.read.fortran"
3494
Added:
},
3495
Added:
"2": {
3496
Added:
"name": "keyword.other.write.fortran"
3497
Added:
},
3498
Added:
"3": {
3499
Added:
"name": "punctuation.parentheses.left.fortran"
3500
Added:
},
3501
Added:
"4": {
3502
Added:
"name": "keyword.other.formatted.fortran"
3503
Added:
},
3504
Added:
"5": {
3505
Added:
"name": "keyword.other.unformatted.fortran"
3506
Added:
},
3507
Added:
"6": {
3508
Added:
"name": "invalid.error.generic-interface-block.fortran"
3509
Added:
},
3510
Added:
"7": {
3511
Added:
"name": "punctuation.parentheses.right.fortran"
3512
Added:
}
3513
Added:
},
3514
Added:
"end": "(?ix)\\b(end\\s*interface)\\b(?:\\s*\\b(?:(\\2)|(\\3))\\b\\s* (\\()\\s*(?:(\\4)|(\\5)|(\\S.*))\\s*(\\)))?",
3515
Added:
"endCaptures": {
3516
Added:
"1": {
3517
Added:
"name": "keyword.control.endinterface.fortran"
3518
Added:
},
3519
Added:
"2": {
3520
Added:
"name": "keyword.other.read.fortran"
3521
Added:
},
3522
Added:
"3": {
3523
Added:
"name": "keyword.other.write.fortran"
3524
Added:
},
3525
Added:
"4": {
3526
Added:
"name": "punctuation.parentheses.left.fortran"
3527
Added:
},
3528
Added:
"5": {
3529
Added:
"name": "keyword.other.formatted.fortran"
3530
Added:
},
3531
Added:
"6": {
3532
Added:
"name": "keyword.other.unformatted.fortran"
3533
Added:
},
3534
Added:
"7": {
3535
Added:
"name": "invalid.error.generic-interface-block-end.fortran"
3536
Added:
},
3537
Added:
"8": {
3538
Added:
"name": "punctuation.parentheses.right.fortran"
3539
Added:
}
3540
Added:
},
3541
Added:
"patterns": [
3542
Added:
{
3543
Added:
"include": "#interface-procedure-statement"
3544
Added:
},
3545
Added:
{
3546
Added:
"include": "$base"
3547
Added:
}
3548
Added:
]
3549
Added:
},
3550
Added:
{
3551
Added:
"comment": "Generic interface.",
3552
Added:
"begin": "(?i)\\G\\s*\\b([a-z]\\w*)\\b",
3553
Added:
"beginCaptures": {
3554
Added:
"1": {
3555
Added:
"name": "entity.name.function.fortran"
3556
Added:
}
3557
Added:
},
3558
Added:
"end": "(?i)\\b(end\\s*interface)\\b(?:\\s*\\b(\\1)\\b)?",
3559
Added:
"endCaptures": {
3560
Added:
"1": {
3561
Added:
"name": "keyword.control.endinterface.fortran"
3562
Added:
},
3563
Added:
"2": {
3564
Added:
"name": "entity.name.function.fortran"
3565
Added:
}
3566
Added:
},
3567
Added:
"patterns": [
3568
Added:
{
3569
Added:
"include": "#interface-procedure-statement"
3570
Added:
},
3571
Added:
{
3572
Added:
"include": "$base"
3573
Added:
}
3574
Added:
]
3575
Added:
}
3576
Added:
]
3577
Added:
},
3578
Added:
"interface-procedure-statement": {
3579
Added:
"comment": "Introduced in the Fortran 1990 standard.",
3580
Added:
"name": "meta.statement.procedure.fortran",
3581
Added:
"begin": "(?i)(?=[^'\";!\\n]*\\bprocedure\\b)",
3582
Added:
"end": "(?=[;!\\n])",
3583
Added:
"patterns": [
3584
Added:
{
3585
Added:
"comment": "Attribute list.",
3586
Added:
"name": "meta.attribute-list.interface.fortran",
3587
Added:
"begin": "(?i)(?=\\G\\s*(?!\\bprocedure\\b))",
3588
Added:
"end": "(?i)(?=\\bprocedure\\b)",
3589
Added:
"patterns": [
3590
Added:
{
3591
Added:
"include": "#module-attribute"
3592
Added:
},
3593
Added:
{
3594
Added:
"include": "#invalid-word"
3595
Added:
}
3596
Added:
]
3597
Added:
},
3598
Added:
{
3599
Added:
"comment": "Procedure statement.",
3600
Added:
"begin": "(?i)\\s*\\b(procedure)\\b",
3601
Added:
"beginCaptures": {
3602
Added:
"1": {
3603
Added:
"name": "keyword.other.procedure.fortran"
3604
Added:
}
3605
Added:
},
3606
Added:
"end": "(?=[;!\\n])",
3607
Added:
"patterns": [
3608
Added:
{
3609
Added:
"match": "\\G\\s*(::)",
3610
Added:
"captures": {
3611
Added:
"1": {
3612
Added:
"name": "keyword.operator.double-colon.fortran"
3613
Added:
}
3614
Added:
}
3615
Added:
},
3616
Added:
{
3617
Added:
"include": "#procedure-name-list"
3618
Added:
}
3619
Added:
]
3620
Added:
}
3621
Added:
]
3622
Added:
},
3623
Added:
"intrinsic-functions": {
3624
Added:
"patterns": [
3625
Added:
{
3626
Added:
"comment": "Intrinsic functions introduced in the Fortran 2008 standard.",
3627
Added:
"begin": "(?ix)\\b(acosh|asinh|atanh|bge|bgt|ble|blt|dshiftl|dshiftr| findloc|hypot|iall|iany|image_index|iparity|is_contiguous|lcobound| leadz|mask[lr]|merge_bits|norm2|num_images|parity|popcnt|poppar| shift[alr]|storage_size|this_image|trailz|ucobound)\\s*(?=\\()",
3628
Added:
"beginCaptures": {
3629
Added:
"1": {
3630
Added:
"name": "support.function.intrinsic.fortran"
3631
Added:
},
3632
Added:
"2": {
3633
Added:
"name": "punctuation.parentheses.left.fortran"
3634
Added:
}
3635
Added:
},
3636
Added:
"end": "(?<!\\G)",
3637
Added:
"endCaptures": {
3638
Added:
"1": {
3639
Added:
"name": "punctuation.parentheses.right.fortran"
3640
Added:
}
3641
Added:
},
3642
Added:
"patterns": [
3643
Added:
{
3644
Added:
"include": "#parentheses-dummy-variables"
3645
Added:
}
3646
Added:
]
3647
Added:
},
3648
Added:
{
3649
Added:
"comment": "Functions accessable through the intrinsic FORTRAN_SPECIAL_FUNCTIONS module. Introduced in the Fortran 2008 standard.",
3650
Added:
"begin": "(?ix)\\b(bessel_[jy][01n]|erf(c(_scaled)?)?|gamma|log_gamma)\\s*(?=\\()",
3651
Added:
"beginCaptures": {
3652
Added:
"1": {
3653
Added:
"name": "support.function.intrinsic.fortran"
3654
Added:
},
3655
Added:
"2": {
3656
Added:
"name": "punctuation.parentheses.left.fortran"
3657
Added:
}
3658
Added:
},
3659
Added:
"end": "(?<!\\G)",
3660
Added:
"endCaptures": {
3661
Added:
"1": {
3662
Added:
"name": "punctuation.parentheses.right.fortran"
3663
Added:
}
3664
Added:
},
3665
Added:
"patterns": [
3666
Added:
{
3667
Added:
"include": "#parentheses-dummy-variables"
3668
Added:
}
3669
Added:
]
3670
Added:
},
3671
Added:
{
3672
Added:
"comment": "Intrinsic functions introduced in the Fortran 2003 standard.",
3673
Added:
"begin": "(?ix)\\b(command_argument_count|extends_type_of|is_iostat_end| is_iostat_eor|new_line|same_type_as|selected_char_kind)\\s*(?=\\()",
3674
Added:
"beginCaptures": {
3675
Added:
"1": {
3676
Added:
"name": "support.function.intrinsic.fortran"
3677
Added:
},
3678
Added:
"2": {
3679
Added:
"name": "punctuation.parentheses.left.fortran"
3680
Added:
}
3681
Added:
},
3682
Added:
"end": "(?<!\\G)",
3683
Added:
"endCaptures": {
3684
Added:
"1": {
3685
Added:
"name": "punctuation.parentheses.right.fortran"
3686
Added:
}
3687
Added:
},
3688
Added:
"patterns": [
3689
Added:
{
3690
Added:
"include": "#parentheses-dummy-variables"
3691
Added:
}
3692
Added:
]
3693
Added:
},
3694
Added:
{
3695
Added:
"comment": "Functions accessable through the intrinsic IEEE_ARITHMETIC module. Introduced in the Fortran 2003 standard.",
3696
Added:
"begin": "(?ix)\\b(ieee_( class|copy_sign|is_(finite|nan|negative|normal)|logb|next_after|rem| rint|scalb|selected_real_kind| support_(datatype|denormal|divide|inf|io|nan|rounding|sqrt|standard|underflow_control)| unordered|value))\\s*(?=\\()",
3697
Added:
"beginCaptures": {
3698
Added:
"1": {
3699
Added:
"name": "support.function.intrinsic.fortran"
3700
Added:
},
3701
Added:
"2": {
3702
Added:
"name": "punctuation.parentheses.left.fortran"
3703
Added:
}
3704
Added:
},
3705
Added:
"end": "(?<!\\G)",
3706
Added:
"endCaptures": {
3707
Added:
"1": {
3708
Added:
"name": "punctuation.parentheses.right.fortran"
3709
Added:
}
3710
Added:
},
3711
Added:
"patterns": [
3712
Added:
{
3713
Added:
"include": "#parentheses-dummy-variables"
3714
Added:
}
3715
Added:
]
3716
Added:
},
3717
Added:
{
3718
Added:
"comment": "Functions accessable through the intrinsic IEEE_EXCEPTIONS module. Introduced in the Fortran 2003 standard.",
3719
Added:
"begin": "(?ix)\\b(ieee_support_(flag|halting))\\s*(?=\\()",
3720
Added:
"beginCaptures": {
3721
Added:
"1": {
3722
Added:
"name": "support.function.intrinsic.fortran"
3723
Added:
},
3724
Added:
"2": {
3725
Added:
"name": "punctuation.parentheses.left.fortran"
3726
Added:
}
3727
Added:
},
3728
Added:
"end": "(?<!\\G)",
3729
Added:
"endCaptures": {
3730
Added:
"1": {
3731
Added:
"name": "punctuation.parentheses.right.fortran"
3732
Added:
}
3733
Added:
},
3734
Added:
"patterns": [
3735
Added:
{
3736
Added:
"include": "#parentheses-dummy-variables"
3737
Added:
}
3738
Added:
]
3739
Added:
},
3740
Added:
{
3741
Added:
"comment": "Functions accessable through the intrinsic ISO_C_BINDING module. Introduced in the Fortran 2003 standard.",
3742
Added:
"begin": "(?ix)\\b(c_(associated|funloc|loc|sizeof))\\s*(?=\\()",
3743
Added:
"beginCaptures": {
3744
Added:
"1": {
3745
Added:
"name": "support.function.intrinsic.fortran"
3746
Added:
}
3747
Added:
},
3748
Added:
"end": "(?<!\\G)",
3749
Added:
"endCaptures": {
3750
Added:
"1": {
3751
Added:
"name": "punctuation.parentheses.right.fortran"
3752
Added:
}
3753
Added:
},
3754
Added:
"patterns": [
3755
Added:
{
3756
Added:
"include": "#parentheses-dummy-variables"
3757
Added:
}
3758
Added:
]
3759
Added:
},
3760
Added:
{
3761
Added:
"comment": "Functions accessable through the intrinsic ISO_FORTRAN_ENV module. Introduced in the Fortran 2003 standard.",
3762
Added:
"begin": "(?ix)\\b(compiler_(options|version))\\s*(?=\\()",
3763
Added:
"beginCaptures": {
3764
Added:
"1": {
3765
Added:
"name": "support.function.intrinsic.fortran"
3766
Added:
},
3767
Added:
"2": {
3768
Added:
"name": "punctuation.parentheses.left.fortran"
3769
Added:
}
3770
Added:
},
3771
Added:
"end": "(?<!\\G)",
3772
Added:
"endCaptures": {
3773
Added:
"1": {
3774
Added:
"name": "punctuation.parentheses.right.fortran"
3775
Added:
}
3776
Added:
},
3777
Added:
"patterns": [
3778
Added:
{
3779
Added:
"include": "#parentheses-dummy-variables"
3780
Added:
}
3781
Added:
]
3782
Added:
},
3783
Added:
{
3784
Added:
"comment": "Intrinsic functions introduced in the Fortran 1995 standard.",
3785
Added:
"begin": "(?ix)\\b(null)\\s*(?=\\()",
3786
Added:
"beginCaptures": {
3787
Added:
"1": {
3788
Added:
"name": "support.function.intrinsic.fortran"
3789
Added:
},
3790
Added:
"2": {
3791
Added:
"name": "punctuation.parentheses.left.fortran"
3792
Added:
}
3793
Added:
},
3794
Added:
"end": "(?<!\\G)",
3795
Added:
"endCaptures": {
3796
Added:
"1": {
3797
Added:
"name": "punctuation.parentheses.right.fortran"
3798
Added:
}
3799
Added:
},
3800
Added:
"patterns": [
3801
Added:
{
3802
Added:
"include": "#parentheses-dummy-variables"
3803
Added:
}
3804
Added:
]
3805
Added:
},
3806
Added:
{
3807
Added:
"comment": "Intrinsic functions introduced in the Fortran 1990 standard.",
3808
Added:
"begin": "(?ix)\\b(achar|adjustl|adjustr|all|allocated|associated|any|bit_size|btest|ceiling|count|cshift|digits|dot_product|eoshift|epsilon|exponent|floor|fraction|huge|iachar|iand|ibclr|ibits|ibset|ieor|ior|ishftc?| kind|lbound|len_trim|logical|matmul|maxexponent|maxloc|maxval|merge|minexponent|minloc|minval|modulo|nearest|not|pack|precision|present|product|radix|range|repeat|reshape|rrspacing|scale|scan|selected_(int|real)_kind|set_exponent|shape|size|spacing|spread|sum|tiny|transfer|transpose|trim|ubound|unpack|verify)\\s*(?=\\()",
3809
Added:
"beginCaptures": {
3810
Added:
"1": {
3811
Added:
"name": "support.function.intrinsic.fortran"
3812
Added:
},
3813
Added:
"2": {
3814
Added:
"name": "punctuation.parentheses.left.fortran"
3815
Added:
}
3816
Added:
},
3817
Added:
"end": "(?<!\\G)",
3818
Added:
"endCaptures": {
3819
Added:
"1": {
3820
Added:
"name": "punctuation.parentheses.right.fortran"
3821
Added:
}
3822
Added:
},
3823
Added:
"patterns": [
3824
Added:
{
3825
Added:
"include": "#parentheses-dummy-variables"
3826
Added:
}
3827
Added:
]
3828
Added:
},
3829
Added:
{
3830
Added:
"comment": "Intrinsic functions introduced in the Fortran 1977 standard.",
3831
Added:
"begin": "(?ix)\\b([icd]?abs|acos|[ad]int|[ad]nint|aimag|amax[01]| amin[01]|d?asin|d?atan|d?atan2|char|conjg|[cd]?cos|d?cosh|cmplx|dble| i?dim|dmax1|dmin1|dprod|[cd]?exp|float|ichar|idint|ifix|index|int|len| lge|lgt|lle|llt|[acd]?log|[ad]?log10|max[01]?|min[01]?|[ad]?mod| (id)?nint|real|[di]?sign|[cd]?sin|d?sinh|sngl|[cd]?sqrt|d?tan|d?tanh) \\s*(?=\\()",
3832
Added:
"beginCaptures": {
3833
Added:
"1": {
3834
Added:
"name": "support.function.intrinsic.fortran"
3835
Added:
},
3836
Added:
"2": {
3837
Added:
"name": "punctuation.parentheses.left.fortran"
3838
Added:
}
3839
Added:
},
3840
Added:
"end": "(?<!\\G)",
3841
Added:
"endCaptures": {
3842
Added:
"1": {
3843
Added:
"name": "punctuation.parentheses.right.fortran"
3844
Added:
}
3845
Added:
},
3846
Added:
"patterns": [
3847
Added:
{
3848
Added:
"include": "#parentheses-dummy-variables"
3849
Added:
}
3850
Added:
]
3851
Added:
}
3852
Added:
]
3853
Added:
},
3854
Added:
"intrinsic-subroutines": {
3855
Added:
"patterns": [
3856
Added:
{
3857
Added:
"comment": "Intrinsic subroutines introduced in the Fortran 1990 standard.",
3858
Added:
"begin": "(?ix)\\G\\s*\\b(date_and_time|mvbits|random_number|random_seed| system_clock)\\s*(?=\\()",
3859
Added:
"beginCaptures": {
3860
Added:
"1": {
3861
Added:
"name": "entity.name.function.subroutine.fortran"
3862
Added:
},
3863
Added:
"2": {
3864
Added:
"name": "punctuation.parentheses.left.fortran"
3865
Added:
}
3866
Added:
},
3867
Added:
"end": "(?<!\\G)",
3868
Added:
"endCaptures": {
3869
Added:
"1": {
3870
Added:
"name": "punctuation.parentheses.right.fortran"
3871
Added:
}
3872
Added:
},
3873
Added:
"patterns": [
3874
Added:
{
3875
Added:
"include": "#parentheses-dummy-variables"
3876
Added:
}
3877
Added:
]
3878
Added:
},
3879
Added:
{
3880
Added:
"comment": "Intrinsic subroutines introduced in the Fortran 1995 standard.",
3881
Added:
"begin": "(?i)\\G\\s*\\b(cpu_time)\\s*(?=\\()",
3882
Added:
"beginCaptures": {
3883
Added:
"1": {
3884
Added:
"name": "entity.name.function.subroutine.fortran"
3885
Added:
},
3886
Added:
"2": {
3887
Added:
"name": "punctuation.parentheses.left.fortran"
3888
Added:
}
3889
Added:
},
3890
Added:
"end": "(?<!\\G)",
3891
Added:
"endCaptures": {
3892
Added:
"1": {
3893
Added:
"name": "punctuation.parentheses.right.fortran"
3894
Added:
}
3895
Added:
},
3896
Added:
"patterns": [
3897
Added:
{
3898
Added:
"include": "#parentheses-dummy-variables"
3899
Added:
}
3900
Added:
]
3901
Added:
},
3902
Added:
{
3903
Added:
"comment": "Subroutines accessable through the intrinsic IEEE_ARITHMETIC module. Introduced in the Fortran 2003 standard.",
3904
Added:
"begin": "(?i)\\G\\s*\\b(ieee_(get|set)_(rounding|underflow)_mode)\\s*(?=\\()",
3905
Added:
"beginCaptures": {
3906
Added:
"1": {
3907
Added:
"name": "entity.name.function.subroutine.fortran"
3908
Added:
},
3909
Added:
"2": {
3910
Added:
"name": "punctuation.parentheses.left.fortran"
3911
Added:
}
3912
Added:
},
3913
Added:
"end": "(?<!\\G)",
3914
Added:
"endCaptures": {
3915
Added:
"1": {
3916
Added:
"name": "punctuation.parentheses.right.fortran"
3917
Added:
}
3918
Added:
},
3919
Added:
"patterns": [
3920
Added:
{
3921
Added:
"include": "#parentheses-dummy-variables"
3922
Added:
}
3923
Added:
]
3924
Added:
},
3925
Added:
{
3926
Added:
"comment": "Subroutines accessable through the intrinsic IEEE_EXCEPTIONS module. Introduced in the Fortran 2003 standard.",
3927
Added:
"begin": "(?i)\\G\\s*\\b(ieee_(get|set)_(flag|halting_mode|status))\\s*(?=\\()",
3928
Added:
"beginCaptures": {
3929
Added:
"1": {
3930
Added:
"name": "entity.name.function.subroutine.fortran"
3931
Added:
},
3932
Added:
"2": {
3933
Added:
"name": "punctuation.parentheses.left.fortran"
3934
Added:
}
3935
Added:
},
3936
Added:
"end": "(?<!\\G)",
3937
Added:
"endCaptures": {
3938
Added:
"1": {
3939
Added:
"name": "punctuation.parentheses.right.fortran"
3940
Added:
}
3941
Added:
},
3942
Added:
"patterns": [
3943
Added:
{
3944
Added:
"include": "#parentheses-dummy-variables"
3945
Added:
}
3946
Added:
]
3947
Added:
},
3948
Added:
{
3949
Added:
"comment": "Subroutines accessable through the intrinsic ISO_C_BINDING module. Introduced in the Fortran 2003 standard.",
3950
Added:
"begin": "(?i)\\G\\s*\\b(c_f_(pointer|procpointer))\\s*(?=\\()",
3951
Added:
"beginCaptures": {
3952
Added:
"1": {
3953
Added:
"name": "entity.name.function.subroutine.fortran"
3954
Added:
},
3955
Added:
"2": {
3956
Added:
"name": "punctuation.parentheses.left.fortran"
3957
Added:
}
3958
Added:
},
3959
Added:
"end": "(?<!\\G)",
3960
Added:
"endCaptures": {
3961
Added:
"1": {
3962
Added:
"name": "punctuation.parentheses.right.fortran"
3963
Added:
}
3964
Added:
},
3965
Added:
"patterns": [
3966
Added:
{
3967
Added:
"include": "#parentheses-dummy-variables"
3968
Added:
}
3969
Added:
]
3970
Added:
},
3971
Added:
{
3972
Added:
"comment": "Intrinsic subroutines introduced in the Fortran 2008 standard.",
3973
Added:
"begin": "(?ix)\\G\\s*\\b(execute_command_line|get_command| get_command_argument|get_environment_variable|move_alloc)\\s*(?=\\()",
3974
Added:
"beginCaptures": {
3975
Added:
"1": {
3976
Added:
"name": "entity.name.function.subroutine.fortran"
3977
Added:
},
3978
Added:
"2": {
3979
Added:
"name": "punctuation.parentheses.left.fortran"
3980
Added:
}
3981
Added:
},
3982
Added:
"end": "(?<!\\G)",
3983
Added:
"endCaptures": {
3984
Added:
"1": {
3985
Added:
"name": "punctuation.parentheses.right.fortran"
3986
Added:
}
3987
Added:
},
3988
Added:
"patterns": [
3989
Added:
{
3990
Added:
"include": "#parentheses-dummy-variables"
3991
Added:
}
3992
Added:
]
3993
Added:
}
3994
Added:
]
3995
Added:
},
3996
Added:
"operators": {
3997
Added:
"patterns": [
3998
Added:
{
3999
Added:
"include": "#arithmetic-operators"
4000
Added:
},
4001
Added:
{
4002
Added:
"include": "#assignment-operator"
4003
Added:
},
4004
Added:
{
4005
Added:
"include": "#derived-type-operators"
4006
Added:
},
4007
Added:
{
4008
Added:
"include": "#logical-operators"
4009
Added:
},
4010
Added:
{
4011
Added:
"include": "#pointer-operators"
4012
Added:
},
4013
Added:
{
4014
Added:
"include": "#string-operators"
4015
Added:
},
4016
Added:
{
4017
Added:
"include": "#user-defined-operators"
4018
Added:
}
4019
Added:
]
4020
Added:
},
4021
Added:
"arithmetic-operators": {
4022
Added:
"comment": "Introduced in the Fortran 1977 standard.",
4023
Added:
"match": "(\\-)|(\\+)|\\/(?!\\/|\\=|\\\\)|(\\*\\*)|(\\*)",
4024
Added:
"captures": {
4025
Added:
"1": {
4026
Added:
"name": "keyword.operator.subtraction.fortran"
4027
Added:
},
4028
Added:
"2": {
4029
Added:
"name": "keyword.operator.addition.fortran"
4030
Added:
},
4031
Added:
"3": {
4032
Added:
"name": "keyword.operator.division.fortran"
4033
Added:
},
4034
Added:
"4": {
4035
Added:
"name": "keyword.operator.power.fortran"
4036
Added:
},
4037
Added:
"5": {
4038
Added:
"name": "keyword.operator.multiplication.fortran"
4039
Added:
}
4040
Added:
}
4041
Added:
},
4042
Added:
"assignment-operator": {
4043
Added:
"comment": "Introduced in the Fortran 1977 standard.",
4044
Added:
"name": "keyword.operator.assignment.fortran",
4045
Added:
"match": "(?<!\\/|\\=|\\<|\\>)(\\=)(?!\\=|\\>)"
4046
Added:
},
4047
Added:
"derived-type-operators": {
4048
Added:
"comment": "Introduced in the Fortran 1995 standard.",
4049
Added:
"match": "\\s*(\\%)",
4050
Added:
"captures": {
4051
Added:
"1": {
4052
Added:
"name": "keyword.other.selector.fortran"
4053
Added:
}
4054
Added:
}
4055
Added:
},
4056
Added:
"line-continuation-operator": {
4057
Added:
"comment": "Operator that allows a line to be continued on the next line.",
4058
Added:
"patterns": [
4059
Added:
{
4060
Added:
"match": "(?:^|(?<=;))\\s*(&)",
4061
Added:
"captures": {
4062
Added:
"1": {
4063
Added:
"name": "keyword.operator.line-continuation.fortran"
4064
Added:
}
4065
Added:
}
4066
Added:
},
4067
Added:
{
4068
Added:
"contentName": "meta.line-continuation.fortran",
4069
Added:
"begin": "\\s*(&)",
4070
Added:
"beginCaptures": {
4071
Added:
"1": {
4072
Added:
"name": "keyword.operator.line-continuation.fortran"
4073
Added:
}
4074
Added:
},
4075
Added:
"end": "(?i)^(?:\\s*(&))?",
4076
Added:
"endCaptures": {
4077
Added:
"1": {
4078
Added:
"name": "keyword.operator.line-continuation.fortran"
4079
Added:
}
4080
Added:
},
4081
Added:
"patterns": [
4082
Added:
{
4083
Added:
"include": "#comments"
4084
Added:
},
4085
Added:
{
4086
Added:
"name": "invalid.error.line-cont.fortran",
4087
Added:
"match": "\\S[^!]*"
4088
Added:
}
4089
Added:
]
4090
Added:
}
4091
Added:
]
4092
Added:
},
4093
Added:
"logical-operators": {
4094
Added:
"patterns": [
4095
Added:
{
4096
Added:
"comment": "Introduced in the Fortran 1977 standard.",
4097
Added:
"match": "(?ix)(\\s*\\.(and|eq|eqv|le|lt|ge|gt|ne|neqv|not|or)\\.)",
4098
Added:
"name": "keyword.logical.fortran"
4099
Added:
},
4100
Added:
{
4101
Added:
"comment": "Introduced in the Fortran 1990 standard.",
4102
Added:
"name": "keyword.logical.fortran.modern",
4103
Added:
"match": "(\\=\\=|\\/\\=|\\>\\=|(?<!\\=)\\>|\\<\\=|\\<)"
4104
Added:
}
4105
Added:
]
4106
Added:
},
4107
Added:
"pointer-operators": {
4108
Added:
"comment": "Introduced in the Fortran 1990 standard.",
4109
Added:
"name": "keyword.other.point.fortran",
4110
Added:
"match": "(\\=\\>)"
4111
Added:
},
4112
Added:
"string-operators": {
4113
Added:
"comment": "Introduced in the Fortran 19?? standard.",
4114
Added:
"name": "keyword.other.concatination.fortran",
4115
Added:
"match": "(\\/\\/)"
4116
Added:
},
4117
Added:
"string-line-continuation-operator": {
4118
Added:
"comment": "Operator that allows a line to be continued on the next line.",
4119
Added:
"begin": "(&)(?=\\s*\\n)",
4120
Added:
"beginCaptures": {
4121
Added:
"1": {
4122
Added:
"name": "keyword.operator.line-continuation.fortran"
4123
Added:
}
4124
Added:
},
4125
Added:
"end": "(?i)^(?:(?=\\s*[^\\s!&])|\\s*(&))",
4126
Added:
"endCaptures": {
4127
Added:
"1": {
4128
Added:
"name": "keyword.operator.line-continuation.fortran"
4129
Added:
}
4130
Added:
},
4131
Added:
"patterns": [
4132
Added:
{
4133
Added:
"include": "#comments"
4134
Added:
},
4135
Added:
{
4136
Added:
"name": "invalid.error.string-line-cont.fortran",
4137
Added:
"match": "\\S.*"
4138
Added:
}
4139
Added:
]
4140
Added:
},
4141
Added:
"user-defined-operators": {
4142
Added:
"match": "(?i)\\s*(\\.[a-z]+\\.)",
4143
Added:
"captures": {
4144
Added:
"1": {
4145
Added:
"name": "keyword.operator.user-defined.fortran"
4146
Added:
}
4147
Added:
}
4148
Added:
},
4149
Added:
"block-data-definition": {
4150
Added:
"name": "meta.block-data.fortran",
4151
Added:
"begin": "(?i)\\b(block\\s*data)\\b(?:\\s+([a-z]\\w*)\\b)?",
4152
Added:
"beginCaptures": {
4153
Added:
"1": {
4154
Added:
"name": "keyword.control.block-data.fortran"
4155
Added:
},
4156
Added:
"2": {
4157
Added:
"name": "entity.name.block-data.fortran"
4158
Added:
}
4159
Added:
},
4160
Added:
"end": "(?ix)\\b(?:(end\\s*block\\s*data)(?:\\s+(\\2))?|(end))\\b (?:\\s*(\\S((?!\\n).)*))?",
4161
Added:
"endCaptures": {
4162
Added:
"1": {
4163
Added:
"name": "keyword.control.end-block-data.fortran"
4164
Added:
},
4165
Added:
"2": {
4166
Added:
"name": "entity.name.block-data.fortran"
4167
Added:
},
4168
Added:
"3": {
4169
Added:
"name": "keyword.control.end-block-data.fortran"
4170
Added:
},
4171
Added:
"4": {
4172
Added:
"name": "invalid.error.block-data-definition.fortran"
4173
Added:
}
4174
Added:
},
4175
Added:
"patterns": [
4176
Added:
{
4177
Added:
"include": "$base"
4178
Added:
}
4179
Added:
]
4180
Added:
},
4181
Added:
"function-definition": {
4182
Added:
"comment": "Function program unit. Introduced in the Fortran 1977 standard.",
4183
Added:
"name": "meta.function.fortran",
4184
Added:
"begin": "(?i)(?=([^:'\";!\\n](?!\\bend)(?!\\bsubroutine\\b))*\\bfunction\\b)",
4185
Added:
"end": "(?=[;!\\n])",
4186
Added:
"patterns": [
4187
Added:
{
4188
Added:
"comment": "Function attribute list.",
4189
Added:
"name": "meta.attribute-list.function.fortran",
4190
Added:
"begin": "(?i)(?=\\G\\s*(?!\\bfunction\\b))",
4191
Added:
"end": "(?i)(?=\\bfunction\\b)",
4192
Added:
"patterns": [
4193
Added:
{
4194
Added:
"include": "#elemental-attribute"
4195
Added:
},
4196
Added:
{
4197
Added:
"include": "#module-attribute"
4198
Added:
},
4199
Added:
{
4200
Added:
"include": "#pure-attribute"
4201
Added:
},
4202
Added:
{
4203
Added:
"include": "#recursive-attribute"
4204
Added:
},
4205
Added:
{
4206
Added:
"include": "#types"
4207
Added:
},
4208
Added:
{
4209
Added:
"include": "#invalid-word"
4210
Added:
}
4211
Added:
]
4212
Added:
},
4213
Added:
{
4214
Added:
"comment": "Captures the function keyword",
4215
Added:
"begin": "(?i)\\b(function)\\b",
4216
Added:
"beginCaptures": {
4217
Added:
"1": {
4218
Added:
"name": "keyword.other.function.fortran"
4219
Added:
}
4220
Added:
},
4221
Added:
"end": "(?=[;!\\n])",
4222
Added:
"patterns": [
4223
Added:
{
4224
Added:
"comment": "Function body.",
4225
Added:
"begin": "(?i)\\G\\s*\\b([a-z]\\w*)\\b",
4226
Added:
"beginCaptures": {
4227
Added:
"1": {
4228
Added:
"name": "entity.name.function.fortran"
4229
Added:
}
4230
Added:
},
4231
Added:
"end": "(?ix)\\s*\\b(?:(end\\s*function)(?:\\s+([a-z_]\\w*))?|(end))\\b \\s*([^;!\\n]+)?(?=[;!\\n])",
4232
Added:
"endCaptures": {
4233
Added:
"1": {
4234
Added:
"name": "keyword.other.endfunction.fortran"
4235
Added:
},
4236
Added:
"2": {
4237
Added:
"name": "entity.name.function.fortran"
4238
Added:
},
4239
Added:
"3": {
4240
Added:
"name": "keyword.other.endfunction.fortran"
4241
Added:
},
4242
Added:
"4": {
4243
Added:
"name": "invalid.error.function.fortran"
4244
Added:
}
4245
Added:
},
4246
Added:
"patterns": [
4247
Added:
{
4248
Added:
"comment": "Rest of the first line in function construct.",
4249
Added:
"name": "meta.function.first-line.fortran",
4250
Added:
"begin": "\\G(?!\\s*[;!\\n])",
4251
Added:
"end": "(?=[;!\\n])",
4252
Added:
"patterns": [
4253
Added:
{
4254
Added:
"include": "#dummy-variable-list"
4255
Added:
},
4256
Added:
{
4257
Added:
"include": "#result-statement"
4258
Added:
},
4259
Added:
{
4260
Added:
"include": "#language-binding-attribute"
4261
Added:
}
4262
Added:
]
4263
Added:
},
4264
Added:
{
4265
Added:
"comment": "Specification and execution block.",
4266
Added:
"name": "meta.block.specification.function.fortran",
4267
Added:
"begin": "(?i)(?!\\b(?:end\\s*[;!\\n]|end\\s*function\\b))",
4268
Added:
"end": "(?i)(?=\\b(?:end\\s*[;!\\n]|end\\s*function\\b))",
4269
Added:
"patterns": [
4270
Added:
{
4271
Added:
"comment": "Contains block.",
4272
Added:
"name": "meta.block.contains.fortran",
4273
Added:
"begin": "(?i)\\b(contains)\\b",
4274
Added:
"beginCaptures": {
4275
Added:
"1": {
4276
Added:
"name": "keyword.control.contains.fortran"
4277
Added:
}
4278
Added:
},
4279
Added:
"end": "(?i)(?=(?:end\\s*[;!\\n]|end\\s*function\\b))",
4280
Added:
"patterns": [
4281
Added:
{
4282
Added:
"include": "$base"
4283
Added:
}
4284
Added:
]
4285
Added:
},
4286
Added:
{
4287
Added:
"include": "$base"
4288
Added:
}
4289
Added:
]
4290
Added:
}
4291
Added:
]
4292
Added:
}
4293
Added:
]
4294
Added:
}
4295
Added:
]
4296
Added:
},
4297
Added:
"module-definition": {
4298
Added:
"comment": "Introduced in the Fortran 1990 standard.",
4299
Added:
"name": "meta.module.fortran",
4300
Added:
"begin": "(?ix)(?=\\b(module)\\b)(?![^'\";!\\n]* \\b(?:function|procedure|subroutine)\\b)",
4301
Added:
"end": "(?=[;!\\n])",
4302
Added:
"patterns": [
4303
Added:
{
4304
Added:
"match": "(?i)\\G\\s*\\b(module)\\b",
4305
Added:
"captures": {
4306
Added:
"1": {
4307
Added:
"name": "keyword.other.program.fortran"
4308
Added:
}
4309
Added:
}
4310
Added:
},
4311
Added:
{
4312
Added:
"comment": "Module body.",
4313
Added:
"begin": "(?i)\\s*\\b([a-z]\\w*)\\b",
4314
Added:
"beginCaptures": {
4315
Added:
"1": {
4316
Added:
"name": "entity.name.class.module.fortran"
4317
Added:
}
4318
Added:
},
4319
Added:
"end": "(?ix)\\b(?:(end\\s*module)(?:\\s+([a-z_]\\w*))?|(end))\\b \\s*([^;!\\n]+)?(?=[;!\\n])",
4320
Added:
"endCaptures": {
4321
Added:
"1": {
4322
Added:
"name": "keyword.other.endmodule.fortran"
4323
Added:
},
4324
Added:
"2": {
4325
Added:
"name": "entity.name.class.module.fortran"
4326
Added:
},
4327
Added:
"3": {
4328
Added:
"name": "keyword.other.endmodule.fortran"
4329
Added:
},
4330
Added:
"4": {
4331
Added:
"name": "invalid.error.module-definition.fortran"
4332
Added:
}
4333
Added:
},
4334
Added:
"applyEndPatternLast": 1,
4335
Added:
"patterns": [
4336
Added:
{
4337
Added:
"comment": "Module specification block.",
4338
Added:
"name": "meta.block.specification.module.fortran",
4339
Added:
"begin": "\\G",
4340
Added:
"end": "(?i)(?=\\b(?:end\\s*[;!\\n]|end\\s*module\\b))",
4341
Added:
"patterns": [
4342
Added:
{
4343
Added:
"comment": "Module contains block.",
4344
Added:
"name": "meta.block.contains.fortran",
4345
Added:
"begin": "(?i)\\b(contains)\\b",
4346
Added:
"beginCaptures": {
4347
Added:
"1": {
4348
Added:
"name": "keyword.control.contains.fortran"
4349
Added:
}
4350
Added:
},
4351
Added:
"end": "(?i)(?=\\s*(?:end\\s*[;!\\n]|end\\s*module\\b))",
4352
Added:
"patterns": [
4353
Added:
{
4354
Added:
"include": "$base"
4355
Added:
}
4356
Added:
]
4357
Added:
},
4358
Added:
{
4359
Added:
"include": "$base"
4360
Added:
}
4361
Added:
]
4362
Added:
}
4363
Added:
]
4364
Added:
}
4365
Added:
]
4366
Added:
},
4367
Added:
"program-definition": {
4368
Added:
"comment": "Introduced in the Fortran 1977 standard.",
4369
Added:
"name": "meta.program.fortran",
4370
Added:
"begin": "(?i)(?=\\b(program)\\b)",
4371
Added:
"end": "(?=[;!\\n])",
4372
Added:
"patterns": [
4373
Added:
{
4374
Added:
"match": "(?i)\\G\\s*\\b(program)\\b",
4375
Added:
"captures": {
4376
Added:
"1": {
4377
Added:
"name": "keyword.control.program.fortran"
4378
Added:
}
4379
Added:
}
4380
Added:
},
4381
Added:
{
4382
Added:
"comment": "Program body.",
4383
Added:
"begin": "(?i)\\s*\\b([a-z]\\w*)\\b",
4384
Added:
"beginCaptures": {
4385
Added:
"1": {
4386
Added:
"name": "entity.name.program.fortran"
4387
Added:
}
4388
Added:
},
4389
Added:
"end": "(?ix)\\b(?:(end\\s*program)(?:\\s+([a-z_]\\w*))?|(end))\\b\\s*([^;!\\n]+)?(?=[;!\\n])",
4390
Added:
"endCaptures": {
4391
Added:
"1": {
4392
Added:
"name": "keyword.control.endprogram.fortran"
4393
Added:
},
4394
Added:
"2": {
4395
Added:
"name": "entity.name.program.fortran"
4396
Added:
},
4397
Added:
"3": {
4398
Added:
"name": "keyword.control.endprogram.fortran"
4399
Added:
},
4400
Added:
"4": {
4401
Added:
"name": "invalid.error.program-definition.fortran"
4402
Added:
}
4403
Added:
},
4404
Added:
"applyEndPatternLast": 1,
4405
Added:
"patterns": [
4406
Added:
{
4407
Added:
"comment": "Program specification block.",
4408
Added:
"name": "meta.block.specification.program.fortran",
4409
Added:
"begin": "\\G",
4410
Added:
"end": "(?i)(?=\\b(?:end\\s*[;!\\n]|end\\s*program\\b))",
4411
Added:
"patterns": [
4412
Added:
{
4413
Added:
"comment": "Program contains block.",
4414
Added:
"name": "meta.block.contains.fortran",
4415
Added:
"begin": "(?i)\\b(contains)\\b",
4416
Added:
"beginCaptures": {
4417
Added:
"1": {
4418
Added:
"name": "keyword.control.contains.fortran"
4419
Added:
}
4420
Added:
},
4421
Added:
"end": "(?i)(?=(?:end\\s*[;!\\n]|end\\s*program\\b))",
4422
Added:
"patterns": [
4423
Added:
{
4424
Added:
"include": "$base"
4425
Added:
}
4426
Added:
]
4427
Added:
},
4428
Added:
{
4429
Added:
"include": "$base"
4430
Added:
}
4431
Added:
]
4432
Added:
}
4433
Added:
]
4434
Added:
}
4435
Added:
]
4436
Added:
},
4437
Added:
"procedure-definition": {
4438
Added:
"comment": "Procedure program unit. Introduced in the Fortran 2008 standard.",
4439
Added:
"name": "meta.procedure.fortran",
4440
Added:
"begin": "(?i)(?=[^'\";!\\n]*\\bmodule\\s+procedure\\b)",
4441
Added:
"end": "(?=[;!\\n])",
4442
Added:
"patterns": [
4443
Added:
{
4444
Added:
"begin": "(?i)\\s*\\b(module\\s+procedure)\\b",
4445
Added:
"beginCaptures": {
4446
Added:
"1": {
4447
Added:
"name": "keyword.other.procedure.fortran"
4448
Added:
}
4449
Added:
},
4450
Added:
"end": "(?=[;!\\n])",
4451
Added:
"patterns": [
4452
Added:
{
4453
Added:
"comment": "Procedure body.",
4454
Added:
"begin": "(?i)\\G\\s*\\b([a-z]\\w*)\\b",
4455
Added:
"beginCaptures": {
4456
Added:
"1": {
4457
Added:
"name": "entity.name.function.procedure.fortran"
4458
Added:
}
4459
Added:
},
4460
Added:
"end": "(?ix)\\s*\\b(?:(end\\s*procedure)(?:\\s+([a-z_]\\w*))?|(end))\\b \\s*([^;!\\n]+)?(?=[;!\\n])",
4461
Added:
"endCaptures": {
4462
Added:
"1": {
4463
Added:
"name": "keyword.other.endprocedure.fortran"
4464
Added:
},
4465
Added:
"2": {
4466
Added:
"name": "entity.name.function.procedure.fortran"
4467
Added:
},
4468
Added:
"3": {
4469
Added:
"name": "keyword.other.endprocedure.fortran"
4470
Added:
},
4471
Added:
"4": {
4472
Added:
"name": "invalid.error.procedure-definition.fortran"
4473
Added:
}
4474
Added:
},
4475
Added:
"patterns": [
4476
Added:
{
4477
Added:
"comment": "Rest of the first line in procedure construct - should be empty.",
4478
Added:
"name": "meta.first-line.fortran",
4479
Added:
"begin": "\\G(?!\\s*[;!\\n])",
4480
Added:
"end": "(?=[;!\\n])",
4481
Added:
"patterns": [
4482
Added:
{
4483
Added:
"include": "#invalid-character"
4484
Added:
}
4485
Added:
]
4486
Added:
},
4487
Added:
{
4488
Added:
"comment": "Specification and execution block.",
4489
Added:
"name": "meta.block.specification.procedure.fortran",
4490
Added:
"begin": "(?i)(?!\\s*(?:contains\\b|end\\s*[;!\\n]|end\\s*procedure\\b))",
4491
Added:
"end": "(?i)(?=\\s*(?:contains\\b|end\\s*[;!\\n]|end\\s*procedure\\b))",
4492
Added:
"patterns": [
4493
Added:
{
4494
Added:
"include": "$self"
4495
Added:
}
4496
Added:
]
4497
Added:
},
4498
Added:
{
4499
Added:
"comment": "Contains block.",
4500
Added:
"name": "meta.block.contains.fortran",
4501
Added:
"begin": "(?i)\\s*(contains)\\b",
4502
Added:
"beginCaptures": {
4503
Added:
"1": {
4504
Added:
"name": "keyword.control.contains.fortran"
4505
Added:
}
4506
Added:
},
4507
Added:
"end": "(?i)(?=\\s*(?:end\\s*[;!\\n]|end\\s*procedure\\b))",
4508
Added:
"patterns": [
4509
Added:
{
4510
Added:
"include": "$self"
4511
Added:
}
4512
Added:
]
4513
Added:
}
4514
Added:
]
4515
Added:
}
4516
Added:
]
4517
Added:
}
4518
Added:
]
4519
Added:
},
4520
Added:
"subroutine-definition": {
4521
Added:
"comment": "Subroutine program unit. Introduced in the Fortran 1977 standard.",
4522
Added:
"name": "meta.subroutine.fortran",
4523
Added:
"begin": "(?i)(?=([^:'\";!\\n](?!\\bend))*\\bsubroutine\\b)",
4524
Added:
"end": "(?=[;!\\n])",
4525
Added:
"patterns": [
4526
Added:
{
4527
Added:
"comment": "Attribute list.",
4528
Added:
"name": "meta.attribute-list.subroutine.fortran",
4529
Added:
"begin": "(?i)(?=\\G\\s*(?!\\bsubroutine\\b))",
4530
Added:
"end": "(?i)(?=\\bsubroutine\\b)",
4531
Added:
"patterns": [
4532
Added:
{
4533
Added:
"include": "#elemental-attribute"
4534
Added:
},
4535
Added:
{
4536
Added:
"include": "#module-attribute"
4537
Added:
},
4538
Added:
{
4539
Added:
"include": "#pure-attribute"
4540
Added:
},
4541
Added:
{
4542
Added:
"include": "#recursive-attribute"
4543
Added:
},
4544
Added:
{
4545
Added:
"include": "#invalid-word"
4546
Added:
}
4547
Added:
]
4548
Added:
},
4549
Added:
{
4550
Added:
"begin": "(?i)\\s*\\b(subroutine)\\b",
4551
Added:
"beginCaptures": {
4552
Added:
"1": {
4553
Added:
"name": "keyword.other.subroutine.fortran"
4554
Added:
}
4555
Added:
},
4556
Added:
"end": "(?=[;!\\n])",
4557
Added:
"patterns": [
4558
Added:
{
4559
Added:
"comment": "Subroutine body.",
4560
Added:
"begin": "(?i)\\G\\s*\\b([a-z]\\w*)\\b",
4561
Added:
"beginCaptures": {
4562
Added:
"1": {
4563
Added:
"name": "entity.name.function.subroutine.fortran"
4564
Added:
}
4565
Added:
},
4566
Added:
"end": "(?ix)\\b(?:(end\\s*subroutine)(?:\\s+([a-z_]\\w*))?|(end))\\b \\s*([^;!\\n]+)?(?=[;!\\n])",
4567
Added:
"endCaptures": {
4568
Added:
"1": {
4569
Added:
"name": "keyword.other.endsubroutine.fortran"
4570
Added:
},
4571
Added:
"2": {
4572
Added:
"name": "entity.name.function.subroutine.fortran"
4573
Added:
},
4574
Added:
"3": {
4575
Added:
"name": "keyword.other.endsubroutine.fortran"
4576
Added:
},
4577
Added:
"4": {
4578
Added:
"name": "invalid.error.subroutine.fortran"
4579
Added:
}
4580
Added:
},
4581
Added:
"patterns": [
4582
Added:
{
4583
Added:
"comment": "Rest of the first line in subroutine construct.",
4584
Added:
"name": "meta.first-line.fortran",
4585
Added:
"begin": "\\G(?!\\s*[;!\\n])",
4586
Added:
"end": "(?=[;!\\n])",
4587
Added:
"patterns": [
4588
Added:
{
4589
Added:
"include": "#dummy-variable-list"
4590
Added:
},
4591
Added:
{
4592
Added:
"include": "#language-binding-attribute"
4593
Added:
}
4594
Added:
]
4595
Added:
},
4596
Added:
{
4597
Added:
"comment": "Specification and execution block.",
4598
Added:
"name": "meta.block.specification.subroutine.fortran",
4599
Added:
"begin": "(?i)(?!\\b(?:end\\s*[;!\\n]|end\\s*subroutine\\b))",
4600
Added:
"end": "(?i)(?=\\b(?:end\\s*[;!\\n]|end\\s*subroutine\\b))",
4601
Added:
"patterns": [
4602
Added:
{
4603
Added:
"comment": "Contains block.",
4604
Added:
"name": "meta.block.contains.fortran",
4605
Added:
"begin": "(?i)\\b(contains)\\b",
4606
Added:
"beginCaptures": {
4607
Added:
"1": {
4608
Added:
"name": "keyword.control.contains.fortran"
4609
Added:
}
4610
Added:
},
4611
Added:
"end": "(?i)(?=(?:end\\s*[;!\\n]|end\\s*subroutine\\b))",
4612
Added:
"patterns": [
4613
Added:
{
4614
Added:
"include": "$base"
4615
Added:
}
4616
Added:
]
4617
Added:
},
4618
Added:
{
4619
Added:
"include": "$base"
4620
Added:
}
4621
Added:
]
4622
Added:
}
4623
Added:
]
4624
Added:
}
4625
Added:
]
4626
Added:
}
4627
Added:
]
4628
Added:
},
4629
Added:
"submodule-definition": {
4630
Added:
"comment": "Introduced in the Fortran 2008 standard.",
4631
Added:
"name": "meta.submodule.fortran",
4632
Added:
"begin": "(?i)(?=\\b(submodule)\\s*\\()",
4633
Added:
"end": "(?=[;!\\n])",
4634
Added:
"patterns": [
4635
Added:
{
4636
Added:
"begin": "(?i)\\G\\s*\\b(submodule)\\s*(\\()\\s*(\\w+)",
4637
Added:
"beginCaptures": {
4638
Added:
"1": {
4639
Added:
"name": "keyword.other.submodule.fortran"
4640
Added:
},
4641
Added:
"2": {
4642
Added:
"name": "punctuation.parentheses.left.fortran"
4643
Added:
},
4644
Added:
"3": {
4645
Added:
"name": "entity.name.class.submodule.fortran"
4646
Added:
}
4647
Added:
},
4648
Added:
"end": "(\\))",
4649
Added:
"endCaptures": {
4650
Added:
"1": {
4651
Added:
"name": "punctuation.parentheses.left.fortran"
4652
Added:
}
4653
Added:
},
4654
Added:
"patterns": []
4655
Added:
},
4656
Added:
{
4657
Added:
"comment": "Submodule body.",
4658
Added:
"begin": "(?i)\\s*\\b([a-z]\\w*)\\b",
4659
Added:
"beginCaptures": {
4660
Added:
"1": {
4661
Added:
"name": "entity.name.module.submodule.fortran"
4662
Added:
}
4663
Added:
},
4664
Added:
"end": "(?ix)\\s*\\b(?:(end\\s*submodule)(?:\\s+([a-z_]\\w*))?|(end))\\b \\s*([^;!\\n]+)?(?=[;!\\n])",
4665
Added:
"endCaptures": {
4666
Added:
"1": {
4667
Added:
"name": "keyword.other.endsubmodule.fortran"
4668
Added:
},
4669
Added:
"2": {
4670
Added:
"name": "entity.name.module.submodule.fortran"
4671
Added:
},
4672
Added:
"3": {
4673
Added:
"name": "keyword.other.endsubmodule.fortran"
4674
Added:
},
4675
Added:
"4": {
4676
Added:
"name": "invalid.error.submodule.fortran"
4677
Added:
}
4678
Added:
},
4679
Added:
"applyEndPatternLast": 1,
4680
Added:
"patterns": [
4681
Added:
{
4682
Added:
"comment": "Submodule specification block.",
4683
Added:
"name": "meta.block.specification.submodule.fortran",
4684
Added:
"begin": "\\G",
4685
Added:
"end": "(?i)(?=\\b(?:end\\s*[;!\\n]|end\\s*submodule\\b))",
4686
Added:
"patterns": [
4687
Added:
{
4688
Added:
"comment": "Submodule contains block.",
4689
Added:
"name": "meta.block.contains.fortran",
4690
Added:
"begin": "(?i)\\b(contains)\\b",
4691
Added:
"beginCaptures": {
4692
Added:
"1": {
4693
Added:
"name": "keyword.control.contains.fortran"
4694
Added:
}
4695
Added:
},
4696
Added:
"end": "(?i)(?=\\s*(?:end\\s*[;!\\n]|end\\s*submodule\\b))",
4697
Added:
"patterns": [
4698
Added:
{
4699
Added:
"include": "$base"
4700
Added:
}
4701
Added:
]
4702
Added:
},
4703
Added:
{
4704
Added:
"include": "$base"
4705
Added:
}
4706
Added:
]
4707
Added:
}
4708
Added:
]
4709
Added:
}
4710
Added:
]
4711
Added:
},
4712
Added:
"type-specification-statements": {
4713
Added:
"name": "meta.specification.type.fortran",
4714
Added:
"comment": "Supported types for function and escape :: if function is used as a variable name (which is bad practice).",
4715
Added:
"begin": "(?ix)(?=\\b(?:character|class|complex|double\\s*precision|double\\s*complex|integer|logical|real|type|dimension)\\b(?![^'\";!\\n:]*\\bfunction\\b))",
4716
Added:
"end": "(?=[\\);!\\n])",
4717
Added:
"patterns": [
4718
Added:
{
4719
Added:
"include": "#types"
4720
Added:
},
4721
Added:
{
4722
Added:
"comment": "Attribute list.",
4723
Added:
"contentName": "meta.attribute-list.type-specification-statements.fortran",
4724
Added:
"begin": "(?=\\s*(,|::))",
4725
Added:
"end": "(::)|(?=[;!\\n])",
4726
Added:
"endCaptures": {
4727
Added:
"1": {
4728
Added:
"name": "keyword.operator.double-colon.fortran"
4729
Added:
}
4730
Added:
},
4731
Added:
"patterns": [
4732
Added:
{
4733
Added:
"begin": "(,)|^|(?<=&)",
4734
Added:
"beginCaptures": {
4735
Added:
"1": {
4736
Added:
"name": "punctuation.comma.fortran"
4737
Added:
}
4738
Added:
},
4739
Added:
"end": "(?=::|[,&;!\\n])",
4740
Added:
"patterns": [
4741
Added:
{
4742
Added:
"include": "#access-attribute"
4743
Added:
},
4744
Added:
{
4745
Added:
"include": "#allocatable-attribute"
4746
Added:
},
4747
Added:
{
4748
Added:
"include": "#asynchronous-attribute"
4749
Added:
},
4750
Added:
{
4751
Added:
"include": "#codimension-attribute"
4752
Added:
},
4753
Added:
{
4754
Added:
"include": "#contiguous-attribute"
4755
Added:
},
4756
Added:
{
4757
Added:
"include": "#dimension-attribute"
4758
Added:
},
4759
Added:
{
4760
Added:
"include": "#external-attribute"
4761
Added:
},
4762
Added:
{
4763
Added:
"include": "#intent-attribute"
4764
Added:
},
4765
Added:
{
4766
Added:
"include": "#intrinsic-attribute"
4767
Added:
},
4768
Added:
{
4769
Added:
"include": "#language-binding-attribute"
4770
Added:
},
4771
Added:
{
4772
Added:
"include": "#optional-attribute"
4773
Added:
},
4774
Added:
{
4775
Added:
"include": "#parameter-attribute"
4776
Added:
},
4777
Added:
{
4778
Added:
"include": "#pointer-attribute"
4779
Added:
},
4780
Added:
{
4781
Added:
"include": "#protected-attribute"
4782
Added:
},
4783
Added:
{
4784
Added:
"include": "#save-attribute"
4785
Added:
},
4786
Added:
{
4787
Added:
"include": "#target-attribute"
4788
Added:
},
4789
Added:
{
4790
Added:
"include": "#value-attribute"
4791
Added:
},
4792
Added:
{
4793
Added:
"include": "#volatile-attribute"
4794
Added:
},
4795
Added:
{
4796
Added:
"include": "#invalid-word"
4797
Added:
}
4798
Added:
]
4799
Added:
}
4800
Added:
]
4801
Added:
},
4802
Added:
{
4803
Added:
"include": "#name-list"
4804
Added:
}
4805
Added:
]
4806
Added:
},
4807
Added:
"procedure-specification-statement": {
4808
Added:
"comment": "Introduced in the Fortran 2003 standard.",
4809
Added:
"name": "meta.specification.procedure.fortran",
4810
Added:
"begin": "(?i)(?=\\b(?:procedure)\\b)",
4811
Added:
"end": "(?=[;!\\n])",
4812
Added:
"patterns": [
4813
Added:
{
4814
Added:
"include": "#procedure-type"
4815
Added:
},
4816
Added:
{
4817
Added:
"comment": "Attribute list.",
4818
Added:
"contentName": "meta.attribute-list.procedure.fortran",
4819
Added:
"begin": "(?=\\s*(,|::|\\())",
4820
Added:
"end": "(::)|(?=[;!\\n])",
4821
Added:
"endCaptures": {
4822
Added:
"1": {
4823
Added:
"name": "keyword.operator.double-colon.fortran"
4824
Added:
}
4825
Added:
},
4826
Added:
"patterns": [
4827
Added:
{
4828
Added:
"begin": "(,)|^|(?<=&)",
4829
Added:
"beginCaptures": {
4830
Added:
"1": {
4831
Added:
"name": "punctuation.comma.fortran"
4832
Added:
}
4833
Added:
},
4834
Added:
"end": "(?=::|[,&;!\\n])",
4835
Added:
"patterns": [
4836
Added:
{
4837
Added:
"include": "#access-attribute"
4838
Added:
},
4839
Added:
{
4840
Added:
"include": "#intent-attribute"
4841
Added:
},
4842
Added:
{
4843
Added:
"include": "#optional-attribute"
4844
Added:
},
4845
Added:
{
4846
Added:
"include": "#pointer-attribute"
4847
Added:
},
4848
Added:
{
4849
Added:
"include": "#protected-attribute"
4850
Added:
},
4851
Added:
{
4852
Added:
"include": "#save-attribute"
4853
Added:
},
4854
Added:
{
4855
Added:
"include": "#invalid-word"
4856
Added:
}
4857
Added:
]
4858
Added:
}
4859
Added:
]
4860
Added:
},
4861
Added:
{
4862
Added:
"include": "#procedure-name-list"
4863
Added:
}
4864
Added:
]
4865
Added:
},
4866
Added:
"specification-statements": {
4867
Added:
"patterns": [
4868
Added:
{
4869
Added:
"include": "#attribute-specification-statement"
4870
Added:
},
4871
Added:
{
4872
Added:
"include": "#common-statement"
4873
Added:
},
4874
Added:
{
4875
Added:
"include": "#data-statement"
4876
Added:
},
4877
Added:
{
4878
Added:
"include": "#equivalence-statement"
4879
Added:
},
4880
Added:
{
4881
Added:
"include": "#implicit-statement"
4882
Added:
},
4883
Added:
{
4884
Added:
"include": "#namelist-statement"
4885
Added:
},
4886
Added:
{
4887
Added:
"include": "#use-statement"
4888
Added:
}
4889
Added:
]
4890
Added:
},
4891
Added:
"attribute-specification-statement": {
4892
Added:
"name": "meta.statement.attribute-specification.fortran",
4893
Added:
"begin": "(?ix)(?=\\b(?:allocatable|asynchronous|contiguous |external|intrinsic|optional|parameter|pointer|private|protected|public|save|target|value|volatile)\\b |(bind|dimension|intent)\\s*\\( |(codimension)\\s*\\[)",
4894
Added:
"end": "(?=[;!\\n])",
4895
Added:
"patterns": [
4896
Added:
{
4897
Added:
"include": "#access-attribute"
4898
Added:
},
4899
Added:
{
4900
Added:
"include": "#allocatable-attribute"
4901
Added:
},
4902
Added:
{
4903
Added:
"include": "#asynchronous-attribute"
4904
Added:
},
4905
Added:
{
4906
Added:
"include": "#codimension-attribute"
4907
Added:
},
4908
Added:
{
4909
Added:
"include": "#contiguous-attribute"
4910
Added:
},
4911
Added:
{
4912
Added:
"include": "#dimension-attribute"
4913
Added:
},
4914
Added:
{
4915
Added:
"include": "#external-attribute"
4916
Added:
},
4917
Added:
{
4918
Added:
"include": "#intent-attribute"
4919
Added:
},
4920
Added:
{
4921
Added:
"include": "#intrinsic-attribute"
4922
Added:
},
4923
Added:
{
4924
Added:
"include": "#language-binding-attribute"
4925
Added:
},
4926
Added:
{
4927
Added:
"include": "#optional-attribute"
4928
Added:
},
4929
Added:
{
4930
Added:
"include": "#parameter-attribute"
4931
Added:
},
4932
Added:
{
4933
Added:
"include": "#pointer-attribute"
4934
Added:
},
4935
Added:
{
4936
Added:
"include": "#protected-attribute"
4937
Added:
},
4938
Added:
{
4939
Added:
"include": "#save-attribute"
4940
Added:
},
4941
Added:
{
4942
Added:
"include": "#target-attribute"
4943
Added:
},
4944
Added:
{
4945
Added:
"include": "#value-attribute"
4946
Added:
},
4947
Added:
{
4948
Added:
"include": "#volatile-attribute"
4949
Added:
},
4950
Added:
{
4951
Added:
"comment": "Attribute list.",
4952
Added:
"contentName": "meta.attribute-list.normal.fortran",
4953
Added:
"begin": "(?=\\s*::)",
4954
Added:
"end": "(::)|(?=[;!\\n])",
4955
Added:
"endCaptures": {
4956
Added:
"1": {
4957
Added:
"name": "keyword.operator.double-colon.fortran"
4958
Added:
}
4959
Added:
},
4960
Added:
"patterns": [
4961
Added:
{
4962
Added:
"include": "#invalid-word"
4963
Added:
}
4964
Added:
]
4965
Added:
},
4966
Added:
{
4967
Added:
"include": "#name-list"
4968
Added:
}
4969
Added:
]
4970
Added:
},
4971
Added:
"common-statement": {
4972
Added:
"begin": "(?i)\\b(common)\\b",
4973
Added:
"beginCaptures": {
4974
Added:
"1": {
4975
Added:
"name": "keyword.control.common.fortran"
4976
Added:
}
4977
Added:
},
4978
Added:
"end": "(?=[;!\\n])",
4979
Added:
"patterns": [
4980
Added:
{
4981
Added:
"include": "$base"
4982
Added:
}
4983
Added:
]
4984
Added:
},
4985
Added:
"data-statement": {
4986
Added:
"begin": "(?i)\\b(data)\\b",
4987
Added:
"beginCaptures": {
4988
Added:
"1": {
4989
Added:
"name": "keyword.control.data.fortran"
4990
Added:
}
4991
Added:
},
4992
Added:
"end": "(?=[;!\\n])",
4993
Added:
"patterns": [
4994
Added:
{
4995
Added:
"include": "$base"
4996
Added:
}
4997
Added:
]
4998
Added:
},
4999
Added:
"equivalence-statement": {
5000
Added:
"begin": "(?i)\\b(equivalence)\\b",
5001
Added:
"beginCaptures": {
5002
Added:
"1": {
5003
Added:
"name": "keyword.control.common.fortran"
5004
Added:
}
5005
Added:
},
5006
Added:
"end": "(?=[;!\\n])",
5007
Added:
"patterns": [
5008
Added:
{
5009
Added:
"begin": "(?:\\G|(,))",
5010
Added:
"beginCaptures": {
5011
Added:
"1": {
5012
Added:
"name": "puntuation.comma.fortran"
5013
Added:
}
5014
Added:
},
5015
Added:
"end": "(?=[,;!\\n])",
5016
Added:
"patterns": [
5017
Added:
{
5018
Added:
"include": "#parentheses-dummy-variables"
5019
Added:
}
5020
Added:
]
5021
Added:
}
5022
Added:
]
5023
Added:
},
5024
Added:
"implicit-statement": {
5025
Added:
"name": "meta.statement.implicit.fortran",
5026
Added:
"begin": "(?i)\\b(implicit)\\b",
5027
Added:
"beginCaptures": {
5028
Added:
"1": {
5029
Added:
"name": "keyword.other.implicit.fortran"
5030
Added:
}
5031
Added:
},
5032
Added:
"end": "(?=[;!\\n])",
5033
Added:
"patterns": [
5034
Added:
{
5035
Added:
"match": "(?i)\\s*\\b(none)\\b",
5036
Added:
"captures": {
5037
Added:
"1": {
5038
Added:
"name": "keyword.other.none.fortran"
5039
Added:
}
5040
Added:
}
5041
Added:
},
5042
Added:
{
5043
Added:
"include": "$base"
5044
Added:
}
5045
Added:
]
5046
Added:
},
5047
Added:
"namelist-statement": {
5048
Added:
"comment": "Introduced in the Fortran 1990 standard.",
5049
Added:
"begin": "(?i)\\b(namelist)\\b",
5050
Added:
"beginCaptures": {
5051
Added:
"1": {
5052
Added:
"name": "keyword.control.namelist.fortran"
5053
Added:
}
5054
Added:
},
5055
Added:
"end": "(?=[;!\\n])",
5056
Added:
"patterns": [
5057
Added:
{
5058
Added:
"include": "$base"
5059
Added:
}
5060
Added:
]
5061
Added:
},
5062
Added:
"use-statement": {
5063
Added:
"comment": "Introduced in the Fortran 1990 standard.",
5064
Added:
"name": "meta.statement.use.fortran",
5065
Added:
"begin": "(?i)\\b(use)\\b",
5066
Added:
"beginCaptures": {
5067
Added:
"1": {
5068
Added:
"name": "keyword.control.use.fortran"
5069
Added:
}
5070
Added:
},
5071
Added:
"end": "(?=[;!\\n])",
5072
Added:
"patterns": [
5073
Added:
{
5074
Added:
"comment": "Attribute list.",
5075
Added:
"contentName": "meta.attribute-list.namelist.fortran",
5076
Added:
"begin": "(?=\\s*(,|::|\\())",
5077
Added:
"end": "(::)|(?=[;!\\n])",
5078
Added:
"endCaptures": {
5079
Added:
"1": {
5080
Added:
"name": "keyword.operator.double-colon.fortran"
5081
Added:
}
5082
Added:
},
5083
Added:
"patterns": [
5084
Added:
{
5085
Added:
"begin": "(,)",
5086
Added:
"beginCaptures": {
5087
Added:
"1": {
5088
Added:
"name": "punctuation.comma.fortran"
5089
Added:
}
5090
Added:
},
5091
Added:
"end": "(?=::|[,;!\\n])",
5092
Added:
"patterns": [
5093
Added:
{
5094
Added:
"include": "#intrinsic-attribute"
5095
Added:
},
5096
Added:
{
5097
Added:
"include": "#non-intrinsic-attribute"
5098
Added:
},
5099
Added:
{
5100
Added:
"include": "#invalid-word"
5101
Added:
}
5102
Added:
]
5103
Added:
}
5104
Added:
]
5105
Added:
},
5106
Added:
{
5107
Added:
"begin": "(?i)\\s*\\b([a-z]\\w*)\\b",
5108
Added:
"beginCaptures": {
5109
Added:
"1": {
5110
Added:
"name": "entity.name.class.module.fortran"
5111
Added:
}
5112
Added:
},
5113
Added:
"end": "(?=[;!\\n])",
5114
Added:
"patterns": [
5115
Added:
{
5116
Added:
"begin": "(,)",
5117
Added:
"beginCaptures": {
5118
Added:
"1": {
5119
Added:
"name": "punctuation.comma.fortran"
5120
Added:
}
5121
Added:
},
5122
Added:
"end": "(?=::|[;!\\n])",
5123
Added:
"patterns": [
5124
Added:
{
5125
Added:
"begin": "(?i)\\s*\\b(only\\s*:)",
5126
Added:
"beginCaptures": {
5127
Added:
"1": {
5128
Added:
"name": "keyword.control.only.fortran"
5129
Added:
}
5130
Added:
},
5131
Added:
"end": "(?=[;!\\n])",
5132
Added:
"patterns": [
5133
Added:
{
5134
Added:
"include": "#operator-keyword"
5135
Added:
},
5136
Added:
{
5137
Added:
"include": "$base"
5138
Added:
}
5139
Added:
]
5140
Added:
},
5141
Added:
{
5142
Added:
"contentName": "meta.name-list.fortran",
5143
Added:
"begin": "(?i)(?=\\s*[a-z])",
5144
Added:
"end": "(?=[;!\\n])",
5145
Added:
"patterns": [
5146
Added:
{
5147
Added:
"include": "#operator-keyword"
5148
Added:
},
5149
Added:
{
5150
Added:
"include": "$base"
5151
Added:
}
5152
Added:
]
5153
Added:
}
5154
Added:
]
5155
Added:
}
5156
Added:
]
5157
Added:
}
5158
Added:
]
5159
Added:
},
5160
Added:
"types": {
5161
Added:
"patterns": [
5162
Added:
{
5163
Added:
"include": "#character-type"
5164
Added:
},
5165
Added:
{
5166
Added:
"include": "#derived-type"
5167
Added:
},
5168
Added:
{
5169
Added:
"include": "#logical-type"
5170
Added:
},
5171
Added:
{
5172
Added:
"include": "#numeric-type"
5173
Added:
}
5174
Added:
]
5175
Added:
},
5176
Added:
"character-type": {
5177
Added:
"comment": "Introduced in the Fortran 1977 standard.",
5178
Added:
"patterns": [
5179
Added:
{
5180
Added:
"begin": "(?i)\\b(character)\\s*(?=\\()",
5181
Added:
"beginCaptures": {
5182
Added:
"1": {
5183
Added:
"name": "storage.type.character.fortran"
5184
Added:
},
5185
Added:
"2": {
5186
Added:
"name": "punctuation.parentheses.left.fortran"
5187
Added:
}
5188
Added:
},
5189
Added:
"end": "(?<!\\G)",
5190
Added:
"endCaptures": {
5191
Added:
"1": {
5192
Added:
"name": "punctuation.parentheses.right.fortran"
5193
Added:
}
5194
Added:
},
5195
Added:
"contentName": "meta.type-spec.fortran",
5196
Added:
"patterns": [
5197
Added:
{
5198
Added:
"include": "#parentheses-dummy-variables"
5199
Added:
}
5200
Added:
]
5201
Added:
},
5202
Added:
{
5203
Added:
"match": "(?i)\\b(character)\\b(?:\\s*(\\*)\\s*(\\d*))?",
5204
Added:
"captures": {
5205
Added:
"1": {
5206
Added:
"name": "storage.type.character.fortran"
5207
Added:
},
5208
Added:
"2": {
5209
Added:
"name": "keyword.operator.multiplication.fortran"
5210
Added:
},
5211
Added:
"3": {
5212
Added:
"name": "constant.numeric.fortran"
5213
Added:
}
5214
Added:
}
5215
Added:
}
5216
Added:
]
5217
Added:
},
5218
Added:
"derived-type": {
5219
Added:
"comment": "Introduced in the Fortran 1995 standard.",
5220
Added:
"name": "meta.specification.type.derived.fortran",
5221
Added:
"begin": "(?i)\\b(?:(class)|(type))\\s*(\\()\\s*(([a-z]\\w*)|\\*)",
5222
Added:
"beginCaptures": {
5223
Added:
"1": {
5224
Added:
"name": "storage.type.class.fortran"
5225
Added:
},
5226
Added:
"2": {
5227
Added:
"name": "storage.type.type.fortran"
5228
Added:
},
5229
Added:
"3": {
5230
Added:
"name": "punctuation.parentheses.left.fortran"
5231
Added:
},
5232
Added:
"4": {
5233
Added:
"name": "entity.name.type.fortran"
5234
Added:
}
5235
Added:
},
5236
Added:
"end": "(\\))",
5237
Added:
"endCaptures": {
5238
Added:
"1": {
5239
Added:
"name": "punctuation.parentheses.right.fortran"
5240
Added:
}
5241
Added:
},
5242
Added:
"contentName": "meta.type-spec.fortran",
5243
Added:
"patterns": [
5244
Added:
{
5245
Added:
"include": "#parentheses-dummy-variables"
5246
Added:
}
5247
Added:
]
5248
Added:
},
5249
Added:
"logical-type": {
5250
Added:
"comment": "Introduced in the Fortran 1977 standard.",
5251
Added:
"patterns": [
5252
Added:
{
5253
Added:
"begin": "(?i)\\b(logical)\\s*(?=\\()",
5254
Added:
"beginCaptures": {
5255
Added:
"1": {
5256
Added:
"name": "storage.type.logical.fortran"
5257
Added:
},
5258
Added:
"2": {
5259
Added:
"name": "punctuation.parentheses.left.fortran"
5260
Added:
}
5261
Added:
},
5262
Added:
"end": "(?<!\\G)",
5263
Added:
"endCaptures": {
5264
Added:
"1": {
5265
Added:
"name": "punctuation.parentheses.right.fortran"
5266
Added:
}
5267
Added:
},
5268
Added:
"contentName": "meta.type-spec.fortran",
5269
Added:
"patterns": [
5270
Added:
{
5271
Added:
"include": "#parentheses-dummy-variables"
5272
Added:
}
5273
Added:
]
5274
Added:
},
5275
Added:
{
5276
Added:
"match": "(?i)\\b(logical)\\b(?:\\s*(\\*)\\s*(\\d*))?",
5277
Added:
"captures": {
5278
Added:
"1": {
5279
Added:
"name": "storage.type.character.fortran"
5280
Added:
},
5281
Added:
"2": {
5282
Added:
"name": "keyword.operator.multiplication.fortran"
5283
Added:
},
5284
Added:
"3": {
5285
Added:
"name": "constant.numeric.fortran"
5286
Added:
}
5287
Added:
}
5288
Added:
}
5289
Added:
]
5290
Added:
},
5291
Added:
"numeric-type": {
5292
Added:
"comment": "Introduced in the Fortran 1977 standard.",
5293
Added:
"patterns": [
5294
Added:
{
5295
Added:
"begin": "(?i)\\b(?:(complex)|(double\\s*precision)|(double\\s*complex)|(integer)|(real))\\s*(?=\\()",
5296
Added:
"beginCaptures": {
5297
Added:
"1": {
5298
Added:
"name": "storage.type.complex.fortran"
5299
Added:
},
5300
Added:
"2": {
5301
Added:
"name": "storage.type.double.fortran"
5302
Added:
},
5303
Added:
"3": {
5304
Added:
"name": "storage.type.doublecomplex.fortran"
5305
Added:
},
5306
Added:
"4": {
5307
Added:
"name": "storage.type.integer.fortran"
5308
Added:
},
5309
Added:
"5": {
5310
Added:
"name": "storage.type.real.fortran"
5311
Added:
},
5312
Added:
"6": {
5313
Added:
"name": "punctuation.parentheses.left.fortran"
5314
Added:
}
5315
Added:
},
5316
Added:
"end": "(?<!\\G)",
5317
Added:
"endCaptures": {
5318
Added:
"1": {
5319
Added:
"name": "punctuation.parentheses.right.fortran"
5320
Added:
}
5321
Added:
},
5322
Added:
"contentName": "meta.type-spec.fortran",
5323
Added:
"patterns": [
5324
Added:
{
5325
Added:
"include": "#parentheses-dummy-variables"
5326
Added:
}
5327
Added:
]
5328
Added:
},
5329
Added:
{
5330
Added:
"match": "(?ix)\\b(?:(complex)|(double\\s*precision)|(double\\s*complex)|(integer)|(real)|(dimension))\\b(?:\\s*(\\*)\\s*(\\d*))?",
5331
Added:
"captures": {
5332
Added:
"1": {
5333
Added:
"name": "storage.type.complex.fortran"
5334
Added:
},
5335
Added:
"2": {
5336
Added:
"name": "storage.type.double.fortran"
5337
Added:
},
5338
Added:
"3": {
5339
Added:
"name": "storage.type.doublecomplex.fortran"
5340
Added:
},
5341
Added:
"4": {
5342
Added:
"name": "storage.type.integer.fortran"
5343
Added:
},
5344
Added:
"5": {
5345
Added:
"name": "storage.type.real.fortran"
5346
Added:
},
5347
Added:
"6": {
5348
Added:
"name": "storage.type.dimension.fortran"
5349
Added:
},
5350
Added:
"7": {
5351
Added:
"name": "keyword.operator.multiplication.fortran"
5352
Added:
},
5353
Added:
"8": {
5354
Added:
"name": "constant.numeric.fortran"
5355
Added:
}
5356
Added:
}
5357
Added:
}
5358
Added:
]
5359
Added:
},
5360
Added:
"procedure-type": {
5361
Added:
"comment": "Introduced in the Fortran ???? standard.",
5362
Added:
"patterns": [
5363
Added:
{
5364
Added:
"begin": "(?i)\\b(procedure)\\s*(\\()",
5365
Added:
"beginCaptures": {
5366
Added:
"1": {
5367
Added:
"name": "storage.type.procedure.fortran"
5368
Added:
},
5369
Added:
"2": {
5370
Added:
"name": "punctuation.parentheses.left.fortran"
5371
Added:
}
5372
Added:
},
5373
Added:
"end": "(\\))",
5374
Added:
"endCaptures": {
5375
Added:
"1": {
5376
Added:
"name": "punctuation.parentheses.right.fortran"
5377
Added:
}
5378
Added:
},
5379
Added:
"contentName": "meta.type-spec.fortran",
5380
Added:
"patterns": [
5381
Added:
{
5382
Added:
"include": "#types"
5383
Added:
},
5384
Added:
{
5385
Added:
"include": "#procedure-name"
5386
Added:
}
5387
Added:
]
5388
Added:
},
5389
Added:
{
5390
Added:
"match": "(?i)\\b(procedure)\\b",
5391
Added:
"captures": {
5392
Added:
"1": {
5393
Added:
"name": "storage.type.procedure.fortran"
5394
Added:
}
5395
Added:
}
5396
Added:
}
5397
Added:
]
5398
Added:
},
5399
Added:
"format-descriptor": {
5400
Added:
"comment": "FORMAT descriptor content for FORMAT statements (avoids array constructor scoping)",
5401
Added:
"contentName": "meta.format-descriptor.fortran",
5402
Added:
"begin": "\\(\\/",
5403
Added:
"beginCaptures": {
5404
Added:
"0": { "name": "punctuation.bracket.left.fortran" }
5405
Added:
},
5406
Added:
"end": "\\)",
5407
Added:
"endCaptures": {
5408
Added:
"0": { "name": "punctuation.bracket.right.fortran" }
5409
Added:
},
5410
Added:
"patterns": [
5411
Added:
{ "include": "#comments" },
5412
Added:
{ "include": "#constants" },
5413
Added:
{ "include": "#operators" },
5414
Added:
{ "include": "#parentheses" },
5415
Added:
{ "include": "#intrinsic-functions" },
5416
Added:
{ "include": "#variable" }
5417
Added:
]
5418
Added:
},
5419
Added:
"array-constructor": {
5420
Added:
"name": "meta.contructor.array",
5421
Added:
"begin": "(?<!\\n)(?=\\s*(\\[|\\(\\/))",
5422
Added:
"end": "(?<!\\G)",
5423
Added:
"patterns": [
5424
Added:
{
5425
Added:
"include": "#brackets"
5426
Added:
},
5427
Added:
{
5428
Added:
"begin": "\\s*(\\(\\/)",
5429
Added:
"beginCaptures": {
5430
Added:
"1": {
5431
Added:
"name": "punctuation.bracket.left.fortran"
5432
Added:
}
5433
Added:
},
5434
Added:
"end": "(\\/\\))",
5435
Added:
"endCaptures": {
5436
Added:
"1": {
5437
Added:
"name": "punctuation.bracket.left.fortran"
5438
Added:
}
5439
Added:
},
5440
Added:
"patterns": [
5441
Added:
{
5442
Added:
"include": "#comments"
5443
Added:
},
5444
Added:
{
5445
Added:
"include": "#constants"
5446
Added:
},
5447
Added:
{
5448
Added:
"include": "#operators"
5449
Added:
},
5450
Added:
{
5451
Added:
"include": "#array-constructor"
5452
Added:
},
5453
Added:
{
5454
Added:
"include": "#parentheses"
5455
Added:
},
5456
Added:
{
5457
Added:
"include": "#intrinsic-functions"
5458
Added:
},
5459
Added:
{
5460
Added:
"include": "#variable"
5461
Added:
}
5462
Added:
]
5463
Added:
}
5464
Added:
]
5465
Added:
},
5466
Added:
"brackets": {
5467
Added:
"begin": "\\s*(\\[)",
5468
Added:
"beginCaptures": {
5469
Added:
"1": {
5470
Added:
"name": "punctuation.bracket.left.fortran"
5471
Added:
}
5472
Added:
},
5473
Added:
"end": "(\\])",
5474
Added:
"endCaptures": {
5475
Added:
"1": {
5476
Added:
"name": "punctuation.bracket.left.fortran"
5477
Added:
}
5478
Added:
},
5479
Added:
"patterns": [
5480
Added:
{
5481
Added:
"include": "#comments"
5482
Added:
},
5483
Added:
{
5484
Added:
"include": "#constants"
5485
Added:
},
5486
Added:
{
5487
Added:
"include": "#operators"
5488
Added:
},
5489
Added:
{
5490
Added:
"include": "#array-constructor"
5491
Added:
},
5492
Added:
{
5493
Added:
"include": "#parentheses"
5494
Added:
},
5495
Added:
{
5496
Added:
"include": "#intrinsic-functions"
5497
Added:
},
5498
Added:
{
5499
Added:
"include": "#variable"
5500
Added:
}
5501
Added:
]
5502
Added:
},
5503
Added:
"dummy-variable-list": {
5504
Added:
"name": "meta.dummy-variable-list",
5505
Added:
"begin": "\\G\\s*(\\()",
5506
Added:
"beginCaptures": {
5507
Added:
"1": {
5508
Added:
"name": "punctuation.definition.parameters.begin.fortran"
5509
Added:
}
5510
Added:
},
5511
Added:
"end": "\\)|(?=\\n)",
5512
Added:
"endCaptures": {
5513
Added:
"0": {
5514
Added:
"name": "punctuation.definition.parameters.end.fortran"
5515
Added:
}
5516
Added:
},
5517
Added:
"patterns": [
5518
Added:
{
5519
Added:
"include": "#dummy-variable"
5520
Added:
}
5521
Added:
]
5522
Added:
},
5523
Added:
"dummy-variable": {
5524
Added:
"comment": "dummy variable",
5525
Added:
"match": "(?i)(?:^|(?<=[&,\\(]))\\s*([a-z]\\w*)",
5526
Added:
"captures": {
5527
Added:
"1": {
5528
Added:
"name": "variable.parameter.fortran"
5529
Added:
}
5530
Added:
}
5531
Added:
},
5532
Added:
"invalid-character": {
5533
Added:
"name": "invalid.error.character.fortran",
5534
Added:
"match": "(?i)[^\\s;!\\n]+"
5535
Added:
},
5536
Added:
"invalid-word": {
5537
Added:
"name": "invalid.error.word.fortran",
5538
Added:
"match": "(?i)\\b\\w+\\b"
5539
Added:
},
5540
Added:
"IO-item-list": {
5541
Added:
"comment": "Name list.",
5542
Added:
"contentName": "meta.name-list.fortran",
5543
Added:
"begin": "(?i)(?=\\s*[a-z0-9\"'])",
5544
Added:
"end": "(?=[\\);!\\n])",
5545
Added:
"patterns": [
5546
Added:
{
5547
Added:
"include": "#constants"
5548
Added:
},
5549
Added:
{
5550
Added:
"include": "#operators"
5551
Added:
},
5552
Added:
{
5553
Added:
"include": "#intrinsic-functions"
5554
Added:
},
5555
Added:
{
5556
Added:
"include": "#array-constructor"
5557
Added:
},
5558
Added:
{
5559
Added:
"include": "#parentheses"
5560
Added:
},
5561
Added:
{
5562
Added:
"include": "#brackets"
5563
Added:
},
5564
Added:
{
5565
Added:
"include": "#assignment-keyword"
5566
Added:
},
5567
Added:
{
5568
Added:
"include": "#operator-keyword"
5569
Added:
},
5570
Added:
{
5571
Added:
"include": "#variable"
5572
Added:
}
5573
Added:
]
5574
Added:
},
5575
Added:
"logical-control-expression": {
5576
Added:
"name": "meta.expression.control.logical.fortran",
5577
Added:
"begin": "\\G(?=\\s*\\()",
5578
Added:
"end": "(?<!\\G)",
5579
Added:
"patterns": [
5580
Added:
{
5581
Added:
"include": "#parentheses"
5582
Added:
}
5583
Added:
]
5584
Added:
},
5585
Added:
"name-list": {
5586
Added:
"comment": "Name list.",
5587
Added:
"contentName": "meta.name-list.fortran",
5588
Added:
"begin": "(?i)(?=\\s*[a-z])",
5589
Added:
"end": "(?=[\\);!\\n])",
5590
Added:
"patterns": [
5591
Added:
{
5592
Added:
"include": "#constants"
5593
Added:
},
5594
Added:
{
5595
Added:
"include": "#operators"
5596
Added:
},
5597
Added:
{
5598
Added:
"include": "#intrinsic-functions"
5599
Added:
},
5600
Added:
{
5601
Added:
"include": "#array-constructor"
5602
Added:
},
5603
Added:
{
5604
Added:
"include": "#parentheses"
5605
Added:
},
5606
Added:
{
5607
Added:
"include": "#brackets"
5608
Added:
},
5609
Added:
{
5610
Added:
"include": "#assignment-keyword"
5611
Added:
},
5612
Added:
{
5613
Added:
"include": "#operator-keyword"
5614
Added:
},
5615
Added:
{
5616
Added:
"include": "#variable"
5617
Added:
}
5618
Added:
]
5619
Added:
},
5620
Added:
"assignment-keyword": {
5621
Added:
"comment": "Assignment generic specification.",
5622
Added:
"begin": "(?i)\\G\\s*\\b(assignment)\\s*(\\()",
5623
Added:
"beginCaptures": {
5624
Added:
"1": {
5625
Added:
"name": "keyword.control.generic-spec.assignment.fortran"
5626
Added:
},
5627
Added:
"2": {
5628
Added:
"name": "punctuation.parentheses.left.fortran"
5629
Added:
}
5630
Added:
},
5631
Added:
"end": "(\\))",
5632
Added:
"endCaptures": {
5633
Added:
"1": {
5634
Added:
"name": "punctuation.parentheses.right.fortran"
5635
Added:
}
5636
Added:
},
5637
Added:
"patterns": [
5638
Added:
{
5639
Added:
"include": "#assignment-operator"
5640
Added:
},
5641
Added:
{
5642
Added:
"include": "#invalid-word"
5643
Added:
}
5644
Added:
]
5645
Added:
},
5646
Added:
"IO-keywords": {
5647
Added:
"comment": "IO generic specification.",
5648
Added:
"begin": "(?i)\\G\\s*\\b(?:(read)|(write))\\s*(\\()",
5649
Added:
"beginCaptures": {
5650
Added:
"1": {
5651
Added:
"name": "keyword.control.generic-spec.read.fortran"
5652
Added:
},
5653
Added:
"2": {
5654
Added:
"name": "keyword.control.generic-spec.write.fortran"
5655
Added:
},
5656
Added:
"3": {
5657
Added:
"name": "punctuation.parentheses.left.fortran"
5658
Added:
}
5659
Added:
},
5660
Added:
"end": "(\\))",
5661
Added:
"endCaptures": {
5662
Added:
"1": {
5663
Added:
"name": "punctuation.parentheses.right.fortran"
5664
Added:
}
5665
Added:
},
5666
Added:
"patterns": [
5667
Added:
{
5668
Added:
"match": "(?i)\\G\\s*\\b(?:(formatted)|(unformatted))\\b",
5669
Added:
"captures": {
5670
Added:
"1": {
5671
Added:
"name": "keyword.control.generic-spec.formatted.fortran"
5672
Added:
},
5673
Added:
"2": {
5674
Added:
"name": "keyword.control.generic-spec.unformatted.fortran"
5675
Added:
}
5676
Added:
}
5677
Added:
},
5678
Added:
{
5679
Added:
"include": "#invalid-word"
5680
Added:
}
5681
Added:
]
5682
Added:
},
5683
Added:
"operator-keyword": {
5684
Added:
"comment": "Operator generic specification.",
5685
Added:
"begin": "(?i)\\s*\\b(operator)\\s*(\\()",
5686
Added:
"beginCaptures": {
5687
Added:
"1": {
5688
Added:
"name": "keyword.control.generic-spec.operator.fortran"
5689
Added:
},
5690
Added:
"2": {
5691
Added:
"name": "punctuation.parentheses.left.fortran"
5692
Added:
}
5693
Added:
},
5694
Added:
"end": "(\\))",
5695
Added:
"endCaptures": {
5696
Added:
"1": {
5697
Added:
"name": "punctuation.parentheses.right.fortran"
5698
Added:
}
5699
Added:
},
5700
Added:
"patterns": [
5701
Added:
{
5702
Added:
"include": "#arithmetic-operators"
5703
Added:
},
5704
Added:
{
5705
Added:
"include": "#logical-operators"
5706
Added:
},
5707
Added:
{
5708
Added:
"include": "#user-defined-operators"
5709
Added:
},
5710
Added:
{
5711
Added:
"include": "#invalid-word"
5712
Added:
}
5713
Added:
]
5714
Added:
},
5715
Added:
"format-descriptors": {
5716
Added:
"patterns": [
5717
Added:
{
5718
Added:
"comment": "Format descriptors.",
5719
Added:
"match": "(?i)(?:\\b|(?<=\\d)|(?<=P))(EN|ES|EX|DT|DC|DP|RC|RD|RN|RP|RU|RZ|BN|BZ|SP|SS|TL|TR|I|F|E|D|G|L|A|B|O|Z|T|X|Q|S|P)(?=$|[^A-Za-z_]|[EFDG](?i))",
5720
Added:
"captures": {
5721
Added:
"1": { "name": "keyword.other.format-descriptor.fortran" }
5722
Added:
}
5723
Added:
},
5724
Added:
{
5725
Added:
"match": "\\/",
5726
Added:
"name": "keyword.operator.format.newline.fortran"
5727
Added:
},
5728
Added:
{
5729
Added:
"match": ":",
5730
Added:
"name": "keyword.operator.format.separator.fortran"
5731
Added:
},
5732
Added:
{
5733
Added:
"comment": "Non-standard newline suppression",
5734
Added:
"match": "\\$|\\\\",
5735
Added:
"name": "keyword.other.format-descriptor.nonstandard.fortran"
5736
Added:
},
5737
Added:
{
5738
Added:
"comment": "Legacy Hollerith constant (e.g. 4HText)",
5739
Added:
"match": "(?i)(?:\\b|(?<=\\d))\\d+H",
5740
Added:
"name": "keyword.other.format-descriptor.legacy.fortran"
5741
Added:
}
5742
Added:
]
5743
Added:
},
5744
Added:
"parentheses-common": {
5745
Added:
"patterns": [
5746
Added:
{
5747
Added:
"include": "#comments"
5748
Added:
},
5749
Added:
{
5750
Added:
"include": "#constants"
5751
Added:
},
5752
Added:
{
5753
Added:
"include": "#operators"
5754
Added:
},
5755
Added:
{
5756
Added:
"include": "#intrinsic-functions"
5757
Added:
},
5758
Added:
{
5759
Added:
"include": "#variable"
5760
Added:
}
5761
Added:
]
5762
Added:
},
5763
Added:
"format-parentheses": {
5764
Added:
"begin": "\\s*(\\()",
5765
Added:
"beginCaptures": {
5766
Added:
"1": {
5767
Added:
"name": "punctuation.parentheses.left.fortran"
5768
Added:
}
5769
Added:
},
5770
Added:
"end": "(\\))",
5771
Added:
"endCaptures": {
5772
Added:
"1": {
5773
Added:
"name": "punctuation.parentheses.right.fortran"
5774
Added:
}
5775
Added:
},
5776
Added:
"patterns": [
5777
Added:
{
5778
Added:
"include": "#comments"
5779
Added:
},
5780
Added:
{
5781
Added:
"include": "#line-continuation-operator"
5782
Added:
},
5783
Added:
{
5784
Added:
"match": "(?:\\b|\\+|-)\\d+(?=[A-Za-z])",
5785
Added:
"name": "constant.numeric.fortran"
5786
Added:
},
5787
Added:
{
5788
Added:
"include": "#format-descriptors"
5789
Added:
},
5790
Added:
{
5791
Added:
"include": "#format-parentheses"
5792
Added:
},
5793
Added:
{
5794
Added:
"include": "#parentheses-common"
5795
Added:
}
5796
Added:
]
5797
Added:
},
5798
Added:
"parentheses": {
5799
Added:
"begin": "\\s*(\\()",
5800
Added:
"beginCaptures": {
5801
Added:
"1": {
5802
Added:
"name": "punctuation.parentheses.left.fortran"
5803
Added:
}
5804
Added:
},
5805
Added:
"end": "(\\))",
5806
Added:
"endCaptures": {
5807
Added:
"1": {
5808
Added:
"name": "punctuation.parentheses.right.fortran"
5809
Added:
}
5810
Added:
},
5811
Added:
"patterns": [
5812
Added:
{
5813
Added:
"include": "#array-constructor"
5814
Added:
},
5815
Added:
{
5816
Added:
"include": "#parentheses"
5817
Added:
},
5818
Added:
{
5819
Added:
"include": "#parentheses-common"
5820
Added:
}
5821
Added:
]
5822
Added:
},
5823
Added:
"parentheses-dummy-variables": {
5824
Added:
"begin": "\\s*(\\()",
5825
Added:
"beginCaptures": {
5826
Added:
"1": {
5827
Added:
"name": "punctuation.parentheses.left.fortran"
5828
Added:
}
5829
Added:
},
5830
Added:
"end": "(\\))",
5831
Added:
"endCaptures": {
5832
Added:
"1": {
5833
Added:
"name": "punctuation.parentheses.right.fortran"
5834
Added:
}
5835
Added:
},
5836
Added:
"patterns": [
5837
Added:
{
5838
Added:
"include": "#procedure-call-dummy-variable"
5839
Added:
},
5840
Added:
{
5841
Added:
"include": "#array-constructor"
5842
Added:
},
5843
Added:
{
5844
Added:
"include": "#parentheses"
5845
Added:
},
5846
Added:
{
5847
Added:
"include": "#parentheses-common"
5848
Added:
}
5849
Added:
]
5850
Added:
},
5851
Added:
"procedure-call-dummy-variable": {
5852
Added:
"name": "variable.parameter.dummy-variable.fortran.modern",
5853
Added:
"match": "(?i)\\s*([a-z]\\w*)(?=\\s*\\=)(?!\\s*\\=\\=)"
5854
Added:
},
5855
Added:
"procedure-name": {
5856
Added:
"comment": "Procedure name.",
5857
Added:
"match": "(?i)\\s*\\b([a-z]\\w*)\\b",
5858
Added:
"captures": {
5859
Added:
"1": {
5860
Added:
"name": "entity.name.function.procedure.fortran"
5861
Added:
}
5862
Added:
}
5863
Added:
},
5864
Added:
"procedure-name-list": {
5865
Added:
"comment": "Name list.",
5866
Added:
"contentName": "meta.name-list.fortran",
5867
Added:
"begin": "(?i)(?=\\s*[a-z])",
5868
Added:
"end": "(?=[;!\\n])",
5869
Added:
"patterns": [
5870
Added:
{
5871
Added:
"begin": "(?!\\s*\\n)",
5872
Added:
"end": "(,)|(?=[!;\\n])",
5873
Added:
"endCaptures": {
5874
Added:
"1": {
5875
Added:
"name": "punctuation.comma.fortran"
5876
Added:
}
5877
Added:
},
5878
Added:
"patterns": [
5879
Added:
{
5880
Added:
"include": "#procedure-name"
5881
Added:
},
5882
Added:
{
5883
Added:
"include": "#pointer-operators"
5884
Added:
}
5885
Added:
]
5886
Added:
}
5887
Added:
]
5888
Added:
},
5889
Added:
"variable": {
5890
Added:
"name": "meta.parameter.fortran",
5891
Added:
"begin": "(?i)\\b(?=[a-z])",
5892
Added:
"end": "(?<!\\G)",
5893
Added:
"applyEndPatternLast": 1,
5894
Added:
"patterns": [
5895
Added:
{
5896
Added:
"include": "#brackets"
5897
Added:
},
5898
Added:
{
5899
Added:
"include": "#derived-type-operators"
5900
Added:
},
5901
Added:
{
5902
Added:
"include": "#parentheses-dummy-variables"
5903
Added:
},
5904
Added:
{
5905
Added:
"include": "#word"
5906
Added:
}
5907
Added:
]
5908
Added:
},
5909
Added:
"word": {
5910
Added:
"patterns": [
5911
Added:
{
5912
Added:
"match": "(?i)(?:\\G|(?<=\\%))\\s*\\b([a-z]\\w*)\\b"
5913
Added:
}
5914
Added:
]
5915
Added:
}
5916
Added:
}
5917
Added:
}
lib/grammars/groovy.json
@@ -0,0 +1,1385 @@
1
Added:
{
2
Added:
"fileTypes": [
3
Added:
"groovy",
4
Added:
"gvy"
5
Added:
],
6
Added:
"foldingStartMarker": "(\\{\\s*$|^\\s*// \\{\\{\\{)",
7
Added:
"foldingStopMarker": "^\\s*(\\}|// \\}\\}\\}$)",
8
Added:
"keyEquivalent": "^~G",
9
Added:
"name": "Groovy",
10
Added:
"patterns": [
11
Added:
{
12
Added:
"captures": {
13
Added:
"1": {
14
Added:
"name": "punctuation.definition.comment.groovy"
15
Added:
}
16
Added:
},
17
Added:
"match": "^(#!).+$\\n",
18
Added:
"name": "comment.line.hashbang.groovy"
19
Added:
},
20
Added:
{
21
Added:
"captures": {
22
Added:
"1": {
23
Added:
"name": "keyword.other.package.groovy"
24
Added:
},
25
Added:
"2": {
26
Added:
"name": "storage.modifier.package.groovy"
27
Added:
},
28
Added:
"3": {
29
Added:
"name": "punctuation.terminator.groovy"
30
Added:
}
31
Added:
},
32
Added:
"match": "^\\s*(package)\\b(?:\\s*([^ ;$]+)\\s*(;)?)?",
33
Added:
"name": "meta.package.groovy"
34
Added:
},
35
Added:
{
36
Added:
"begin": "(import static)\\b\\s*",
37
Added:
"beginCaptures": {
38
Added:
"1": {
39
Added:
"name": "keyword.other.import.static.groovy"
40
Added:
}
41
Added:
},
42
Added:
"captures": {
43
Added:
"1": {
44
Added:
"name": "keyword.other.import.groovy"
45
Added:
},
46
Added:
"2": {
47
Added:
"name": "storage.modifier.import.groovy"
48
Added:
},
49
Added:
"3": {
50
Added:
"name": "punctuation.terminator.groovy"
51
Added:
}
52
Added:
},
53
Added:
"contentName": "storage.modifier.import.groovy",
54
Added:
"end": "\\s*(?:$|(?=%>)(;))",
55
Added:
"endCaptures": {
56
Added:
"1": {
57
Added:
"name": "punctuation.terminator.groovy"
58
Added:
}
59
Added:
},
60
Added:
"name": "meta.import.groovy",
61
Added:
"patterns": [
62
Added:
{
63
Added:
"match": "\\.",
64
Added:
"name": "punctuation.separator.groovy"
65
Added:
},
66
Added:
{
67
Added:
"match": "\\s",
68
Added:
"name": "invalid.illegal.character_not_allowed_here.groovy"
69
Added:
}
70
Added:
]
71
Added:
},
72
Added:
{
73
Added:
"begin": "(import)\\b\\s*",
74
Added:
"beginCaptures": {
75
Added:
"1": {
76
Added:
"name": "keyword.other.import.groovy"
77
Added:
}
78
Added:
},
79
Added:
"captures": {
80
Added:
"1": {
81
Added:
"name": "keyword.other.import.groovy"
82
Added:
},
83
Added:
"2": {
84
Added:
"name": "storage.modifier.import.groovy"
85
Added:
},
86
Added:
"3": {
87
Added:
"name": "punctuation.terminator.groovy"
88
Added:
}
89
Added:
},
90
Added:
"contentName": "storage.modifier.import.groovy",
91
Added:
"end": "\\s*(?:$|(?=%>)|(;))",
92
Added:
"endCaptures": {
93
Added:
"1": {
94
Added:
"name": "punctuation.terminator.groovy"
95
Added:
}
96
Added:
},
97
Added:
"name": "meta.import.groovy",
98
Added:
"patterns": [
99
Added:
{
100
Added:
"match": "\\.",
101
Added:
"name": "punctuation.separator.groovy"
102
Added:
},
103
Added:
{
104
Added:
"match": "\\s",
105
Added:
"name": "invalid.illegal.character_not_allowed_here.groovy"
106
Added:
}
107
Added:
]
108
Added:
},
109
Added:
{
110
Added:
"captures": {
111
Added:
"1": {
112
Added:
"name": "keyword.other.import.groovy"
113
Added:
},
114
Added:
"2": {
115
Added:
"name": "keyword.other.import.static.groovy"
116
Added:
},
117
Added:
"3": {
118
Added:
"name": "storage.modifier.import.groovy"
119
Added:
},
120
Added:
"4": {
121
Added:
"name": "punctuation.terminator.groovy"
122
Added:
}
123
Added:
},
124
Added:
"match": "^\\s*(import)(?:\\s+(static)\\s+)\\b(?:\\s*([^ ;$]+)\\s*(;)?)?",
125
Added:
"name": "meta.import.groovy"
126
Added:
},
127
Added:
{
128
Added:
"include": "#groovy"
129
Added:
}
130
Added:
],
131
Added:
"repository": {
132
Added:
"annotations": {
133
Added:
"patterns": [
134
Added:
{
135
Added:
"begin": "(?<!\\.)(@[^ (]+)(\\()",
136
Added:
"beginCaptures": {
137
Added:
"1": {
138
Added:
"name": "storage.type.annotation.groovy"
139
Added:
},
140
Added:
"2": {
141
Added:
"name": "punctuation.definition.annotation-arguments.begin.groovy"
142
Added:
}
143
Added:
},
144
Added:
"end": "(\\))",
145
Added:
"endCaptures": {
146
Added:
"1": {
147
Added:
"name": "punctuation.definition.annotation-arguments.end.groovy"
148
Added:
}
149
Added:
},
150
Added:
"name": "meta.declaration.annotation.groovy",
151
Added:
"patterns": [
152
Added:
{
153
Added:
"captures": {
154
Added:
"1": {
155
Added:
"name": "constant.other.key.groovy"
156
Added:
},
157
Added:
"2": {
158
Added:
"name": "keyword.operator.assignment.groovy"
159
Added:
}
160
Added:
},
161
Added:
"match": "(\\w*)\\s*(=)"
162
Added:
},
163
Added:
{
164
Added:
"include": "#values"
165
Added:
},
166
Added:
{
167
Added:
"match": ",",
168
Added:
"name": "punctuation.definition.seperator.groovy"
169
Added:
}
170
Added:
]
171
Added:
},
172
Added:
{
173
Added:
"match": "(?<!\\.)@\\S+",
174
Added:
"name": "storage.type.annotation.groovy"
175
Added:
}
176
Added:
]
177
Added:
},
178
Added:
"anonymous-classes-and-new": {
179
Added:
"begin": "\\bnew\\b",
180
Added:
"beginCaptures": {
181
Added:
"0": {
182
Added:
"name": "keyword.control.new.groovy"
183
Added:
}
184
Added:
},
185
Added:
"end": "(?<=\\)|\\])(?!\\s*{)|(?<=})|(?=[;])|$",
186
Added:
"patterns": [
187
Added:
{
188
Added:
"begin": "(\\w+)\\s*(?=\\[)",
189
Added:
"beginCaptures": {
190
Added:
"1": {
191
Added:
"name": "storage.type.groovy"
192
Added:
}
193
Added:
},
194
Added:
"end": "}|(?=\\s*(?:,|;|\\)))|$",
195
Added:
"patterns": [
196
Added:
{
197
Added:
"begin": "\\[",
198
Added:
"end": "\\]",
199
Added:
"patterns": [
200
Added:
{
201
Added:
"include": "#groovy"
202
Added:
}
203
Added:
]
204
Added:
},
205
Added:
{
206
Added:
"begin": "{",
207
Added:
"end": "(?=})",
208
Added:
"patterns": [
209
Added:
{
210
Added:
"include": "#groovy"
211
Added:
}
212
Added:
]
213
Added:
}
214
Added:
]
215
Added:
},
216
Added:
{
217
Added:
"begin": "(?=\\w.*\\(?)",
218
Added:
"end": "(?<=\\))|$",
219
Added:
"patterns": [
220
Added:
{
221
Added:
"include": "#object-types"
222
Added:
},
223
Added:
{
224
Added:
"begin": "\\(",
225
Added:
"beginCaptures": {
226
Added:
"1": {
227
Added:
"name": "storage.type.groovy"
228
Added:
}
229
Added:
},
230
Added:
"end": "\\)",
231
Added:
"patterns": [
232
Added:
{
233
Added:
"include": "#groovy"
234
Added:
}
235
Added:
]
236
Added:
}
237
Added:
]
238
Added:
},
239
Added:
{
240
Added:
"begin": "{",
241
Added:
"end": "}",
242
Added:
"name": "meta.inner-class.groovy",
243
Added:
"patterns": [
244
Added:
{
245
Added:
"include": "#class-body"
246
Added:
}
247
Added:
]
248
Added:
}
249
Added:
]
250
Added:
},
251
Added:
"braces": {
252
Added:
"begin": "\\{",
253
Added:
"end": "\\}",
254
Added:
"patterns": [
255
Added:
{
256
Added:
"include": "#groovy-code"
257
Added:
}
258
Added:
]
259
Added:
},
260
Added:
"class": {
261
Added:
"begin": "(?=\\w?[\\w\\s]*(?:class|(?:@)?interface|enum)\\s+\\w+)",
262
Added:
"end": "}",
263
Added:
"endCaptures": {
264
Added:
"0": {
265
Added:
"name": "punctuation.section.class.end.groovy"
266
Added:
}
267
Added:
},
268
Added:
"name": "meta.definition.class.groovy",
269
Added:
"patterns": [
270
Added:
{
271
Added:
"include": "#storage-modifiers"
272
Added:
},
273
Added:
{
274
Added:
"include": "#comments"
275
Added:
},
276
Added:
{
277
Added:
"captures": {
278
Added:
"1": {
279
Added:
"name": "storage.modifier.groovy"
280
Added:
},
281
Added:
"2": {
282
Added:
"name": "entity.name.type.class.groovy"
283
Added:
}
284
Added:
},
285
Added:
"match": "(class|(?:@)?interface|enum)\\s+(\\w+)",
286
Added:
"name": "meta.class.identifier.groovy"
287
Added:
},
288
Added:
{
289
Added:
"begin": "extends",
290
Added:
"beginCaptures": {
291
Added:
"0": {
292
Added:
"name": "storage.modifier.extends.groovy"
293
Added:
}
294
Added:
},
295
Added:
"end": "(?={|implements)",
296
Added:
"name": "meta.definition.class.inherited.classes.groovy",
297
Added:
"patterns": [
298
Added:
{
299
Added:
"include": "#object-types-inherited"
300
Added:
},
301
Added:
{
302
Added:
"include": "#comments"
303
Added:
}
304
Added:
]
305
Added:
},
306
Added:
{
307
Added:
"begin": "(implements)\\s",
308
Added:
"beginCaptures": {
309
Added:
"1": {
310
Added:
"name": "storage.modifier.implements.groovy"
311
Added:
}
312
Added:
},
313
Added:
"end": "(?=\\s*extends|\\{)",
314
Added:
"name": "meta.definition.class.implemented.interfaces.groovy",
315
Added:
"patterns": [
316
Added:
{
317
Added:
"include": "#object-types-inherited"
318
Added:
},
319
Added:
{
320
Added:
"include": "#comments"
321
Added:
}
322
Added:
]
323
Added:
},
324
Added:
{
325
Added:
"begin": "{",
326
Added:
"end": "(?=})",
327
Added:
"name": "meta.class.body.groovy",
328
Added:
"patterns": [
329
Added:
{
330
Added:
"include": "#class-body"
331
Added:
}
332
Added:
]
333
Added:
}
334
Added:
]
335
Added:
},
336
Added:
"class-body": {
337
Added:
"patterns": [
338
Added:
{
339
Added:
"include": "#enum-values"
340
Added:
},
341
Added:
{
342
Added:
"include": "#constructors"
343
Added:
},
344
Added:
{
345
Added:
"include": "#groovy"
346
Added:
}
347
Added:
]
348
Added:
},
349
Added:
"closures": {
350
Added:
"begin": "\\{(?=.*?->)",
351
Added:
"end": "\\}",
352
Added:
"patterns": [
353
Added:
{
354
Added:
"begin": "(?<=\\{)(?=[^\\}]*?->)",
355
Added:
"end": "->",
356
Added:
"endCaptures": {
357
Added:
"0": {
358
Added:
"name": "keyword.operator.groovy"
359
Added:
}
360
Added:
},
361
Added:
"patterns": [
362
Added:
{
363
Added:
"begin": "(?!->)",
364
Added:
"end": "(?=->)",
365
Added:
"name": "meta.closure.parameters.groovy",
366
Added:
"patterns": [
367
Added:
{
368
Added:
"begin": "(?!,|->)",
369
Added:
"end": "(?=,|->)",
370
Added:
"name": "meta.closure.parameter.groovy",
371
Added:
"patterns": [
372
Added:
{
373
Added:
"begin": "=",
374
Added:
"beginCaptures": {
375
Added:
"0": {
376
Added:
"name": "keyword.operator.assignment.groovy"
377
Added:
}
378
Added:
},
379
Added:
"end": "(?=,|->)",
380
Added:
"name": "meta.parameter.default.groovy",
381
Added:
"patterns": [
382
Added:
{
383
Added:
"include": "#groovy-code"
384
Added:
}
385
Added:
]
386
Added:
},
387
Added:
{
388
Added:
"include": "#parameters"
389
Added:
}
390
Added:
]
391
Added:
}
392
Added:
]
393
Added:
}
394
Added:
]
395
Added:
},
396
Added:
{
397
Added:
"begin": "(?=[^}])",
398
Added:
"end": "(?=\\})",
399
Added:
"patterns": [
400
Added:
{
401
Added:
"include": "#groovy-code"
402
Added:
}
403
Added:
]
404
Added:
}
405
Added:
]
406
Added:
},
407
Added:
"comment-block": {
408
Added:
"begin": "/\\*",
409
Added:
"captures": {
410
Added:
"0": {
411
Added:
"name": "punctuation.definition.comment.groovy"
412
Added:
}
413
Added:
},
414
Added:
"end": "\\*/",
415
Added:
"name": "comment.block.groovy"
416
Added:
},
417
Added:
"comments": {
418
Added:
"patterns": [
419
Added:
{
420
Added:
"captures": {
421
Added:
"0": {
422
Added:
"name": "punctuation.definition.comment.groovy"
423
Added:
}
424
Added:
},
425
Added:
"match": "/\\*\\*/",
426
Added:
"name": "comment.block.empty.groovy"
427
Added:
},
428
Added:
{
429
Added:
"include": "text.html.javadoc"
430
Added:
},
431
Added:
{
432
Added:
"include": "#comment-block"
433
Added:
},
434
Added:
{
435
Added:
"captures": {
436
Added:
"1": {
437
Added:
"name": "punctuation.definition.comment.groovy"
438
Added:
}
439
Added:
},
440
Added:
"match": "(//).*$\\n?",
441
Added:
"name": "comment.line.double-slash.groovy"
442
Added:
}
443
Added:
]
444
Added:
},
445
Added:
"constants": {
446
Added:
"patterns": [
447
Added:
{
448
Added:
"match": "\\b([A-Z][A-Z0-9_]+)\\b",
449
Added:
"name": "constant.other.groovy"
450
Added:
},
451
Added:
{
452
Added:
"match": "\\b(true|false|null)\\b",
453
Added:
"name": "constant.language.groovy"
454
Added:
}
455
Added:
]
456
Added:
},
457
Added:
"constructors": {
458
Added:
"applyEndPatternLast": 1,
459
Added:
"begin": "(?<=;|^)(?=\\s*(?:(?:private|protected|public|native|synchronized|abstract|threadsafe|transient|static|final)\\s+)*[A-Z]\\w*\\()",
460
Added:
"end": "}",
461
Added:
"patterns": [
462
Added:
{
463
Added:
"include": "#method-content"
464
Added:
}
465
Added:
]
466
Added:
},
467
Added:
"enum-values": {
468
Added:
"patterns": [
469
Added:
{
470
Added:
"begin": "(?<=;|^)\\s*\\b([A-Z0-9_]+)(?=\\s*(?:,|;|}|\\(|$))",
471
Added:
"beginCaptures": {
472
Added:
"1": {
473
Added:
"name": "constant.enum.name.groovy"
474
Added:
}
475
Added:
},
476
Added:
"end": ",|;|(?=})|^(?!\\s*\\w+\\s*(?:,|$))",
477
Added:
"patterns": [
478
Added:
{
479
Added:
"begin": "\\(",
480
Added:
"end": "\\)",
481
Added:
"name": "meta.enum.value.groovy",
482
Added:
"patterns": [
483
Added:
{
484
Added:
"match": ",",
485
Added:
"name": "punctuation.definition.seperator.parameter.groovy"
486
Added:
},
487
Added:
{
488
Added:
"include": "#groovy-code"
489
Added:
}
490
Added:
]
491
Added:
}
492
Added:
]
493
Added:
}
494
Added:
]
495
Added:
},
496
Added:
"groovy": {
497
Added:
"patterns": [
498
Added:
{
499
Added:
"include": "#comments"
500
Added:
},
501
Added:
{
502
Added:
"include": "#class"
503
Added:
},
504
Added:
{
505
Added:
"include": "#variables"
506
Added:
},
507
Added:
{
508
Added:
"include": "#methods"
509
Added:
},
510
Added:
{
511
Added:
"include": "#annotations"
512
Added:
},
513
Added:
{
514
Added:
"include": "#groovy-code"
515
Added:
}
516
Added:
]
517
Added:
},
518
Added:
"groovy-code": {
519
Added:
"patterns": [
520
Added:
{
521
Added:
"include": "#groovy-code-minus-map-keys"
522
Added:
},
523
Added:
{
524
Added:
"include": "#map-keys"
525
Added:
}
526
Added:
]
527
Added:
},
528
Added:
"groovy-code-minus-map-keys": {
529
Added:
"comment": "In some situations, maps can't be declared without enclosing []'s, \n\t\t\t\ttherefore we create a collection of everything but that",
530
Added:
"patterns": [
531
Added:
{
532
Added:
"include": "#comments"
533
Added:
},
534
Added:
{
535
Added:
"include": "#annotations"
536
Added:
},
537
Added:
{
538
Added:
"include": "#support-functions"
539
Added:
},
540
Added:
{
541
Added:
"include": "#keyword-language"
542
Added:
},
543
Added:
{
544
Added:
"include": "#values"
545
Added:
},
546
Added:
{
547
Added:
"include": "#anonymous-classes-and-new"
548
Added:
},
549
Added:
{
550
Added:
"include": "#keyword-operator"
551
Added:
},
552
Added:
{
553
Added:
"include": "#types"
554
Added:
},
555
Added:
{
556
Added:
"include": "#storage-modifiers"
557
Added:
},
558
Added:
{
559
Added:
"include": "#parens"
560
Added:
},
561
Added:
{
562
Added:
"include": "#closures"
563
Added:
},
564
Added:
{
565
Added:
"include": "#braces"
566
Added:
}
567
Added:
]
568
Added:
},
569
Added:
"keyword": {
570
Added:
"patterns": [
571
Added:
{
572
Added:
"include": "#keyword-operator"
573
Added:
},
574
Added:
{
575
Added:
"include": "#keyword-language"
576
Added:
}
577
Added:
]
578
Added:
},
579
Added:
"keyword-language": {
580
Added:
"patterns": [
581
Added:
{
582
Added:
"match": "\\b(try|catch|finally|throw)\\b",
583
Added:
"name": "keyword.control.exception.groovy"
584
Added:
},
585
Added:
{
586
Added:
"match": "\\b((?<!\\.)(?:return|break|continue|default|do|while|for|switch|if|else))\\b",
587
Added:
"name": "keyword.control.groovy"
588
Added:
},
589
Added:
{
590
Added:
"begin": "\\bcase\\b",
591
Added:
"beginCaptures": {
592
Added:
"0": {
593
Added:
"name": "keyword.control.groovy"
594
Added:
}
595
Added:
},
596
Added:
"end": ":",
597
Added:
"endCaptures": {
598
Added:
"0": {
599
Added:
"name": "punctuation.definition.case-terminator.groovy"
600
Added:
}
601
Added:
},
602
Added:
"name": "meta.case.groovy",
603
Added:
"patterns": [
604
Added:
{
605
Added:
"include": "#groovy-code-minus-map-keys"
606
Added:
}
607
Added:
]
608
Added:
},
609
Added:
{
610
Added:
"begin": "\\b(assert)\\s",
611
Added:
"beginCaptures": {
612
Added:
"1": {
613
Added:
"name": "keyword.control.assert.groovy"
614
Added:
}
615
Added:
},
616
Added:
"end": "$|;|}",
617
Added:
"name": "meta.declaration.assertion.groovy",
618
Added:
"patterns": [
619
Added:
{
620
Added:
"match": ":",
621
Added:
"name": "keyword.operator.assert.expression-seperator.groovy"
622
Added:
},
623
Added:
{
624
Added:
"include": "#groovy-code-minus-map-keys"
625
Added:
}
626
Added:
]
627
Added:
},
628
Added:
{
629
Added:
"match": "\\b(throws)\\b",
630
Added:
"name": "keyword.other.throws.groovy"
631
Added:
}
632
Added:
]
633
Added:
},
634
Added:
"keyword-operator": {
635
Added:
"patterns": [
636
Added:
{
637
Added:
"match": "\\b(as)\\b",
638
Added:
"name": "keyword.operator.as.groovy"
639
Added:
},
640
Added:
{
641
Added:
"match": "\\b(in)\\b",
642
Added:
"name": "keyword.operator.in.groovy"
643
Added:
},
644
Added:
{
645
Added:
"match": "\\?\\:",
646
Added:
"name": "keyword.operator.elvis.groovy"
647
Added:
},
648
Added:
{
649
Added:
"match": "\\*\\:",
650
Added:
"name": "keyword.operator.spreadmap.groovy"
651
Added:
},
652
Added:
{
653
Added:
"match": "\\.\\.",
654
Added:
"name": "keyword.operator.range.groovy"
655
Added:
},
656
Added:
{
657
Added:
"match": "\\->",
658
Added:
"name": "keyword.operator.arrow.groovy"
659
Added:
},
660
Added:
{
661
Added:
"match": "<<",
662
Added:
"name": "keyword.operator.leftshift.groovy"
663
Added:
},
664
Added:
{
665
Added:
"match": "(?<=\\S)\\.(?=\\S)",
666
Added:
"name": "keyword.operator.navigation.groovy"
667
Added:
},
668
Added:
{
669
Added:
"match": "(?<=\\S)\\?\\.(?=\\S)",
670
Added:
"name": "keyword.operator.safe-navigation.groovy"
671
Added:
},
672
Added:
{
673
Added:
"begin": "\\?",
674
Added:
"beginCaptures": {
675
Added:
"0": {
676
Added:
"name": "keyword.operator.ternary.groovy"
677
Added:
}
678
Added:
},
679
Added:
"end": "(?=$|\\)|}|])",
680
Added:
"name": "meta.evaluation.ternary.groovy",
681
Added:
"patterns": [
682
Added:
{
683
Added:
"match": ":",
684
Added:
"name": "keyword.operator.ternary.expression-seperator.groovy"
685
Added:
},
686
Added:
{
687
Added:
"include": "#groovy-code-minus-map-keys"
688
Added:
}
689
Added:
]
690
Added:
},
691
Added:
{
692
Added:
"match": "==~",
693
Added:
"name": "keyword.operator.match.groovy"
694
Added:
},
695
Added:
{
696
Added:
"match": "=~",
697
Added:
"name": "keyword.operator.find.groovy"
698
Added:
},
699
Added:
{
700
Added:
"match": "\\b(instanceof)\\b",
701
Added:
"name": "keyword.operator.instanceof.groovy"
702
Added:
},
703
Added:
{
704
Added:
"match": "(===|==|!=|<=|>=|<=>|<>|<|>|<<)",
705
Added:
"name": "keyword.operator.comparison.groovy"
706
Added:
},
707
Added:
{
708
Added:
"match": "=",
709
Added:
"name": "keyword.operator.assignment.groovy"
710
Added:
},
711
Added:
{
712
Added:
"match": "(\\-\\-|\\+\\+)",
713
Added:
"name": "keyword.operator.increment-decrement.groovy"
714
Added:
},
715
Added:
{
716
Added:
"match": "(\\-|\\+|\\*|\\/|%)",
717
Added:
"name": "keyword.operator.arithmetic.groovy"
718
Added:
},
719
Added:
{
720
Added:
"match": "(!|&&|\\|\\|)",
721
Added:
"name": "keyword.operator.logical.groovy"
722
Added:
}
723
Added:
]
724
Added:
},
725
Added:
"language-variables": {
726
Added:
"patterns": [
727
Added:
{
728
Added:
"match": "\\b(this|super)\\b",
729
Added:
"name": "variable.language.groovy"
730
Added:
}
731
Added:
]
732
Added:
},
733
Added:
"map-keys": {
734
Added:
"patterns": [
735
Added:
{
736
Added:
"captures": {
737
Added:
"1": {
738
Added:
"name": "constant.other.key.groovy"
739
Added:
},
740
Added:
"2": {
741
Added:
"name": "punctuation.definition.seperator.key-value.groovy"
742
Added:
}
743
Added:
},
744
Added:
"match": "(\\w+)\\s*(:)"
745
Added:
}
746
Added:
]
747
Added:
},
748
Added:
"method-call": {
749
Added:
"begin": "([\\w$]+)(\\()",
750
Added:
"beginCaptures": {
751
Added:
"1": {
752
Added:
"name": "meta.method.groovy"
753
Added:
},
754
Added:
"2": {
755
Added:
"name": "punctuation.definition.method-parameters.begin.groovy"
756
Added:
}
757
Added:
},
758
Added:
"end": "\\)",
759
Added:
"endCaptures": {
760
Added:
"0": {
761
Added:
"name": "punctuation.definition.method-parameters.end.groovy"
762
Added:
}
763
Added:
},
764
Added:
"name": "meta.method-call.groovy",
765
Added:
"patterns": [
766
Added:
{
767
Added:
"match": ",",
768
Added:
"name": "punctuation.definition.seperator.parameter.groovy"
769
Added:
},
770
Added:
{
771
Added:
"include": "#groovy-code"
772
Added:
}
773
Added:
]
774
Added:
},
775
Added:
"method-content": {
776
Added:
"patterns": [
777
Added:
{
778
Added:
"match": "\\s"
779
Added:
},
780
Added:
{
781
Added:
"include": "#annotations"
782
Added:
},
783
Added:
{
784
Added:
"begin": "(?=(?:\\w|<)[^\\(]*\\s+(?:[\\w$]|<)+\\s*\\()",
785
Added:
"end": "(?=[\\w$]+\\s*\\()",
786
Added:
"name": "meta.method.return-type.java",
787
Added:
"patterns": [
788
Added:
{
789
Added:
"include": "#storage-modifiers"
790
Added:
},
791
Added:
{
792
Added:
"include": "#types"
793
Added:
}
794
Added:
]
795
Added:
},
796
Added:
{
797
Added:
"begin": "([\\w$]+)\\s*\\(",
798
Added:
"beginCaptures": {
799
Added:
"1": {
800
Added:
"name": "entity.name.function.java"
801
Added:
}
802
Added:
},
803
Added:
"end": "\\)",
804
Added:
"name": "meta.definition.method.signature.java",
805
Added:
"patterns": [
806
Added:
{
807
Added:
"begin": "(?=[^)])",
808
Added:
"end": "(?=\\))",
809
Added:
"name": "meta.method.parameters.groovy",
810
Added:
"patterns": [
811
Added:
{
812
Added:
"begin": "(?=[^,)])",
813
Added:
"end": "(?=,|\\))",
814
Added:
"name": "meta.method.parameter.groovy",
815
Added:
"patterns": [
816
Added:
{
817
Added:
"match": ",",
818
Added:
"name": "punctuation.definition.separator.groovy"
819
Added:
},
820
Added:
{
821
Added:
"begin": "=",
822
Added:
"beginCaptures": {
823
Added:
"0": {
824
Added:
"name": "keyword.operator.assignment.groovy"
825
Added:
}
826
Added:
},
827
Added:
"end": "(?=,|\\))",
828
Added:
"name": "meta.parameter.default.groovy",
829
Added:
"patterns": [
830
Added:
{
831
Added:
"include": "#groovy-code"
832
Added:
}
833
Added:
]
834
Added:
},
835
Added:
{
836
Added:
"include": "#parameters"
837
Added:
}
838
Added:
]
839
Added:
}
840
Added:
]
841
Added:
}
842
Added:
]
843
Added:
},
844
Added:
{
845
Added:
"begin": "(?=<)",
846
Added:
"end": "(?=\\s)",
847
Added:
"name": "meta.method.paramerised-type.groovy",
848
Added:
"patterns": [
849
Added:
{
850
Added:
"begin": "<",
851
Added:
"end": ">",
852
Added:
"name": "storage.type.parameters.groovy",
853
Added:
"patterns": [
854
Added:
{
855
Added:
"include": "#types"
856
Added:
},
857
Added:
{
858
Added:
"match": ",",
859
Added:
"name": "punctuation.definition.seperator.groovy"
860
Added:
}
861
Added:
]
862
Added:
}
863
Added:
]
864
Added:
},
865
Added:
{
866
Added:
"begin": "throws",
867
Added:
"beginCaptures": {
868
Added:
"0": {
869
Added:
"name": "storage.modifier.groovy"
870
Added:
}
871
Added:
},
872
Added:
"end": "(?={|;)|^(?=\\s*(?:[^{\\s]|$))",
873
Added:
"name": "meta.throwables.groovy",
874
Added:
"patterns": [
875
Added:
{
876
Added:
"include": "#object-types"
877
Added:
}
878
Added:
]
879
Added:
},
880
Added:
{
881
Added:
"begin": "{",
882
Added:
"end": "(?=})",
883
Added:
"name": "meta.method.body.java",
884
Added:
"patterns": [
885
Added:
{
886
Added:
"include": "#groovy-code"
887
Added:
}
888
Added:
]
889
Added:
}
890
Added:
]
891
Added:
},
892
Added:
"methods": {
893
Added:
"applyEndPatternLast": 1,
894
Added:
"begin": "(?x:(?<=;|^|{)(?=\\s*\n (?:\n (?:private|protected|public|native|synchronized|abstract|threadsafe|transient|static|final) # visibility/modifier\n |\n (?:def)\n |\n (?:\n (?:\n (?:void|boolean|byte|char|short|int|float|long|double)\n |\n (?:@?(?:[a-zA-Z]\\w*\\.)*[A-Z]+\\w*) # object type\n )\n [\\[\\]]*\n (?:<.*>)?\n ) \n \n )\n \\s+\n ([^=]+\\s+)?\\w+\\s*\\(\n\t\t\t))",
895
Added:
"end": "}|(?=[^{])",
896
Added:
"name": "meta.definition.method.groovy",
897
Added:
"patterns": [
898
Added:
{
899
Added:
"include": "#method-content"
900
Added:
}
901
Added:
]
902
Added:
},
903
Added:
"nest_curly": {
904
Added:
"begin": "\\{",
905
Added:
"captures": {
906
Added:
"0": {
907
Added:
"name": "punctuation.section.scope.groovy"
908
Added:
}
909
Added:
},
910
Added:
"end": "\\}",
911
Added:
"patterns": [
912
Added:
{
913
Added:
"include": "#nest_curly"
914
Added:
}
915
Added:
]
916
Added:
},
917
Added:
"numbers": {
918
Added:
"patterns": [
919
Added:
{
920
Added:
"match": "((0(x|X)[0-9a-fA-F]*)|(\\+|-)?\\b(([0-9]+\\.?[0-9]*)|(\\.[0-9]+))((e|E)(\\+|-)?[0-9]+)?)([LlFfUuDdg]|UL|ul)?\\b",
921
Added:
"name": "constant.numeric.groovy"
922
Added:
}
923
Added:
]
924
Added:
},
925
Added:
"object-types": {
926
Added:
"patterns": [
927
Added:
{
928
Added:
"begin": "\\b((?:[a-z]\\w*\\.)*(?:[A-Z]+\\w*[a-z]+\\w*|UR[LI]))<",
929
Added:
"end": ">|[^\\w\\s,\\?<\\[\\]]",
930
Added:
"name": "storage.type.generic.groovy",
931
Added:
"patterns": [
932
Added:
{
933
Added:
"include": "#object-types"
934
Added:
},
935
Added:
{
936
Added:
"begin": "<",
937
Added:
"comment": "This is just to support <>'s with no actual type prefix",
938
Added:
"end": ">|[^\\w\\s,\\[\\]<]",
939
Added:
"name": "storage.type.generic.groovy"
940
Added:
}
941
Added:
]
942
Added:
},
943
Added:
{
944
Added:
"begin": "\\b((?:[a-z]\\w*\\.)*[A-Z]+\\w*[a-z]+\\w*)(?=\\[)",
945
Added:
"end": "(?=[^\\]\\s])",
946
Added:
"name": "storage.type.object.array.groovy",
947
Added:
"patterns": [
948
Added:
{
949
Added:
"begin": "\\[",
950
Added:
"end": "\\]",
951
Added:
"patterns": [
952
Added:
{
953
Added:
"include": "#groovy"
954
Added:
}
955
Added:
]
956
Added:
}
957
Added:
]
958
Added:
},
959
Added:
{
960
Added:
"match": "\\b(?:[a-zA-Z]\\w*\\.)*(?:[A-Z]+\\w*[a-z]+\\w*|UR[LI])\\b",
961
Added:
"name": "storage.type.groovy"
962
Added:
}
963
Added:
]
964
Added:
},
965
Added:
"object-types-inherited": {
966
Added:
"patterns": [
967
Added:
{
968
Added:
"begin": "\\b((?:[a-zA-Z]\\w*\\.)*[A-Z]+\\w*[a-z]+\\w*)<",
969
Added:
"end": ">|[^\\w\\s,\\?<\\[\\]]",
970
Added:
"name": "entity.other.inherited-class.groovy",
971
Added:
"patterns": [
972
Added:
{
973
Added:
"include": "#object-types-inherited"
974
Added:
},
975
Added:
{
976
Added:
"begin": "<",
977
Added:
"comment": "This is just to support <>'s with no actual type prefix",
978
Added:
"end": ">|[^\\w\\s,\\[\\]<]",
979
Added:
"name": "storage.type.generic.groovy"
980
Added:
}
981
Added:
]
982
Added:
},
983
Added:
{
984
Added:
"captures": {
985
Added:
"1": {
986
Added:
"name": "keyword.operator.dereference.groovy"
987
Added:
}
988
Added:
},
989
Added:
"match": "\\b(?:[a-zA-Z]\\w*(\\.))*[A-Z]+\\w*[a-z]+\\w*\\b",
990
Added:
"name": "entity.other.inherited-class.groovy"
991
Added:
}
992
Added:
]
993
Added:
},
994
Added:
"parameters": {
995
Added:
"patterns": [
996
Added:
{
997
Added:
"include": "#annotations"
998
Added:
},
999
Added:
{
1000
Added:
"include": "#storage-modifiers"
1001
Added:
},
1002
Added:
{
1003
Added:
"include": "#types"
1004
Added:
},
1005
Added:
{
1006
Added:
"match": "\\w+",
1007
Added:
"name": "variable.parameter.method.groovy"
1008
Added:
}
1009
Added:
]
1010
Added:
},
1011
Added:
"parens": {
1012
Added:
"begin": "\\(",
1013
Added:
"end": "\\)",
1014
Added:
"patterns": [
1015
Added:
{
1016
Added:
"include": "#groovy-code"
1017
Added:
}
1018
Added:
]
1019
Added:
},
1020
Added:
"primitive-arrays": {
1021
Added:
"patterns": [
1022
Added:
{
1023
Added:
"match": "\\b(?:void|boolean|byte|char|short|int|float|long|double)(\\[\\])*\\b",
1024
Added:
"name": "storage.type.primitive.array.groovy"
1025
Added:
}
1026
Added:
]
1027
Added:
},
1028
Added:
"primitive-types": {
1029
Added:
"patterns": [
1030
Added:
{
1031
Added:
"match": "\\b(?:void|boolean|byte|char|short|int|float|long|double)\\b",
1032
Added:
"name": "storage.type.primitive.groovy"
1033
Added:
}
1034
Added:
]
1035
Added:
},
1036
Added:
"regexp": {
1037
Added:
"patterns": [
1038
Added:
{
1039
Added:
"begin": "/(?=[^/]+/([^>]|$))",
1040
Added:
"beginCaptures": {
1041
Added:
"0": {
1042
Added:
"name": "punctuation.definition.string.regexp.begin.groovy"
1043
Added:
}
1044
Added:
},
1045
Added:
"end": "/",
1046
Added:
"endCaptures": {
1047
Added:
"0": {
1048
Added:
"name": "punctuation.definition.string.regexp.end.groovy"
1049
Added:
}
1050
Added:
},
1051
Added:
"name": "string.regexp.groovy",
1052
Added:
"patterns": [
1053
Added:
{
1054
Added:
"match": "\\\\.",
1055
Added:
"name": "constant.character.escape.groovy"
1056
Added:
}
1057
Added:
]
1058
Added:
},
1059
Added:
{
1060
Added:
"begin": "~\"",
1061
Added:
"beginCaptures": {
1062
Added:
"0": {
1063
Added:
"name": "punctuation.definition.string.regexp.begin.groovy"
1064
Added:
}
1065
Added:
},
1066
Added:
"end": "\"",
1067
Added:
"endCaptures": {
1068
Added:
"0": {
1069
Added:
"name": "punctuation.definition.string.regexp.end.groovy"
1070
Added:
}
1071
Added:
},
1072
Added:
"name": "string.regexp.compiled.groovy",
1073
Added:
"patterns": [
1074
Added:
{
1075
Added:
"match": "\\\\.",
1076
Added:
"name": "constant.character.escape.groovy"
1077
Added:
}
1078
Added:
]
1079
Added:
}
1080
Added:
]
1081
Added:
},
1082
Added:
"storage-modifiers": {
1083
Added:
"patterns": [
1084
Added:
{
1085
Added:
"match": "\\b(private|protected|public)\\b",
1086
Added:
"name": "storage.modifier.access-control.groovy"
1087
Added:
},
1088
Added:
{
1089
Added:
"match": "\\b(static)\\b",
1090
Added:
"name": "storage.modifier.static.groovy"
1091
Added:
},
1092
Added:
{
1093
Added:
"match": "\\b(final)\\b",
1094
Added:
"name": "storage.modifier.final.groovy"
1095
Added:
},
1096
Added:
{
1097
Added:
"match": "\\b(native|synchronized|abstract|threadsafe|transient)\\b",
1098
Added:
"name": "storage.modifier.other.groovy"
1099
Added:
}
1100
Added:
]
1101
Added:
},
1102
Added:
"string-quoted-double": {
1103
Added:
"begin": "\"",
1104
Added:
"beginCaptures": {
1105
Added:
"0": {
1106
Added:
"name": "punctuation.definition.string.begin.groovy"
1107
Added:
}
1108
Added:
},
1109
Added:
"end": "\"",
1110
Added:
"endCaptures": {
1111
Added:
"0": {
1112
Added:
"name": "punctuation.definition.string.end.groovy"
1113
Added:
}
1114
Added:
},
1115
Added:
"name": "string.quoted.double.groovy",
1116
Added:
"patterns": [
1117
Added:
{
1118
Added:
"include": "#string-quoted-double-contents"
1119
Added:
}
1120
Added:
]
1121
Added:
},
1122
Added:
"string-quoted-double-contents": {
1123
Added:
"patterns": [
1124
Added:
{
1125
Added:
"match": "\\\\.",
1126
Added:
"name": "constant.character.escape.groovy"
1127
Added:
},
1128
Added:
{
1129
Added:
"applyEndPatternLast": 1,
1130
Added:
"begin": "\\$\\w",
1131
Added:
"end": "(?=\\W)",
1132
Added:
"name": "variable.other.interpolated.groovy",
1133
Added:
"patterns": [
1134
Added:
{
1135
Added:
"match": "\\w",
1136
Added:
"name": "variable.other.interpolated.groovy"
1137
Added:
},
1138
Added:
{
1139
Added:
"match": "\\.",
1140
Added:
"name": "keyword.other.dereference.groovy"
1141
Added:
}
1142
Added:
]
1143
Added:
},
1144
Added:
{
1145
Added:
"begin": "\\$\\{",
1146
Added:
"captures": {
1147
Added:
"0": {
1148
Added:
"name": "punctuation.section.embedded.groovy"
1149
Added:
}
1150
Added:
},
1151
Added:
"end": "\\}",
1152
Added:
"name": "source.groovy.embedded.source",
1153
Added:
"patterns": [
1154
Added:
{
1155
Added:
"include": "#nest_curly"
1156
Added:
}
1157
Added:
]
1158
Added:
}
1159
Added:
]
1160
Added:
},
1161
Added:
"string-quoted-double-multiline": {
1162
Added:
"begin": "\"\"\"",
1163
Added:
"beginCaptures": {
1164
Added:
"0": {
1165
Added:
"name": "punctuation.definition.string.begin.groovy"
1166
Added:
}
1167
Added:
},
1168
Added:
"end": "\"\"\"",
1169
Added:
"endCaptures": {
1170
Added:
"0": {
1171
Added:
"name": "punctuation.definition.string.end.groovy"
1172
Added:
}
1173
Added:
},
1174
Added:
"name": "string.quoted.double.multiline.groovy",
1175
Added:
"patterns": [
1176
Added:
{
1177
Added:
"include": "#string-quoted-double-contents"
1178
Added:
}
1179
Added:
]
1180
Added:
},
1181
Added:
"string-quoted-single": {
1182
Added:
"begin": "'",
1183
Added:
"beginCaptures": {
1184
Added:
"0": {
1185
Added:
"name": "punctuation.definition.string.begin.groovy"
1186
Added:
}
1187
Added:
},
1188
Added:
"end": "'",
1189
Added:
"endCaptures": {
1190
Added:
"0": {
1191
Added:
"name": "punctuation.definition.string.end.groovy"
1192
Added:
}
1193
Added:
},
1194
Added:
"name": "string.quoted.single.groovy",
1195
Added:
"patterns": [
1196
Added:
{
1197
Added:
"include": "#string-quoted-single-contents"
1198
Added:
}
1199
Added:
]
1200
Added:
},
1201
Added:
"string-quoted-single-contents": {
1202
Added:
"patterns": [
1203
Added:
{
1204
Added:
"match": "\\\\.",
1205
Added:
"name": "constant.character.escape.groovy"
1206
Added:
}
1207
Added:
]
1208
Added:
},
1209
Added:
"string-quoted-single-multiline": {
1210
Added:
"begin": "'''",
1211
Added:
"beginCaptures": {
1212
Added:
"0": {
1213
Added:
"name": "punctuation.definition.string.begin.groovy"
1214
Added:
}
1215
Added:
},
1216
Added:
"end": "'''",
1217
Added:
"endCaptures": {
1218
Added:
"0": {
1219
Added:
"name": "punctuation.definition.string.end.groovy"
1220
Added:
}
1221
Added:
},
1222
Added:
"name": "string.quoted.single.multiline.groovy",
1223
Added:
"patterns": [
1224
Added:
{
1225
Added:
"include": "#string-quoted-single-contents"
1226
Added:
}
1227
Added:
]
1228
Added:
},
1229
Added:
"strings": {
1230
Added:
"patterns": [
1231
Added:
{
1232
Added:
"include": "#string-quoted-double-multiline"
1233
Added:
},
1234
Added:
{
1235
Added:
"include": "#string-quoted-single-multiline"
1236
Added:
},
1237
Added:
{
1238
Added:
"include": "#string-quoted-double"
1239
Added:
},
1240
Added:
{
1241
Added:
"include": "#string-quoted-single"
1242
Added:
},
1243
Added:
{
1244
Added:
"include": "#regexp"
1245
Added:
}
1246
Added:
]
1247
Added:
},
1248
Added:
"structures": {
1249
Added:
"begin": "\\[",
1250
Added:
"beginCaptures": {
1251
Added:
"0": {
1252
Added:
"name": "punctuation.definition.structure.begin.groovy"
1253
Added:
}
1254
Added:
},
1255
Added:
"end": "\\]",
1256
Added:
"endCaptures": {
1257
Added:
"0": {
1258
Added:
"name": "punctuation.definition.structure.end.groovy"
1259
Added:
}
1260
Added:
},
1261
Added:
"name": "meta.structure.groovy",
1262
Added:
"patterns": [
1263
Added:
{
1264
Added:
"include": "#groovy-code"
1265
Added:
},
1266
Added:
{
1267
Added:
"match": ",",
1268
Added:
"name": "punctuation.definition.separator.groovy"
1269
Added:
}
1270
Added:
]
1271
Added:
},
1272
Added:
"support-functions": {
1273
Added:
"patterns": [
1274
Added:
{
1275
Added:
"match": "(?x)\\b(?:sprintf|print(?:f|ln)?)\\b",
1276
Added:
"name": "support.function.print.groovy"
1277
Added:
},
1278
Added:
{
1279
Added:
"match": "(?x)\\b(?:shouldFail|fail(?:NotEquals)?|ass(?:ume|ert(?:S(?:cript|ame)|N(?:ot(?:Same|\n\t\t\t\t\tNull)|ull)|Contains|T(?:hat|oString|rue)|Inspect|Equals|False|Length|\n\t\t\t\t\tArrayEquals)))\\b",
1280
Added:
"name": "support.function.testing.groovy"
1281
Added:
}
1282
Added:
]
1283
Added:
},
1284
Added:
"types": {
1285
Added:
"patterns": [
1286
Added:
{
1287
Added:
"match": "\\b(def)\\b",
1288
Added:
"name": "storage.type.def.groovy"
1289
Added:
},
1290
Added:
{
1291
Added:
"include": "#primitive-types"
1292
Added:
},
1293
Added:
{
1294
Added:
"include": "#primitive-arrays"
1295
Added:
},
1296
Added:
{
1297
Added:
"include": "#object-types"
1298
Added:
}
1299
Added:
]
1300
Added:
},
1301
Added:
"values": {
1302
Added:
"patterns": [
1303
Added:
{
1304
Added:
"include": "#language-variables"
1305
Added:
},
1306
Added:
{
1307
Added:
"include": "#strings"
1308
Added:
},
1309
Added:
{
1310
Added:
"include": "#numbers"
1311
Added:
},
1312
Added:
{
1313
Added:
"include": "#constants"
1314
Added:
},
1315
Added:
{
1316
Added:
"include": "#types"
1317
Added:
},
1318
Added:
{
1319
Added:
"include": "#structures"
1320
Added:
},
1321
Added:
{
1322
Added:
"include": "#method-call"
1323
Added:
}
1324
Added:
]
1325
Added:
},
1326
Added:
"variables": {
1327
Added:
"applyEndPatternLast": 1,
1328
Added:
"patterns": [
1329
Added:
{
1330
Added:
"begin": "(?x:(?=\n (?:\n (?:private|protected|public|native|synchronized|abstract|threadsafe|transient|static|final) # visibility/modifier\n |\n (?:def)\n |\n (?:void|boolean|byte|char|short|int|float|long|double)\n |\n (?:(?:[a-z]\\w*\\.)*[A-Z]+\\w*) # object type\n )\n \\s+\n [\\w\\d_<>\\[\\],\\s]+\n (?:=|$)\n \n \t\t\t))",
1331
Added:
"end": ";|$",
1332
Added:
"name": "meta.definition.variable.groovy",
1333
Added:
"patterns": [
1334
Added:
{
1335
Added:
"match": "\\s"
1336
Added:
},
1337
Added:
{
1338
Added:
"captures": {
1339
Added:
"1": {
1340
Added:
"name": "constant.variable.groovy"
1341
Added:
}
1342
Added:
},
1343
Added:
"match": "([A-Z_0-9]+)\\s+(?=\\=)"
1344
Added:
},
1345
Added:
{
1346
Added:
"captures": {
1347
Added:
"1": {
1348
Added:
"name": "meta.definition.variable.name.groovy"
1349
Added:
}
1350
Added:
},
1351
Added:
"match": "(\\w[^\\s,]*)\\s+(?=\\=)"
1352
Added:
},
1353
Added:
{
1354
Added:
"begin": "=",
1355
Added:
"beginCaptures": {
1356
Added:
"0": {
1357
Added:
"name": "keyword.operator.assignment.groovy"
1358
Added:
}
1359
Added:
},
1360
Added:
"end": "$",
1361
Added:
"patterns": [
1362
Added:
{
1363
Added:
"include": "#groovy-code"
1364
Added:
}
1365
Added:
]
1366
Added:
},
1367
Added:
{
1368
Added:
"captures": {
1369
Added:
"1": {
1370
Added:
"name": "meta.definition.variable.name.groovy"
1371
Added:
}
1372
Added:
},
1373
Added:
"match": "(\\w[^\\s=]*)(?=\\s*($|;))"
1374
Added:
},
1375
Added:
{
1376
Added:
"include": "#groovy-code"
1377
Added:
}
1378
Added:
]
1379
Added:
}
1380
Added:
]
1381
Added:
}
1382
Added:
},
1383
Added:
"scopeName": "source.groovy",
1384
Added:
"uuid": "B3A64888-EBBB-4436-8D9E-F1169C5D7613"
1385
Added:
}
lib/grammars/julia.json
@@ -0,0 +1,1100 @@
1
Added:
{
2
Added:
"comment": "This grammar is used by Atom (Oniguruma), GitHub (PCRE), and VSCode (Oniguruma),\nso all regexps must be compatible with both engines.\n\nSpecs:\n- https://github.com/kkos/oniguruma/blob/master/doc/RE\n- https://www.pcre.org/current/doc/html/",
3
Added:
"fileTypes": [
4
Added:
"jl"
5
Added:
],
6
Added:
"scopeName": "source.julia",
7
Added:
"firstLineMatch": "^#!.*\\bjulia\\s*$",
8
Added:
"name": "Julia",
9
Added:
"patterns": [
10
Added:
{
11
Added:
"include": "#operator"
12
Added:
},
13
Added:
{
14
Added:
"include": "#array"
15
Added:
},
16
Added:
{
17
Added:
"include": "#string"
18
Added:
},
19
Added:
{
20
Added:
"include": "#parentheses"
21
Added:
},
22
Added:
{
23
Added:
"include": "#bracket"
24
Added:
},
25
Added:
{
26
Added:
"include": "#function_decl"
27
Added:
},
28
Added:
{
29
Added:
"include": "#function_call"
30
Added:
},
31
Added:
{
32
Added:
"include": "#for_block"
33
Added:
},
34
Added:
{
35
Added:
"include": "#keyword"
36
Added:
},
37
Added:
{
38
Added:
"include": "#number"
39
Added:
},
40
Added:
{
41
Added:
"include": "#comment"
42
Added:
},
43
Added:
{
44
Added:
"include": "#type_decl"
45
Added:
},
46
Added:
{
47
Added:
"include": "#symbol"
48
Added:
},
49
Added:
{
50
Added:
"include": "#punctuation"
51
Added:
}
52
Added:
],
53
Added:
"repository": {
54
Added:
"array": {
55
Added:
"patterns": [
56
Added:
{
57
Added:
"begin": "\\[",
58
Added:
"beginCaptures": {
59
Added:
"0": {
60
Added:
"name": "meta.bracket.julia"
61
Added:
}
62
Added:
},
63
Added:
"end": "(\\])((?:\\.)?'*)",
64
Added:
"endCaptures": {
65
Added:
"1": {
66
Added:
"name": "meta.bracket.julia"
67
Added:
},
68
Added:
"2": {
69
Added:
"name": "keyword.operator.transpose.julia"
70
Added:
}
71
Added:
},
72
Added:
"name": "meta.array.julia",
73
Added:
"patterns": [
74
Added:
{
75
Added:
"match": "\\bbegin\\b",
76
Added:
"name": "constant.numeric.julia"
77
Added:
},
78
Added:
{
79
Added:
"match": "\\bend\\b",
80
Added:
"name": "constant.numeric.julia"
81
Added:
},
82
Added:
{
83
Added:
"include": "#self_no_for_block"
84
Added:
}
85
Added:
]
86
Added:
}
87
Added:
]
88
Added:
},
89
Added:
"parentheses": {
90
Added:
"patterns": [
91
Added:
{
92
Added:
"begin": "\\(",
93
Added:
"beginCaptures": {
94
Added:
"0": {
95
Added:
"name": "meta.bracket.julia"
96
Added:
}
97
Added:
},
98
Added:
"end": "(\\))((?:\\.)?'*)",
99
Added:
"endCaptures": {
100
Added:
"1": {
101
Added:
"name": "meta.bracket.julia"
102
Added:
},
103
Added:
"2": {
104
Added:
"name": "keyword.operator.transpose.julia"
105
Added:
}
106
Added:
},
107
Added:
"patterns": [
108
Added:
{
109
Added:
"include": "#self_no_for_block"
110
Added:
}
111
Added:
]
112
Added:
}
113
Added:
]
114
Added:
},
115
Added:
"bracket": {
116
Added:
"patterns": [
117
Added:
{
118
Added:
"begin": "\\{",
119
Added:
"beginCaptures": {
120
Added:
"0": {
121
Added:
"name": "meta.bracket.julia"
122
Added:
}
123
Added:
},
124
Added:
"end": "(\\})((?:\\.)?'*)",
125
Added:
"endCaptures": {
126
Added:
"1": {
127
Added:
"name": "meta.bracket.julia"
128
Added:
},
129
Added:
"2": {
130
Added:
"name": "keyword.operator.transpose.julia"
131
Added:
}
132
Added:
},
133
Added:
"patterns": [
134
Added:
{
135
Added:
"include": "#self_no_for_block"
136
Added:
}
137
Added:
]
138
Added:
}
139
Added:
]
140
Added:
},
141
Added:
"comment_tags": {
142
Added:
"patterns": [
143
Added:
{
144
Added:
"match": "\\bTODO\\b",
145
Added:
"name": "keyword.other.comment-annotation.julia"
146
Added:
},
147
Added:
{
148
Added:
"match": "\\bFIXME\\b",
149
Added:
"name": "keyword.other.comment-annotation.julia"
150
Added:
},
151
Added:
{
152
Added:
"match": "\\bCHANGED\\b",
153
Added:
"name": "keyword.other.comment-annotation.julia"
154
Added:
},
155
Added:
{
156
Added:
"match": "\\bXXX\\b",
157
Added:
"name": "keyword.other.comment-annotation.julia"
158
Added:
}
159
Added:
]
160
Added:
},
161
Added:
"comment": {
162
Added:
"patterns": [
163
Added:
{
164
Added:
"include": "#comment_block"
165
Added:
},
166
Added:
{
167
Added:
"begin": "#",
168
Added:
"beginCaptures": {
169
Added:
"0": {
170
Added:
"name": "punctuation.definition.comment.julia"
171
Added:
}
172
Added:
},
173
Added:
"end": "\\n",
174
Added:
"name": "comment.line.number-sign.julia",
175
Added:
"patterns": [
176
Added:
{
177
Added:
"include": "#comment_tags"
178
Added:
}
179
Added:
]
180
Added:
}
181
Added:
]
182
Added:
},
183
Added:
"comment_block": {
184
Added:
"patterns": [
185
Added:
{
186
Added:
"begin": "#=",
187
Added:
"beginCaptures": {
188
Added:
"0": {
189
Added:
"name": "punctuation.definition.comment.begin.julia"
190
Added:
}
191
Added:
},
192
Added:
"end": "=#",
193
Added:
"endCaptures": {
194
Added:
"0": {
195
Added:
"name": "punctuation.definition.comment.end.julia"
196
Added:
}
197
Added:
},
198
Added:
"name": "comment.block.number-sign-equals.julia",
199
Added:
"patterns": [
200
Added:
{
201
Added:
"include": "#comment_tags"
202
Added:
},
203
Added:
{
204
Added:
"include": "#comment_block"
205
Added:
}
206
Added:
]
207
Added:
}
208
Added:
]
209
Added:
},
210
Added:
"function_call": {
211
Added:
"patterns": [
212
Added:
{
213
Added:
"begin": "((?:[[:alpha:]_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{So}←-⇿])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{Mn}\u0001-¡]|[^\\P{Mc}\u0001-¡]|[^\\P{Nd}\u0001-¡]|[^\\P{Pc}\u0001-¡]|[^\\P{Sk}\u0001-¡]|[^\\P{Me}\u0001-¡]|[^\\P{No}\u0001-¡]|[′-‷⁗]|[^\\P{So}←-⇿])*)({(?:[^{}]|{(?:[^{}]|{[^{}]*})*})*})?\\.?(\\()",
214
Added:
"beginCaptures": {
215
Added:
"1": {
216
Added:
"name": "support.function.julia"
217
Added:
},
218
Added:
"2": {
219
Added:
"name": "support.type.julia"
220
Added:
},
221
Added:
"3": {
222
Added:
"name": "meta.bracket.julia"
223
Added:
}
224
Added:
},
225
Added:
"end": "\\)(('|(\\.'))*\\.?')?",
226
Added:
"endCaptures": {
227
Added:
"0": {
228
Added:
"name": "meta.bracket.julia"
229
Added:
},
230
Added:
"1": {
231
Added:
"name": "keyword.operator.transposed-func.julia"
232
Added:
}
233
Added:
},
234
Added:
"patterns": [
235
Added:
{
236
Added:
"include": "#self_no_for_block"
237
Added:
}
238
Added:
]
239
Added:
}
240
Added:
]
241
Added:
},
242
Added:
"function_decl": {
243
Added:
"patterns": [
244
Added:
{
245
Added:
"captures": {
246
Added:
"1": {
247
Added:
"name": "entity.name.function.julia"
248
Added:
},
249
Added:
"2": {
250
Added:
"name": "support.type.julia"
251
Added:
}
252
Added:
},
253
Added:
"match": "((?:[[:alpha:]_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{So}←-⇿])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{Mn}\u0001-¡]|[^\\P{Mc}\u0001-¡]|[^\\P{Nd}\u0001-¡]|[^\\P{Pc}\u0001-¡]|[^\\P{Sk}\u0001-¡]|[^\\P{Me}\u0001-¡]|[^\\P{No}\u0001-¡]|[′-‷⁗]|[^\\P{So}←-⇿])*)({(?:[^{}]|{(?:[^{}]|{[^{}]*})*})*})?(?=\\([^#]*\\)(::[^\\s]+)?(\\s*\\bwhere\\b\\s+.+?)?\\s*?=(?![=>]))",
254
Added:
"comment": "first group is function name\nSecond group is type parameters (e.g. {T<:Number, S})\nThen open parens\nThen a lookahead ensures that we are followed by:\n - anything (function arguments)\n - 0 or more spaces\n - Finally an equal sign\nNegative lookahead ensures we don't have another equal sign (not `==`)"
255
Added:
},
256
Added:
{
257
Added:
"captures": {
258
Added:
"1": {
259
Added:
"name": "keyword.other.julia"
260
Added:
},
261
Added:
"2": {
262
Added:
"name": "keyword.operator.dots.julia"
263
Added:
},
264
Added:
"3": {
265
Added:
"name": "entity.name.function.julia"
266
Added:
},
267
Added:
"4": {
268
Added:
"name": "support.type.julia"
269
Added:
}
270
Added:
},
271
Added:
"match": "\\b(function|macro)(?:\\s+(?:(?:[[:alpha:]_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{So}←-⇿])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{Mn}\u0001-¡]|[^\\P{Mc}\u0001-¡]|[^\\P{Nd}\u0001-¡]|[^\\P{Pc}\u0001-¡]|[^\\P{Sk}\u0001-¡]|[^\\P{Me}\u0001-¡]|[^\\P{No}\u0001-¡]|[′-‷⁗]|[^\\P{So}←-⇿])*(\\.))?((?:[[:alpha:]_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{So}←-⇿])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{Mn}\u0001-¡]|[^\\P{Mc}\u0001-¡]|[^\\P{Nd}\u0001-¡]|[^\\P{Pc}\u0001-¡]|[^\\P{Sk}\u0001-¡]|[^\\P{Me}\u0001-¡]|[^\\P{No}\u0001-¡]|[′-‷⁗]|[^\\P{So}←-⇿])*)({(?:[^{}]|{(?:[^{}]|{[^{}]*})*})*})?|\\s*)(?=\\()",
272
Added:
"comment": "similar regex to previous, but with keyword not 1-line syntax"
273
Added:
}
274
Added:
]
275
Added:
},
276
Added:
"for_block": {
277
Added:
"comment": "for blocks need to be special-cased to support tokenizing 'outer' properly",
278
Added:
"patterns": [
279
Added:
{
280
Added:
"begin": "\\b(for)\\b",
281
Added:
"beginCaptures": {
282
Added:
"0": {
283
Added:
"name": "keyword.control.julia"
284
Added:
}
285
Added:
},
286
Added:
"end": "(?<!,|\\s)(\\s*\\n)",
287
Added:
"patterns": [
288
Added:
{
289
Added:
"match": "\\bouter\\b",
290
Added:
"name": "keyword.other.julia"
291
Added:
},
292
Added:
{
293
Added:
"include": "$self"
294
Added:
}
295
Added:
]
296
Added:
}
297
Added:
]
298
Added:
},
299
Added:
"keyword": {
300
Added:
"patterns": [
301
Added:
{
302
Added:
"match": "\\b(?<![:_\\.])(?:function|mutable\\s+struct|struct|macro|quote|abstract\\s+type|primitive\\s+type|typegroup|module|baremodule|where)\\b",
303
Added:
"name": "keyword.other.julia"
304
Added:
},
305
Added:
{
306
Added:
"match": "\\b(?<![:_])(?:if|else|elseif|for|while|begin|let|do|try|catch|finally|return|break|continue)\\b",
307
Added:
"name": "keyword.control.julia"
308
Added:
},
309
Added:
{
310
Added:
"match": "\\b(?<![:_])end\\b",
311
Added:
"name": "keyword.control.end.julia"
312
Added:
},
313
Added:
{
314
Added:
"match": "\\b(?<![:_])(?:global|local|const)\\b",
315
Added:
"name": "keyword.storage.modifier.julia"
316
Added:
},
317
Added:
{
318
Added:
"match": "\\b(?<![:_])(?:export)\\b",
319
Added:
"name": "keyword.control.export.julia"
320
Added:
},
321
Added:
{
322
Added:
"match": "^(?:public)\\b",
323
Added:
"name": "keyword.control.public.julia"
324
Added:
},
325
Added:
{
326
Added:
"match": "\\b(?<![:_])(?:import)\\b",
327
Added:
"name": "keyword.control.import.julia"
328
Added:
},
329
Added:
{
330
Added:
"match": "\\b(?<![:_])(?:using)\\b",
331
Added:
"name": "keyword.control.using.julia"
332
Added:
},
333
Added:
{
334
Added:
"match": "(?<=\\S\\s+)\\b(as)\\b(?=\\s+\\S)",
335
Added:
"name": "keyword.control.as.julia"
336
Added:
},
337
Added:
{
338
Added:
"match": "@(\\.|(?:[[:alpha:]_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{So}←-⇿])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{Mn}\u0001-¡]|[^\\P{Mc}\u0001-¡]|[^\\P{Nd}\u0001-¡]|[^\\P{Pc}\u0001-¡]|[^\\P{Sk}\u0001-¡]|[^\\P{Me}\u0001-¡]|[^\\P{No}\u0001-¡]|[′-‷⁗]|[^\\P{So}←-⇿])*|[\\p{S}\\p{P}&&[^\\s@]]+)",
339
Added:
"name": "support.function.macro.julia"
340
Added:
}
341
Added:
]
342
Added:
},
343
Added:
"number": {
344
Added:
"patterns": [
345
Added:
{
346
Added:
"match": "((?<!(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{Mn}\u0001-¡]|[^\\P{Mc}\u0001-¡]|[^\\P{Nd}\u0001-¡]|[^\\P{Pc}\u0001-¡]|[^\\P{Sk}\u0001-¡]|[^\\P{Me}\u0001-¡]|[^\\P{No}\u0001-¡]|[′-‷⁗]|[^\\P{So}←-⇿]))(?:(?:\\b0(?:x|X)[0-9a-fA-F](?:_?[0-9a-fA-F])*)|(?:\\b0o[0-7](?:_?[0-7])*)|(?:\\b0b[0-1](?:_?[0-1])*)|(?:(?:\\b[0-9](?:_?[0-9])*\\.?(?!\\.)(?:[_0-9]*))|(?:\\b\\.[0-9](?:_?[0-9])*))(?:[efE][+-]?[0-9](?:_?[0-9])*)?(?:im\\b|Inf(?:16|32|64)?\\b|NaN(?:16|32|64)?\\b|π\\b|pi\\b|ℯ\\b)?|\\b[0-9]+|\\bInf(?:16|32|64)?\\b|\\bNaN(?:16|32|64)?\\b|\\bπ\\b|\\bpi\\b|\\bℯ\\b))('*)",
347
Added:
"captures": {
348
Added:
"1": {
349
Added:
"name": "constant.numeric.julia"
350
Added:
},
351
Added:
"2": {
352
Added:
"name": "keyword.operator.conjugate-number.julia"
353
Added:
}
354
Added:
}
355
Added:
},
356
Added:
{
357
Added:
"match": "\\bARGS\\b|\\bC_NULL\\b|\\bDEPOT_PATH\\b|\\bENDIAN_BOM\\b|\\bENV\\b|\\bLOAD_PATH\\b|\\bPROGRAM_FILE\\b|\\bstdin\\b|\\bstdout\\b|\\bstderr\\b|\\bVERSION\\b|\\bdevnull\\b",
358
Added:
"name": "constant.global.julia"
359
Added:
},
360
Added:
{
361
Added:
"match": "\\btrue\\b|\\bfalse\\b|\\bnothing\\b|\\bmissing\\b",
362
Added:
"name": "constant.language.julia"
363
Added:
}
364
Added:
]
365
Added:
},
366
Added:
"operator": {
367
Added:
"patterns": [
368
Added:
{
369
Added:
"match": "\\.?(?:<-->|->|-->|<--|←|→|↔|↚|↛|↞|↠|↢|↣|↦|↤|↮|⇎|⇍|⇏|⇐|⇒|⇔|⇴|⇶|⇷|⇸|⇹|⇺|⇻|⇼|⇽|⇾|⇿|⟵|⟶|⟷|⟹|⟺|⟻|⟼|⟽|⟾|⟿|⤀|⤁|⤂|⤃|⤄|⤅|⤆|⤇|⤌|⤍|⤎|⤏|⤐|⤑|⤔|⤕|⤖|⤗|⤘|⤝|⤞|⤟|⤠|⥄|⥅|⥆|⥇|⥈|⥊|⥋|⥎|⥐|⥒|⥓|⥖|⥗|⥚|⥛|⥞|⥟|⥢|⥤|⥦|⥧|⥨|⥩|⥪|⥫|⥬|⥭|⥰|⧴|⬱|⬰|⬲|⬳|⬴|⬵|⬶|⬷|⬸|⬹|⬺|⬻|⬼|⬽|⬾|⬿|⭀|⭁|⭂|⭃|⥷|⭄|⥺|⭇|⭈|⭉|⭊|⭋|⭌|←|→|⇜|⇝|↜|↝|↩|↪|↫|↬|↼|↽|⇀|⇁|⇄|⇆|⇇|⇉|⇋|⇌|⇚|⇛|⇠|⇢|↷|↶|↺|↻|=>)",
370
Added:
"name": "keyword.operator.arrow.julia"
371
Added:
},
372
Added:
{
373
Added:
"match": "(?::=|\\+=|-=|\\*=|//=|/=|\\.//=|\\./=|\\.\\*=|\\\\=|\\.\\\\=|\\^=|\\.\\^=|%=|\\.%=|÷=|\\.÷=|\\|=|&=|\\.&=|⊻=|\\.⊻=|\\$=|<<=|>>=|>>>=|=(?!=))",
374
Added:
"name": "keyword.operator.update.julia"
375
Added:
},
376
Added:
{
377
Added:
"match": "(?:<<|>>>|>>|\\.>>>|\\.>>|\\.<<)",
378
Added:
"name": "keyword.operator.shift.julia"
379
Added:
},
380
Added:
{
381
Added:
"match": "(?:\\s*(::|>:|<:)\\s*((?:(?:Union)?\\([^)]*\\)|[[:alpha:]_$∇][[:word:]⁺-ₜ!′\\.]*(?:(?:{(?:[^{}]|{(?:[^{}]|{[^{}]*})*})*})|(?:\".+?(?<!\\\\)\"))?)))(?:\\.\\.\\.)?((?:\\.)?'*)",
382
Added:
"captures": {
383
Added:
"1": {
384
Added:
"name": "keyword.operator.relation.types.julia"
385
Added:
},
386
Added:
"2": {
387
Added:
"name": "support.type.julia"
388
Added:
},
389
Added:
"3": {
390
Added:
"name": "keyword.operator.transpose.julia"
391
Added:
}
392
Added:
}
393
Added:
},
394
Added:
{
395
Added:
"match": "(\\.?((?<!<)<=|(?<!>)>=|>|<|≥|≤|===|==|≡|!=|≠|!==|≢|∈|∉|∋|∌|⊆|⊈|⊂|⊄|⊊|∝|∊|∍|∥|∦|∷|∺|∻|∽|∾|≁|≃|≂|≄|≅|≆|≇|≈|≉|≊|≋|≌|≍|≎|≐|≑|≒|≓|≖|≗|≘|≙|≚|≛|≜|≝|≞|≟|≣|≦|≧|≨|≩|≪|≫|≬|≭|≮|≯|≰|≱|≲|≳|≴|≵|≶|≷|≸|≹|≺|≻|≼|≽|≾|≿|⊀|⊁|⊃|⊅|⊇|⊉|⊋|⊏|⊐|⊑|⊒|⊜|⊩|⊬|⊮|⊰|⊱|⊲|⊳|⊴|⊵|⊶|⊷|⋍|⋐|⋑|⋕|⋖|⋗|⋘|⋙|⋚|⋛|⋜|⋝|⋞|⋟|⋠|⋡|⋢|⋣|⋤|⋥|⋦|⋧|⋨|⋩|⋪|⋫|⋬|⋭|⋲|⋳|⋴|⋵|⋶|⋷|⋸|⋹|⋺|⋻|⋼|⋽|⋾|⋿|⟈|⟉|⟒|⦷|⧀|⧁|⧡|⧣|⧤|⧥|⩦|⩧|⩪|⩫|⩬|⩭|⩮|⩯|⩰|⩱|⩲|⩳|⩵|⩶|⩷|⩸|⩹|⩺|⩻|⩼|⩽|⩾|⩿|⪀|⪁|⪂|⪃|⪄|⪅|⪆|⪇|⪈|⪉|⪊|⪋|⪌|⪍|⪎|⪏|⪐|⪑|⪒|⪓|⪔|⪕|⪖|⪗|⪘|⪙|⪚|⪛|⪜|⪝|⪞|⪟|⪠|⪡|⪢|⪣|⪤|⪥|⪦|⪧|⪨|⪩|⪪|⪫|⪬|⪭|⪮|⪯|⪰|⪱|⪲|⪳|⪴|⪵|⪶|⪷|⪸|⪹|⪺|⪻|⪼|⪽|⪾|⪿|⫀|⫁|⫂|⫃|⫄|⫅|⫆|⫇|⫈|⫉|⫊|⫋|⫌|⫍|⫎|⫏|⫐|⫑|⫒|⫓|⫔|⫕|⫖|⫗|⫘|⫙|⫷|⫸|⫹|⫺|⊢|⊣|⟂|⫪|⫫|<:|>:))",
396
Added:
"name": "keyword.operator.relation.julia"
397
Added:
},
398
Added:
{
399
Added:
"match": "(?<=\\s)(?:\\?)(?=\\s)",
400
Added:
"name": "keyword.operator.ternary.julia"
401
Added:
},
402
Added:
{
403
Added:
"match": "(?<=\\s)(?:\\:)(?=\\s)",
404
Added:
"name": "keyword.operator.ternary.julia"
405
Added:
},
406
Added:
{
407
Added:
"match": "(?:\\|\\||&&|(?<!(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{Mn}\u0001-¡]|[^\\P{Mc}\u0001-¡]|[^\\P{Nd}\u0001-¡]|[^\\P{Pc}\u0001-¡]|[^\\P{Sk}\u0001-¡]|[^\\P{Me}\u0001-¡]|[^\\P{No}\u0001-¡]|[′-‷⁗]|[^\\P{So}←-⇿]))!)",
408
Added:
"name": "keyword.operator.boolean.julia"
409
Added:
},
410
Added:
{
411
Added:
"match": "(?<=[[:word:]⁺-ₜ!′∇\\)\\]\\}])(?::)",
412
Added:
"name": "keyword.operator.range.julia"
413
Added:
},
414
Added:
{
415
Added:
"match": "(?:\\|>)",
416
Added:
"name": "keyword.operator.applies.julia"
417
Added:
},
418
Added:
{
419
Added:
"match": "(?:\\||\\.\\||\\&|\\.\\&|~|¬|\\.~|⊻|\\.⊻)",
420
Added:
"name": "keyword.operator.bitwise.julia"
421
Added:
},
422
Added:
{
423
Added:
"match": "\\.?(?:\\+\\+|\\-\\-|\\+|\\-|−|¦|\\||⊕|⊖|⊞|⊟|∪|∨|⊔|±|∓|∔|∸|≏|⊎|⊻|⊽|⋎|⋓|⟇|⧺|⧻|⨈|⨢|⨣|⨤|⨥|⨦|⨧|⨨|⨩|⨪|⨫|⨬|⨭|⨮|⨹|⨺|⩁|⩂|⩅|⩊|⩌|⩏|⩐|⩒|⩔|⩖|⩗|⩛|⩝|⩡|⩢|⩣|\\*|//?|⌿|÷|%|&|·|·|⋅|∘|×|\\\\|∩|∧|⊗|⊘|⊙|⊚|⊛|⊠|⊡|⊓|∗|∙|∤|⅋|≀|⊼|⋄|⋆|⋇|⋉|⋊|⋋|⋌|⋏|⋒|⟑|⦸|⦼|⦾|⦿|⧶|⧷|⨇|⨰|⨱|⨲|⨳|⨴|⨵|⨶|⨷|⨸|⨻|⨼|⨽|⩀|⩃|⩄|⩋|⩍|⩎|⩑|⩓|⩕|⩘|⩚|⩜|⩞|⩟|⩠|⫛|⊍|▷|⨝|⟕|⟖|⟗|⨟|\\^|↑|↓|⇵|⟰|⟱|⤈|⤉|⤊|⤋|⤒|⤓|⥉|⥌|⥍|⥏|⥑|⥔|⥕|⥘|⥙|⥜|⥝|⥠|⥡|⥣|⥥|⥮|⥯|↑|↓|√|∛|∜|⋆|±|∓)",
424
Added:
"name": "keyword.operator.arithmetic.julia"
425
Added:
},
426
Added:
{
427
Added:
"match": "(?:∘)",
428
Added:
"name": "keyword.operator.compose.julia"
429
Added:
},
430
Added:
{
431
Added:
"match": "(?:::|(?<=\\s)isa(?=\\s))",
432
Added:
"name": "keyword.operator.isa.julia"
433
Added:
},
434
Added:
{
435
Added:
"match": "(?:(?<=\\s)in(?=\\s))",
436
Added:
"name": "keyword.operator.relation.in.julia"
437
Added:
},
438
Added:
{
439
Added:
"match": "(?:\\.(?=(?:@|_|\\p{L}))|\\.\\.+|…|⁝|⋮|⋱|⋰|⋯)",
440
Added:
"name": "keyword.operator.dots.julia"
441
Added:
},
442
Added:
{
443
Added:
"match": "(?:\\$)(?=.+)",
444
Added:
"name": "keyword.operator.interpolation.julia"
445
Added:
},
446
Added:
{
447
Added:
"captures": {
448
Added:
"2": {
449
Added:
"name": "keyword.operator.transposed-variable.julia"
450
Added:
}
451
Added:
},
452
Added:
"match": "((?:[[:alpha:]_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{So}←-⇿])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{Mn}\u0001-¡]|[^\\P{Mc}\u0001-¡]|[^\\P{Nd}\u0001-¡]|[^\\P{Pc}\u0001-¡]|[^\\P{Sk}\u0001-¡]|[^\\P{Me}\u0001-¡]|[^\\P{No}\u0001-¡]|[′-‷⁗]|[^\\P{So}←-⇿])*)(('|(\\.'))*\\.?')"
453
Added:
},
454
Added:
{
455
Added:
"captures": {
456
Added:
"1": {
457
Added:
"name": "bracket.end.julia"
458
Added:
},
459
Added:
"2": {
460
Added:
"name": "keyword.operator.transposed-matrix.julia"
461
Added:
}
462
Added:
},
463
Added:
"match": "(\\])((?:'|(?:\\.'))*\\.?')"
464
Added:
},
465
Added:
{
466
Added:
"captures": {
467
Added:
"1": {
468
Added:
"name": "bracket.end.julia"
469
Added:
},
470
Added:
"2": {
471
Added:
"name": "keyword.operator.transposed-parens.julia"
472
Added:
}
473
Added:
},
474
Added:
"match": "(\\))((?:'|(?:\\.'))*\\.?')"
475
Added:
}
476
Added:
]
477
Added:
},
478
Added:
"string": {
479
Added:
"patterns": [
480
Added:
{
481
Added:
"begin": "(?:(@doc)\\s((?:doc)?\"\"\")|(doc\"\"\"))",
482
Added:
"beginCaptures": {
483
Added:
"1": {
484
Added:
"name": "support.function.macro.julia"
485
Added:
},
486
Added:
"2": {
487
Added:
"name": "punctuation.definition.string.begin.julia"
488
Added:
}
489
Added:
},
490
Added:
"end": "(\"\"\") ?(->)?",
491
Added:
"endCaptures": {
492
Added:
"1": {
493
Added:
"name": "punctuation.definition.string.end.julia"
494
Added:
},
495
Added:
"2": {
496
Added:
"name": "keyword.operator.arrow.julia"
497
Added:
}
498
Added:
},
499
Added:
"name": "string.docstring.julia",
500
Added:
"patterns": [
501
Added:
{
502
Added:
"include": "#string_escaped_char"
503
Added:
},
504
Added:
{
505
Added:
"include": "#string_dollar_sign_interpolate"
506
Added:
}
507
Added:
]
508
Added:
},
509
Added:
{
510
Added:
"begin": "(i?cxx)(\"\"\")",
511
Added:
"beginCaptures": {
512
Added:
"1": {
513
Added:
"name": "support.function.macro.julia"
514
Added:
},
515
Added:
"2": {
516
Added:
"name": "punctuation.definition.string.begin.julia"
517
Added:
}
518
Added:
},
519
Added:
"end": "\"\"\"",
520
Added:
"endCaptures": {
521
Added:
"0": {
522
Added:
"name": "punctuation.definition.string.end.julia"
523
Added:
}
524
Added:
},
525
Added:
"name": "embed.cxx.julia",
526
Added:
"contentName": "source.cpp",
527
Added:
"patterns": [
528
Added:
{
529
Added:
"include": "source.cpp"
530
Added:
},
531
Added:
{
532
Added:
"include": "#string_dollar_sign_interpolate"
533
Added:
}
534
Added:
]
535
Added:
},
536
Added:
{
537
Added:
"begin": "(py)(\"\"\")",
538
Added:
"beginCaptures": {
539
Added:
"1": {
540
Added:
"name": "support.function.macro.julia"
541
Added:
},
542
Added:
"2": {
543
Added:
"name": "punctuation.definition.string.begin.julia"
544
Added:
}
545
Added:
},
546
Added:
"end": "([\\s\\w]*)(\"\"\")",
547
Added:
"endCaptures": {
548
Added:
"2": {
549
Added:
"name": "punctuation.definition.string.end.julia"
550
Added:
}
551
Added:
},
552
Added:
"name": "embed.python.julia",
553
Added:
"contentName": "source.python",
554
Added:
"patterns": [
555
Added:
{
556
Added:
"include": "source.python"
557
Added:
},
558
Added:
{
559
Added:
"include": "#string_dollar_sign_interpolate"
560
Added:
}
561
Added:
]
562
Added:
},
563
Added:
{
564
Added:
"begin": "(js)(\"\"\")",
565
Added:
"beginCaptures": {
566
Added:
"1": {
567
Added:
"name": "support.function.macro.julia"
568
Added:
},
569
Added:
"2": {
570
Added:
"name": "punctuation.definition.string.begin.julia"
571
Added:
}
572
Added:
},
573
Added:
"end": "\"\"\"",
574
Added:
"endCaptures": {
575
Added:
"0": {
576
Added:
"name": "punctuation.definition.string.end.julia"
577
Added:
}
578
Added:
},
579
Added:
"name": "embed.js.julia",
580
Added:
"contentName": "source.js",
581
Added:
"patterns": [
582
Added:
{
583
Added:
"include": "source.js"
584
Added:
},
585
Added:
{
586
Added:
"include": "#string_dollar_sign_interpolate"
587
Added:
}
588
Added:
]
589
Added:
},
590
Added:
{
591
Added:
"begin": "(R)(\"\"\")",
592
Added:
"beginCaptures": {
593
Added:
"1": {
594
Added:
"name": "support.function.macro.julia"
595
Added:
},
596
Added:
"2": {
597
Added:
"name": "punctuation.definition.string.begin.julia"
598
Added:
}
599
Added:
},
600
Added:
"end": "\"\"\"",
601
Added:
"endCaptures": {
602
Added:
"0": {
603
Added:
"name": "punctuation.definition.string.end.julia"
604
Added:
}
605
Added:
},
606
Added:
"name": "embed.R.julia",
607
Added:
"contentName": "source.r",
608
Added:
"patterns": [
609
Added:
{
610
Added:
"include": "source.r"
611
Added:
},
612
Added:
{
613
Added:
"include": "#string_dollar_sign_interpolate"
614
Added:
}
615
Added:
]
616
Added:
},
617
Added:
{
618
Added:
"begin": "(raw)(\"\"\")",
619
Added:
"beginCaptures": {
620
Added:
"1": {
621
Added:
"name": "support.function.macro.julia"
622
Added:
},
623
Added:
"2": {
624
Added:
"name": "punctuation.definition.string.begin.julia"
625
Added:
}
626
Added:
},
627
Added:
"end": "\"\"\"",
628
Added:
"name": "string.quoted.other.julia",
629
Added:
"endCaptures": {
630
Added:
"0": {
631
Added:
"name": "punctuation.definition.string.end.julia"
632
Added:
}
633
Added:
},
634
Added:
"patterns": [
635
Added:
{
636
Added:
"include": "#string_escaped_char_raw"
637
Added:
}
638
Added:
]
639
Added:
},
640
Added:
{
641
Added:
"begin": "(raw)(\")",
642
Added:
"beginCaptures": {
643
Added:
"1": {
644
Added:
"name": "support.function.macro.julia"
645
Added:
},
646
Added:
"2": {
647
Added:
"name": "punctuation.definition.string.begin.julia"
648
Added:
}
649
Added:
},
650
Added:
"end": "\"",
651
Added:
"name": "string.quoted.other.julia",
652
Added:
"endCaptures": {
653
Added:
"0": {
654
Added:
"name": "punctuation.definition.string.end.julia"
655
Added:
}
656
Added:
},
657
Added:
"patterns": [
658
Added:
{
659
Added:
"include": "#string_escaped_char_raw"
660
Added:
}
661
Added:
]
662
Added:
},
663
Added:
{
664
Added:
"begin": "(sql)(\"\"\")",
665
Added:
"beginCaptures": {
666
Added:
"1": {
667
Added:
"name": "support.function.macro.julia"
668
Added:
},
669
Added:
"2": {
670
Added:
"name": "punctuation.definition.string.begin.julia"
671
Added:
}
672
Added:
},
673
Added:
"end": "\"\"\"",
674
Added:
"endCaptures": {
675
Added:
"0": {
676
Added:
"name": "punctuation.definition.string.end.julia"
677
Added:
}
678
Added:
},
679
Added:
"name": "embed.sql.julia",
680
Added:
"contentName": "meta.embedded.inline.sql",
681
Added:
"patterns": [
682
Added:
{
683
Added:
"include": "source.sql"
684
Added:
},
685
Added:
{
686
Added:
"include": "#string_dollar_sign_interpolate"
687
Added:
}
688
Added:
]
689
Added:
},
690
Added:
{
691
Added:
"begin": "var\"\"\"",
692
Added:
"end": "\"\"\"",
693
Added:
"name": "constant.other.symbol.julia",
694
Added:
"patterns": [
695
Added:
{
696
Added:
"include": "#string_escaped_char"
697
Added:
}
698
Added:
]
699
Added:
},
700
Added:
{
701
Added:
"begin": "var\"",
702
Added:
"end": "\"",
703
Added:
"name": "constant.other.symbol.julia",
704
Added:
"patterns": [
705
Added:
{
706
Added:
"include": "#string_escaped_char"
707
Added:
}
708
Added:
]
709
Added:
},
710
Added:
{
711
Added:
"begin": "^\\s?(doc)?(\"\"\")\\s?$",
712
Added:
"beginCaptures": {
713
Added:
"1": {
714
Added:
"name": "support.function.macro.julia"
715
Added:
},
716
Added:
"2": {
717
Added:
"name": "punctuation.definition.string.begin.julia"
718
Added:
}
719
Added:
},
720
Added:
"end": "(\"\"\")",
721
Added:
"endCaptures": {
722
Added:
"1": {
723
Added:
"name": "punctuation.definition.string.end.julia"
724
Added:
}
725
Added:
},
726
Added:
"name": "string.docstring.julia",
727
Added:
"comment": "This only matches docstrings that start and end with triple quotes on\ntheir own line in the void",
728
Added:
"patterns": [
729
Added:
{
730
Added:
"include": "#string_escaped_char"
731
Added:
},
732
Added:
{
733
Added:
"include": "#string_dollar_sign_interpolate"
734
Added:
}
735
Added:
]
736
Added:
},
737
Added:
{
738
Added:
"begin": "'",
739
Added:
"beginCaptures": {
740
Added:
"0": {
741
Added:
"name": "punctuation.definition.string.begin.julia"
742
Added:
}
743
Added:
},
744
Added:
"end": "'(?!')",
745
Added:
"endCaptures": {
746
Added:
"0": {
747
Added:
"name": "punctuation.definition.string.end.julia"
748
Added:
}
749
Added:
},
750
Added:
"name": "string.quoted.single.julia",
751
Added:
"patterns": [
752
Added:
{
753
Added:
"include": "#string_escaped_char"
754
Added:
}
755
Added:
]
756
Added:
},
757
Added:
{
758
Added:
"begin": "\"\"\"",
759
Added:
"beginCaptures": {
760
Added:
"0": {
761
Added:
"name": "punctuation.definition.string.multiline.begin.julia"
762
Added:
}
763
Added:
},
764
Added:
"end": "\"\"\"",
765
Added:
"endCaptures": {
766
Added:
"0": {
767
Added:
"name": "punctuation.definition.string.multiline.end.julia"
768
Added:
}
769
Added:
},
770
Added:
"name": "string.quoted.triple.double.julia",
771
Added:
"comment": "multi-line string with triple double quotes",
772
Added:
"patterns": [
773
Added:
{
774
Added:
"include": "#string_escaped_char"
775
Added:
},
776
Added:
{
777
Added:
"include": "#string_dollar_sign_interpolate"
778
Added:
}
779
Added:
]
780
Added:
},
781
Added:
{
782
Added:
"name": "string.quoted.double.julia",
783
Added:
"begin": "\"(?!\"\")",
784
Added:
"beginCaptures": {
785
Added:
"0": {
786
Added:
"name": "punctuation.definition.string.begin.julia"
787
Added:
}
788
Added:
},
789
Added:
"end": "\"",
790
Added:
"endCaptures": {
791
Added:
"0": {
792
Added:
"name": "punctuation.definition.string.end.julia"
793
Added:
}
794
Added:
},
795
Added:
"comment": "String with single pair of double quotes. Regex matches isolated double quote",
796
Added:
"patterns": [
797
Added:
{
798
Added:
"include": "#string_escaped_char"
799
Added:
},
800
Added:
{
801
Added:
"include": "#string_dollar_sign_interpolate"
802
Added:
}
803
Added:
]
804
Added:
},
805
Added:
{
806
Added:
"begin": "r\"\"\"",
807
Added:
"beginCaptures": {
808
Added:
"0": {
809
Added:
"name": "punctuation.definition.string.regexp.begin.julia"
810
Added:
}
811
Added:
},
812
Added:
"end": "(\"\"\")([imsx]{0,4})?",
813
Added:
"endCaptures": {
814
Added:
"1": {
815
Added:
"name": "punctuation.definition.string.regexp.end.julia"
816
Added:
},
817
Added:
"2": {
818
Added:
"comment": "I took this scope name from python regex grammar",
819
Added:
"name": "keyword.other.option-toggle.regexp.julia"
820
Added:
}
821
Added:
},
822
Added:
"name": "string.regexp.julia",
823
Added:
"patterns": [
824
Added:
{
825
Added:
"include": "#string_escaped_char"
826
Added:
}
827
Added:
]
828
Added:
},
829
Added:
{
830
Added:
"begin": "r\"",
831
Added:
"beginCaptures": {
832
Added:
"0": {
833
Added:
"name": "punctuation.definition.string.regexp.begin.julia"
834
Added:
}
835
Added:
},
836
Added:
"end": "(\")([imsx]{0,4})?",
837
Added:
"endCaptures": {
838
Added:
"1": {
839
Added:
"name": "punctuation.definition.string.regexp.end.julia"
840
Added:
},
841
Added:
"2": {
842
Added:
"comment": "I took this scope name from python regex grammar",
843
Added:
"name": "keyword.other.option-toggle.regexp.julia"
844
Added:
}
845
Added:
},
846
Added:
"name": "string.regexp.julia",
847
Added:
"patterns": [
848
Added:
{
849
Added:
"include": "#string_escaped_char"
850
Added:
}
851
Added:
]
852
Added:
},
853
Added:
{
854
Added:
"begin": "(?<!\")((?:[[:alpha:]_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{So}←-⇿])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{Mn}\u0001-¡]|[^\\P{Mc}\u0001-¡]|[^\\P{Nd}\u0001-¡]|[^\\P{Pc}\u0001-¡]|[^\\P{Sk}\u0001-¡]|[^\\P{Me}\u0001-¡]|[^\\P{No}\u0001-¡]|[′-‷⁗]|[^\\P{So}←-⇿])*)\"\"\"",
855
Added:
"beginCaptures": {
856
Added:
"0": {
857
Added:
"name": "punctuation.definition.string.begin.julia"
858
Added:
},
859
Added:
"1": {
860
Added:
"name": "support.function.macro.julia"
861
Added:
}
862
Added:
},
863
Added:
"end": "(\"\"\")((?:[[:alpha:]_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{So}←-⇿])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{Mn}\u0001-¡]|[^\\P{Mc}\u0001-¡]|[^\\P{Nd}\u0001-¡]|[^\\P{Pc}\u0001-¡]|[^\\P{Sk}\u0001-¡]|[^\\P{Me}\u0001-¡]|[^\\P{No}\u0001-¡]|[′-‷⁗]|[^\\P{So}←-⇿])*)?",
864
Added:
"endCaptures": {
865
Added:
"1": {
866
Added:
"name": "punctuation.definition.string.end.julia"
867
Added:
},
868
Added:
"2": {
869
Added:
"name": "support.function.macro.julia"
870
Added:
}
871
Added:
},
872
Added:
"name": "string.quoted.other.julia",
873
Added:
"patterns": [
874
Added:
{
875
Added:
"include": "#string_escaped_char"
876
Added:
}
877
Added:
]
878
Added:
},
879
Added:
{
880
Added:
"begin": "(?<!\")((?:[[:alpha:]_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{So}←-⇿])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{Mn}\u0001-¡]|[^\\P{Mc}\u0001-¡]|[^\\P{Nd}\u0001-¡]|[^\\P{Pc}\u0001-¡]|[^\\P{Sk}\u0001-¡]|[^\\P{Me}\u0001-¡]|[^\\P{No}\u0001-¡]|[′-‷⁗]|[^\\P{So}←-⇿])*)\"",
881
Added:
"beginCaptures": {
882
Added:
"0": {
883
Added:
"name": "punctuation.definition.string.begin.julia"
884
Added:
},
885
Added:
"1": {
886
Added:
"name": "support.function.macro.julia"
887
Added:
}
888
Added:
},
889
Added:
"end": "(?<![^\\\\]\\\\)(\")((?:[[:alpha:]_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{So}←-⇿])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{Mn}\u0001-¡]|[^\\P{Mc}\u0001-¡]|[^\\P{Nd}\u0001-¡]|[^\\P{Pc}\u0001-¡]|[^\\P{Sk}\u0001-¡]|[^\\P{Me}\u0001-¡]|[^\\P{No}\u0001-¡]|[′-‷⁗]|[^\\P{So}←-⇿])*)?",
890
Added:
"endCaptures": {
891
Added:
"1": {
892
Added:
"name": "punctuation.definition.string.end.julia"
893
Added:
},
894
Added:
"2": {
895
Added:
"name": "support.function.macro.julia"
896
Added:
}
897
Added:
},
898
Added:
"name": "string.quoted.other.julia",
899
Added:
"patterns": [
900
Added:
{
901
Added:
"include": "#string_escaped_char"
902
Added:
}
903
Added:
]
904
Added:
},
905
Added:
{
906
Added:
"begin": "(?<!`)((?:[[:alpha:]_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{So}←-⇿])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{Mn}\u0001-¡]|[^\\P{Mc}\u0001-¡]|[^\\P{Nd}\u0001-¡]|[^\\P{Pc}\u0001-¡]|[^\\P{Sk}\u0001-¡]|[^\\P{Me}\u0001-¡]|[^\\P{No}\u0001-¡]|[′-‷⁗]|[^\\P{So}←-⇿])*)?```",
907
Added:
"beginCaptures": {
908
Added:
"0": {
909
Added:
"name": "punctuation.definition.string.begin.julia"
910
Added:
},
911
Added:
"1": {
912
Added:
"name": "support.function.macro.julia"
913
Added:
}
914
Added:
},
915
Added:
"end": "(```)((?:[[:alpha:]_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{So}←-⇿])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{Mn}\u0001-¡]|[^\\P{Mc}\u0001-¡]|[^\\P{Nd}\u0001-¡]|[^\\P{Pc}\u0001-¡]|[^\\P{Sk}\u0001-¡]|[^\\P{Me}\u0001-¡]|[^\\P{No}\u0001-¡]|[′-‷⁗]|[^\\P{So}←-⇿])*)?",
916
Added:
"endCaptures": {
917
Added:
"1": {
918
Added:
"name": "punctuation.definition.string.end.julia"
919
Added:
},
920
Added:
"2": {
921
Added:
"name": "support.function.macro.julia"
922
Added:
}
923
Added:
},
924
Added:
"name": "string.interpolated.backtick.julia",
925
Added:
"patterns": [
926
Added:
{
927
Added:
"include": "#string_escaped_char"
928
Added:
},
929
Added:
{
930
Added:
"include": "#string_dollar_sign_interpolate"
931
Added:
}
932
Added:
]
933
Added:
},
934
Added:
{
935
Added:
"begin": "(?<!`)((?:[[:alpha:]_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{So}←-⇿])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{Mn}\u0001-¡]|[^\\P{Mc}\u0001-¡]|[^\\P{Nd}\u0001-¡]|[^\\P{Pc}\u0001-¡]|[^\\P{Sk}\u0001-¡]|[^\\P{Me}\u0001-¡]|[^\\P{No}\u0001-¡]|[′-‷⁗]|[^\\P{So}←-⇿])*)?`",
936
Added:
"beginCaptures": {
937
Added:
"0": {
938
Added:
"name": "punctuation.definition.string.begin.julia"
939
Added:
},
940
Added:
"1": {
941
Added:
"name": "support.function.macro.julia"
942
Added:
}
943
Added:
},
944
Added:
"end": "(?<![^\\\\]\\\\)(`)((?:[[:alpha:]_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{So}←-⇿])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{Mn}\u0001-¡]|[^\\P{Mc}\u0001-¡]|[^\\P{Nd}\u0001-¡]|[^\\P{Pc}\u0001-¡]|[^\\P{Sk}\u0001-¡]|[^\\P{Me}\u0001-¡]|[^\\P{No}\u0001-¡]|[′-‷⁗]|[^\\P{So}←-⇿])*)?",
945
Added:
"endCaptures": {
946
Added:
"1": {
947
Added:
"name": "punctuation.definition.string.end.julia"
948
Added:
},
949
Added:
"2": {
950
Added:
"name": "support.function.macro.julia"
951
Added:
}
952
Added:
},
953
Added:
"name": "string.interpolated.backtick.julia",
954
Added:
"patterns": [
955
Added:
{
956
Added:
"include": "#string_escaped_char"
957
Added:
},
958
Added:
{
959
Added:
"include": "#string_dollar_sign_interpolate"
960
Added:
}
961
Added:
]
962
Added:
}
963
Added:
]
964
Added:
},
965
Added:
"string_escaped_char": {
966
Added:
"patterns": [
967
Added:
{
968
Added:
"match": "\\\\(\\\\|[0-3]\\d{,2}|[4-7]\\d?|x[a-fA-F0-9]{,2}|u[a-fA-F0-9]{,4}|U[a-fA-F0-9]{,8}|.)",
969
Added:
"name": "constant.character.escape.julia"
970
Added:
}
971
Added:
]
972
Added:
},
973
Added:
"string_escaped_char_raw": {
974
Added:
"comment": "In raw strings, backslashes only escape anything when preceding a quote. An even number of backslashes causes all of them to be escaped and the quote to be literal; an odd number escapes all backslashes (except for the one preceding the quote) and the quote.",
975
Added:
"patterns": [
976
Added:
{
977
Added:
"match": "(\\\\\\\\)*\\\\\"",
978
Added:
"name": "constant.character.escape.julia"
979
Added:
},
980
Added:
{
981
Added:
"match": "(\\\\\\\\)+(?=\")",
982
Added:
"name": "constant.character.escape.julia"
983
Added:
}
984
Added:
]
985
Added:
},
986
Added:
"string_dollar_sign_interpolate": {
987
Added:
"patterns": [
988
Added:
{
989
Added:
"match": "\\$(?:[[:alpha:]_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{So}←-⇿]|[^\\p{^Sc}$])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{Mn}\u0001-¡]|[^\\P{Mc}\u0001-¡]|[^\\P{Nd}\u0001-¡]|[^\\P{Pc}\u0001-¡]|[^\\P{Sk}\u0001-¡]|[^\\P{Me}\u0001-¡]|[^\\P{No}\u0001-¡]|[′-‷⁗]|[^\\P{So}←-⇿]|[^\\p{^Sc}$])*",
990
Added:
"name": "variable.interpolation.julia"
991
Added:
},
992
Added:
{
993
Added:
"begin": "\\$(\\()",
994
Added:
"beginCaptures": {
995
Added:
"1": {
996
Added:
"name": "meta.bracket.julia"
997
Added:
}
998
Added:
},
999
Added:
"end": "\\)",
1000
Added:
"endCaptures": {
1001
Added:
"0": {
1002
Added:
"name": "meta.bracket.julia"
1003
Added:
}
1004
Added:
},
1005
Added:
"name": "variable.interpolation.julia",
1006
Added:
"comment": "`punctuation.section.embedded`, `constant.escape`,\n& `meta.embedded.line` were considered but appear to have even spottier\nsupport among popular syntaxes.",
1007
Added:
"patterns": [
1008
Added:
{
1009
Added:
"include": "#self_no_for_block"
1010
Added:
}
1011
Added:
]
1012
Added:
}
1013
Added:
]
1014
Added:
},
1015
Added:
"symbol": {
1016
Added:
"patterns": [
1017
Added:
{
1018
Added:
"match": "(?<![[:word:]⁺-ₜ!′∇\\)\\]\\}]):(?:(?:[[:alpha:]_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{So}←-⇿])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{Mn}\u0001-¡]|[^\\P{Mc}\u0001-¡]|[^\\P{Nd}\u0001-¡]|[^\\P{Pc}\u0001-¡]|[^\\P{Sk}\u0001-¡]|[^\\P{Me}\u0001-¡]|[^\\P{No}\u0001-¡]|[′-‷⁗]|[^\\P{So}←-⇿])*)(?!(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{Mn}\u0001-¡]|[^\\P{Mc}\u0001-¡]|[^\\P{Nd}\u0001-¡]|[^\\P{Pc}\u0001-¡]|[^\\P{Sk}\u0001-¡]|[^\\P{Me}\u0001-¡]|[^\\P{No}\u0001-¡]|[′-‷⁗]|[^\\P{So}←-⇿]))(?![\"`])",
1019
Added:
"name": "constant.other.symbol.julia",
1020
Added:
"comment": "This is string.quoted.symbol.julia in tpoisot's package"
1021
Added:
}
1022
Added:
]
1023
Added:
},
1024
Added:
"type_decl": {
1025
Added:
"patterns": [
1026
Added:
{
1027
Added:
"captures": {
1028
Added:
"1": {
1029
Added:
"name": "entity.name.type.julia"
1030
Added:
},
1031
Added:
"2": {
1032
Added:
"name": "entity.other.inherited-class.julia"
1033
Added:
},
1034
Added:
"3": {
1035
Added:
"name": "punctuation.separator.inheritance.julia"
1036
Added:
}
1037
Added:
},
1038
Added:
"match": "(?>!:_)(?:struct|mutable\\s+struct|abstract\\s+type|primitive\\s+type)\\s+((?:[[:alpha:]_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{So}←-⇿])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{Mn}\u0001-¡]|[^\\P{Mc}\u0001-¡]|[^\\P{Nd}\u0001-¡]|[^\\P{Pc}\u0001-¡]|[^\\P{Sk}\u0001-¡]|[^\\P{Me}\u0001-¡]|[^\\P{No}\u0001-¡]|[′-‷⁗]|[^\\P{So}←-⇿])*)(\\s*(<:)\\s*(?:[[:alpha:]_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{So}←-⇿])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{Mn}\u0001-¡]|[^\\P{Mc}\u0001-¡]|[^\\P{Nd}\u0001-¡]|[^\\P{Pc}\u0001-¡]|[^\\P{Sk}\u0001-¡]|[^\\P{Me}\u0001-¡]|[^\\P{No}\u0001-¡]|[′-‷⁗]|[^\\P{So}←-⇿])*(?:{.*})?)?",
1039
Added:
"name": "meta.type.julia"
1040
Added:
}
1041
Added:
]
1042
Added:
},
1043
Added:
"self_no_for_block": {
1044
Added:
"comment": "Same as $self, but does not contain #for_block. 'outer' is not valid in some contexts (e.g. generators, comprehensions, indexing), so use this when matching those in begin/end patterns. Keep this up-to-date with $self!",
1045
Added:
"patterns": [
1046
Added:
{
1047
Added:
"include": "#operator"
1048
Added:
},
1049
Added:
{
1050
Added:
"include": "#array"
1051
Added:
},
1052
Added:
{
1053
Added:
"include": "#string"
1054
Added:
},
1055
Added:
{
1056
Added:
"include": "#parentheses"
1057
Added:
},
1058
Added:
{
1059
Added:
"include": "#bracket"
1060
Added:
},
1061
Added:
{
1062
Added:
"include": "#function_decl"
1063
Added:
},
1064
Added:
{
1065
Added:
"include": "#function_call"
1066
Added:
},
1067
Added:
{
1068
Added:
"include": "#keyword"
1069
Added:
},
1070
Added:
{
1071
Added:
"include": "#number"
1072
Added:
},
1073
Added:
{
1074
Added:
"include": "#comment"
1075
Added:
},
1076
Added:
{
1077
Added:
"include": "#type_decl"
1078
Added:
},
1079
Added:
{
1080
Added:
"include": "#symbol"
1081
Added:
},
1082
Added:
{
1083
Added:
"include": "#punctuation"
1084
Added:
}
1085
Added:
]
1086
Added:
},
1087
Added:
"punctuation": {
1088
Added:
"patterns": [
1089
Added:
{
1090
Added:
"match": ",",
1091
Added:
"name": "punctuation.separator.comma.julia"
1092
Added:
},
1093
Added:
{
1094
Added:
"match": ";",
1095
Added:
"name": "punctuation.separator.semicolon.julia"
1096
Added:
}
1097
Added:
]
1098
Added:
}
1099
Added:
}
1100
Added:
}
lib/grammars/lisp.json
@@ -0,0 +1,111 @@
1
Added:
{
2
Added:
"comment": "",
3
Added:
"fileTypes": [
4
Added:
"lisp",
5
Added:
"cl",
6
Added:
"l",
7
Added:
"mud",
8
Added:
"el"
9
Added:
],
10
Added:
"keyEquivalent": "^~L",
11
Added:
"name": "Lisp",
12
Added:
"patterns": [
13
Added:
{
14
Added:
"begin": "(^[ \\t]+)?(?=;)",
15
Added:
"beginCaptures": {
16
Added:
"1": {
17
Added:
"name": "punctuation.whitespace.comment.leading.lisp"
18
Added:
}
19
Added:
},
20
Added:
"end": "(?!\\G)",
21
Added:
"patterns": [
22
Added:
{
23
Added:
"begin": ";",
24
Added:
"beginCaptures": {
25
Added:
"0": {
26
Added:
"name": "punctuation.definition.comment.lisp"
27
Added:
}
28
Added:
},
29
Added:
"end": "\\n",
30
Added:
"name": "comment.line.semicolon.lisp"
31
Added:
}
32
Added:
]
33
Added:
},
34
Added:
{
35
Added:
"captures": {
36
Added:
"2": {
37
Added:
"name": "storage.type.function-type.lisp"
38
Added:
},
39
Added:
"4": {
40
Added:
"name": "entity.name.function.lisp"
41
Added:
}
42
Added:
},
43
Added:
"match": "(\\b(?i:(defun|defgeneric|defmethod|defmacro|defclass|defstruct|defconstant|defvar|defparameter))\\b)(\\s+)((\\w|\\-|\\!|\\?)*)",
44
Added:
"name": "meta.function.lisp"
45
Added:
},
46
Added:
{
47
Added:
"captures": {
48
Added:
"1": {
49
Added:
"name": "punctuation.definition.constant.lisp"
50
Added:
}
51
Added:
},
52
Added:
"match": "(#|\\?)(\\w|[\\\\+-=<>'\"&#])+",
53
Added:
"name": "constant.character.lisp"
54
Added:
},
55
Added:
{
56
Added:
"captures": {
57
Added:
"1": {
58
Added:
"name": "punctuation.definition.variable.lisp"
59
Added:
},
60
Added:
"3": {
61
Added:
"name": "punctuation.definition.variable.lisp"
62
Added:
}
63
Added:
},
64
Added:
"match": "(\\*)(\\S*)(\\*)",
65
Added:
"name": "variable.other.global.lisp"
66
Added:
},
67
Added:
{
68
Added:
"match": "\\b(?i:case|ecase|ccase|typecase|etypecase|ctypecase|do|dolist|dotimes|let|let\\*|labels|flet|loop|if|else|when|unless)\\b",
69
Added:
"name": "keyword.control.lisp"
70
Added:
},
71
Added:
{
72
Added:
"match": "\\b(?i:eq|neq|and|or|not)\\b",
73
Added:
"name": "keyword.operator.lisp"
74
Added:
},
75
Added:
{
76
Added:
"match": "\\b(?i:null|nil)\\b",
77
Added:
"name": "constant.language.lisp"
78
Added:
},
79
Added:
{
80
Added:
"match": "(?<![-\\w])(?i:cons|car|cdr|cond|lambda|format|setq|setf|quote|eval|append|list|listp|memberp|t|load|progn)(?![-\\w])",
81
Added:
"name": "support.function.lisp"
82
Added:
},
83
Added:
{
84
Added:
"match": "\\b((0(x|X)[0-9a-fA-F]*)|(([0-9]+\\.?[0-9]*)|(\\.[0-9]+))((e|E)(\\+|-)?[0-9]+)?)(L|l|UL|ul|u|U|F|f|ll|LL|ull|ULL)?\\b",
85
Added:
"name": "constant.numeric.lisp"
86
Added:
},
87
Added:
{
88
Added:
"begin": "\"",
89
Added:
"beginCaptures": {
90
Added:
"0": {
91
Added:
"name": "punctuation.definition.string.begin.lisp"
92
Added:
}
93
Added:
},
94
Added:
"end": "\"",
95
Added:
"endCaptures": {
96
Added:
"0": {
97
Added:
"name": "punctuation.definition.string.end.lisp"
98
Added:
}
99
Added:
},
100
Added:
"name": "string.quoted.double.lisp",
101
Added:
"patterns": [
102
Added:
{
103
Added:
"match": "\\\\.",
104
Added:
"name": "constant.character.escape.lisp"
105
Added:
}
106
Added:
]
107
Added:
}
108
Added:
],
109
Added:
"scopeName": "source.lisp",
110
Added:
"uuid": "00D451C9-6B1D-11D9-8DFA-000D93589AF6"
111
Added:
}
lib/grammars/objective-c.json
@@ -0,0 +1,3755 @@
1
Added:
{
2
Added:
"information_for_contributors": [
3
Added:
"This file has been converted from https://github.com/jeff-hykin/better-objc-syntax/blob/master/autogenerated/objc.tmLanguage.json",
4
Added:
"If you want to provide a fix or improvement, please create a pull request against the original repository.",
5
Added:
"Once accepted there, we are happy to receive an update request."
6
Added:
],
7
Added:
"version": "https://github.com/jeff-hykin/better-objc-syntax/commit/119b75fb1f4d3e8726fa62588e3b935e0b719294",
8
Added:
"name": "Objective-C",
9
Added:
"scopeName": "source.objc",
10
Added:
"patterns": [
11
Added:
{
12
Added:
"include": "#anonymous_pattern_1"
13
Added:
},
14
Added:
{
15
Added:
"include": "#anonymous_pattern_2"
16
Added:
},
17
Added:
{
18
Added:
"include": "#anonymous_pattern_3"
19
Added:
},
20
Added:
{
21
Added:
"include": "#anonymous_pattern_4"
22
Added:
},
23
Added:
{
24
Added:
"include": "#anonymous_pattern_5"
25
Added:
},
26
Added:
{
27
Added:
"include": "#apple_foundation_functional_macros"
28
Added:
},
29
Added:
{
30
Added:
"include": "#anonymous_pattern_7"
31
Added:
},
32
Added:
{
33
Added:
"include": "#anonymous_pattern_8"
34
Added:
},
35
Added:
{
36
Added:
"include": "#anonymous_pattern_9"
37
Added:
},
38
Added:
{
39
Added:
"include": "#anonymous_pattern_10"
40
Added:
},
41
Added:
{
42
Added:
"include": "#anonymous_pattern_11"
43
Added:
},
44
Added:
{
45
Added:
"include": "#anonymous_pattern_12"
46
Added:
},
47
Added:
{
48
Added:
"include": "#anonymous_pattern_13"
49
Added:
},
50
Added:
{
51
Added:
"include": "#anonymous_pattern_14"
52
Added:
},
53
Added:
{
54
Added:
"include": "#anonymous_pattern_15"
55
Added:
},
56
Added:
{
57
Added:
"include": "#anonymous_pattern_16"
58
Added:
},
59
Added:
{
60
Added:
"include": "#anonymous_pattern_17"
61
Added:
},
62
Added:
{
63
Added:
"include": "#anonymous_pattern_18"
64
Added:
},
65
Added:
{
66
Added:
"include": "#anonymous_pattern_19"
67
Added:
},
68
Added:
{
69
Added:
"include": "#anonymous_pattern_20"
70
Added:
},
71
Added:
{
72
Added:
"include": "#anonymous_pattern_21"
73
Added:
},
74
Added:
{
75
Added:
"include": "#anonymous_pattern_22"
76
Added:
},
77
Added:
{
78
Added:
"include": "#anonymous_pattern_23"
79
Added:
},
80
Added:
{
81
Added:
"include": "#anonymous_pattern_24"
82
Added:
},
83
Added:
{
84
Added:
"include": "#anonymous_pattern_25"
85
Added:
},
86
Added:
{
87
Added:
"include": "#anonymous_pattern_26"
88
Added:
},
89
Added:
{
90
Added:
"include": "#anonymous_pattern_27"
91
Added:
},
92
Added:
{
93
Added:
"include": "#anonymous_pattern_28"
94
Added:
},
95
Added:
{
96
Added:
"include": "#anonymous_pattern_29"
97
Added:
},
98
Added:
{
99
Added:
"include": "#anonymous_pattern_30"
100
Added:
},
101
Added:
{
102
Added:
"include": "#bracketed_content"
103
Added:
},
104
Added:
{
105
Added:
"include": "#c_lang"
106
Added:
}
107
Added:
],
108
Added:
"repository": {
109
Added:
"anonymous_pattern_1": {
110
Added:
"begin": "((@)(interface|protocol))(?!.+;)\\s+([A-Za-z_][A-Za-z0-9_]*)\\s*((:)(?:\\s*)([A-Za-z][A-Za-z0-9]*))?(\\s|\\n)?",
111
Added:
"captures": {
112
Added:
"1": {
113
Added:
"name": "storage.type.objc"
114
Added:
},
115
Added:
"2": {
116
Added:
"name": "punctuation.definition.storage.type.objc"
117
Added:
},
118
Added:
"4": {
119
Added:
"name": "entity.name.type.objc"
120
Added:
},
121
Added:
"6": {
122
Added:
"name": "punctuation.definition.entity.other.inherited-class.objc"
123
Added:
},
124
Added:
"7": {
125
Added:
"name": "entity.other.inherited-class.objc"
126
Added:
},
127
Added:
"8": {
128
Added:
"name": "meta.divider.objc"
129
Added:
},
130
Added:
"9": {
131
Added:
"name": "meta.inherited-class.objc"
132
Added:
}
133
Added:
},
134
Added:
"contentName": "meta.scope.interface.objc",
135
Added:
"end": "((@)end)\\b",
136
Added:
"name": "meta.interface-or-protocol.objc",
137
Added:
"patterns": [
138
Added:
{
139
Added:
"include": "#interface_innards"
140
Added:
}
141
Added:
]
142
Added:
},
143
Added:
"anonymous_pattern_10": {
144
Added:
"captures": {
145
Added:
"1": {
146
Added:
"name": "punctuation.definition.keyword.objc"
147
Added:
}
148
Added:
},
149
Added:
"match": "(@)(defs|encode)\\b",
150
Added:
"name": "keyword.other.objc"
151
Added:
},
152
Added:
"anonymous_pattern_11": {
153
Added:
"match": "\\bid\\b",
154
Added:
"name": "storage.type.id.objc"
155
Added:
},
156
Added:
"anonymous_pattern_12": {
157
Added:
"match": "\\b(IBOutlet|IBAction|BOOL|SEL|id|unichar|IMP|Class|instancetype)\\b",
158
Added:
"name": "storage.type.objc"
159
Added:
},
160
Added:
"anonymous_pattern_13": {
161
Added:
"captures": {
162
Added:
"1": {
163
Added:
"name": "punctuation.definition.storage.type.objc"
164
Added:
}
165
Added:
},
166
Added:
"match": "(@)(class|protocol)\\b",
167
Added:
"name": "storage.type.objc"
168
Added:
},
169
Added:
"anonymous_pattern_14": {
170
Added:
"begin": "((@)selector)\\s*(\\()",
171
Added:
"beginCaptures": {
172
Added:
"1": {
173
Added:
"name": "storage.type.objc"
174
Added:
},
175
Added:
"2": {
176
Added:
"name": "punctuation.definition.storage.type.objc"
177
Added:
},
178
Added:
"3": {
179
Added:
"name": "punctuation.definition.storage.type.objc"
180
Added:
}
181
Added:
},
182
Added:
"contentName": "meta.selector.method-name.objc",
183
Added:
"end": "(\\))",
184
Added:
"endCaptures": {
185
Added:
"1": {
186
Added:
"name": "punctuation.definition.storage.type.objc"
187
Added:
}
188
Added:
},
189
Added:
"name": "meta.selector.objc",
190
Added:
"patterns": [
191
Added:
{
192
Added:
"captures": {
193
Added:
"1": {
194
Added:
"name": "punctuation.separator.arguments.objc"
195
Added:
}
196
Added:
},
197
Added:
"match": "\\b(?:[a-zA-Z_:][\\w]*)+",
198
Added:
"name": "support.function.any-method.name-of-parameter.objc"
199
Added:
}
200
Added:
]
201
Added:
},
202
Added:
"anonymous_pattern_15": {
203
Added:
"captures": {
204
Added:
"1": {
205
Added:
"name": "punctuation.definition.storage.modifier.objc"
206
Added:
}
207
Added:
},
208
Added:
"match": "(@)(synchronized|public|package|private|protected)\\b",
209
Added:
"name": "storage.modifier.objc"
210
Added:
},
211
Added:
"anonymous_pattern_16": {
212
Added:
"match": "\\b(YES|NO|Nil|nil)\\b",
213
Added:
"name": "constant.language.objc"
214
Added:
},
215
Added:
"anonymous_pattern_17": {
216
Added:
"match": "\\bNSApp\\b",
217
Added:
"name": "support.variable.foundation.objc"
218
Added:
},
219
Added:
"anonymous_pattern_18": {
220
Added:
"captures": {
221
Added:
"1": {
222
Added:
"name": "punctuation.whitespace.support.function.cocoa.leopard.objc"
223
Added:
},
224
Added:
"2": {
225
Added:
"name": "support.function.cocoa.leopard.objc"
226
Added:
}
227
Added:
},
228
Added:
"match": "(\\s*)\\b(NS(Rect(ToCGRect|FromCGRect)|MakeCollectable|S(tringFromProtocol|ize(ToCGSize|FromCGSize))|Draw(NinePartImage|ThreePartImage)|P(oint(ToCGPoint|FromCGPoint)|rotocolFromString)|EventMaskFromType|Value))\\b"
229
Added:
},
230
Added:
"anonymous_pattern_19": {
231
Added:
"captures": {
232
Added:
"1": {
233
Added:
"name": "punctuation.whitespace.support.function.leading.cocoa.objc"
234
Added:
},
235
Added:
"2": {
236
Added:
"name": "support.function.cocoa.objc"
237
Added:
}
238
Added:
},
239
Added:
"match": "(\\s*)\\b(NS(R(ound(DownToMultipleOfPageSize|UpToMultipleOfPageSize)|un(CriticalAlertPanel(RelativeToWindow)?|InformationalAlertPanel(RelativeToWindow)?|AlertPanel(RelativeToWindow)?)|e(set(MapTable|HashTable)|c(ycleZone|t(Clip(List)?|F(ill(UsingOperation|List(UsingOperation|With(Grays|Colors(UsingOperation)?))?)?|romString))|ordAllocationEvent)|turnAddress|leaseAlertPanel|a(dPixel|l(MemoryAvailable|locateCollectable))|gisterServicesProvider)|angeFromString)|Get(SizeAndAlignment|CriticalAlertPanel|InformationalAlertPanel|UncaughtExceptionHandler|FileType(s)?|WindowServerMemory|AlertPanel)|M(i(n(X|Y)|d(X|Y))|ouseInRect|a(p(Remove|Get|Member|Insert(IfAbsent|KnownAbsent)?)|ke(R(ect|ange)|Size|Point)|x(Range|X|Y)))|B(itsPer(SampleFromDepth|PixelFromDepth)|e(stDepth|ep|gin(CriticalAlertSheet|InformationalAlertSheet|AlertSheet)))|S(ho(uldRetainWithZone|w(sServicesMenuItem|AnimationEffect))|tringFrom(R(ect|ange)|MapTable|S(ize|elector)|HashTable|Class|Point)|izeFromString|e(t(ShowsServicesMenuItem|ZoneName|UncaughtExceptionHandler|FocusRingStyle)|lectorFromString|archPathForDirectoriesInDomains)|wap(Big(ShortToHost|IntToHost|DoubleToHost|FloatToHost|Long(ToHost|LongToHost))|Short|Host(ShortTo(Big|Little)|IntTo(Big|Little)|DoubleTo(Big|Little)|FloatTo(Big|Little)|Long(To(Big|Little)|LongTo(Big|Little)))|Int|Double|Float|L(ittle(ShortToHost|IntToHost|DoubleToHost|FloatToHost|Long(ToHost|LongToHost))|ong(Long)?)))|H(ighlightRect|o(stByteOrder|meDirectory(ForUser)?)|eight|ash(Remove|Get|Insert(IfAbsent|KnownAbsent)?)|FSType(CodeFromFileType|OfFile))|N(umberOfColorComponents|ext(MapEnumeratorPair|HashEnumeratorItem))|C(o(n(tainsRect|vert(GlyphsToPackedGlyphs|Swapped(DoubleToHost|FloatToHost)|Host(DoubleToSwapped|FloatToSwapped)))|unt(MapTable|HashTable|Frames|Windows(ForContext)?)|py(M(emoryPages|apTableWithZone)|Bits|HashTableWithZone|Object)|lorSpaceFromDepth|mpare(MapTables|HashTables))|lassFromString|reate(MapTable(WithZone)?|HashTable(WithZone)?|Zone|File(namePboardType|ContentsPboardType)))|TemporaryDirectory|I(s(ControllerMarker|EmptyRect|FreedObject)|n(setRect|crementExtraRefCount|te(r(sect(sRect|ionR(ect|ange))|faceStyleForKey)|gralRect)))|Zone(Realloc|Malloc|Name|Calloc|Fr(omPointer|ee))|O(penStepRootDirectory|ffsetRect)|D(i(sableScreenUpdates|videRect)|ottedFrameRect|e(c(imal(Round|Multiply|S(tring|ubtract)|Normalize|Co(py|mpa(ct|re))|IsNotANumber|Divide|Power|Add)|rementExtraRefCountWasZero)|faultMallocZone|allocate(MemoryPages|Object))|raw(Gr(oove|ayBezel)|B(itmap|utton)|ColorTiledRects|TiledRects|DarkBezel|W(hiteBezel|indowBackground)|LightBezel))|U(serName|n(ionR(ect|ange)|registerServicesProvider)|pdateDynamicServices)|Java(Bundle(Setup|Cleanup)|Setup(VirtualMachine)?|Needs(ToLoadClasses|VirtualMachine)|ClassesF(orBundle|romPath)|ObjectNamedInPath|ProvidesClasses)|P(oint(InRect|FromString)|erformService|lanarFromDepth|ageSize)|E(n(d(MapTableEnumeration|HashTableEnumeration)|umerate(MapTable|HashTable)|ableScreenUpdates)|qual(R(ects|anges)|Sizes|Points)|raseRect|xtraRefCount)|F(ileTypeForHFSTypeCode|ullUserName|r(ee(MapTable|HashTable)|ame(Rect(WithWidth(UsingOperation)?)?|Address)))|Wi(ndowList(ForContext)?|dth)|Lo(cationInRange|g(v|PageSize)?)|A(ccessibility(R(oleDescription(ForUIElement)?|aiseBadArgumentException)|Unignored(Children(ForOnlyChild)?|Descendant|Ancestor)|PostNotification|ActionDescription)|pplication(Main|Load)|vailableWindowDepths|ll(MapTable(Values|Keys)|HashTableObjects|ocate(MemoryPages|Collectable|Object)))))\\b"
240
Added:
},
241
Added:
"anonymous_pattern_2": {
242
Added:
"begin": "((@)(implementation))\\s+([A-Za-z_][A-Za-z0-9_]*)\\s*(?::\\s*([A-Za-z][A-Za-z0-9]*))?",
243
Added:
"captures": {
244
Added:
"1": {
245
Added:
"name": "storage.type.objc"
246
Added:
},
247
Added:
"2": {
248
Added:
"name": "punctuation.definition.storage.type.objc"
249
Added:
},
250
Added:
"4": {
251
Added:
"name": "entity.name.type.objc"
252
Added:
},
253
Added:
"5": {
254
Added:
"name": "entity.other.inherited-class.objc"
255
Added:
}
256
Added:
},
257
Added:
"contentName": "meta.scope.implementation.objc",
258
Added:
"end": "((@)end)\\b",
259
Added:
"name": "meta.implementation.objc",
260
Added:
"patterns": [
261
Added:
{
262
Added:
"include": "#implementation_innards"
263
Added:
}
264
Added:
]
265
Added:
},
266
Added:
"anonymous_pattern_20": {
267
Added:
"match": "\\bNS(RuleEditor|G(arbageCollector|radient)|MapTable|HashTable|Co(ndition|llectionView(Item)?)|T(oolbarItemGroup|extInputClient|r(eeNode|ackingArea))|InvocationOperation|Operation(Queue)?|D(ictionaryController|ockTile)|P(ointer(Functions|Array)|athC(o(ntrol(Delegate)?|mponentCell)|ell(Delegate)?)|r(intPanelAccessorizing|edicateEditor(RowTemplate)?))|ViewController|FastEnumeration|Animat(ionContext|ablePropertyContainer))\\b",
268
Added:
"name": "support.class.cocoa.leopard.objc"
269
Added:
},
270
Added:
"anonymous_pattern_21": {
271
Added:
"match": "\\bNS(R(u(nLoop|ler(Marker|View))|e(sponder|cursiveLock|lativeSpecifier)|an(domSpecifier|geSpecifier))|G(etCommand|lyph(Generator|Storage|Info)|raphicsContext)|XML(Node|D(ocument|TD(Node)?)|Parser|Element)|M(iddleSpecifier|ov(ie(View)?|eCommand)|utable(S(tring|et)|C(haracterSet|opying)|IndexSet|D(ictionary|ata)|URLRequest|ParagraphStyle|A(ttributedString|rray))|e(ssagePort(NameServer)?|nu(Item(Cell)?|View)?|t(hodSignature|adata(Item|Query(ResultGroup|AttributeValueTuple)?)))|a(ch(BootstrapServer|Port)|trix))|B(itmapImageRep|ox|u(ndle|tton(Cell)?)|ezierPath|rowser(Cell)?)|S(hadow|c(anner|r(ipt(SuiteRegistry|C(o(ercionHandler|mmand(Description)?)|lassDescription)|ObjectSpecifier|ExecutionContext|WhoseTest)|oll(er|View)|een))|t(epper(Cell)?|atus(Bar|Item)|r(ing|eam))|imple(HorizontalTypesetter|CString)|o(cketPort(NameServer)?|und|rtDescriptor)|p(e(cifierTest|ech(Recognizer|Synthesizer)|ll(Server|Checker))|litView)|e(cureTextField(Cell)?|t(Command)?|archField(Cell)?|rializer|gmentedC(ontrol|ell))|lider(Cell)?|avePanel)|H(ost|TTP(Cookie(Storage)?|URLResponse)|elpManager)|N(ib(Con(nector|trolConnector)|OutletConnector)?|otification(Center|Queue)?|u(ll|mber(Formatter)?)|etService(Browser)?|ameSpecifier)|C(ha(ngeSpelling|racterSet)|o(n(stantString|nection|trol(ler)?|ditionLock)|d(ing|er)|unt(Command|edSet)|pying|lor(Space|P(ick(ing(Custom|Default)|er)|anel)|Well|List)?|m(p(oundPredicate|arisonPredicate)|boBox(Cell)?))|u(stomImageRep|rsor)|IImageRep|ell|l(ipView|o(seCommand|neCommand)|assDescription)|a(ched(ImageRep|URLResponse)|lendar(Date)?)|reateCommand)|T(hread|ypesetter|ime(Zone|r)|o(olbar(Item(Validations)?)?|kenField(Cell)?)|ext(Block|Storage|Container|Tab(le(Block)?)?|Input|View|Field(Cell)?|List|Attachment(Cell)?)?|a(sk|b(le(Header(Cell|View)|Column|View)|View(Item)?))|reeController)|I(n(dex(S(pecifier|et)|Path)|put(Manager|S(tream|erv(iceProvider|er(MouseTracker)?)))|vocation)|gnoreMisspelledWords|mage(Rep|Cell|View)?)|O(ut(putStream|lineView)|pen(GL(Context|Pixel(Buffer|Format)|View)|Panel)|bj(CTypeSerializationCallBack|ect(Controller)?))|D(i(st(antObject(Request)?|ributed(NotificationCenter|Lock))|ctionary|rectoryEnumerator)|ocument(Controller)?|e(serializer|cimalNumber(Behaviors|Handler)?|leteCommand)|at(e(Components|Picker(Cell)?|Formatter)?|a)|ra(wer|ggingInfo))|U(ser(InterfaceValidations|Defaults(Controller)?)|RL(Re(sponse|quest)|Handle(Client)?|C(onnection|ache|redential(Storage)?)|Download(Delegate)?|Prot(ocol(Client)?|ectionSpace)|AuthenticationChallenge(Sender)?)?|n(iqueIDSpecifier|doManager|archiver))|P(ipe|o(sitionalSpecifier|pUpButton(Cell)?|rt(Message|NameServer|Coder)?)|ICTImageRep|ersistentDocument|DFImageRep|a(steboard|nel|ragraphStyle|geLayout)|r(int(Info|er|Operation|Panel)|o(cessInfo|tocolChecker|perty(Specifier|ListSerialization)|gressIndicator|xy)|edicate))|E(numerator|vent|PSImageRep|rror|x(ception|istsCommand|pression))|V(iew(Animation)?|al(idated(ToobarItem|UserInterfaceItem)|ue(Transformer)?))|Keyed(Unarchiver|Archiver)|Qui(ckDrawView|tCommand)|F(ile(Manager|Handle|Wrapper)|o(nt(Manager|Descriptor|Panel)?|rm(Cell|atter)))|W(hoseSpecifier|indow(Controller)?|orkspace)|L(o(c(k(ing)?|ale)|gicalTest)|evelIndicator(Cell)?|ayoutManager)|A(ssertionHandler|nimation|ctionCell|ttributedString|utoreleasePool|TSTypesetter|ppl(ication|e(Script|Event(Manager|Descriptor)))|ffineTransform|lert|r(chiver|ray(Controller)?)))\\b",
272
Added:
"name": "support.class.cocoa.objc"
273
Added:
},
274
Added:
"anonymous_pattern_22": {
275
Added:
"match": "\\bNS(R(oundingMode|ule(Editor(RowType|NestingMode)|rOrientation)|e(questUserAttentionType|lativePosition))|G(lyphInscription|radientDrawingOptions)|XML(NodeKind|D(ocumentContentKind|TDNodeKind)|ParserError)|M(ultibyteGlyphPacking|apTableOptions)|B(itmapFormat|oxType|ezierPathElement|ackgroundStyle|rowserDropOperation)|S(tr(ing(CompareOptions|DrawingOptions|EncodingConversionOptions)|eam(Status|Event))|p(eechBoundary|litViewDividerStyle)|e(archPathD(irectory|omainMask)|gmentS(tyle|witchTracking))|liderType|aveOptions)|H(TTPCookieAcceptPolicy|ashTableOptions)|N(otification(SuspensionBehavior|Coalescing)|umberFormatter(RoundingMode|Behavior|Style|PadPosition)|etService(sError|Options))|C(haracterCollection|o(lor(RenderingIntent|SpaceModel|PanelMode)|mp(oundPredicateType|arisonPredicateModifier))|ellStateValue|al(culationError|endarUnit))|T(ypesetterControlCharacterAction|imeZoneNameStyle|e(stComparisonOperation|xt(Block(Dimension|V(erticalAlignment|alueType)|Layer)|TableLayoutAlgorithm|FieldBezelStyle))|ableView(SelectionHighlightStyle|ColumnAutoresizingStyle)|rackingAreaOptions)|I(n(sertionPosition|te(rfaceStyle|ger))|mage(RepLoadStatus|Scaling|CacheMode|FrameStyle|LoadStatus|Alignment))|Ope(nGLPixelFormatAttribute|rationQueuePriority)|Date(Picker(Mode|Style)|Formatter(Behavior|Style))|U(RL(RequestCachePolicy|HandleStatus|C(acheStoragePolicy|redentialPersistence))|Integer)|P(o(stingStyle|int(ingDeviceType|erFunctionsOptions)|pUpArrowPosition)|athStyle|r(int(ing(Orientation|PaginationMode)|erTableStatus|PanelOptions)|opertyList(MutabilityOptions|Format)|edicateOperatorType))|ExpressionType|KeyValue(SetMutationKind|Change)|QTMovieLoopMode|F(indPanel(SubstringMatchType|Action)|o(nt(RenderingMode|FamilyClass)|cusRingPlacement))|W(hoseSubelementIdentifier|ind(ingRule|ow(B(utton|ackingLocation)|SharingType|CollectionBehavior)))|L(ine(MovementDirection|SweepDirection|CapStyle|JoinStyle)|evelIndicatorStyle)|Animation(BlockingMode|Curve))\\b",
276
Added:
"name": "support.type.cocoa.leopard.objc"
277
Added:
},
278
Added:
"anonymous_pattern_23": {
279
Added:
"match": "\\bC(I(Sampler|Co(ntext|lor)|Image(Accumulator)?|PlugIn(Registration)?|Vector|Kernel|Filter(Generator|Shape)?)|A(Renderer|MediaTiming(Function)?|BasicAnimation|ScrollLayer|Constraint(LayoutManager)?|T(iledLayer|extLayer|rans(ition|action))|OpenGLLayer|PropertyAnimation|KeyframeAnimation|Layer|A(nimation(Group)?|ction)))\\b",
280
Added:
"name": "support.class.quartz.objc"
281
Added:
},
282
Added:
"anonymous_pattern_24": {
283
Added:
"match": "\\bC(G(Float|Point|Size|Rect)|IFormat|AConstraintAttribute)\\b",
284
Added:
"name": "support.type.quartz.objc"
285
Added:
},
286
Added:
"anonymous_pattern_25": {
287
Added:
"match": "\\bNS(R(ect(Edge)?|ange)|G(lyph(Relation|LayoutMode)?|radientType)|M(odalSession|a(trixMode|p(Table|Enumerator)))|B(itmapImageFileType|orderType|uttonType|ezelStyle|ackingStoreType|rowserColumnResizingType)|S(cr(oll(er(Part|Arrow)|ArrowPosition)|eenAuxiliaryOpaque)|tringEncoding|ize|ocketNativeHandle|election(Granularity|Direction|Affinity)|wapped(Double|Float)|aveOperationType)|Ha(sh(Table|Enumerator)|ndler(2)?)|C(o(ntrol(Size|Tint)|mp(ositingOperation|arisonResult))|ell(State|Type|ImagePosition|Attribute))|T(hreadPrivate|ypesetterGlyphInfo|i(ckMarkPosition|tlePosition|meInterval)|o(ol(TipTag|bar(SizeMode|DisplayMode))|kenStyle)|IFFCompression|ext(TabType|Alignment)|ab(State|leViewDropOperation|ViewType)|rackingRectTag)|ImageInterpolation|Zone|OpenGL(ContextAuxiliary|PixelFormatAuxiliary)|D(ocumentChangeType|atePickerElementFlags|ra(werState|gOperation))|UsableScrollerParts|P(oint|r(intingPageOrder|ogressIndicator(Style|Th(ickness|readInfo))))|EventType|KeyValueObservingOptions|Fo(nt(SymbolicTraits|TraitMask|Action)|cusRingType)|W(indow(OrderingMode|Depth)|orkspace(IconCreationOptions|LaunchOptions)|ritingDirection)|L(ineBreakMode|ayout(Status|Direction))|A(nimation(Progress|Effect)|ppl(ication(TerminateReply|DelegateReply|PrintReply)|eEventManagerSuspensionID)|ffineTransformStruct|lertStyle))\\b",
288
Added:
"name": "support.type.cocoa.objc"
289
Added:
},
290
Added:
"anonymous_pattern_26": {
291
Added:
"match": "\\bNS(NotFound|Ordered(Ascending|Descending|Same))\\b",
292
Added:
"name": "support.constant.cocoa.objc"
293
Added:
},
294
Added:
"anonymous_pattern_27": {
295
Added:
"match": "\\bNS(MenuDidBeginTracking|ViewDidUpdateTrackingAreas)?Notification\\b",
296
Added:
"name": "support.constant.notification.cocoa.leopard.objc"
297
Added:
},
298
Added:
"anonymous_pattern_28": {
299
Added:
"match": "\\bNS(Menu(Did(RemoveItem|SendAction|ChangeItem|EndTracking|AddItem)|WillSendAction)|S(ystemColorsDidChange|plitView(DidResizeSubviews|WillResizeSubviews))|C(o(nt(extHelpModeDid(Deactivate|Activate)|rolT(intDidChange|extDid(BeginEditing|Change|EndEditing)))|lor(PanelColorDidChange|ListDidChange)|mboBox(Selection(IsChanging|DidChange)|Will(Dismiss|PopUp)))|lassDescriptionNeededForClass)|T(oolbar(DidRemoveItem|WillAddItem)|ext(Storage(DidProcessEditing|WillProcessEditing)|Did(BeginEditing|Change|EndEditing)|View(DidChange(Selection|TypingAttributes)|WillChangeNotifyingTextView))|ableView(Selection(IsChanging|DidChange)|ColumnDid(Resize|Move)))|ImageRepRegistryDidChange|OutlineView(Selection(IsChanging|DidChange)|ColumnDid(Resize|Move)|Item(Did(Collapse|Expand)|Will(Collapse|Expand)))|Drawer(Did(Close|Open)|Will(Close|Open))|PopUpButton(CellWillPopUp|WillPopUp)|View(GlobalFrameDidChange|BoundsDidChange|F(ocusDidChange|rameDidChange))|FontSetChanged|W(indow(Did(Resi(ze|gn(Main|Key))|M(iniaturize|ove)|Become(Main|Key)|ChangeScreen(|Profile)|Deminiaturize|Update|E(ndSheet|xpose))|Will(M(iniaturize|ove)|BeginSheet|Close))|orkspace(SessionDid(ResignActive|BecomeActive)|Did(Mount|TerminateApplication|Unmount|PerformFileOperation|Wake|LaunchApplication)|Will(Sleep|Unmount|PowerOff|LaunchApplication)))|A(ntialiasThresholdChanged|ppl(ication(Did(ResignActive|BecomeActive|Hide|ChangeScreenParameters|U(nhide|pdate)|FinishLaunching)|Will(ResignActive|BecomeActive|Hide|Terminate|U(nhide|pdate)|FinishLaunching))|eEventManagerWillProcessFirstEvent)))Notification\\b",
300
Added:
"name": "support.constant.notification.cocoa.objc"
301
Added:
},
302
Added:
"anonymous_pattern_29": {
303
Added:
"match": "\\bNS(RuleEditor(RowType(Simple|Compound)|NestingMode(Si(ngle|mple)|Compound|List))|GradientDraws(BeforeStartingLocation|AfterEndingLocation)|M(inusSetExpressionType|a(chPortDeallocate(ReceiveRight|SendRight|None)|pTable(StrongMemory|CopyIn|ZeroingWeakMemory|ObjectPointerPersonality)))|B(oxCustom|undleExecutableArchitecture(X86|I386|PPC(64)?)|etweenPredicateOperatorType|ackgroundStyle(Raised|Dark|L(ight|owered)))|S(tring(DrawingTruncatesLastVisibleLine|EncodingConversion(ExternalRepresentation|AllowLossy))|ubqueryExpressionType|p(e(ech(SentenceBoundary|ImmediateBoundary|WordBoundary)|llingState(GrammarFlag|SpellingFlag))|litViewDividerStyleThi(n|ck))|e(rvice(RequestTimedOutError|M(iscellaneousError|alformedServiceDictionaryError)|InvalidPasteboardDataError|ErrorM(inimum|aximum)|Application(NotFoundError|LaunchFailedError))|gmentStyle(Round(Rect|ed)|SmallSquare|Capsule|Textured(Rounded|Square)|Automatic)))|H(UDWindowMask|ashTable(StrongMemory|CopyIn|ZeroingWeakMemory|ObjectPointerPersonality))|N(oModeColorPanel|etServiceNoAutoRename)|C(hangeRedone|o(ntainsPredicateOperatorType|l(orRenderingIntent(RelativeColorimetric|Saturation|Default|Perceptual|AbsoluteColorimetric)|lectorDisabledOption))|ellHit(None|ContentArea|TrackableArea|EditableTextArea))|T(imeZoneNameStyle(S(hort(Standard|DaylightSaving)|tandard)|DaylightSaving)|extFieldDatePickerStyle|ableViewSelectionHighlightStyle(Regular|SourceList)|racking(Mouse(Moved|EnteredAndExited)|CursorUpdate|InVisibleRect|EnabledDuringMouseDrag|A(ssumeInside|ctive(In(KeyWindow|ActiveApp)|WhenFirstResponder|Always))))|I(n(tersectSetExpressionType|dexedColorSpaceModel)|mageScale(None|Proportionally(Down|UpOrDown)|AxesIndependently))|Ope(nGLPFAAllowOfflineRenderers|rationQueue(DefaultMaxConcurrentOperationCount|Priority(High|Normal|Very(High|Low)|Low)))|D(iacriticInsensitiveSearch|ownloadsDirectory)|U(nionSetExpressionType|TF(16(BigEndianStringEncoding|StringEncoding|LittleEndianStringEncoding)|32(BigEndianStringEncoding|StringEncoding|LittleEndianStringEncoding)))|P(ointerFunctions(Ma(chVirtualMemory|llocMemory)|Str(ongMemory|uctPersonality)|C(StringPersonality|opyIn)|IntegerPersonality|ZeroingWeakMemory|O(paque(Memory|Personality)|bjectP(ointerPersonality|ersonality)))|at(hStyle(Standard|NavigationBar|PopUp)|ternColorSpaceModel)|rintPanelShows(Scaling|Copies|Orientation|P(a(perSize|ge(Range|SetupAccessory))|review)))|Executable(RuntimeMismatchError|NotLoadableError|ErrorM(inimum|aximum)|L(inkError|oadError)|ArchitectureMismatchError)|KeyValueObservingOption(Initial|Prior)|F(i(ndPanelSubstringMatchType(StartsWith|Contains|EndsWith|FullWord)|leRead(TooLargeError|UnknownStringEncodingError))|orcedOrderingSearch)|Wi(ndow(BackingLocation(MainMemory|Default|VideoMemory)|Sharing(Read(Only|Write)|None)|CollectionBehavior(MoveToActiveSpace|CanJoinAllSpaces|Default))|dthInsensitiveSearch)|AggregateExpressionType)\\b",
304
Added:
"name": "support.constant.cocoa.leopard.objc"
305
Added:
},
306
Added:
"anonymous_pattern_3": {
307
Added:
"begin": "@\"",
308
Added:
"beginCaptures": {
309
Added:
"0": {
310
Added:
"name": "punctuation.definition.string.begin.objc"
311
Added:
}
312
Added:
},
313
Added:
"end": "\"",
314
Added:
"endCaptures": {
315
Added:
"0": {
316
Added:
"name": "punctuation.definition.string.end.objc"
317
Added:
}
318
Added:
},
319
Added:
"name": "string.quoted.double.objc",
320
Added:
"patterns": [
321
Added:
{
322
Added:
"include": "#string_escaped_char"
323
Added:
},
324
Added:
{
325
Added:
"match": "(?x)%\n\t\t\t\t\t\t(\\d+\\$)? # field (argument #)\n\t\t\t\t\t\t[#0\\- +']* # flags\n\t\t\t\t\t\t((-?\\d+)|\\*(-?\\d+\\$)?)? # minimum field width\n\t\t\t\t\t\t(\\.((-?\\d+)|\\*(-?\\d+\\$)?)?)? # precision\n\t\t\t\t\t\t[@] # conversion type\n\t\t\t\t\t",
326
Added:
"name": "constant.other.placeholder.objc"
327
Added:
},
328
Added:
{
329
Added:
"include": "#string_placeholder"
330
Added:
}
331
Added:
]
332
Added:
},
333
Added:
"anonymous_pattern_30": {
334
Added:
"match": "\\bNS(R(GB(ModeColorPanel|ColorSpaceModel)|ight(Mouse(D(own(Mask)?|ragged(Mask)?)|Up(Mask)?)|T(ext(Movement|Alignment)|ab(sBezelBorder|StopType))|ArrowFunctionKey)|ound(RectBezelStyle|Bankers|ed(BezelStyle|TokenStyle|DisclosureBezelStyle)|Down|Up|Plain|Line(CapStyle|JoinStyle))|un(StoppedResponse|ContinuesResponse|AbortedResponse)|e(s(izableWindowMask|et(CursorRectsRunLoopOrdering|FunctionKey))|ce(ssedBezelStyle|iver(sCantHandleCommandScriptError|EvaluationScriptError))|turnTextMovement|doFunctionKey|quiredArgumentsMissingScriptError|l(evancyLevelIndicatorStyle|ative(Before|After))|gular(SquareBezelStyle|ControlSize)|moveTraitFontAction)|a(n(domSubelement|geDateMode)|tingLevelIndicatorStyle|dio(ModeMatrix|Button)))|G(IFFileType|lyph(Below|Inscribe(B(elow|ase)|Over(strike|Below)|Above)|Layout(WithPrevious|A(tAPoint|gainstAPoint))|A(ttribute(BidiLevel|Soft|Inscribe|Elastic)|bove))|r(ooveBorder|eaterThan(Comparison|OrEqualTo(Comparison|PredicateOperatorType)|PredicateOperatorType)|a(y(ModeColorPanel|ColorSpaceModel)|dient(None|Con(cave(Strong|Weak)|vex(Strong|Weak)))|phiteControlTint)))|XML(N(o(tationDeclarationKind|de(CompactEmptyElement|IsCDATA|OptionsNone|Use(SingleQuotes|DoubleQuotes)|Pre(serve(NamespaceOrder|C(haracterReferences|DATA)|DTD|Prefixes|E(ntities|mptyElements)|Quotes|Whitespace|A(ttributeOrder|ll))|ttyPrint)|ExpandEmptyElement))|amespaceKind)|CommentKind|TextKind|InvalidKind|D(ocument(X(MLKind|HTMLKind|Include)|HTMLKind|T(idy(XML|HTML)|extKind)|IncludeContentTypeDeclaration|Validate|Kind)|TDKind)|P(arser(GTRequiredError|XMLDeclNot(StartedError|FinishedError)|Mi(splaced(XMLDeclarationError|CDATAEndStringError)|xedContentDeclNot(StartedError|FinishedError))|S(t(andaloneValueError|ringNot(StartedError|ClosedError))|paceRequiredError|eparatorRequiredError)|N(MTOKENRequiredError|o(t(ationNot(StartedError|FinishedError)|WellBalancedError)|DTDError)|amespaceDeclarationError|AMERequiredError)|C(haracterRef(In(DTDError|PrologError|EpilogError)|AtEOFError)|o(nditionalSectionNot(StartedError|FinishedError)|mment(NotFinishedError|ContainsDoubleHyphenError))|DATANotFinishedError)|TagNameMismatchError|In(ternalError|valid(HexCharacterRefError|C(haracter(RefError|InEntityError|Error)|onditionalSectionError)|DecimalCharacterRefError|URIError|Encoding(NameError|Error)))|OutOfMemoryError|D(ocumentStartError|elegateAbortedParseError|OCTYPEDeclNotFinishedError)|U(RI(RequiredError|FragmentError)|n(declaredEntityError|parsedEntityError|knownEncodingError|finishedTagError))|P(CDATARequiredError|ublicIdentifierRequiredError|arsedEntityRef(MissingSemiError|NoNameError|In(Internal(SubsetError|Error)|PrologError|EpilogError)|AtEOFError)|r(ocessingInstructionNot(StartedError|FinishedError)|ematureDocumentEndError))|E(n(codingNotSupportedError|tity(Ref(In(DTDError|PrologError|EpilogError)|erence(MissingSemiError|WithoutNameError)|LoopError|AtEOFError)|BoundaryError|Not(StartedError|FinishedError)|Is(ParameterError|ExternalError)|ValueRequiredError))|qualExpectedError|lementContentDeclNot(StartedError|FinishedError)|xt(ernalS(tandaloneEntityError|ubsetNotFinishedError)|raContentError)|mptyDocumentError)|L(iteralNot(StartedError|FinishedError)|T(RequiredError|SlashRequiredError)|essThanSymbolInAttributeError)|Attribute(RedefinedError|HasNoValueError|Not(StartedError|FinishedError)|ListNot(StartedError|FinishedError)))|rocessingInstructionKind)|E(ntity(GeneralKind|DeclarationKind|UnparsedKind|P(ar(sedKind|ameterKind)|redefined))|lement(Declaration(MixedKind|UndefinedKind|E(lementKind|mptyKind)|Kind|AnyKind)|Kind))|Attribute(N(MToken(sKind|Kind)|otationKind)|CDATAKind|ID(Ref(sKind|Kind)|Kind)|DeclarationKind|En(tit(yKind|iesKind)|umerationKind)|Kind))|M(i(n(XEdge|iaturizableWindowMask|YEdge|uteCalendarUnit)|terLineJoinStyle|ddleSubelement|xedState)|o(nthCalendarUnit|deSwitchFunctionKey|use(Moved(Mask)?|E(ntered(Mask)?|ventSubtype|xited(Mask)?))|veToBezierPathElement|mentary(ChangeButton|Push(Button|InButton)|Light(Button)?))|enuFunctionKey|a(c(intoshInterfaceStyle|OSRomanStringEncoding)|tchesPredicateOperatorType|ppedRead|x(XEdge|YEdge))|ACHOperatingSystem)|B(MPFileType|o(ttomTabsBezelBorder|ldFontMask|rderlessWindowMask|x(Se(condary|parator)|OldStyle|Primary))|uttLineCapStyle|e(zelBorder|velLineJoinStyle|low(Bottom|Top)|gin(sWith(Comparison|PredicateOperatorType)|FunctionKey))|lueControlTint|ack(spaceCharacter|tabTextMovement|ingStore(Retained|Buffered|Nonretained)|TabCharacter|wardsSearch|groundTab)|r(owser(NoColumnResizing|UserColumnResizing|AutoColumnResizing)|eakFunctionKey))|S(h(ift(JISStringEncoding|KeyMask)|ow(ControlGlyphs|InvisibleGlyphs)|adowlessSquareBezelStyle)|y(s(ReqFunctionKey|tem(D(omainMask|efined(Mask)?)|FunctionKey))|mbolStringEncoding)|c(a(nnedOption|le(None|ToFit|Proportionally))|r(oll(er(NoPart|Increment(Page|Line|Arrow)|Decrement(Page|Line|Arrow)|Knob(Slot)?|Arrows(M(inEnd|axEnd)|None|DefaultSetting))|Wheel(Mask)?|LockFunctionKey)|eenChangedEventType))|t(opFunctionKey|r(ingDrawing(OneShot|DisableScreenFontSubstitution|Uses(DeviceMetrics|FontLeading|LineFragmentOrigin))|eam(Status(Reading|NotOpen|Closed|Open(ing)?|Error|Writing|AtEnd)|Event(Has(BytesAvailable|SpaceAvailable)|None|OpenCompleted|E(ndEncountered|rrorOccurred)))))|i(ngle(DateMode|UnderlineStyle)|ze(DownFontAction|UpFontAction))|olarisOperatingSystem|unOSOperatingSystem|pecialPageOrder|e(condCalendarUnit|lect(By(Character|Paragraph|Word)|i(ng(Next|Previous)|onAffinity(Downstream|Upstream))|edTab|FunctionKey)|gmentSwitchTracking(Momentary|Select(One|Any)))|quareLineCapStyle|witchButton|ave(ToOperation|Op(tions(Yes|No|Ask)|eration)|AsOperation)|mall(SquareBezelStyle|C(ontrolSize|apsFontMask)|IconButtonBezelStyle))|H(ighlightModeMatrix|SBModeColorPanel|o(ur(Minute(SecondDatePickerElementFlag|DatePickerElementFlag)|CalendarUnit)|rizontalRuler|meFunctionKey)|TTPCookieAcceptPolicy(Never|OnlyFromMainDocumentDomain|Always)|e(lp(ButtonBezelStyle|KeyMask|FunctionKey)|avierFontAction)|PUXOperatingSystem)|Year(MonthDa(yDatePickerElementFlag|tePickerElementFlag)|CalendarUnit)|N(o(n(StandardCharacterSetFontMask|ZeroWindingRule|activatingPanelMask|LossyASCIIStringEncoding)|Border|t(ification(SuspensionBehavior(Hold|Coalesce|D(eliverImmediately|rop))|NoCoalescing|CoalescingOn(Sender|Name)|DeliverImmediately|PostToAllSessions)|PredicateType|EqualToPredicateOperatorType)|S(cr(iptError|ollerParts)|ubelement|pecifierError)|CellMask|T(itle|opLevelContainersSpecifierError|abs(BezelBorder|NoBorder|LineBorder))|I(nterfaceStyle|mage)|UnderlineStyle|FontChangeAction)|u(ll(Glyph|CellType)|m(eric(Search|PadKeyMask)|berFormatter(Round(Half(Down|Up|Even)|Ceiling|Down|Up|Floor)|Behavior(10|Default)|S(cientificStyle|pellOutStyle)|NoStyle|CurrencyStyle|DecimalStyle|P(ercentStyle|ad(Before(Suffix|Prefix)|After(Suffix|Prefix))))))|e(t(Services(BadArgumentError|NotFoundError|C(ollisionError|ancelledError)|TimeoutError|InvalidError|UnknownError|ActivityInProgress)|workDomainMask)|wlineCharacter|xt(StepInterfaceStyle|FunctionKey))|EXTSTEPStringEncoding|a(t(iveShortGlyphPacking|uralTextAlignment)|rrowFontMask))|C(hange(ReadOtherContents|GrayCell(Mask)?|BackgroundCell(Mask)?|Cleared|Done|Undone|Autosaved)|MYK(ModeColorPanel|ColorSpaceModel)|ircular(BezelStyle|Slider)|o(n(stantValueExpressionType|t(inuousCapacityLevelIndicatorStyle|entsCellMask|ain(sComparison|erSpecifierError)|rol(Glyph|KeyMask))|densedFontMask)|lor(Panel(RGBModeMask|GrayModeMask|HSBModeMask|C(MYKModeMask|olorListModeMask|ustomPaletteModeMask|rayonModeMask)|WheelModeMask|AllModesMask)|ListModeColorPanel)|reServiceDirectory|m(p(osite(XOR|Source(In|O(ut|ver)|Atop)|Highlight|C(opy|lear)|Destination(In|O(ut|ver)|Atop)|Plus(Darker|Lighter))|ressedFontMask)|mandKeyMask))|u(stom(SelectorPredicateOperatorType|PaletteModeColorPanel)|r(sor(Update(Mask)?|PointingDevice)|veToBezierPathElement))|e(nterT(extAlignment|abStopType)|ll(State|H(ighlighted|as(Image(Horizontal|OnLeftOrBottom)|OverlappingImage))|ChangesContents|Is(Bordered|InsetButton)|Disabled|Editable|LightsBy(Gray|Background|Contents)|AllowsMixedState))|l(ipPagination|o(s(ePathBezierPathElement|ableWindowMask)|ckAndCalendarDatePickerStyle)|ear(ControlTint|DisplayFunctionKey|LineFunctionKey))|a(seInsensitive(Search|PredicateOption)|n(notCreateScriptCommandError|cel(Button|TextMovement))|chesDirectory|lculation(NoError|Overflow|DivideByZero|Underflow|LossOfPrecision)|rriageReturnCharacter)|r(itical(Request|AlertStyle)|ayonModeColorPanel))|T(hick(SquareBezelStyle|erSquareBezelStyle)|ypesetter(Behavior|HorizontalTabAction|ContainerBreakAction|ZeroAdvancementAction|OriginalBehavior|ParagraphBreakAction|WhitespaceAction|L(ineBreakAction|atestBehavior))|i(ckMark(Right|Below|Left|Above)|tledWindowMask|meZoneDatePickerElementFlag)|o(olbarItemVisibilityPriority(Standard|High|User|Low)|pTabsBezelBorder|ggleButton)|IFF(Compression(N(one|EXT)|CCITTFAX(3|4)|OldJPEG|JPEG|PackBits|LZW)|FileType)|e(rminate(Now|Cancel|Later)|xt(Read(InapplicableDocumentTypeError|WriteErrorM(inimum|aximum))|Block(M(i(nimum(Height|Width)|ddleAlignment)|a(rgin|ximum(Height|Width)))|B(o(ttomAlignment|rder)|aselineAlignment)|Height|TopAlignment|P(ercentageValueType|adding)|Width|AbsoluteValueType)|StorageEdited(Characters|Attributes)|CellType|ured(RoundedBezelStyle|BackgroundWindowMask|SquareBezelStyle)|Table(FixedLayoutAlgorithm|AutomaticLayoutAlgorithm)|Field(RoundedBezel|SquareBezel|AndStepperDatePickerStyle)|WriteInapplicableDocumentTypeError|ListPrependEnclosingMarker))|woByteGlyphPacking|ab(Character|TextMovement|le(tP(oint(Mask|EventSubtype)?|roximity(Mask|EventSubtype)?)|Column(NoResizing|UserResizingMask|AutoresizingMask)|View(ReverseSequentialColumnAutoresizingStyle|GridNone|S(olid(HorizontalGridLineMask|VerticalGridLineMask)|equentialColumnAutoresizingStyle)|NoColumnAutoresizing|UniformColumnAutoresizingStyle|FirstColumnOnlyAutoresizingStyle|LastColumnOnlyAutoresizingStyle)))|rackModeMatrix)|I(n(sert(CharFunctionKey|FunctionKey|LineFunctionKey)|t(Type|ernalS(criptError|pecifierError))|dexSubelement|validIndexSpecifierError|formational(Request|AlertStyle)|PredicateOperatorType)|talicFontMask|SO(2022JPStringEncoding|Latin(1StringEncoding|2StringEncoding))|dentityMappingCharacterCollection|llegalTextMovement|mage(R(ight|ep(MatchesDevice|LoadStatus(ReadingHeader|Completed|InvalidData|Un(expectedEOF|knownType)|WillNeedAllData)))|Below|C(ellType|ache(BySize|Never|Default|Always))|Interpolation(High|None|Default|Low)|O(nly|verlaps)|Frame(Gr(oove|ayBezel)|Button|None|Photo)|L(oadStatus(ReadError|C(ompleted|ancelled)|InvalidData|UnexpectedEOF)|eft)|A(lign(Right|Bottom(Right|Left)?|Center|Top(Right|Left)?|Left)|bove)))|O(n(State|eByteGlyphPacking|OffButton|lyScrollerArrows)|ther(Mouse(D(own(Mask)?|ragged(Mask)?)|Up(Mask)?)|TextMovement)|SF1OperatingSystem|pe(n(GL(GO(Re(setLibrary|tainRenderers)|ClearFormatCache|FormatCacheSize)|PFA(R(obust|endererID)|M(inimumPolicy|ulti(sample|Screen)|PSafe|aximumPolicy)|BackingStore|S(creenMask|te(ncilSize|reo)|ingleRenderer|upersample|ample(s|Buffers|Alpha))|NoRecovery|C(o(lor(Size|Float)|mpliant)|losestPolicy)|OffScreen|D(oubleBuffer|epthSize)|PixelBuffer|VirtualScreenCount|FullScreen|Window|A(cc(umSize|elerated)|ux(Buffers|DepthStencil)|l(phaSize|lRenderers))))|StepUnicodeReservedBase)|rationNotSupportedForKeyS(criptError|pecifierError))|ffState|KButton|rPredicateType|bjC(B(itfield|oolType)|S(hortType|tr(ingType|uctType)|electorType)|NoType|CharType|ObjectType|DoubleType|UnionType|PointerType|VoidType|FloatType|Long(Type|longType)|ArrayType))|D(i(s(c(losureBezelStyle|reteCapacityLevelIndicatorStyle)|playWindowRunLoopOrdering)|acriticInsensitivePredicateOption|rect(Selection|PredicateModifier))|o(c(ModalWindowMask|ument(Directory|ationDirectory))|ubleType|wn(TextMovement|ArrowFunctionKey))|e(s(cendingPageOrder|ktopDirectory)|cimalTabStopType|v(ice(NColorSpaceModel|IndependentModifierFlagsMask)|eloper(Directory|ApplicationDirectory))|fault(ControlTint|TokenStyle)|lete(Char(acter|FunctionKey)|FunctionKey|LineFunctionKey)|moApplicationDirectory)|a(yCalendarUnit|teFormatter(MediumStyle|Behavior(10|Default)|ShortStyle|NoStyle|FullStyle|LongStyle))|ra(wer(Clos(ingState|edState)|Open(ingState|State))|gOperation(Generic|Move|None|Copy|Delete|Private|Every|Link|All)))|U(ser(CancelledError|D(irectory|omainMask)|FunctionKey)|RL(Handle(NotLoaded|Load(Succeeded|InProgress|Failed))|CredentialPersistence(None|Permanent|ForSession))|n(scaledWindowMask|cachedRead|i(codeStringEncoding|talicFontMask|fiedTitleAndToolbarWindowMask)|d(o(CloseGroupingRunLoopOrdering|FunctionKey)|e(finedDateComponent|rline(Style(Single|None|Thick|Double)|Pattern(Solid|D(ot|ash(Dot(Dot)?)?)))))|known(ColorSpaceModel|P(ointingDevice|ageOrder)|KeyS(criptError|pecifierError))|boldFontMask)|tilityWindowMask|TF8StringEncoding|p(dateWindowsRunLoopOrdering|TextMovement|ArrowFunctionKey))|J(ustifiedTextAlignment|PEG(2000FileType|FileType)|apaneseEUC(GlyphPacking|StringEncoding))|P(o(s(t(Now|erFontMask|WhenIdle|ASAP)|iti(on(Replace|Be(fore|ginning)|End|After)|ve(IntType|DoubleType|FloatType)))|pUp(NoArrow|ArrowAt(Bottom|Center))|werOffEventType|rtraitOrientation)|NGFileType|ush(InCell(Mask)?|OnPushOffButton)|e(n(TipMask|UpperSideMask|PointingDevice|LowerSideMask)|riodic(Mask)?)|P(S(caleField|tatus(Title|Field)|aveButton)|N(ote(Title|Field)|ame(Title|Field))|CopiesField|TitleField|ImageButton|OptionsButton|P(a(perFeedButton|ge(Range(To|From)|ChoiceMatrix))|reviewButton)|LayoutButton)|lainTextTokenStyle|a(useFunctionKey|ragraphSeparatorCharacter|ge(DownFunctionKey|UpFunctionKey))|r(int(ing(ReplyLater|Success|Cancelled|Failure)|ScreenFunctionKey|erTable(NotFound|OK|Error)|FunctionKey)|o(p(ertyList(XMLFormat|MutableContainers(AndLeaves)?|BinaryFormat|Immutable|OpenStepFormat)|rietaryStringEncoding)|gressIndicator(BarStyle|SpinningStyle|Preferred(SmallThickness|Thickness|LargeThickness|AquaThickness)))|e(ssedTab|vFunctionKey))|L(HeightForm|CancelButton|TitleField|ImageButton|O(KButton|rientationMatrix)|UnitsButton|PaperNameButton|WidthForm))|E(n(terCharacter|d(sWith(Comparison|PredicateOperatorType)|FunctionKey))|v(e(nOddWindingRule|rySubelement)|aluatedObjectExpressionType)|qualTo(Comparison|PredicateOperatorType)|ra(serPointingDevice|CalendarUnit|DatePickerElementFlag)|x(clude(10|QuickDrawElementsIconCreationOption)|pandedFontMask|ecuteFunctionKey))|V(i(ew(M(in(XMargin|YMargin)|ax(XMargin|YMargin))|HeightSizable|NotSizable|WidthSizable)|aPanelFontAction)|erticalRuler|a(lidationErrorM(inimum|aximum)|riableExpressionType))|Key(SpecifierEvaluationScriptError|Down(Mask)?|Up(Mask)?|PathExpressionType|Value(MinusSetMutation|SetSetMutation|Change(Re(placement|moval)|Setting|Insertion)|IntersectSetMutation|ObservingOption(New|Old)|UnionSetMutation|ValidationError))|QTMovie(NormalPlayback|Looping(BackAndForthPlayback|Playback))|F(1(1FunctionKey|7FunctionKey|2FunctionKey|8FunctionKey|3FunctionKey|9FunctionKey|4FunctionKey|5FunctionKey|FunctionKey|0FunctionKey|6FunctionKey)|7FunctionKey|i(nd(PanelAction(Replace(A(ndFind|ll(InSelection)?))?|S(howFindPanel|e(tFindString|lectAll(InSelection)?))|Next|Previous)|FunctionKey)|tPagination|le(Read(No(SuchFileError|PermissionError)|CorruptFileError|In(validFileNameError|applicableStringEncodingError)|Un(supportedSchemeError|knownError))|HandlingPanel(CancelButton|OKButton)|NoSuchFileError|ErrorM(inimum|aximum)|Write(NoPermissionError|In(validFileNameError|applicableStringEncodingError)|OutOfSpaceError|Un(supportedSchemeError|knownError))|LockingError)|xedPitchFontMask)|2(1FunctionKey|7FunctionKey|2FunctionKey|8FunctionKey|3FunctionKey|9FunctionKey|4FunctionKey|5FunctionKey|FunctionKey|0FunctionKey|6FunctionKey)|o(nt(Mo(noSpaceTrait|dernSerifsClass)|BoldTrait|S(ymbolicClass|criptsClass|labSerifsClass|ansSerifClass)|C(o(ndensedTrait|llectionApplicationOnlyMask)|larendonSerifsClass)|TransitionalSerifsClass|I(ntegerAdvancementsRenderingMode|talicTrait)|O(ldStyleSerifsClass|rnamentalsClass)|DefaultRenderingMode|U(nknownClass|IOptimizedTrait)|Panel(S(hadowEffectModeMask|t(andardModesMask|rikethroughEffectModeMask)|izeModeMask)|CollectionModeMask|TextColorEffectModeMask|DocumentColorEffectModeMask|UnderlineEffectModeMask|FaceModeMask|All(ModesMask|EffectsModeMask))|ExpandedTrait|VerticalTrait|F(amilyClassMask|reeformSerifsClass)|Antialiased(RenderingMode|IntegerAdvancementsRenderingMode))|cusRing(Below|Type(None|Default|Exterior)|Only|Above)|urByteGlyphPacking|rm(attingError(M(inimum|aximum))?|FeedCharacter))|8FunctionKey|unction(ExpressionType|KeyMask)|3(1FunctionKey|2FunctionKey|3FunctionKey|4FunctionKey|5FunctionKey|FunctionKey|0FunctionKey)|9FunctionKey|4FunctionKey|P(RevertButton|S(ize(Title|Field)|etButton)|CurrentField|Preview(Button|Field))|l(oat(ingPointSamplesBitmapFormat|Type)|agsChanged(Mask)?)|axButton|5FunctionKey|6FunctionKey)|W(heelModeColorPanel|indow(s(NTOperatingSystem|CP125(1StringEncoding|2StringEncoding|3StringEncoding|4StringEncoding|0StringEncoding)|95(InterfaceStyle|OperatingSystem))|M(iniaturizeButton|ovedEventType)|Below|CloseButton|ToolbarButton|ZoomButton|Out|DocumentIconButton|ExposedEventType|Above)|orkspaceLaunch(NewInstance|InhibitingBackgroundOnly|Default|PreferringClassic|WithoutA(ctivation|ddingToRecents)|A(sync|nd(Hide(Others)?|Print)|llowingClassicStartup))|eek(day(CalendarUnit|OrdinalCalendarUnit)|CalendarUnit)|a(ntsBidiLevels|rningAlertStyle)|r(itingDirection(RightToLeft|Natural|LeftToRight)|apCalendarComponents))|L(i(stModeMatrix|ne(Moves(Right|Down|Up|Left)|B(order|reakBy(C(harWrapping|lipping)|Truncating(Middle|Head|Tail)|WordWrapping))|S(eparatorCharacter|weep(Right|Down|Up|Left))|ToBezierPathElement|DoesntMove|arSlider)|teralSearch|kePredicateOperatorType|ghterFontAction|braryDirectory)|ocalDomainMask|e(ssThan(Comparison|OrEqualTo(Comparison|PredicateOperatorType)|PredicateOperatorType)|ft(Mouse(D(own(Mask)?|ragged(Mask)?)|Up(Mask)?)|T(ext(Movement|Alignment)|ab(sBezelBorder|StopType))|ArrowFunctionKey))|a(yout(RightToLeft|NotDone|CantFit|OutOfGlyphs|Done|LeftToRight)|ndscapeOrientation)|ABColorSpaceModel)|A(sc(iiWithDoubleByteEUCGlyphPacking|endingPageOrder)|n(y(Type|PredicateModifier|EventMask)|choredSearch|imation(Blocking|Nonblocking(Threaded)?|E(ffect(DisappearingItemDefault|Poof)|ase(In(Out)?|Out))|Linear)|dPredicateType)|t(Bottom|tachmentCharacter|omicWrite|Top)|SCIIStringEncoding|d(obe(GB1CharacterCollection|CNS1CharacterCollection|Japan(1CharacterCollection|2CharacterCollection)|Korea1CharacterCollection)|dTraitFontAction|minApplicationDirectory)|uto(saveOperation|Pagination)|pp(lication(SupportDirectory|D(irectory|e(fined(Mask)?|legateReply(Success|Cancel|Failure)|activatedEventType))|ActivatedEventType)|KitDefined(Mask)?)|l(ternateKeyMask|pha(ShiftKeyMask|NonpremultipliedBitmapFormat|FirstBitmapFormat)|ert(SecondButtonReturn|ThirdButtonReturn|OtherReturn|DefaultReturn|ErrorReturn|FirstButtonReturn|AlternateReturn)|l(ScrollerParts|DomainsMask|PredicateModifier|LibrariesDirectory|ApplicationsDirectory))|rgument(sWrongScriptError|EvaluationScriptError)|bove(Bottom|Top)|WTEventType))\\b",
335
Added:
"name": "support.constant.cocoa.objc"
336
Added:
},
337
Added:
"anonymous_pattern_4": {
338
Added:
"begin": "\\b(id)\\s*(?=<)",
339
Added:
"beginCaptures": {
340
Added:
"1": {
341
Added:
"name": "storage.type.objc"
342
Added:
}
343
Added:
},
344
Added:
"end": "(?<=>)",
345
Added:
"name": "meta.id-with-protocol.objc",
346
Added:
"patterns": [
347
Added:
{
348
Added:
"include": "#protocol_list"
349
Added:
}
350
Added:
]
351
Added:
},
352
Added:
"anonymous_pattern_5": {
353
Added:
"match": "\\b(NS_DURING|NS_HANDLER|NS_ENDHANDLER)\\b",
354
Added:
"name": "keyword.control.macro.objc"
355
Added:
},
356
Added:
"anonymous_pattern_7": {
357
Added:
"captures": {
358
Added:
"1": {
359
Added:
"name": "punctuation.definition.keyword.objc"
360
Added:
}
361
Added:
},
362
Added:
"match": "(@)(try|catch|finally|throw)\\b",
363
Added:
"name": "keyword.control.exception.objc"
364
Added:
},
365
Added:
"anonymous_pattern_8": {
366
Added:
"captures": {
367
Added:
"1": {
368
Added:
"name": "punctuation.definition.keyword.objc"
369
Added:
}
370
Added:
},
371
Added:
"match": "(@)(synchronized)\\b",
372
Added:
"name": "keyword.control.synchronize.objc"
373
Added:
},
374
Added:
"anonymous_pattern_9": {
375
Added:
"captures": {
376
Added:
"1": {
377
Added:
"name": "punctuation.definition.keyword.objc"
378
Added:
}
379
Added:
},
380
Added:
"match": "(@)(required|optional)\\b",
381
Added:
"name": "keyword.control.protocol-specification.objc"
382
Added:
},
383
Added:
"apple_foundation_functional_macros": {
384
Added:
"begin": "(\\b(?:API_AVAILABLE|API_DEPRECATED|API_UNAVAILABLE|NS_AVAILABLE|NS_AVAILABLE_MAC|NS_AVAILABLE_IOS|NS_DEPRECATED|NS_DEPRECATED_MAC|NS_DEPRECATED_IOS|NS_SWIFT_NAME))(?:(?:\\s)+)?(\\()",
385
Added:
"end": "\\)",
386
Added:
"beginCaptures": {
387
Added:
"1": {
388
Added:
"name": "entity.name.function.preprocessor.apple-foundation.objc"
389
Added:
},
390
Added:
"2": {
391
Added:
"name": "punctuation.section.macro.arguments.begin.bracket.round.apple-foundation.objc"
392
Added:
}
393
Added:
},
394
Added:
"endCaptures": {
395
Added:
"0": {
396
Added:
"name": "punctuation.section.macro.arguments.end.bracket.round.apple-foundation.objc"
397
Added:
}
398
Added:
},
399
Added:
"name": "meta.preprocessor.macro.callable.apple-foundation.objc",
400
Added:
"patterns": [
401
Added:
{
402
Added:
"include": "#c_lang"
403
Added:
}
404
Added:
]
405
Added:
},
406
Added:
"bracketed_content": {
407
Added:
"begin": "\\[",
408
Added:
"beginCaptures": {
409
Added:
"0": {
410
Added:
"name": "punctuation.section.scope.begin.objc"
411
Added:
}
412
Added:
},
413
Added:
"end": "\\]",
414
Added:
"endCaptures": {
415
Added:
"0": {
416
Added:
"name": "punctuation.section.scope.end.objc"
417
Added:
}
418
Added:
},
419
Added:
"name": "meta.bracketed.objc",
420
Added:
"patterns": [
421
Added:
{
422
Added:
"begin": "(?=predicateWithFormat:)(?<=NSPredicate )(predicateWithFormat:)",
423
Added:
"beginCaptures": {
424
Added:
"1": {
425
Added:
"name": "support.function.any-method.objc"
426
Added:
},
427
Added:
"2": {
428
Added:
"name": "punctuation.separator.arguments.objc"
429
Added:
}
430
Added:
},
431
Added:
"end": "(?=\\])",
432
Added:
"name": "meta.function-call.predicate.objc",
433
Added:
"patterns": [
434
Added:
{
435
Added:
"captures": {
436
Added:
"1": {
437
Added:
"name": "punctuation.separator.arguments.objc"
438
Added:
}
439
Added:
},
440
Added:
"match": "\\bargument(Array|s)(:)",
441
Added:
"name": "support.function.any-method.name-of-parameter.objc"
442
Added:
},
443
Added:
{
444
Added:
"captures": {
445
Added:
"1": {
446
Added:
"name": "punctuation.separator.arguments.objc"
447
Added:
}
448
Added:
},
449
Added:
"match": "\\b\\w+(:)",
450
Added:
"name": "invalid.illegal.unknown-method.objc"
451
Added:
},
452
Added:
{
453
Added:
"begin": "@\"",
454
Added:
"beginCaptures": {
455
Added:
"0": {
456
Added:
"name": "punctuation.definition.string.begin.objc"
457
Added:
}
458
Added:
},
459
Added:
"end": "\"",
460
Added:
"endCaptures": {
461
Added:
"0": {
462
Added:
"name": "punctuation.definition.string.end.objc"
463
Added:
}
464
Added:
},
465
Added:
"name": "string.quoted.double.objc",
466
Added:
"patterns": [
467
Added:
{
468
Added:
"match": "\\b(AND|OR|NOT|IN)\\b",
469
Added:
"name": "keyword.operator.logical.predicate.cocoa.objc"
470
Added:
},
471
Added:
{
472
Added:
"match": "\\b(ALL|ANY|SOME|NONE)\\b",
473
Added:
"name": "constant.language.predicate.cocoa.objc"
474
Added:
},
475
Added:
{
476
Added:
"match": "\\b(NULL|NIL|SELF|TRUE|YES|FALSE|NO|FIRST|LAST|SIZE)\\b",
477
Added:
"name": "constant.language.predicate.cocoa.objc"
478
Added:
},
479
Added:
{
480
Added:
"match": "\\b(MATCHES|CONTAINS|BEGINSWITH|ENDSWITH|BETWEEN)\\b",
481
Added:
"name": "keyword.operator.comparison.predicate.cocoa.objc"
482
Added:
},
483
Added:
{
484
Added:
"match": "\\bC(ASEINSENSITIVE|I)\\b",
485
Added:
"name": "keyword.other.modifier.predicate.cocoa.objc"
486
Added:
},
487
Added:
{
488
Added:
"match": "\\b(ANYKEY|SUBQUERY|CAST|TRUEPREDICATE|FALSEPREDICATE)\\b",
489
Added:
"name": "keyword.other.predicate.cocoa.objc"
490
Added:
},
491
Added:
{
492
Added:
"match": "\\\\(\\\\|[abefnrtv'\"?]|[0-3]\\d{,2}|[4-7]\\d?|x[a-zA-Z0-9]+)",
493
Added:
"name": "constant.character.escape.objc"
494
Added:
},
495
Added:
{
496
Added:
"match": "\\\\.",
497
Added:
"name": "invalid.illegal.unknown-escape.objc"
498
Added:
}
499
Added:
]
500
Added:
},
501
Added:
{
502
Added:
"include": "#special_variables"
503
Added:
},
504
Added:
{
505
Added:
"include": "#c_functions"
506
Added:
},
507
Added:
{
508
Added:
"include": "$base"
509
Added:
}
510
Added:
]
511
Added:
},
512
Added:
{
513
Added:
"begin": "(?=\\w)(?<=[\\w\\])\"] )(\\w+(?:(:)|(?=\\])))",
514
Added:
"beginCaptures": {
515
Added:
"1": {
516
Added:
"name": "support.function.any-method.objc"
517
Added:
},
518
Added:
"2": {
519
Added:
"name": "punctuation.separator.arguments.objc"
520
Added:
}
521
Added:
},
522
Added:
"end": "(?=\\])",
523
Added:
"name": "meta.function-call.objc",
524
Added:
"patterns": [
525
Added:
{
526
Added:
"captures": {
527
Added:
"1": {
528
Added:
"name": "punctuation.separator.arguments.objc"
529
Added:
}
530
Added:
},
531
Added:
"match": "\\b\\w+(:)",
532
Added:
"name": "support.function.any-method.name-of-parameter.objc"
533
Added:
},
534
Added:
{
535
Added:
"include": "#special_variables"
536
Added:
},
537
Added:
{
538
Added:
"include": "#c_functions"
539
Added:
},
540
Added:
{
541
Added:
"include": "$base"
542
Added:
}
543
Added:
]
544
Added:
},
545
Added:
{
546
Added:
"include": "#special_variables"
547
Added:
},
548
Added:
{
549
Added:
"include": "#c_functions"
550
Added:
},
551
Added:
{
552
Added:
"include": "$self"
553
Added:
}
554
Added:
]
555
Added:
},
556
Added:
"c_functions": {
557
Added:
"patterns": [
558
Added:
{
559
Added:
"captures": {
560
Added:
"1": {
561
Added:
"name": "punctuation.whitespace.support.function.leading.objc"
562
Added:
},
563
Added:
"2": {
564
Added:
"name": "support.function.C99.objc"
565
Added:
}
566
Added:
},
567
Added:
"match": "(\\s*)\\b(hypot(f|l)?|s(scanf|ystem|nprintf|ca(nf|lb(n(f|l)?|ln(f|l)?))|i(n(h(f|l)?|f|l)?|gn(al|bit))|tr(s(tr|pn)|nc(py|at|mp)|c(spn|hr|oll|py|at|mp)|to(imax|d|u(l(l)?|max)|k|f|l(d|l)?)|error|pbrk|ftime|len|rchr|xfrm)|printf|et(jmp|vbuf|locale|buf)|qrt(f|l)?|w(scanf|printf)|rand)|n(e(arbyint(f|l)?|xt(toward(f|l)?|after(f|l)?))|an(f|l)?)|c(s(in(h(f|l)?|f|l)?|qrt(f|l)?)|cos(h(f)?|f|l)?|imag(f|l)?|t(ime|an(h(f|l)?|f|l)?)|o(s(h(f|l)?|f|l)?|nj(f|l)?|pysign(f|l)?)|p(ow(f|l)?|roj(f|l)?)|e(il(f|l)?|xp(f|l)?)|l(o(ck|g(f|l)?)|earerr)|a(sin(h(f|l)?|f|l)?|cos(h(f|l)?|f|l)?|tan(h(f|l)?|f|l)?|lloc|rg(f|l)?|bs(f|l)?)|real(f|l)?|brt(f|l)?)|t(ime|o(upper|lower)|an(h(f|l)?|f|l)?|runc(f|l)?|gamma(f|l)?|mp(nam|file))|i(s(space|n(ormal|an)|cntrl|inf|digit|u(nordered|pper)|p(unct|rint)|finite|w(space|c(ntrl|type)|digit|upper|p(unct|rint)|lower|al(num|pha)|graph|xdigit|blank)|l(ower|ess(equal|greater)?)|al(num|pha)|gr(eater(equal)?|aph)|xdigit|blank)|logb(f|l)?|max(div|abs))|di(v|fftime)|_Exit|unget(c|wc)|p(ow(f|l)?|ut(s|c(har)?|wc(har)?)|error|rintf)|e(rf(c(f|l)?|f|l)?|x(it|p(2(f|l)?|f|l|m1(f|l)?)?))|v(s(scanf|nprintf|canf|printf|w(scanf|printf))|printf|f(scanf|printf|w(scanf|printf))|w(scanf|printf)|a_(start|copy|end|arg))|qsort|f(s(canf|e(tpos|ek))|close|tell|open|dim(f|l)?|p(classify|ut(s|c|w(s|c))|rintf)|e(holdexcept|set(e(nv|xceptflag)|round)|clearexcept|testexcept|of|updateenv|r(aiseexcept|ror)|get(e(nv|xceptflag)|round))|flush|w(scanf|ide|printf|rite)|loor(f|l)?|abs(f|l)?|get(s|c|pos|w(s|c))|re(open|e|ad|xp(f|l)?)|m(in(f|l)?|od(f|l)?|a(f|l|x(f|l)?)?))|l(d(iv|exp(f|l)?)|o(ngjmp|cal(time|econv)|g(1(p(f|l)?|0(f|l)?)|2(f|l)?|f|l|b(f|l)?)?)|abs|l(div|abs|r(int(f|l)?|ound(f|l)?))|r(int(f|l)?|ound(f|l)?)|gamma(f|l)?)|w(scanf|c(s(s(tr|pn)|nc(py|at|mp)|c(spn|hr|oll|py|at|mp)|to(imax|d|u(l(l)?|max)|k|f|l(d|l)?|mbs)|pbrk|ftime|len|r(chr|tombs)|xfrm)|to(b|mb)|rtomb)|printf|mem(set|c(hr|py|mp)|move))|a(s(sert|ctime|in(h(f|l)?|f|l)?)|cos(h(f|l)?|f|l)?|t(o(i|f|l(l)?)|exit|an(h(f|l)?|2(f|l)?|f|l)?)|b(s|ort))|g(et(s|c(har)?|env|wc(har)?)|mtime)|r(int(f|l)?|ound(f|l)?|e(name|alloc|wind|m(ove|quo(f|l)?|ainder(f|l)?))|a(nd|ise))|b(search|towc)|m(odf(f|l)?|em(set|c(hr|py|mp)|move)|ktime|alloc|b(s(init|towcs|rtowcs)|towc|len|r(towc|len))))\\b"
568
Added:
},
569
Added:
{
570
Added:
"captures": {
571
Added:
"1": {
572
Added:
"name": "punctuation.whitespace.function-call.leading.objc"
573
Added:
},
574
Added:
"2": {
575
Added:
"name": "support.function.any-method.objc"
576
Added:
},
577
Added:
"3": {
578
Added:
"name": "punctuation.definition.parameters.objc"
579
Added:
}
580
Added:
},
581
Added:
"match": "(?x) (?: (?= \\s ) (?:(?<=else|new|return) | (?<!\\w)) (\\s+))?\n \t\t\t(\\b \n \t\t\t\t(?!(while|for|do|if|else|switch|catch|enumerate|return|r?iterate)\\s*\\()(?:(?!NS)[A-Za-z_][A-Za-z0-9_]*+\\b | :: )++ # actual name\n \t\t\t)\n \t\t\t \\s*(\\()",
582
Added:
"name": "meta.function-call.objc"
583
Added:
}
584
Added:
]
585
Added:
},
586
Added:
"c_lang": {
587
Added:
"patterns": [
588
Added:
{
589
Added:
"include": "#preprocessor-rule-enabled"
590
Added:
},
591
Added:
{
592
Added:
"include": "#preprocessor-rule-disabled"
593
Added:
},
594
Added:
{
595
Added:
"include": "#preprocessor-rule-conditional"
596
Added:
},
597
Added:
{
598
Added:
"include": "#comments"
599
Added:
},
600
Added:
{
601
Added:
"include": "#switch_statement"
602
Added:
},
603
Added:
{
604
Added:
"match": "\\b(break|continue|do|else|for|goto|if|_Pragma|return|while)\\b",
605
Added:
"name": "keyword.control.objc"
606
Added:
},
607
Added:
{
608
Added:
"include": "#storage_types"
609
Added:
},
610
Added:
{
611
Added:
"match": "typedef",
612
Added:
"name": "keyword.other.typedef.objc"
613
Added:
},
614
Added:
{
615
Added:
"match": "\\bin\\b",
616
Added:
"name": "keyword.other.in.objc"
617
Added:
},
618
Added:
{
619
Added:
"match": "\\b(const|extern|register|restrict|static|volatile|inline|__block)\\b",
620
Added:
"name": "storage.modifier.objc"
621
Added:
},
622
Added:
{
623
Added:
"match": "\\bk[A-Z]\\w*\\b",
624
Added:
"name": "constant.other.variable.mac-classic.objc"
625
Added:
},
626
Added:
{
627
Added:
"match": "\\bg[A-Z]\\w*\\b",
628
Added:
"name": "variable.other.readwrite.global.mac-classic.objc"
629
Added:
},
630
Added:
{
631
Added:
"match": "\\bs[A-Z]\\w*\\b",
632
Added:
"name": "variable.other.readwrite.static.mac-classic.objc"
633
Added:
},
634
Added:
{
635
Added:
"match": "\\b(NULL|true|false|TRUE|FALSE)\\b",
636
Added:
"name": "constant.language.objc"
637
Added:
},
638
Added:
{
639
Added:
"include": "#operators"
640
Added:
},
641
Added:
{
642
Added:
"include": "#numbers"
643
Added:
},
644
Added:
{
645
Added:
"include": "#strings"
646
Added:
},
647
Added:
{
648
Added:
"include": "#special_variables"
649
Added:
},
650
Added:
{
651
Added:
"begin": "(?x)\n^\\s* ((\\#)\\s*define) \\s+\t# define\n((?<id>[a-zA-Z_$][\\w$]*))\t # macro name\n(?:\n (\\()\n\t(\n\t \\s* \\g<id> \\s*\t\t # first argument\n\t ((,) \\s* \\g<id> \\s*)* # additional arguments\n\t (?:\\.\\.\\.)?\t\t\t# varargs ellipsis?\n\t)\n (\\))\n)?",
652
Added:
"beginCaptures": {
653
Added:
"1": {
654
Added:
"name": "keyword.control.directive.define.objc"
655
Added:
},
656
Added:
"2": {
657
Added:
"name": "punctuation.definition.directive.objc"
658
Added:
},
659
Added:
"3": {
660
Added:
"name": "entity.name.function.preprocessor.objc"
661
Added:
},
662
Added:
"5": {
663
Added:
"name": "punctuation.definition.parameters.begin.objc"
664
Added:
},
665
Added:
"6": {
666
Added:
"name": "variable.parameter.preprocessor.objc"
667
Added:
},
668
Added:
"8": {
669
Added:
"name": "punctuation.separator.parameters.objc"
670
Added:
},
671
Added:
"9": {
672
Added:
"name": "punctuation.definition.parameters.end.objc"
673
Added:
}
674
Added:
},
675
Added:
"end": "(?=(?://|/\\*))|(?<!\\\\)(?=\\n)",
676
Added:
"name": "meta.preprocessor.macro.objc",
677
Added:
"patterns": [
678
Added:
{
679
Added:
"include": "#preprocessor-rule-define-line-contents"
680
Added:
}
681
Added:
]
682
Added:
},
683
Added:
{
684
Added:
"begin": "^\\s*((#)\\s*(error|warning))\\b\\s*",
685
Added:
"beginCaptures": {
686
Added:
"1": {
687
Added:
"name": "keyword.control.directive.diagnostic.$3.objc"
688
Added:
},
689
Added:
"2": {
690
Added:
"name": "punctuation.definition.directive.objc"
691
Added:
}
692
Added:
},
693
Added:
"end": "(?<!\\\\)(?=\\n)",
694
Added:
"name": "meta.preprocessor.diagnostic.objc",
695
Added:
"patterns": [
696
Added:
{
697
Added:
"begin": "\"",
698
Added:
"beginCaptures": {
699
Added:
"0": {
700
Added:
"name": "punctuation.definition.string.begin.objc"
701
Added:
}
702
Added:
},
703
Added:
"end": "\"|(?<!\\\\)(?=\\s*\\n)",
704
Added:
"endCaptures": {
705
Added:
"0": {
706
Added:
"name": "punctuation.definition.string.end.objc"
707
Added:
}
708
Added:
},
709
Added:
"name": "string.quoted.double.objc",
710
Added:
"patterns": [
711
Added:
{
712
Added:
"include": "#line_continuation_character"
713
Added:
}
714
Added:
]
715
Added:
},
716
Added:
{
717
Added:
"begin": "'",
718
Added:
"beginCaptures": {
719
Added:
"0": {
720
Added:
"name": "punctuation.definition.string.begin.objc"
721
Added:
}
722
Added:
},
723
Added:
"end": "'|(?<!\\\\)(?=\\s*\\n)",
724
Added:
"endCaptures": {
725
Added:
"0": {
726
Added:
"name": "punctuation.definition.string.end.objc"
727
Added:
}
728
Added:
},
729
Added:
"name": "string.quoted.single.objc",
730
Added:
"patterns": [
731
Added:
{
732
Added:
"include": "#line_continuation_character"
733
Added:
}
734
Added:
]
735
Added:
},
736
Added:
{
737
Added:
"begin": "[^'\"]",
738
Added:
"end": "(?<!\\\\)(?=\\s*\\n)",
739
Added:
"name": "string.unquoted.single.objc",
740
Added:
"patterns": [
741
Added:
{
742
Added:
"include": "#line_continuation_character"
743
Added:
},
744
Added:
{
745
Added:
"include": "#comments"
746
Added:
}
747
Added:
]
748
Added:
}
749
Added:
]
750
Added:
},
751
Added:
{
752
Added:
"begin": "^\\s*((#)\\s*(include(?:_next)?|import))\\b\\s*",
753
Added:
"beginCaptures": {
754
Added:
"1": {
755
Added:
"name": "keyword.control.directive.$3.objc"
756
Added:
},
757
Added:
"2": {
758
Added:
"name": "punctuation.definition.directive.objc"
759
Added:
}
760
Added:
},
761
Added:
"end": "(?=(?://|/\\*))|(?<!\\\\)(?=\\n)",
762
Added:
"name": "meta.preprocessor.include.objc",
763
Added:
"patterns": [
764
Added:
{
765
Added:
"include": "#line_continuation_character"
766
Added:
},
767
Added:
{
768
Added:
"begin": "\"",
769
Added:
"beginCaptures": {
770
Added:
"0": {
771
Added:
"name": "punctuation.definition.string.begin.objc"
772
Added:
}
773
Added:
},
774
Added:
"end": "\"",
775
Added:
"endCaptures": {
776
Added:
"0": {
777
Added:
"name": "punctuation.definition.string.end.objc"
778
Added:
}
779
Added:
},
780
Added:
"name": "string.quoted.double.include.objc"
781
Added:
},
782
Added:
{
783
Added:
"begin": "<",
784
Added:
"beginCaptures": {
785
Added:
"0": {
786
Added:
"name": "punctuation.definition.string.begin.objc"
787
Added:
}
788
Added:
},
789
Added:
"end": ">",
790
Added:
"endCaptures": {
791
Added:
"0": {
792
Added:
"name": "punctuation.definition.string.end.objc"
793
Added:
}
794
Added:
},
795
Added:
"name": "string.quoted.other.lt-gt.include.objc"
796
Added:
}
797
Added:
]
798
Added:
},
799
Added:
{
800
Added:
"include": "#pragma-mark"
801
Added:
},
802
Added:
{
803
Added:
"begin": "^\\s*((#)\\s*line)\\b",
804
Added:
"beginCaptures": {
805
Added:
"1": {
806
Added:
"name": "keyword.control.directive.line.objc"
807
Added:
},
808
Added:
"2": {
809
Added:
"name": "punctuation.definition.directive.objc"
810
Added:
}
811
Added:
},
812
Added:
"end": "(?=(?://|/\\*))|(?<!\\\\)(?=\\n)",
813
Added:
"name": "meta.preprocessor.objc",
814
Added:
"patterns": [
815
Added:
{
816
Added:
"include": "#strings"
817
Added:
},
818
Added:
{
819
Added:
"include": "#numbers"
820
Added:
},
821
Added:
{
822
Added:
"include": "#line_continuation_character"
823
Added:
}
824
Added:
]
825
Added:
},
826
Added:
{
827
Added:
"begin": "^\\s*(?:((#)\\s*undef))\\b",
828
Added:
"beginCaptures": {
829
Added:
"1": {
830
Added:
"name": "keyword.control.directive.undef.objc"
831
Added:
},
832
Added:
"2": {
833
Added:
"name": "punctuation.definition.directive.objc"
834
Added:
}
835
Added:
},
836
Added:
"end": "(?=(?://|/\\*))|(?<!\\\\)(?=\\n)",
837
Added:
"name": "meta.preprocessor.objc",
838
Added:
"patterns": [
839
Added:
{
840
Added:
"match": "[a-zA-Z_$][\\w$]*",
841
Added:
"name": "entity.name.function.preprocessor.objc"
842
Added:
},
843
Added:
{
844
Added:
"include": "#line_continuation_character"
845
Added:
}
846
Added:
]
847
Added:
},
848
Added:
{
849
Added:
"begin": "^\\s*(?:((#)\\s*pragma))\\b",
850
Added:
"beginCaptures": {
851
Added:
"1": {
852
Added:
"name": "keyword.control.directive.pragma.objc"
853
Added:
},
854
Added:
"2": {
855
Added:
"name": "punctuation.definition.directive.objc"
856
Added:
}
857
Added:
},
858
Added:
"end": "(?=(?://|/\\*))|(?<!\\\\)(?=\\n)",
859
Added:
"name": "meta.preprocessor.pragma.objc",
860
Added:
"patterns": [
861
Added:
{
862
Added:
"include": "#strings"
863
Added:
},
864
Added:
{
865
Added:
"match": "[a-zA-Z_$][\\w\\-$]*",
866
Added:
"name": "entity.other.attribute-name.pragma.preprocessor.objc"
867
Added:
},
868
Added:
{
869
Added:
"include": "#numbers"
870
Added:
},
871
Added:
{
872
Added:
"include": "#line_continuation_character"
873
Added:
}
874
Added:
]
875
Added:
},
876
Added:
{
877
Added:
"match": "\\b(u_char|u_short|u_int|u_long|ushort|uint|u_quad_t|quad_t|qaddr_t|caddr_t|daddr_t|div_t|dev_t|fixpt_t|blkcnt_t|blksize_t|gid_t|in_addr_t|in_port_t|ino_t|key_t|mode_t|nlink_t|id_t|pid_t|off_t|segsz_t|swblk_t|uid_t|id_t|clock_t|size_t|ssize_t|time_t|useconds_t|suseconds_t)\\b",
878
Added:
"name": "support.type.sys-types.objc"
879
Added:
},
880
Added:
{
881
Added:
"match": "\\b(pthread_attr_t|pthread_cond_t|pthread_condattr_t|pthread_mutex_t|pthread_mutexattr_t|pthread_once_t|pthread_rwlock_t|pthread_rwlockattr_t|pthread_t|pthread_key_t)\\b",
882
Added:
"name": "support.type.pthread.objc"
883
Added:
},
884
Added:
{
885
Added:
"match": "(?x) \\b\n(int8_t|int16_t|int32_t|int64_t|uint8_t|uint16_t|uint32_t|uint64_t|int_least8_t\n|int_least16_t|int_least32_t|int_least64_t|uint_least8_t|uint_least16_t|uint_least32_t\n|uint_least64_t|int_fast8_t|int_fast16_t|int_fast32_t|int_fast64_t|uint_fast8_t\n|uint_fast16_t|uint_fast32_t|uint_fast64_t|intptr_t|uintptr_t|intmax_t|intmax_t\n|uintmax_t|uintmax_t)\n\\b",
886
Added:
"name": "support.type.stdint.objc"
887
Added:
},
888
Added:
{
889
Added:
"match": "\\b(noErr|kNilOptions|kInvalidID|kVariableLengthArray)\\b",
890
Added:
"name": "support.constant.mac-classic.objc"
891
Added:
},
892
Added:
{
893
Added:
"match": "(?x) \\b\n(AbsoluteTime|Boolean|Byte|ByteCount|ByteOffset|BytePtr|CompTimeValue|ConstLogicalAddress|ConstStrFileNameParam\n|ConstStringPtr|Duration|Fixed|FixedPtr|Float32|Float32Point|Float64|Float80|Float96|FourCharCode|Fract|FractPtr\n|Handle|ItemCount|LogicalAddress|OptionBits|OSErr|OSStatus|OSType|OSTypePtr|PhysicalAddress|ProcessSerialNumber\n|ProcessSerialNumberPtr|ProcHandle|Ptr|ResType|ResTypePtr|ShortFixed|ShortFixedPtr|SignedByte|SInt16|SInt32|SInt64\n|SInt8|Size|StrFileName|StringHandle|StringPtr|TimeBase|TimeRecord|TimeScale|TimeValue|TimeValue64|UInt16|UInt32\n|UInt64|UInt8|UniChar|UniCharCount|UniCharCountPtr|UniCharPtr|UnicodeScalarValue|UniversalProcHandle|UniversalProcPtr\n|UnsignedFixed|UnsignedFixedPtr|UnsignedWide|UTF16Char|UTF32Char|UTF8Char)\n\\b",
894
Added:
"name": "support.type.mac-classic.objc"
895
Added:
},
896
Added:
{
897
Added:
"match": "\\b([A-Za-z0-9_]+_t)\\b",
898
Added:
"name": "support.type.posix-reserved.objc"
899
Added:
},
900
Added:
{
901
Added:
"include": "#block"
902
Added:
},
903
Added:
{
904
Added:
"include": "#parens"
905
Added:
},
906
Added:
{
907
Added:
"name": "meta.function.objc",
908
Added:
"begin": "(?<!\\w)(?!\\s*(?:not|compl|sizeof|not_eq|bitand|xor|bitor|and|or|and_eq|xor_eq|or_eq|alignof|alignas|_Alignof|_Alignas|while|for|do|if|else|goto|switch|return|break|case|continue|default|void|char|short|int|signed|unsigned|long|float|double|bool|_Bool|_Complex|_Imaginary|u_char|u_short|u_int|u_long|ushort|uint|u_quad_t|quad_t|qaddr_t|caddr_t|daddr_t|div_t|dev_t|fixpt_t|blkcnt_t|blksize_t|gid_t|in_addr_t|in_port_t|ino_t|key_t|mode_t|nlink_t|id_t|pid_t|off_t|segsz_t|swblk_t|uid_t|id_t|clock_t|size_t|ssize_t|time_t|useconds_t|suseconds_t|pthread_attr_t|pthread_cond_t|pthread_condattr_t|pthread_mutex_t|pthread_mutexattr_t|pthread_once_t|pthread_rwlock_t|pthread_rwlockattr_t|pthread_t|pthread_key_t|int8_t|int16_t|int32_t|int64_t|uint8_t|uint16_t|uint32_t|uint64_t|int_least8_t|int_least16_t|int_least32_t|int_least64_t|uint_least8_t|uint_least16_t|uint_least32_t|uint_least64_t|int_fast8_t|int_fast16_t|int_fast32_t|int_fast64_t|uint_fast8_t|uint_fast16_t|uint_fast32_t|uint_fast64_t|intptr_t|uintptr_t|intmax_t|intmax_t|uintmax_t|uintmax_t|NULL|true|false|memory_order|atomic_bool|atomic_char|atomic_schar|atomic_uchar|atomic_short|atomic_ushort|atomic_int|atomic_uint|atomic_long|atomic_ulong|atomic_llong|atomic_ullong|atomic_char16_t|atomic_char32_t|atomic_wchar_t|atomic_int_least8_t|atomic_uint_least8_t|atomic_int_least16_t|atomic_uint_least16_t|atomic_int_least32_t|atomic_uint_least32_t|atomic_int_least64_t|atomic_uint_least64_t|atomic_int_fast8_t|atomic_uint_fast8_t|atomic_int_fast16_t|atomic_uint_fast16_t|atomic_int_fast32_t|atomic_uint_fast32_t|atomic_int_fast64_t|atomic_uint_fast64_t|atomic_intptr_t|atomic_uintptr_t|atomic_size_t|atomic_ptrdiff_t|atomic_intmax_t|atomic_uintmax_t|struct|union|enum|typedef|auto|register|static|extern|thread_local|inline|_Noreturn|const|volatile|restrict|_Atomic)\\s*\\()(?=[a-zA-Z_]\\w*\\s*\\()",
909
Added:
"end": "(?<=\\))",
910
Added:
"patterns": [
911
Added:
{
912
Added:
"include": "#function-innards"
913
Added:
}
914
Added:
]
915
Added:
},
916
Added:
{
917
Added:
"include": "#line_continuation_character"
918
Added:
},
919
Added:
{
920
Added:
"name": "meta.bracket.square.access.objc",
921
Added:
"begin": "([a-zA-Z_][a-zA-Z_0-9]*|(?<=[\\]\\)]))?(\\[)(?!\\])",
922
Added:
"beginCaptures": {
923
Added:
"1": {
924
Added:
"name": "variable.object.objc"
925
Added:
},
926
Added:
"2": {
927
Added:
"name": "punctuation.definition.begin.bracket.square.objc"
928
Added:
}
929
Added:
},
930
Added:
"end": "\\]",
931
Added:
"endCaptures": {
932
Added:
"0": {
933
Added:
"name": "punctuation.definition.end.bracket.square.objc"
934
Added:
}
935
Added:
},
936
Added:
"patterns": [
937
Added:
{
938
Added:
"include": "#function-call-innards"
939
Added:
}
940
Added:
]
941
Added:
},
942
Added:
{
943
Added:
"name": "storage.modifier.array.bracket.square.objc",
944
Added:
"match": "\\[\\s*\\]"
945
Added:
},
946
Added:
{
947
Added:
"match": ";",
948
Added:
"name": "punctuation.terminator.statement.objc"
949
Added:
},
950
Added:
{
951
Added:
"match": ",",
952
Added:
"name": "punctuation.separator.delimiter.objc"
953
Added:
}
954
Added:
],
955
Added:
"repository": {
956
Added:
"probably_a_parameter": {
957
Added:
"match": "(?<=(?:[a-zA-Z_0-9] |[&*>\\]\\)]))\\s*([a-zA-Z_]\\w*)\\s*(?=(?:\\[\\]\\s*)?(?:,|\\)))",
958
Added:
"captures": {
959
Added:
"1": {
960
Added:
"name": "variable.parameter.probably.objc"
961
Added:
}
962
Added:
}
963
Added:
},
964
Added:
"access-method": {
965
Added:
"name": "meta.function-call.member.objc",
966
Added:
"begin": "([a-zA-Z_][a-zA-Z_0-9]*|(?<=[\\]\\)]))\\s*(?:(\\.)|(->))((?:(?:[a-zA-Z_][a-zA-Z_0-9]*)\\s*(?:(?:\\.)|(?:->)))*)\\s*([a-zA-Z_][a-zA-Z_0-9]*)(\\()",
967
Added:
"beginCaptures": {
968
Added:
"1": {
969
Added:
"name": "variable.object.objc"
970
Added:
},
971
Added:
"2": {
972
Added:
"name": "punctuation.separator.dot-access.objc"
973
Added:
},
974
Added:
"3": {
975
Added:
"name": "punctuation.separator.pointer-access.objc"
976
Added:
},
977
Added:
"4": {
978
Added:
"patterns": [
979
Added:
{
980
Added:
"match": "\\.",
981
Added:
"name": "punctuation.separator.dot-access.objc"
982
Added:
},
983
Added:
{
984
Added:
"match": "->",
985
Added:
"name": "punctuation.separator.pointer-access.objc"
986
Added:
},
987
Added:
{
988
Added:
"match": "[a-zA-Z_][a-zA-Z_0-9]*",
989
Added:
"name": "variable.object.objc"
990
Added:
},
991
Added:
{
992
Added:
"name": "everything.else.objc",
993
Added:
"match": ".+"
994
Added:
}
995
Added:
]
996
Added:
},
997
Added:
"5": {
998
Added:
"name": "entity.name.function.member.objc"
999
Added:
},
1000
Added:
"6": {
1001
Added:
"name": "punctuation.section.arguments.begin.bracket.round.function.member.objc"
1002
Added:
}
1003
Added:
},
1004
Added:
"end": "\\)",
1005
Added:
"endCaptures": {
1006
Added:
"0": {
1007
Added:
"name": "punctuation.section.arguments.end.bracket.round.function.member.objc"
1008
Added:
}
1009
Added:
},
1010
Added:
"patterns": [
1011
Added:
{
1012
Added:
"include": "#function-call-innards"
1013
Added:
}
1014
Added:
]
1015
Added:
},
1016
Added:
"block": {
1017
Added:
"patterns": [
1018
Added:
{
1019
Added:
"begin": "{",
1020
Added:
"beginCaptures": {
1021
Added:
"0": {
1022
Added:
"name": "punctuation.section.block.begin.bracket.curly.objc"
1023
Added:
}
1024
Added:
},
1025
Added:
"end": "}|(?=\\s*#\\s*(?:elif|else|endif)\\b)",
1026
Added:
"endCaptures": {
1027
Added:
"0": {
1028
Added:
"name": "punctuation.section.block.end.bracket.curly.objc"
1029
Added:
}
1030
Added:
},
1031
Added:
"name": "meta.block.objc",
1032
Added:
"patterns": [
1033
Added:
{
1034
Added:
"include": "#block_innards"
1035
Added:
}
1036
Added:
]
1037
Added:
}
1038
Added:
]
1039
Added:
},
1040
Added:
"block_innards": {
1041
Added:
"patterns": [
1042
Added:
{
1043
Added:
"include": "#preprocessor-rule-enabled-block"
1044
Added:
},
1045
Added:
{
1046
Added:
"include": "#preprocessor-rule-disabled-block"
1047
Added:
},
1048
Added:
{
1049
Added:
"include": "#preprocessor-rule-conditional-block"
1050
Added:
},
1051
Added:
{
1052
Added:
"include": "#method_access"
1053
Added:
},
1054
Added:
{
1055
Added:
"include": "#member_access"
1056
Added:
},
1057
Added:
{
1058
Added:
"include": "#c_function_call"
1059
Added:
},
1060
Added:
{
1061
Added:
"name": "meta.initialization.objc",
1062
Added:
"begin": "(?x)\n(?:\n (?:\n\t(?=\\s)(?<!else|new|return)\n\t(?<=\\w) \\s+(and|and_eq|bitand|bitor|compl|not|not_eq|or|or_eq|typeid|xor|xor_eq|alignof|alignas) # or word + space before name\n )\n)\n(\n (?:[A-Za-z_][A-Za-z0-9_]*+ | :: )++ # actual name\n |\n (?:(?<=operator) (?:[-*&<>=+!]+ | \\(\\) | \\[\\]))\n)\n\\s*(\\() # opening bracket",
1063
Added:
"beginCaptures": {
1064
Added:
"1": {
1065
Added:
"name": "variable.other.objc"
1066
Added:
},
1067
Added:
"2": {
1068
Added:
"name": "punctuation.section.parens.begin.bracket.round.initialization.objc"
1069
Added:
}
1070
Added:
},
1071
Added:
"end": "\\)",
1072
Added:
"endCaptures": {
1073
Added:
"0": {
1074
Added:
"name": "punctuation.section.parens.end.bracket.round.initialization.objc"
1075
Added:
}
1076
Added:
},
1077
Added:
"patterns": [
1078
Added:
{
1079
Added:
"include": "#function-call-innards"
1080
Added:
}
1081
Added:
]
1082
Added:
},
1083
Added:
{
1084
Added:
"begin": "{",
1085
Added:
"beginCaptures": {
1086
Added:
"0": {
1087
Added:
"name": "punctuation.section.block.begin.bracket.curly.objc"
1088
Added:
}
1089
Added:
},
1090
Added:
"end": "}|(?=\\s*#\\s*(?:elif|else|endif)\\b)",
1091
Added:
"endCaptures": {
1092
Added:
"0": {
1093
Added:
"name": "punctuation.section.block.end.bracket.curly.objc"
1094
Added:
}
1095
Added:
},
1096
Added:
"patterns": [
1097
Added:
{
1098
Added:
"include": "#block_innards"
1099
Added:
}
1100
Added:
]
1101
Added:
},
1102
Added:
{
1103
Added:
"include": "#parens-block"
1104
Added:
},
1105
Added:
{
1106
Added:
"include": "$base"
1107
Added:
}
1108
Added:
]
1109
Added:
},
1110
Added:
"c_function_call": {
1111
Added:
"begin": "(?x)\n(?!(?:while|for|do|if|else|switch|catch|enumerate|return|typeid|alignof|alignas|sizeof|[cr]?iterate|and|and_eq|bitand|bitor|compl|not|not_eq|or|or_eq|typeid|xor|xor_eq|alignof|alignas)\\s*\\()\n(?=\n(?:[A-Za-z_][A-Za-z0-9_]*+|::)++\\s*\\( # actual name\n|\n(?:(?<=operator)(?:[-*&<>=+!]+|\\(\\)|\\[\\]))\\s*\\(\n)",
1112
Added:
"end": "(?<=\\))(?!\\w)",
1113
Added:
"name": "meta.function-call.objc",
1114
Added:
"patterns": [
1115
Added:
{
1116
Added:
"include": "#function-call-innards"
1117
Added:
}
1118
Added:
]
1119
Added:
},
1120
Added:
"comments": {
1121
Added:
"patterns": [
1122
Added:
{
1123
Added:
"captures": {
1124
Added:
"1": {
1125
Added:
"name": "meta.toc-list.banner.block.objc"
1126
Added:
}
1127
Added:
},
1128
Added:
"match": "^/\\* =(\\s*.*?)\\s*= \\*/$\\n?",
1129
Added:
"name": "comment.block.objc"
1130
Added:
},
1131
Added:
{
1132
Added:
"begin": "/\\*",
1133
Added:
"beginCaptures": {
1134
Added:
"0": {
1135
Added:
"name": "punctuation.definition.comment.begin.objc"
1136
Added:
}
1137
Added:
},
1138
Added:
"end": "\\*/",
1139
Added:
"endCaptures": {
1140
Added:
"0": {
1141
Added:
"name": "punctuation.definition.comment.end.objc"
1142
Added:
}
1143
Added:
},
1144
Added:
"name": "comment.block.objc"
1145
Added:
},
1146
Added:
{
1147
Added:
"captures": {
1148
Added:
"1": {
1149
Added:
"name": "meta.toc-list.banner.line.objc"
1150
Added:
}
1151
Added:
},
1152
Added:
"match": "^// =(\\s*.*?)\\s*=\\s*$\\n?",
1153
Added:
"name": "comment.line.banner.objc"
1154
Added:
},
1155
Added:
{
1156
Added:
"begin": "(^[ \\t]+)?(?=//)",
1157
Added:
"beginCaptures": {
1158
Added:
"1": {
1159
Added:
"name": "punctuation.whitespace.comment.leading.objc"
1160
Added:
}
1161
Added:
},
1162
Added:
"end": "(?!\\G)",
1163
Added:
"patterns": [
1164
Added:
{
1165
Added:
"begin": "//",
1166
Added:
"beginCaptures": {
1167
Added:
"0": {
1168
Added:
"name": "punctuation.definition.comment.objc"
1169
Added:
}
1170
Added:
},
1171
Added:
"end": "(?=\\n)",
1172
Added:
"name": "comment.line.double-slash.objc",
1173
Added:
"patterns": [
1174
Added:
{
1175
Added:
"include": "#line_continuation_character"
1176
Added:
}
1177
Added:
]
1178
Added:
}
1179
Added:
]
1180
Added:
}
1181
Added:
]
1182
Added:
},
1183
Added:
"disabled": {
1184
Added:
"begin": "^\\s*#\\s*if(n?def)?\\b.*$",
1185
Added:
"end": "^\\s*#\\s*endif\\b",
1186
Added:
"patterns": [
1187
Added:
{
1188
Added:
"include": "#disabled"
1189
Added:
},
1190
Added:
{
1191
Added:
"include": "#pragma-mark"
1192
Added:
}
1193
Added:
]
1194
Added:
},
1195
Added:
"line_continuation_character": {
1196
Added:
"patterns": [
1197
Added:
{
1198
Added:
"match": "(\\\\)\\n",
1199
Added:
"captures": {
1200
Added:
"1": {
1201
Added:
"name": "constant.character.escape.line-continuation.objc"
1202
Added:
}
1203
Added:
}
1204
Added:
}
1205
Added:
]
1206
Added:
},
1207
Added:
"parens": {
1208
Added:
"name": "meta.parens.objc",
1209
Added:
"begin": "\\(",
1210
Added:
"beginCaptures": {
1211
Added:
"0": {
1212
Added:
"name": "punctuation.section.parens.begin.bracket.round.objc"
1213
Added:
}
1214
Added:
},
1215
Added:
"end": "\\)",
1216
Added:
"endCaptures": {
1217
Added:
"0": {
1218
Added:
"name": "punctuation.section.parens.end.bracket.round.objc"
1219
Added:
}
1220
Added:
},
1221
Added:
"patterns": [
1222
Added:
{
1223
Added:
"include": "$base"
1224
Added:
}
1225
Added:
]
1226
Added:
},
1227
Added:
"parens-block": {
1228
Added:
"name": "meta.parens.block.objc",
1229
Added:
"begin": "\\(",
1230
Added:
"beginCaptures": {
1231
Added:
"0": {
1232
Added:
"name": "punctuation.section.parens.begin.bracket.round.objc"
1233
Added:
}
1234
Added:
},
1235
Added:
"end": "\\)",
1236
Added:
"endCaptures": {
1237
Added:
"0": {
1238
Added:
"name": "punctuation.section.parens.end.bracket.round.objc"
1239
Added:
}
1240
Added:
},
1241
Added:
"patterns": [
1242
Added:
{
1243
Added:
"include": "#block_innards"
1244
Added:
},
1245
Added:
{
1246
Added:
"match": "(?-mix:(?<!:):(?!:))",
1247
Added:
"name": "punctuation.range-based.objc"
1248
Added:
}
1249
Added:
]
1250
Added:
},
1251
Added:
"pragma-mark": {
1252
Added:
"captures": {
1253
Added:
"1": {
1254
Added:
"name": "meta.preprocessor.pragma.objc"
1255
Added:
},
1256
Added:
"2": {
1257
Added:
"name": "keyword.control.directive.pragma.pragma-mark.objc"
1258
Added:
},
1259
Added:
"3": {
1260
Added:
"name": "punctuation.definition.directive.objc"
1261
Added:
},
1262
Added:
"4": {
1263
Added:
"name": "entity.name.tag.pragma-mark.objc"
1264
Added:
}
1265
Added:
},
1266
Added:
"match": "^\\s*(((#)\\s*pragma\\s+mark)\\s+(.*))",
1267
Added:
"name": "meta.section.objc"
1268
Added:
},
1269
Added:
"operators": {
1270
Added:
"patterns": [
1271
Added:
{
1272
Added:
"match": "(?<![\\w$])(sizeof)(?![\\w$])",
1273
Added:
"name": "keyword.operator.sizeof.objc"
1274
Added:
},
1275
Added:
{
1276
Added:
"match": "--",
1277
Added:
"name": "keyword.operator.decrement.objc"
1278
Added:
},
1279
Added:
{
1280
Added:
"match": "\\+\\+",
1281
Added:
"name": "keyword.operator.increment.objc"
1282
Added:
},
1283
Added:
{
1284
Added:
"match": "%=|\\+=|-=|\\*=|(?<!\\()/=",
1285
Added:
"name": "keyword.operator.assignment.compound.objc"
1286
Added:
},
1287
Added:
{
1288
Added:
"match": "&=|\\^=|<<=|>>=|\\|=",
1289
Added:
"name": "keyword.operator.assignment.compound.bitwise.objc"
1290
Added:
},
1291
Added:
{
1292
Added:
"match": "<<|>>",
1293
Added:
"name": "keyword.operator.bitwise.shift.objc"
1294
Added:
},
1295
Added:
{
1296
Added:
"match": "!=|<=|>=|==|<|>",
1297
Added:
"name": "keyword.operator.comparison.objc"
1298
Added:
},
1299
Added:
{
1300
Added:
"match": "&&|!|\\|\\|",
1301
Added:
"name": "keyword.operator.logical.objc"
1302
Added:
},
1303
Added:
{
1304
Added:
"match": "&|\\||\\^|~",
1305
Added:
"name": "keyword.operator.objc"
1306
Added:
},
1307
Added:
{
1308
Added:
"match": "=",
1309
Added:
"name": "keyword.operator.assignment.objc"
1310
Added:
},
1311
Added:
{
1312
Added:
"match": "%|\\*|/|-|\\+",
1313
Added:
"name": "keyword.operator.objc"
1314
Added:
},
1315
Added:
{
1316
Added:
"begin": "(\\?)",
1317
Added:
"beginCaptures": {
1318
Added:
"1": {
1319
Added:
"name": "keyword.operator.ternary.objc"
1320
Added:
}
1321
Added:
},
1322
Added:
"end": "(:)",
1323
Added:
"endCaptures": {
1324
Added:
"1": {
1325
Added:
"name": "keyword.operator.ternary.objc"
1326
Added:
}
1327
Added:
},
1328
Added:
"patterns": [
1329
Added:
{
1330
Added:
"include": "#function-call-innards"
1331
Added:
},
1332
Added:
{
1333
Added:
"include": "$base"
1334
Added:
}
1335
Added:
]
1336
Added:
}
1337
Added:
]
1338
Added:
},
1339
Added:
"strings": {
1340
Added:
"patterns": [
1341
Added:
{
1342
Added:
"begin": "\"",
1343
Added:
"beginCaptures": {
1344
Added:
"0": {
1345
Added:
"name": "punctuation.definition.string.begin.objc"
1346
Added:
}
1347
Added:
},
1348
Added:
"end": "\"",
1349
Added:
"endCaptures": {
1350
Added:
"0": {
1351
Added:
"name": "punctuation.definition.string.end.objc"
1352
Added:
}
1353
Added:
},
1354
Added:
"name": "string.quoted.double.objc",
1355
Added:
"patterns": [
1356
Added:
{
1357
Added:
"include": "#string_escaped_char"
1358
Added:
},
1359
Added:
{
1360
Added:
"include": "#string_placeholder"
1361
Added:
},
1362
Added:
{
1363
Added:
"include": "#line_continuation_character"
1364
Added:
}
1365
Added:
]
1366
Added:
},
1367
Added:
{
1368
Added:
"begin": "'",
1369
Added:
"beginCaptures": {
1370
Added:
"0": {
1371
Added:
"name": "punctuation.definition.string.begin.objc"
1372
Added:
}
1373
Added:
},
1374
Added:
"end": "'",
1375
Added:
"endCaptures": {
1376
Added:
"0": {
1377
Added:
"name": "punctuation.definition.string.end.objc"
1378
Added:
}
1379
Added:
},
1380
Added:
"name": "string.quoted.single.objc",
1381
Added:
"patterns": [
1382
Added:
{
1383
Added:
"include": "#string_escaped_char"
1384
Added:
},
1385
Added:
{
1386
Added:
"include": "#line_continuation_character"
1387
Added:
}
1388
Added:
]
1389
Added:
}
1390
Added:
]
1391
Added:
},
1392
Added:
"string_escaped_char": {
1393
Added:
"patterns": [
1394
Added:
{
1395
Added:
"match": "(?x)\\\\ (\n\\\\\t\t\t |\n[abefnprtv'\"?] |\n[0-3]\\d{,2}\t |\n[4-7]\\d?\t\t|\nx[a-fA-F0-9]{,2} |\nu[a-fA-F0-9]{,4} |\nU[a-fA-F0-9]{,8} )",
1396
Added:
"name": "constant.character.escape.objc"
1397
Added:
},
1398
Added:
{
1399
Added:
"match": "\\\\.",
1400
Added:
"name": "invalid.illegal.unknown-escape.objc"
1401
Added:
}
1402
Added:
]
1403
Added:
},
1404
Added:
"string_placeholder": {
1405
Added:
"patterns": [
1406
Added:
{
1407
Added:
"match": "(?x) %\n(\\d+\\$)?\t\t\t\t\t\t # field (argument #)\n[#0\\- +']*\t\t\t\t\t\t # flags\n[,;:_]?\t\t\t\t\t\t\t # separator character (AltiVec)\n((-?\\d+)|\\*(-?\\d+\\$)?)?\t\t # minimum field width\n(\\.((-?\\d+)|\\*(-?\\d+\\$)?)?)?\t# precision\n(hh|h|ll|l|j|t|z|q|L|vh|vl|v|hv|hl)? # length modifier\n[diouxXDOUeEfFgGaACcSspn%]\t\t # conversion type",
1408
Added:
"name": "constant.other.placeholder.objc"
1409
Added:
},
1410
Added:
{
1411
Added:
"match": "(%)(?!\"\\s*(PRI|SCN))",
1412
Added:
"captures": {
1413
Added:
"1": {
1414
Added:
"name": "invalid.illegal.placeholder.objc"
1415
Added:
}
1416
Added:
}
1417
Added:
}
1418
Added:
]
1419
Added:
},
1420
Added:
"storage_types": {
1421
Added:
"patterns": [
1422
Added:
{
1423
Added:
"match": "(?-mix:(?<!\\w)(?:void|char|short|int|signed|unsigned|long|float|double|bool|_Bool)(?!\\w))",
1424
Added:
"name": "storage.type.built-in.primitive.objc"
1425
Added:
},
1426
Added:
{
1427
Added:
"match": "(?-mix:(?<!\\w)(?:_Complex|_Imaginary|u_char|u_short|u_int|u_long|ushort|uint|u_quad_t|quad_t|qaddr_t|caddr_t|daddr_t|div_t|dev_t|fixpt_t|blkcnt_t|blksize_t|gid_t|in_addr_t|in_port_t|ino_t|key_t|mode_t|nlink_t|id_t|pid_t|off_t|segsz_t|swblk_t|uid_t|id_t|clock_t|size_t|ssize_t|time_t|useconds_t|suseconds_t|pthread_attr_t|pthread_cond_t|pthread_condattr_t|pthread_mutex_t|pthread_mutexattr_t|pthread_once_t|pthread_rwlock_t|pthread_rwlockattr_t|pthread_t|pthread_key_t|int8_t|int16_t|int32_t|int64_t|uint8_t|uint16_t|uint32_t|uint64_t|int_least8_t|int_least16_t|int_least32_t|int_least64_t|uint_least8_t|uint_least16_t|uint_least32_t|uint_least64_t|int_fast8_t|int_fast16_t|int_fast32_t|int_fast64_t|uint_fast8_t|uint_fast16_t|uint_fast32_t|uint_fast64_t|intptr_t|uintptr_t|intmax_t|intmax_t|uintmax_t|uintmax_t|memory_order|atomic_bool|atomic_char|atomic_schar|atomic_uchar|atomic_short|atomic_ushort|atomic_int|atomic_uint|atomic_long|atomic_ulong|atomic_llong|atomic_ullong|atomic_char16_t|atomic_char32_t|atomic_wchar_t|atomic_int_least8_t|atomic_uint_least8_t|atomic_int_least16_t|atomic_uint_least16_t|atomic_int_least32_t|atomic_uint_least32_t|atomic_int_least64_t|atomic_uint_least64_t|atomic_int_fast8_t|atomic_uint_fast8_t|atomic_int_fast16_t|atomic_uint_fast16_t|atomic_int_fast32_t|atomic_uint_fast32_t|atomic_int_fast64_t|atomic_uint_fast64_t|atomic_intptr_t|atomic_uintptr_t|atomic_size_t|atomic_ptrdiff_t|atomic_intmax_t|atomic_uintmax_t)(?!\\w))",
1428
Added:
"name": "storage.type.built-in.objc"
1429
Added:
},
1430
Added:
{
1431
Added:
"match": "(?-mix:\\b(asm|__asm__|enum|struct|union)\\b)",
1432
Added:
"name": "storage.type.$1.objc"
1433
Added:
}
1434
Added:
]
1435
Added:
},
1436
Added:
"vararg_ellipses": {
1437
Added:
"match": "(?<!\\.)\\.\\.\\.(?!\\.)",
1438
Added:
"name": "punctuation.vararg-ellipses.objc"
1439
Added:
},
1440
Added:
"preprocessor-rule-conditional": {
1441
Added:
"patterns": [
1442
Added:
{
1443
Added:
"begin": "^\\s*((#)\\s*if(?:n?def)?\\b)",
1444
Added:
"beginCaptures": {
1445
Added:
"0": {
1446
Added:
"name": "meta.preprocessor.objc"
1447
Added:
},
1448
Added:
"1": {
1449
Added:
"name": "keyword.control.directive.conditional.objc"
1450
Added:
},
1451
Added:
"2": {
1452
Added:
"name": "punctuation.definition.directive.objc"
1453
Added:
}
1454
Added:
},
1455
Added:
"end": "^\\s*((#)\\s*endif\\b)",
1456
Added:
"endCaptures": {
1457
Added:
"0": {
1458
Added:
"name": "meta.preprocessor.objc"
1459
Added:
},
1460
Added:
"1": {
1461
Added:
"name": "keyword.control.directive.conditional.objc"
1462
Added:
},
1463
Added:
"2": {
1464
Added:
"name": "punctuation.definition.directive.objc"
1465
Added:
}
1466
Added:
},
1467
Added:
"patterns": [
1468
Added:
{
1469
Added:
"begin": "\\G(?=.)(?!//|/\\*(?!.*\\\\\\s*\\n))",
1470
Added:
"end": "(?=//)|(?=/\\*(?!.*\\\\\\s*\\n))|(?<!\\\\)(?=\\n)",
1471
Added:
"name": "meta.preprocessor.objc",
1472
Added:
"patterns": [
1473
Added:
{
1474
Added:
"include": "#preprocessor-rule-conditional-line"
1475
Added:
}
1476
Added:
]
1477
Added:
},
1478
Added:
{
1479
Added:
"include": "#preprocessor-rule-enabled-elif"
1480
Added:
},
1481
Added:
{
1482
Added:
"include": "#preprocessor-rule-enabled-else"
1483
Added:
},
1484
Added:
{
1485
Added:
"include": "#preprocessor-rule-disabled-elif"
1486
Added:
},
1487
Added:
{
1488
Added:
"begin": "^\\s*((#)\\s*elif\\b)",
1489
Added:
"beginCaptures": {
1490
Added:
"1": {
1491
Added:
"name": "keyword.control.directive.conditional.objc"
1492
Added:
},
1493
Added:
"2": {
1494
Added:
"name": "punctuation.definition.directive.objc"
1495
Added:
}
1496
Added:
},
1497
Added:
"end": "(?=//)|(?=/\\*(?!.*\\\\\\s*\\n))|(?<!\\\\)(?=\\n)",
1498
Added:
"name": "meta.preprocessor.objc",
1499
Added:
"patterns": [
1500
Added:
{
1501
Added:
"include": "#preprocessor-rule-conditional-line"
1502
Added:
}
1503
Added:
]
1504
Added:
},
1505
Added:
{
1506
Added:
"include": "$base"
1507
Added:
}
1508
Added:
]
1509
Added:
},
1510
Added:
{
1511
Added:
"match": "^\\s*#\\s*(else|elif|endif)\\b",
1512
Added:
"captures": {
1513
Added:
"0": {
1514
Added:
"name": "invalid.illegal.stray-$1.objc"
1515
Added:
}
1516
Added:
}
1517
Added:
}
1518
Added:
]
1519
Added:
},
1520
Added:
"preprocessor-rule-conditional-block": {
1521
Added:
"patterns": [
1522
Added:
{
1523
Added:
"begin": "^\\s*((#)\\s*if(?:n?def)?\\b)",
1524
Added:
"beginCaptures": {
1525
Added:
"0": {
1526
Added:
"name": "meta.preprocessor.objc"
1527
Added:
},
1528
Added:
"1": {
1529
Added:
"name": "keyword.control.directive.conditional.objc"
1530
Added:
},
1531
Added:
"2": {
1532
Added:
"name": "punctuation.definition.directive.objc"
1533
Added:
}
1534
Added:
},
1535
Added:
"end": "^\\s*((#)\\s*endif\\b)",
1536
Added:
"endCaptures": {
1537
Added:
"0": {
1538
Added:
"name": "meta.preprocessor.objc"
1539
Added:
},
1540
Added:
"1": {
1541
Added:
"name": "keyword.control.directive.conditional.objc"
1542
Added:
},
1543
Added:
"2": {
1544
Added:
"name": "punctuation.definition.directive.objc"
1545
Added:
}
1546
Added:
},
1547
Added:
"patterns": [
1548
Added:
{
1549
Added:
"begin": "\\G(?=.)(?!//|/\\*(?!.*\\\\\\s*\\n))",
1550
Added:
"end": "(?=//)|(?=/\\*(?!.*\\\\\\s*\\n))|(?<!\\\\)(?=\\n)",
1551
Added:
"name": "meta.preprocessor.objc",
1552
Added:
"patterns": [
1553
Added:
{
1554
Added:
"include": "#preprocessor-rule-conditional-line"
1555
Added:
}
1556
Added:
]
1557
Added:
},
1558
Added:
{
1559
Added:
"include": "#preprocessor-rule-enabled-elif-block"
1560
Added:
},
1561
Added:
{
1562
Added:
"include": "#preprocessor-rule-enabled-else-block"
1563
Added:
},
1564
Added:
{
1565
Added:
"include": "#preprocessor-rule-disabled-elif"
1566
Added:
},
1567
Added:
{
1568
Added:
"begin": "^\\s*((#)\\s*elif\\b)",
1569
Added:
"beginCaptures": {
1570
Added:
"1": {
1571
Added:
"name": "keyword.control.directive.conditional.objc"
1572
Added:
},
1573
Added:
"2": {
1574
Added:
"name": "punctuation.definition.directive.objc"
1575
Added:
}
1576
Added:
},
1577
Added:
"end": "(?=//)|(?=/\\*(?!.*\\\\\\s*\\n))|(?<!\\\\)(?=\\n)",
1578
Added:
"name": "meta.preprocessor.objc",
1579
Added:
"patterns": [
1580
Added:
{
1581
Added:
"include": "#preprocessor-rule-conditional-line"
1582
Added:
}
1583
Added:
]
1584
Added:
},
1585
Added:
{
1586
Added:
"include": "#block_innards"
1587
Added:
}
1588
Added:
]
1589
Added:
},
1590
Added:
{
1591
Added:
"match": "^\\s*#\\s*(else|elif|endif)\\b",
1592
Added:
"captures": {
1593
Added:
"0": {
1594
Added:
"name": "invalid.illegal.stray-$1.objc"
1595
Added:
}
1596
Added:
}
1597
Added:
}
1598
Added:
]
1599
Added:
},
1600
Added:
"preprocessor-rule-conditional-line": {
1601
Added:
"patterns": [
1602
Added:
{
1603
Added:
"match": "(?:\\bdefined\\b\\s*$)|(?:\\bdefined\\b(?=\\s*\\(*\\s*(?:(?!defined\\b)[a-zA-Z_$][\\w$]*\\b)\\s*\\)*\\s*(?:\\n|//|/\\*|\\?|\\:|&&|\\|\\||\\\\\\s*\\n)))",
1604
Added:
"name": "keyword.control.directive.conditional.objc"
1605
Added:
},
1606
Added:
{
1607
Added:
"match": "\\bdefined\\b",
1608
Added:
"name": "invalid.illegal.macro-name.objc"
1609
Added:
},
1610
Added:
{
1611
Added:
"include": "#comments"
1612
Added:
},
1613
Added:
{
1614
Added:
"include": "#strings"
1615
Added:
},
1616
Added:
{
1617
Added:
"include": "#numbers"
1618
Added:
},
1619
Added:
{
1620
Added:
"begin": "\\?",
1621
Added:
"beginCaptures": {
1622
Added:
"0": {
1623
Added:
"name": "keyword.operator.ternary.objc"
1624
Added:
}
1625
Added:
},
1626
Added:
"end": ":",
1627
Added:
"endCaptures": {
1628
Added:
"0": {
1629
Added:
"name": "keyword.operator.ternary.objc"
1630
Added:
}
1631
Added:
},
1632
Added:
"patterns": [
1633
Added:
{
1634
Added:
"include": "#preprocessor-rule-conditional-line"
1635
Added:
}
1636
Added:
]
1637
Added:
},
1638
Added:
{
1639
Added:
"include": "#operators"
1640
Added:
},
1641
Added:
{
1642
Added:
"match": "\\b(NULL|true|false|TRUE|FALSE)\\b",
1643
Added:
"name": "constant.language.objc"
1644
Added:
},
1645
Added:
{
1646
Added:
"match": "[a-zA-Z_$][\\w$]*",
1647
Added:
"name": "entity.name.function.preprocessor.objc"
1648
Added:
},
1649
Added:
{
1650
Added:
"include": "#line_continuation_character"
1651
Added:
},
1652
Added:
{
1653
Added:
"begin": "\\(",
1654
Added:
"beginCaptures": {
1655
Added:
"0": {
1656
Added:
"name": "punctuation.section.parens.begin.bracket.round.objc"
1657
Added:
}
1658
Added:
},
1659
Added:
"end": "\\)|(?=//)|(?=/\\*(?!.*\\\\\\s*\\n))|(?<!\\\\)(?=\\n)",
1660
Added:
"endCaptures": {
1661
Added:
"0": {
1662
Added:
"name": "punctuation.section.parens.end.bracket.round.objc"
1663
Added:
}
1664
Added:
},
1665
Added:
"patterns": [
1666
Added:
{
1667
Added:
"include": "#preprocessor-rule-conditional-line"
1668
Added:
}
1669
Added:
]
1670
Added:
}
1671
Added:
]
1672
Added:
},
1673
Added:
"preprocessor-rule-disabled": {
1674
Added:
"patterns": [
1675
Added:
{
1676
Added:
"begin": "^\\s*((#)\\s*if\\b)(?=\\s*\\(*\\b0+\\b\\)*\\s*(?:$|//|/\\*))",
1677
Added:
"beginCaptures": {
1678
Added:
"0": {
1679
Added:
"name": "meta.preprocessor.objc"
1680
Added:
},
1681
Added:
"1": {
1682
Added:
"name": "keyword.control.directive.conditional.objc"
1683
Added:
},
1684
Added:
"2": {
1685
Added:
"name": "punctuation.definition.directive.objc"
1686
Added:
}
1687
Added:
},
1688
Added:
"end": "^\\s*((#)\\s*endif\\b)",
1689
Added:
"endCaptures": {
1690
Added:
"0": {
1691
Added:
"name": "meta.preprocessor.objc"
1692
Added:
},
1693
Added:
"1": {
1694
Added:
"name": "keyword.control.directive.conditional.objc"
1695
Added:
},
1696
Added:
"2": {
1697
Added:
"name": "punctuation.definition.directive.objc"
1698
Added:
}
1699
Added:
},
1700
Added:
"patterns": [
1701
Added:
{
1702
Added:
"begin": "\\G(?=.)(?!//|/\\*(?!.*\\\\\\s*\\n))",
1703
Added:
"end": "(?=//)|(?=/\\*(?!.*\\\\\\s*\\n))|(?=\\n)",
1704
Added:
"name": "meta.preprocessor.objc",
1705
Added:
"patterns": [
1706
Added:
{
1707
Added:
"include": "#preprocessor-rule-conditional-line"
1708
Added:
}
1709
Added:
]
1710
Added:
},
1711
Added:
{
1712
Added:
"include": "#comments"
1713
Added:
},
1714
Added:
{
1715
Added:
"include": "#preprocessor-rule-enabled-elif"
1716
Added:
},
1717
Added:
{
1718
Added:
"include": "#preprocessor-rule-enabled-else"
1719
Added:
},
1720
Added:
{
1721
Added:
"include": "#preprocessor-rule-disabled-elif"
1722
Added:
},
1723
Added:
{
1724
Added:
"begin": "^\\s*((#)\\s*elif\\b)",
1725
Added:
"beginCaptures": {
1726
Added:
"0": {
1727
Added:
"name": "meta.preprocessor.objc"
1728
Added:
},
1729
Added:
"1": {
1730
Added:
"name": "keyword.control.directive.conditional.objc"
1731
Added:
},
1732
Added:
"2": {
1733
Added:
"name": "punctuation.definition.directive.objc"
1734
Added:
}
1735
Added:
},
1736
Added:
"end": "(?=^\\s*((#)\\s*(?:elif|else|endif)\\b))",
1737
Added:
"patterns": [
1738
Added:
{
1739
Added:
"begin": "\\G(?=.)(?!//|/\\*(?!.*\\\\\\s*\\n))",
1740
Added:
"end": "(?=//)|(?=/\\*(?!.*\\\\\\s*\\n))|(?<!\\\\)(?=\\n)",
1741
Added:
"name": "meta.preprocessor.objc",
1742
Added:
"patterns": [
1743
Added:
{
1744
Added:
"include": "#preprocessor-rule-conditional-line"
1745
Added:
}
1746
Added:
]
1747
Added:
},
1748
Added:
{
1749
Added:
"include": "$base"
1750
Added:
}
1751
Added:
]
1752
Added:
},
1753
Added:
{
1754
Added:
"contentName": "comment.block.preprocessor.if-branch.objc",
1755
Added:
"begin": "\\n",
1756
Added:
"end": "(?=^\\s*((#)\\s*(?:else|elif|endif)\\b))",
1757
Added:
"patterns": [
1758
Added:
{
1759
Added:
"include": "#disabled"
1760
Added:
},
1761
Added:
{
1762
Added:
"include": "#pragma-mark"
1763
Added:
}
1764
Added:
]
1765
Added:
}
1766
Added:
]
1767
Added:
}
1768
Added:
]
1769
Added:
},
1770
Added:
"preprocessor-rule-disabled-block": {
1771
Added:
"patterns": [
1772
Added:
{
1773
Added:
"begin": "^\\s*((#)\\s*if\\b)(?=\\s*\\(*\\b0+\\b\\)*\\s*(?:$|//|/\\*))",
1774
Added:
"beginCaptures": {
1775
Added:
"0": {
1776
Added:
"name": "meta.preprocessor.objc"
1777
Added:
},
1778
Added:
"1": {
1779
Added:
"name": "keyword.control.directive.conditional.objc"
1780
Added:
},
1781
Added:
"2": {
1782
Added:
"name": "punctuation.definition.directive.objc"
1783
Added:
}
1784
Added:
},
1785
Added:
"end": "^\\s*((#)\\s*endif\\b)",
1786
Added:
"endCaptures": {
1787
Added:
"0": {
1788
Added:
"name": "meta.preprocessor.objc"
1789
Added:
},
1790
Added:
"1": {
1791
Added:
"name": "keyword.control.directive.conditional.objc"
1792
Added:
},
1793
Added:
"2": {
1794
Added:
"name": "punctuation.definition.directive.objc"
1795
Added:
}
1796
Added:
},
1797
Added:
"patterns": [
1798
Added:
{
1799
Added:
"begin": "\\G(?=.)(?!//|/\\*(?!.*\\\\\\s*\\n))",
1800
Added:
"end": "(?=//)|(?=/\\*(?!.*\\\\\\s*\\n))|(?=\\n)",
1801
Added:
"name": "meta.preprocessor.objc",
1802
Added:
"patterns": [
1803
Added:
{
1804
Added:
"include": "#preprocessor-rule-conditional-line"
1805
Added:
}
1806
Added:
]
1807
Added:
},
1808
Added:
{
1809
Added:
"include": "#comments"
1810
Added:
},
1811
Added:
{
1812
Added:
"include": "#preprocessor-rule-enabled-elif-block"
1813
Added:
},
1814
Added:
{
1815
Added:
"include": "#preprocessor-rule-enabled-else-block"
1816
Added:
},
1817
Added:
{
1818
Added:
"include": "#preprocessor-rule-disabled-elif"
1819
Added:
},
1820
Added:
{
1821
Added:
"begin": "^\\s*((#)\\s*elif\\b)",
1822
Added:
"beginCaptures": {
1823
Added:
"0": {
1824
Added:
"name": "meta.preprocessor.objc"
1825
Added:
},
1826
Added:
"1": {
1827
Added:
"name": "keyword.control.directive.conditional.objc"
1828
Added:
},
1829
Added:
"2": {
1830
Added:
"name": "punctuation.definition.directive.objc"
1831
Added:
}
1832
Added:
},
1833
Added:
"end": "(?=^\\s*((#)\\s*(?:elif|else|endif)\\b))",
1834
Added:
"patterns": [
1835
Added:
{
1836
Added:
"begin": "\\G(?=.)(?!//|/\\*(?!.*\\\\\\s*\\n))",
1837
Added:
"end": "(?=//)|(?=/\\*(?!.*\\\\\\s*\\n))|(?<!\\\\)(?=\\n)",
1838
Added:
"name": "meta.preprocessor.objc",
1839
Added:
"patterns": [
1840
Added:
{
1841
Added:
"include": "#preprocessor-rule-conditional-line"
1842
Added:
}
1843
Added:
]
1844
Added:
},
1845
Added:
{
1846
Added:
"include": "#block_innards"
1847
Added:
}
1848
Added:
]
1849
Added:
},
1850
Added:
{
1851
Added:
"contentName": "comment.block.preprocessor.if-branch.in-block.objc",
1852
Added:
"begin": "\\n",
1853
Added:
"end": "(?=^\\s*((#)\\s*(?:else|elif|endif)\\b))",
1854
Added:
"patterns": [
1855
Added:
{
1856
Added:
"include": "#disabled"
1857
Added:
},
1858
Added:
{
1859
Added:
"include": "#pragma-mark"
1860
Added:
}
1861
Added:
]
1862
Added:
}
1863
Added:
]
1864
Added:
}
1865
Added:
]
1866
Added:
},
1867
Added:
"preprocessor-rule-disabled-elif": {
1868
Added:
"begin": "^\\s*((#)\\s*elif\\b)(?=\\s*\\(*\\b0+\\b\\)*\\s*(?:$|//|/\\*))",
1869
Added:
"beginCaptures": {
1870
Added:
"0": {
1871
Added:
"name": "meta.preprocessor.objc"
1872
Added:
},
1873
Added:
"1": {
1874
Added:
"name": "keyword.control.directive.conditional.objc"
1875
Added:
},
1876
Added:
"2": {
1877
Added:
"name": "punctuation.definition.directive.objc"
1878
Added:
}
1879
Added:
},
1880
Added:
"end": "(?=^\\s*((#)\\s*(?:elif|else|endif)\\b))",
1881
Added:
"patterns": [
1882
Added:
{
1883
Added:
"begin": "\\G(?=.)(?!//|/\\*(?!.*\\\\\\s*\\n))",
1884
Added:
"end": "(?=//)|(?=/\\*(?!.*\\\\\\s*\\n))|(?<!\\\\)(?=\\n)",
1885
Added:
"name": "meta.preprocessor.objc",
1886
Added:
"patterns": [
1887
Added:
{
1888
Added:
"include": "#preprocessor-rule-conditional-line"
1889
Added:
}
1890
Added:
]
1891
Added:
},
1892
Added:
{
1893
Added:
"include": "#comments"
1894
Added:
},
1895
Added:
{
1896
Added:
"contentName": "comment.block.preprocessor.elif-branch.objc",
1897
Added:
"begin": "\\n",
1898
Added:
"end": "(?=^\\s*((#)\\s*(?:else|elif|endif)\\b))",
1899
Added:
"patterns": [
1900
Added:
{
1901
Added:
"include": "#disabled"
1902
Added:
},
1903
Added:
{
1904
Added:
"include": "#pragma-mark"
1905
Added:
}
1906
Added:
]
1907
Added:
}
1908
Added:
]
1909
Added:
},
1910
Added:
"preprocessor-rule-enabled": {
1911
Added:
"patterns": [
1912
Added:
{
1913
Added:
"begin": "^\\s*((#)\\s*if\\b)(?=\\s*\\(*\\b0*1\\b\\)*\\s*(?:$|//|/\\*))",
1914
Added:
"beginCaptures": {
1915
Added:
"0": {
1916
Added:
"name": "meta.preprocessor.objc"
1917
Added:
},
1918
Added:
"1": {
1919
Added:
"name": "keyword.control.directive.conditional.objc"
1920
Added:
},
1921
Added:
"2": {
1922
Added:
"name": "punctuation.definition.directive.objc"
1923
Added:
},
1924
Added:
"3": {
1925
Added:
"name": "constant.numeric.preprocessor.objc"
1926
Added:
}
1927
Added:
},
1928
Added:
"end": "^\\s*((#)\\s*endif\\b)",
1929
Added:
"endCaptures": {
1930
Added:
"0": {
1931
Added:
"name": "meta.preprocessor.objc"
1932
Added:
},
1933
Added:
"1": {
1934
Added:
"name": "keyword.control.directive.conditional.objc"
1935
Added:
},
1936
Added:
"2": {
1937
Added:
"name": "punctuation.definition.directive.objc"
1938
Added:
}
1939
Added:
},
1940
Added:
"patterns": [
1941
Added:
{
1942
Added:
"begin": "\\G(?=.)(?!//|/\\*(?!.*\\\\\\s*\\n))",
1943
Added:
"end": "(?=//)|(?=/\\*(?!.*\\\\\\s*\\n))|(?=\\n)",
1944
Added:
"name": "meta.preprocessor.objc",
1945
Added:
"patterns": [
1946
Added:
{
1947
Added:
"include": "#preprocessor-rule-conditional-line"
1948
Added:
}
1949
Added:
]
1950
Added:
},
1951
Added:
{
1952
Added:
"include": "#comments"
1953
Added:
},
1954
Added:
{
1955
Added:
"contentName": "comment.block.preprocessor.else-branch.objc",
1956
Added:
"begin": "^\\s*((#)\\s*else\\b)",
1957
Added:
"beginCaptures": {
1958
Added:
"0": {
1959
Added:
"name": "meta.preprocessor.objc"
1960
Added:
},
1961
Added:
"1": {
1962
Added:
"name": "keyword.control.directive.conditional.objc"
1963
Added:
},
1964
Added:
"2": {
1965
Added:
"name": "punctuation.definition.directive.objc"
1966
Added:
}
1967
Added:
},
1968
Added:
"end": "(?=^\\s*((#)\\s*endif\\b))",
1969
Added:
"patterns": [
1970
Added:
{
1971
Added:
"include": "#disabled"
1972
Added:
},
1973
Added:
{
1974
Added:
"include": "#pragma-mark"
1975
Added:
}
1976
Added:
]
1977
Added:
},
1978
Added:
{
1979
Added:
"contentName": "comment.block.preprocessor.if-branch.objc",
1980
Added:
"begin": "^\\s*((#)\\s*elif\\b)",
1981
Added:
"beginCaptures": {
1982
Added:
"0": {
1983
Added:
"name": "meta.preprocessor.objc"
1984
Added:
},
1985
Added:
"1": {
1986
Added:
"name": "keyword.control.directive.conditional.objc"
1987
Added:
},
1988
Added:
"2": {
1989
Added:
"name": "punctuation.definition.directive.objc"
1990
Added:
}
1991
Added:
},
1992
Added:
"end": "(?=^\\s*((#)\\s*(?:else|elif|endif)\\b))",
1993
Added:
"patterns": [
1994
Added:
{
1995
Added:
"include": "#disabled"
1996
Added:
},
1997
Added:
{
1998
Added:
"include": "#pragma-mark"
1999
Added:
}
2000
Added:
]
2001
Added:
},
2002
Added:
{
2003
Added:
"begin": "\\n",
2004
Added:
"end": "(?=^\\s*((#)\\s*(?:else|elif|endif)\\b))",
2005
Added:
"patterns": [
2006
Added:
{
2007
Added:
"include": "$base"
2008
Added:
}
2009
Added:
]
2010
Added:
}
2011
Added:
]
2012
Added:
}
2013
Added:
]
2014
Added:
},
2015
Added:
"preprocessor-rule-enabled-block": {
2016
Added:
"patterns": [
2017
Added:
{
2018
Added:
"begin": "^\\s*((#)\\s*if\\b)(?=\\s*\\(*\\b0*1\\b\\)*\\s*(?:$|//|/\\*))",
2019
Added:
"beginCaptures": {
2020
Added:
"0": {
2021
Added:
"name": "meta.preprocessor.objc"
2022
Added:
},
2023
Added:
"1": {
2024
Added:
"name": "keyword.control.directive.conditional.objc"
2025
Added:
},
2026
Added:
"2": {
2027
Added:
"name": "punctuation.definition.directive.objc"
2028
Added:
}
2029
Added:
},
2030
Added:
"end": "^\\s*((#)\\s*endif\\b)",
2031
Added:
"endCaptures": {
2032
Added:
"0": {
2033
Added:
"name": "meta.preprocessor.objc"
2034
Added:
},
2035
Added:
"1": {
2036
Added:
"name": "keyword.control.directive.conditional.objc"
2037
Added:
},
2038
Added:
"2": {
2039
Added:
"name": "punctuation.definition.directive.objc"
2040
Added:
}
2041
Added:
},
2042
Added:
"patterns": [
2043
Added:
{
2044
Added:
"begin": "\\G(?=.)(?!//|/\\*(?!.*\\\\\\s*\\n))",
2045
Added:
"end": "(?=//)|(?=/\\*(?!.*\\\\\\s*\\n))|(?=\\n)",
2046
Added:
"name": "meta.preprocessor.objc",
2047
Added:
"patterns": [
2048
Added:
{
2049
Added:
"include": "#preprocessor-rule-conditional-line"
2050
Added:
}
2051
Added:
]
2052
Added:
},
2053
Added:
{
2054
Added:
"include": "#comments"
2055
Added:
},
2056
Added:
{
2057
Added:
"contentName": "comment.block.preprocessor.else-branch.in-block.objc",
2058
Added:
"begin": "^\\s*((#)\\s*else\\b)",
2059
Added:
"beginCaptures": {
2060
Added:
"0": {
2061
Added:
"name": "meta.preprocessor.objc"
2062
Added:
},
2063
Added:
"1": {
2064
Added:
"name": "keyword.control.directive.conditional.objc"
2065
Added:
},
2066
Added:
"2": {
2067
Added:
"name": "punctuation.definition.directive.objc"
2068
Added:
}
2069
Added:
},
2070
Added:
"end": "(?=^\\s*((#)\\s*endif\\b))",
2071
Added:
"patterns": [
2072
Added:
{
2073
Added:
"include": "#disabled"
2074
Added:
},
2075
Added:
{
2076
Added:
"include": "#pragma-mark"
2077
Added:
}
2078
Added:
]
2079
Added:
},
2080
Added:
{
2081
Added:
"contentName": "comment.block.preprocessor.if-branch.in-block.objc",
2082
Added:
"begin": "^\\s*((#)\\s*elif\\b)",
2083
Added:
"beginCaptures": {
2084
Added:
"0": {
2085
Added:
"name": "meta.preprocessor.objc"
2086
Added:
},
2087
Added:
"1": {
2088
Added:
"name": "keyword.control.directive.conditional.objc"
2089
Added:
},
2090
Added:
"2": {
2091
Added:
"name": "punctuation.definition.directive.objc"
2092
Added:
}
2093
Added:
},
2094
Added:
"end": "(?=^\\s*((#)\\s*(?:else|elif|endif)\\b))",
2095
Added:
"patterns": [
2096
Added:
{
2097
Added:
"include": "#disabled"
2098
Added:
},
2099
Added:
{
2100
Added:
"include": "#pragma-mark"
2101
Added:
}
2102
Added:
]
2103
Added:
},
2104
Added:
{
2105
Added:
"begin": "\\n",
2106
Added:
"end": "(?=^\\s*((#)\\s*(?:else|elif|endif)\\b))",
2107
Added:
"patterns": [
2108
Added:
{
2109
Added:
"include": "#block_innards"
2110
Added:
}
2111
Added:
]
2112
Added:
}
2113
Added:
]
2114
Added:
}
2115
Added:
]
2116
Added:
},
2117
Added:
"preprocessor-rule-enabled-elif": {
2118
Added:
"begin": "^\\s*((#)\\s*elif\\b)(?=\\s*\\(*\\b0*1\\b\\)*\\s*(?:$|//|/\\*))",
2119
Added:
"beginCaptures": {
2120
Added:
"0": {
2121
Added:
"name": "meta.preprocessor.objc"
2122
Added:
},
2123
Added:
"1": {
2124
Added:
"name": "keyword.control.directive.conditional.objc"
2125
Added:
},
2126
Added:
"2": {
2127
Added:
"name": "punctuation.definition.directive.objc"
2128
Added:
}
2129
Added:
},
2130
Added:
"end": "(?=^\\s*((#)\\s*endif\\b))",
2131
Added:
"patterns": [
2132
Added:
{
2133
Added:
"begin": "\\G(?=.)(?!//|/\\*(?!.*\\\\\\s*\\n))",
2134
Added:
"end": "(?=//)|(?=/\\*(?!.*\\\\\\s*\\n))|(?<!\\\\)(?=\\n)",
2135
Added:
"name": "meta.preprocessor.objc",
2136
Added:
"patterns": [
2137
Added:
{
2138
Added:
"include": "#preprocessor-rule-conditional-line"
2139
Added:
}
2140
Added:
]
2141
Added:
},
2142
Added:
{
2143
Added:
"include": "#comments"
2144
Added:
},
2145
Added:
{
2146
Added:
"begin": "\\n",
2147
Added:
"end": "(?=^\\s*((#)\\s*(?:endif)\\b))",
2148
Added:
"patterns": [
2149
Added:
{
2150
Added:
"contentName": "comment.block.preprocessor.elif-branch.objc",
2151
Added:
"begin": "^\\s*((#)\\s*(else)\\b)",
2152
Added:
"beginCaptures": {
2153
Added:
"0": {
2154
Added:
"name": "meta.preprocessor.objc"
2155
Added:
},
2156
Added:
"1": {
2157
Added:
"name": "keyword.control.directive.conditional.objc"
2158
Added:
},
2159
Added:
"2": {
2160
Added:
"name": "punctuation.definition.directive.objc"
2161
Added:
}
2162
Added:
},
2163
Added:
"end": "(?=^\\s*((#)\\s*endif\\b))",
2164
Added:
"patterns": [
2165
Added:
{
2166
Added:
"include": "#disabled"
2167
Added:
},
2168
Added:
{
2169
Added:
"include": "#pragma-mark"
2170
Added:
}
2171
Added:
]
2172
Added:
},
2173
Added:
{
2174
Added:
"contentName": "comment.block.preprocessor.elif-branch.objc",
2175
Added:
"begin": "^\\s*((#)\\s*(elif)\\b)",
2176
Added:
"beginCaptures": {
2177
Added:
"0": {
2178
Added:
"name": "meta.preprocessor.objc"
2179
Added:
},
2180
Added:
"1": {
2181
Added:
"name": "keyword.control.directive.conditional.objc"
2182
Added:
},
2183
Added:
"2": {
2184
Added:
"name": "punctuation.definition.directive.objc"
2185
Added:
}
2186
Added:
},
2187
Added:
"end": "(?=^\\s*((#)\\s*(?:else|elif|endif)\\b))",
2188
Added:
"patterns": [
2189
Added:
{
2190
Added:
"include": "#disabled"
2191
Added:
},
2192
Added:
{
2193
Added:
"include": "#pragma-mark"
2194
Added:
}
2195
Added:
]
2196
Added:
},
2197
Added:
{
2198
Added:
"include": "$base"
2199
Added:
}
2200
Added:
]
2201
Added:
}
2202
Added:
]
2203
Added:
},
2204
Added:
"preprocessor-rule-enabled-elif-block": {
2205
Added:
"begin": "^\\s*((#)\\s*elif\\b)(?=\\s*\\(*\\b0*1\\b\\)*\\s*(?:$|//|/\\*))",
2206
Added:
"beginCaptures": {
2207
Added:
"0": {
2208
Added:
"name": "meta.preprocessor.objc"
2209
Added:
},
2210
Added:
"1": {
2211
Added:
"name": "keyword.control.directive.conditional.objc"
2212
Added:
},
2213
Added:
"2": {
2214
Added:
"name": "punctuation.definition.directive.objc"
2215
Added:
}
2216
Added:
},
2217
Added:
"end": "(?=^\\s*((#)\\s*endif\\b))",
2218
Added:
"patterns": [
2219
Added:
{
2220
Added:
"begin": "\\G(?=.)(?!//|/\\*(?!.*\\\\\\s*\\n))",
2221
Added:
"end": "(?=//)|(?=/\\*(?!.*\\\\\\s*\\n))|(?<!\\\\)(?=\\n)",
2222
Added:
"name": "meta.preprocessor.objc",
2223
Added:
"patterns": [
2224
Added:
{
2225
Added:
"include": "#preprocessor-rule-conditional-line"
2226
Added:
}
2227
Added:
]
2228
Added:
},
2229
Added:
{
2230
Added:
"include": "#comments"
2231
Added:
},
2232
Added:
{
2233
Added:
"begin": "\\n",
2234
Added:
"end": "(?=^\\s*((#)\\s*(?:endif)\\b))",
2235
Added:
"patterns": [
2236
Added:
{
2237
Added:
"contentName": "comment.block.preprocessor.elif-branch.in-block.objc",
2238
Added:
"begin": "^\\s*((#)\\s*(else)\\b)",
2239
Added:
"beginCaptures": {
2240
Added:
"0": {
2241
Added:
"name": "meta.preprocessor.objc"
2242
Added:
},
2243
Added:
"1": {
2244
Added:
"name": "keyword.control.directive.conditional.objc"
2245
Added:
},
2246
Added:
"2": {
2247
Added:
"name": "punctuation.definition.directive.objc"
2248
Added:
}
2249
Added:
},
2250
Added:
"end": "(?=^\\s*((#)\\s*endif\\b))",
2251
Added:
"patterns": [
2252
Added:
{
2253
Added:
"include": "#disabled"
2254
Added:
},
2255
Added:
{
2256
Added:
"include": "#pragma-mark"
2257
Added:
}
2258
Added:
]
2259
Added:
},
2260
Added:
{
2261
Added:
"contentName": "comment.block.preprocessor.elif-branch.objc",
2262
Added:
"begin": "^\\s*((#)\\s*(elif)\\b)",
2263
Added:
"beginCaptures": {
2264
Added:
"0": {
2265
Added:
"name": "meta.preprocessor.objc"
2266
Added:
},
2267
Added:
"1": {
2268
Added:
"name": "keyword.control.directive.conditional.objc"
2269
Added:
},
2270
Added:
"2": {
2271
Added:
"name": "punctuation.definition.directive.objc"
2272
Added:
}
2273
Added:
},
2274
Added:
"end": "(?=^\\s*((#)\\s*(?:else|elif|endif)\\b))",
2275
Added:
"patterns": [
2276
Added:
{
2277
Added:
"include": "#disabled"
2278
Added:
},
2279
Added:
{
2280
Added:
"include": "#pragma-mark"
2281
Added:
}
2282
Added:
]
2283
Added:
},
2284
Added:
{
2285
Added:
"include": "#block_innards"
2286
Added:
}
2287
Added:
]
2288
Added:
}
2289
Added:
]
2290
Added:
},
2291
Added:
"preprocessor-rule-enabled-else": {
2292
Added:
"begin": "^\\s*((#)\\s*else\\b)",
2293
Added:
"beginCaptures": {
2294
Added:
"0": {
2295
Added:
"name": "meta.preprocessor.objc"
2296
Added:
},
2297
Added:
"1": {
2298
Added:
"name": "keyword.control.directive.conditional.objc"
2299
Added:
},
2300
Added:
"2": {
2301
Added:
"name": "punctuation.definition.directive.objc"
2302
Added:
}
2303
Added:
},
2304
Added:
"end": "(?=^\\s*((#)\\s*endif\\b))",
2305
Added:
"patterns": [
2306
Added:
{
2307
Added:
"include": "$base"
2308
Added:
}
2309
Added:
]
2310
Added:
},
2311
Added:
"preprocessor-rule-enabled-else-block": {
2312
Added:
"begin": "^\\s*((#)\\s*else\\b)",
2313
Added:
"beginCaptures": {
2314
Added:
"0": {
2315
Added:
"name": "meta.preprocessor.objc"
2316
Added:
},
2317
Added:
"1": {
2318
Added:
"name": "keyword.control.directive.conditional.objc"
2319
Added:
},
2320
Added:
"2": {
2321
Added:
"name": "punctuation.definition.directive.objc"
2322
Added:
}
2323
Added:
},
2324
Added:
"end": "(?=^\\s*((#)\\s*endif\\b))",
2325
Added:
"patterns": [
2326
Added:
{
2327
Added:
"include": "#block_innards"
2328
Added:
}
2329
Added:
]
2330
Added:
},
2331
Added:
"preprocessor-rule-define-line-contents": {
2332
Added:
"patterns": [
2333
Added:
{
2334
Added:
"include": "#vararg_ellipses"
2335
Added:
},
2336
Added:
{
2337
Added:
"begin": "{",
2338
Added:
"beginCaptures": {
2339
Added:
"0": {
2340
Added:
"name": "punctuation.section.block.begin.bracket.curly.objc"
2341
Added:
}
2342
Added:
},
2343
Added:
"end": "}|(?=\\s*#\\s*(?:elif|else|endif)\\b)|(?<!\\\\)(?=\\s*\\n)",
2344
Added:
"endCaptures": {
2345
Added:
"0": {
2346
Added:
"name": "punctuation.section.block.end.bracket.curly.objc"
2347
Added:
}
2348
Added:
},
2349
Added:
"name": "meta.block.objc",
2350
Added:
"patterns": [
2351
Added:
{
2352
Added:
"include": "#preprocessor-rule-define-line-blocks"
2353
Added:
}
2354
Added:
]
2355
Added:
},
2356
Added:
{
2357
Added:
"match": "\\(",
2358
Added:
"name": "punctuation.section.parens.begin.bracket.round.objc"
2359
Added:
},
2360
Added:
{
2361
Added:
"match": "\\)",
2362
Added:
"name": "punctuation.section.parens.end.bracket.round.objc"
2363
Added:
},
2364
Added:
{
2365
Added:
"begin": "(?x)\n(?!(?:while|for|do|if|else|switch|catch|enumerate|return|typeid|alignof|alignas|sizeof|[cr]?iterate|and|and_eq|bitand|bitor|compl|not|not_eq|or|or_eq|typeid|xor|xor_eq|alignof|alignas|asm|__asm__|auto|bool|_Bool|char|_Complex|double|enum|float|_Imaginary|int|long|short|signed|struct|typedef|union|unsigned|void)\\s*\\()\n(?=\n (?:[A-Za-z_][A-Za-z0-9_]*+|::)++\\s*\\( # actual name\n |\n (?:(?<=operator)(?:[-*&<>=+!]+|\\(\\)|\\[\\]))\\s*\\(\n)",
2366
Added:
"end": "(?<=\\))(?!\\w)|(?<!\\\\)(?=\\s*\\n)",
2367
Added:
"name": "meta.function.objc",
2368
Added:
"patterns": [
2369
Added:
{
2370
Added:
"include": "#preprocessor-rule-define-line-functions"
2371
Added:
}
2372
Added:
]
2373
Added:
},
2374
Added:
{
2375
Added:
"begin": "\"",
2376
Added:
"beginCaptures": {
2377
Added:
"0": {
2378
Added:
"name": "punctuation.definition.string.begin.objc"
2379
Added:
}
2380
Added:
},
2381
Added:
"end": "\"|(?<!\\\\)(?=\\s*\\n)",
2382
Added:
"endCaptures": {
2383
Added:
"0": {
2384
Added:
"name": "punctuation.definition.string.end.objc"
2385
Added:
}
2386
Added:
},
2387
Added:
"name": "string.quoted.double.objc",
2388
Added:
"patterns": [
2389
Added:
{
2390
Added:
"include": "#string_escaped_char"
2391
Added:
},
2392
Added:
{
2393
Added:
"include": "#string_placeholder"
2394
Added:
},
2395
Added:
{
2396
Added:
"include": "#line_continuation_character"
2397
Added:
}
2398
Added:
]
2399
Added:
},
2400
Added:
{
2401
Added:
"begin": "'",
2402
Added:
"beginCaptures": {
2403
Added:
"0": {
2404
Added:
"name": "punctuation.definition.string.begin.objc"
2405
Added:
}
2406
Added:
},
2407
Added:
"end": "'|(?<!\\\\)(?=\\s*\\n)",
2408
Added:
"endCaptures": {
2409
Added:
"0": {
2410
Added:
"name": "punctuation.definition.string.end.objc"
2411
Added:
}
2412
Added:
},
2413
Added:
"name": "string.quoted.single.objc",
2414
Added:
"patterns": [
2415
Added:
{
2416
Added:
"include": "#string_escaped_char"
2417
Added:
},
2418
Added:
{
2419
Added:
"include": "#line_continuation_character"
2420
Added:
}
2421
Added:
]
2422
Added:
},
2423
Added:
{
2424
Added:
"include": "#method_access"
2425
Added:
},
2426
Added:
{
2427
Added:
"include": "#member_access"
2428
Added:
},
2429
Added:
{
2430
Added:
"include": "$base"
2431
Added:
}
2432
Added:
]
2433
Added:
},
2434
Added:
"preprocessor-rule-define-line-blocks": {
2435
Added:
"patterns": [
2436
Added:
{
2437
Added:
"begin": "{",
2438
Added:
"beginCaptures": {
2439
Added:
"0": {
2440
Added:
"name": "punctuation.section.block.begin.bracket.curly.objc"
2441
Added:
}
2442
Added:
},
2443
Added:
"end": "}|(?=\\s*#\\s*(?:elif|else|endif)\\b)|(?<!\\\\)(?=\\s*\\n)",
2444
Added:
"endCaptures": {
2445
Added:
"0": {
2446
Added:
"name": "punctuation.section.block.end.bracket.curly.objc"
2447
Added:
}
2448
Added:
},
2449
Added:
"patterns": [
2450
Added:
{
2451
Added:
"include": "#preprocessor-rule-define-line-blocks"
2452
Added:
},
2453
Added:
{
2454
Added:
"include": "#preprocessor-rule-define-line-contents"
2455
Added:
}
2456
Added:
]
2457
Added:
},
2458
Added:
{
2459
Added:
"include": "#preprocessor-rule-define-line-contents"
2460
Added:
}
2461
Added:
]
2462
Added:
},
2463
Added:
"preprocessor-rule-define-line-functions": {
2464
Added:
"patterns": [
2465
Added:
{
2466
Added:
"include": "#comments"
2467
Added:
},
2468
Added:
{
2469
Added:
"include": "#storage_types"
2470
Added:
},
2471
Added:
{
2472
Added:
"include": "#vararg_ellipses"
2473
Added:
},
2474
Added:
{
2475
Added:
"include": "#method_access"
2476
Added:
},
2477
Added:
{
2478
Added:
"include": "#member_access"
2479
Added:
},
2480
Added:
{
2481
Added:
"include": "#operators"
2482
Added:
},
2483
Added:
{
2484
Added:
"begin": "(?x)\n(?!(?:while|for|do|if|else|switch|catch|enumerate|return|typeid|alignof|alignas|sizeof|[cr]?iterate|and|and_eq|bitand|bitor|compl|not|not_eq|or|or_eq|typeid|xor|xor_eq|alignof|alignas)\\s*\\()\n(\n(?:[A-Za-z_][A-Za-z0-9_]*+|::)++ # actual name\n|\n(?:(?<=operator)(?:[-*&<>=+!]+|\\(\\)|\\[\\]))\n)\n\\s*(\\()",
2485
Added:
"beginCaptures": {
2486
Added:
"1": {
2487
Added:
"name": "entity.name.function.objc"
2488
Added:
},
2489
Added:
"2": {
2490
Added:
"name": "punctuation.section.arguments.begin.bracket.round.objc"
2491
Added:
}
2492
Added:
},
2493
Added:
"end": "(\\))|(?<!\\\\)(?=\\s*\\n)",
2494
Added:
"endCaptures": {
2495
Added:
"1": {
2496
Added:
"name": "punctuation.section.arguments.end.bracket.round.objc"
2497
Added:
}
2498
Added:
},
2499
Added:
"patterns": [
2500
Added:
{
2501
Added:
"include": "#preprocessor-rule-define-line-functions"
2502
Added:
}
2503
Added:
]
2504
Added:
},
2505
Added:
{
2506
Added:
"begin": "\\(",
2507
Added:
"beginCaptures": {
2508
Added:
"0": {
2509
Added:
"name": "punctuation.section.parens.begin.bracket.round.objc"
2510
Added:
}
2511
Added:
},
2512
Added:
"end": "(\\))|(?<!\\\\)(?=\\s*\\n)",
2513
Added:
"endCaptures": {
2514
Added:
"1": {
2515
Added:
"name": "punctuation.section.parens.end.bracket.round.objc"
2516
Added:
}
2517
Added:
},
2518
Added:
"patterns": [
2519
Added:
{
2520
Added:
"include": "#preprocessor-rule-define-line-functions"
2521
Added:
}
2522
Added:
]
2523
Added:
},
2524
Added:
{
2525
Added:
"include": "#preprocessor-rule-define-line-contents"
2526
Added:
}
2527
Added:
]
2528
Added:
},
2529
Added:
"function-innards": {
2530
Added:
"patterns": [
2531
Added:
{
2532
Added:
"include": "#comments"
2533
Added:
},
2534
Added:
{
2535
Added:
"include": "#storage_types"
2536
Added:
},
2537
Added:
{
2538
Added:
"include": "#operators"
2539
Added:
},
2540
Added:
{
2541
Added:
"include": "#vararg_ellipses"
2542
Added:
},
2543
Added:
{
2544
Added:
"name": "meta.function.definition.parameters.objc",
2545
Added:
"begin": "(?x)\n(?!(?:while|for|do|if|else|switch|catch|enumerate|return|typeid|alignof|alignas|sizeof|[cr]?iterate|and|and_eq|bitand|bitor|compl|not|not_eq|or|or_eq|typeid|xor|xor_eq|alignof|alignas)\\s*\\()\n(\n(?:[A-Za-z_][A-Za-z0-9_]*+|::)++ # actual name\n|\n(?:(?<=operator)(?:[-*&<>=+!]+|\\(\\)|\\[\\]))\n)\n\\s*(\\()",
2546
Added:
"beginCaptures": {
2547
Added:
"1": {
2548
Added:
"name": "entity.name.function.objc"
2549
Added:
},
2550
Added:
"2": {
2551
Added:
"name": "punctuation.section.parameters.begin.bracket.round.objc"
2552
Added:
}
2553
Added:
},
2554
Added:
"end": "\\)",
2555
Added:
"endCaptures": {
2556
Added:
"0": {
2557
Added:
"name": "punctuation.section.parameters.end.bracket.round.objc"
2558
Added:
}
2559
Added:
},
2560
Added:
"patterns": [
2561
Added:
{
2562
Added:
"include": "#probably_a_parameter"
2563
Added:
},
2564
Added:
{
2565
Added:
"include": "#function-innards"
2566
Added:
}
2567
Added:
]
2568
Added:
},
2569
Added:
{
2570
Added:
"begin": "\\(",
2571
Added:
"beginCaptures": {
2572
Added:
"0": {
2573
Added:
"name": "punctuation.section.parens.begin.bracket.round.objc"
2574
Added:
}
2575
Added:
},
2576
Added:
"end": "\\)",
2577
Added:
"endCaptures": {
2578
Added:
"0": {
2579
Added:
"name": "punctuation.section.parens.end.bracket.round.objc"
2580
Added:
}
2581
Added:
},
2582
Added:
"patterns": [
2583
Added:
{
2584
Added:
"include": "#function-innards"
2585
Added:
}
2586
Added:
]
2587
Added:
},
2588
Added:
{
2589
Added:
"include": "$base"
2590
Added:
}
2591
Added:
]
2592
Added:
},
2593
Added:
"function-call-innards": {
2594
Added:
"patterns": [
2595
Added:
{
2596
Added:
"include": "#comments"
2597
Added:
},
2598
Added:
{
2599
Added:
"include": "#storage_types"
2600
Added:
},
2601
Added:
{
2602
Added:
"include": "#method_access"
2603
Added:
},
2604
Added:
{
2605
Added:
"include": "#member_access"
2606
Added:
},
2607
Added:
{
2608
Added:
"include": "#operators"
2609
Added:
},
2610
Added:
{
2611
Added:
"begin": "(?x)\n(?!(?:while|for|do|if|else|switch|catch|enumerate|return|typeid|alignof|alignas|sizeof|[cr]?iterate|and|and_eq|bitand|bitor|compl|not|not_eq|or|or_eq|typeid|xor|xor_eq|alignof|alignas)\\s*\\()\n(\n(?:[A-Za-z_][A-Za-z0-9_]*+|::)++ # actual name\n|\n(?:(?<=operator)(?:[-*&<>=+!]+|\\(\\)|\\[\\]))\n)\n\\s*(\\()",
2612
Added:
"beginCaptures": {
2613
Added:
"1": {
2614
Added:
"name": "entity.name.function.objc"
2615
Added:
},
2616
Added:
"2": {
2617
Added:
"name": "punctuation.section.arguments.begin.bracket.round.objc"
2618
Added:
}
2619
Added:
},
2620
Added:
"end": "\\)",
2621
Added:
"endCaptures": {
2622
Added:
"0": {
2623
Added:
"name": "punctuation.section.arguments.end.bracket.round.objc"
2624
Added:
}
2625
Added:
},
2626
Added:
"patterns": [
2627
Added:
{
2628
Added:
"include": "#function-call-innards"
2629
Added:
}
2630
Added:
]
2631
Added:
},
2632
Added:
{
2633
Added:
"begin": "\\(",
2634
Added:
"beginCaptures": {
2635
Added:
"0": {
2636
Added:
"name": "punctuation.section.parens.begin.bracket.round.objc"
2637
Added:
}
2638
Added:
},
2639
Added:
"end": "\\)",
2640
Added:
"endCaptures": {
2641
Added:
"0": {
2642
Added:
"name": "punctuation.section.parens.end.bracket.round.objc"
2643
Added:
}
2644
Added:
},
2645
Added:
"patterns": [
2646
Added:
{
2647
Added:
"include": "#function-call-innards"
2648
Added:
}
2649
Added:
]
2650
Added:
},
2651
Added:
{
2652
Added:
"include": "#block_innards"
2653
Added:
}
2654
Added:
]
2655
Added:
},
2656
Added:
"default_statement": {
2657
Added:
"name": "meta.conditional.case.objc",
2658
Added:
"begin": "((?<!\\w)default(?!\\w))",
2659
Added:
"beginCaptures": {
2660
Added:
"1": {
2661
Added:
"name": "keyword.control.default.objc"
2662
Added:
}
2663
Added:
},
2664
Added:
"end": "(:)",
2665
Added:
"endCaptures": {
2666
Added:
"1": {
2667
Added:
"name": "punctuation.separator.case.default.objc"
2668
Added:
}
2669
Added:
},
2670
Added:
"patterns": [
2671
Added:
{
2672
Added:
"include": "#conditional_context"
2673
Added:
}
2674
Added:
]
2675
Added:
},
2676
Added:
"case_statement": {
2677
Added:
"name": "meta.conditional.case.objc",
2678
Added:
"begin": "((?<!\\w)case(?!\\w))",
2679
Added:
"beginCaptures": {
2680
Added:
"1": {
2681
Added:
"name": "keyword.control.case.objc"
2682
Added:
}
2683
Added:
},
2684
Added:
"end": "(:)",
2685
Added:
"endCaptures": {
2686
Added:
"1": {
2687
Added:
"name": "punctuation.separator.case.objc"
2688
Added:
}
2689
Added:
},
2690
Added:
"patterns": [
2691
Added:
{
2692
Added:
"include": "#conditional_context"
2693
Added:
}
2694
Added:
]
2695
Added:
},
2696
Added:
"switch_statement": {
2697
Added:
"name": "meta.block.switch.objc",
2698
Added:
"begin": "(((?<!\\w)switch(?!\\w)))",
2699
Added:
"beginCaptures": {
2700
Added:
"1": {
2701
Added:
"name": "meta.head.switch.objc"
2702
Added:
},
2703
Added:
"2": {
2704
Added:
"name": "keyword.control.switch.objc"
2705
Added:
}
2706
Added:
},
2707
Added:
"end": "(?:(?<=\\})|(?=[;>\\[\\]=]))",
2708
Added:
"patterns": [
2709
Added:
{
2710
Added:
"name": "meta.head.switch.objc",
2711
Added:
"begin": "\\G ?",
2712
Added:
"end": "((?:\\{|(?=;)))",
2713
Added:
"endCaptures": {
2714
Added:
"1": {
2715
Added:
"name": "punctuation.section.block.begin.bracket.curly.switch.objc"
2716
Added:
}
2717
Added:
},
2718
Added:
"patterns": [
2719
Added:
{
2720
Added:
"include": "#switch_conditional_parentheses"
2721
Added:
},
2722
Added:
{
2723
Added:
"include": "$base"
2724
Added:
}
2725
Added:
]
2726
Added:
},
2727
Added:
{
2728
Added:
"name": "meta.body.switch.objc",
2729
Added:
"begin": "(?<=\\{)",
2730
Added:
"end": "(\\})",
2731
Added:
"endCaptures": {
2732
Added:
"1": {
2733
Added:
"name": "punctuation.section.block.end.bracket.curly.switch.objc"
2734
Added:
}
2735
Added:
},
2736
Added:
"patterns": [
2737
Added:
{
2738
Added:
"include": "#default_statement"
2739
Added:
},
2740
Added:
{
2741
Added:
"include": "#case_statement"
2742
Added:
},
2743
Added:
{
2744
Added:
"include": "$base"
2745
Added:
},
2746
Added:
{
2747
Added:
"include": "#block_innards"
2748
Added:
}
2749
Added:
]
2750
Added:
},
2751
Added:
{
2752
Added:
"name": "meta.tail.switch.objc",
2753
Added:
"begin": "(?<=})[\\s\\n]*",
2754
Added:
"end": "[\\s\\n]*(?=;)",
2755
Added:
"patterns": [
2756
Added:
{
2757
Added:
"include": "$base"
2758
Added:
}
2759
Added:
]
2760
Added:
}
2761
Added:
]
2762
Added:
},
2763
Added:
"switch_conditional_parentheses": {
2764
Added:
"name": "meta.conditional.switch.objc",
2765
Added:
"begin": "(\\()",
2766
Added:
"beginCaptures": {
2767
Added:
"1": {
2768
Added:
"name": "punctuation.section.parens.begin.bracket.round.conditional.switch.objc"
2769
Added:
}
2770
Added:
},
2771
Added:
"end": "(\\))",
2772
Added:
"endCaptures": {
2773
Added:
"1": {
2774
Added:
"name": "punctuation.section.parens.end.bracket.round.conditional.switch.objc"
2775
Added:
}
2776
Added:
},
2777
Added:
"patterns": [
2778
Added:
{
2779
Added:
"include": "#conditional_context"
2780
Added:
}
2781
Added:
]
2782
Added:
},
2783
Added:
"static_assert": {
2784
Added:
"begin": "(static_assert|_Static_assert)\\s*(\\()",
2785
Added:
"beginCaptures": {
2786
Added:
"1": {
2787
Added:
"name": "keyword.other.static_assert.objc"
2788
Added:
},
2789
Added:
"2": {
2790
Added:
"name": "punctuation.section.arguments.begin.bracket.round.objc"
2791
Added:
}
2792
Added:
},
2793
Added:
"end": "(\\))",
2794
Added:
"endCaptures": {
2795
Added:
"1": {
2796
Added:
"name": "punctuation.section.arguments.end.bracket.round.objc"
2797
Added:
}
2798
Added:
},
2799
Added:
"patterns": [
2800
Added:
{
2801
Added:
"name": "meta.static_assert.message.objc",
2802
Added:
"begin": "(,)\\s*(?=(?:L|u8|u|U\\s*\\\")?)",
2803
Added:
"beginCaptures": {
2804
Added:
"1": {
2805
Added:
"name": "punctuation.separator.delimiter.objc"
2806
Added:
}
2807
Added:
},
2808
Added:
"end": "(?=\\))",
2809
Added:
"patterns": [
2810
Added:
{
2811
Added:
"include": "#string_context"
2812
Added:
},
2813
Added:
{
2814
Added:
"include": "#string_context_c"
2815
Added:
}
2816
Added:
]
2817
Added:
},
2818
Added:
{
2819
Added:
"include": "#function_call_context"
2820
Added:
}
2821
Added:
]
2822
Added:
},
2823
Added:
"conditional_context": {
2824
Added:
"patterns": [
2825
Added:
{
2826
Added:
"include": "$base"
2827
Added:
},
2828
Added:
{
2829
Added:
"include": "#block_innards"
2830
Added:
}
2831
Added:
]
2832
Added:
},
2833
Added:
"member_access": {
2834
Added:
"match": "((?:[a-zA-Z_]\\w*|(?<=\\]|\\)))\\s*)(?:((?:\\.\\*|\\.))|((?:->\\*|->)))((?:[a-zA-Z_]\\w*\\s*(?-mix:(?:(?:\\.\\*|\\.))|(?:(?:->\\*|->)))\\s*)*)\\s*(\\b(?!(?:void|char|short|int|signed|unsigned|long|float|double|bool|_Bool|_Complex|_Imaginary|u_char|u_short|u_int|u_long|ushort|uint|u_quad_t|quad_t|qaddr_t|caddr_t|daddr_t|div_t|dev_t|fixpt_t|blkcnt_t|blksize_t|gid_t|in_addr_t|in_port_t|ino_t|key_t|mode_t|nlink_t|id_t|pid_t|off_t|segsz_t|swblk_t|uid_t|id_t|clock_t|size_t|ssize_t|time_t|useconds_t|suseconds_t|pthread_attr_t|pthread_cond_t|pthread_condattr_t|pthread_mutex_t|pthread_mutexattr_t|pthread_once_t|pthread_rwlock_t|pthread_rwlockattr_t|pthread_t|pthread_key_t|int8_t|int16_t|int32_t|int64_t|uint8_t|uint16_t|uint32_t|uint64_t|int_least8_t|int_least16_t|int_least32_t|int_least64_t|uint_least8_t|uint_least16_t|uint_least32_t|uint_least64_t|int_fast8_t|int_fast16_t|int_fast32_t|int_fast64_t|uint_fast8_t|uint_fast16_t|uint_fast32_t|uint_fast64_t|intptr_t|uintptr_t|intmax_t|intmax_t|uintmax_t|uintmax_t|memory_order|atomic_bool|atomic_char|atomic_schar|atomic_uchar|atomic_short|atomic_ushort|atomic_int|atomic_uint|atomic_long|atomic_ulong|atomic_llong|atomic_ullong|atomic_char16_t|atomic_char32_t|atomic_wchar_t|atomic_int_least8_t|atomic_uint_least8_t|atomic_int_least16_t|atomic_uint_least16_t|atomic_int_least32_t|atomic_uint_least32_t|atomic_int_least64_t|atomic_uint_least64_t|atomic_int_fast8_t|atomic_uint_fast8_t|atomic_int_fast16_t|atomic_uint_fast16_t|atomic_int_fast32_t|atomic_uint_fast32_t|atomic_int_fast64_t|atomic_uint_fast64_t|atomic_intptr_t|atomic_uintptr_t|atomic_size_t|atomic_ptrdiff_t|atomic_intmax_t|atomic_uintmax_t))[a-zA-Z_]\\w*\\b(?!\\())",
2835
Added:
"captures": {
2836
Added:
"1": {
2837
Added:
"patterns": [
2838
Added:
{
2839
Added:
"include": "#special_variables"
2840
Added:
},
2841
Added:
{
2842
Added:
"name": "variable.other.object.access.objc",
2843
Added:
"match": "(.+)"
2844
Added:
}
2845
Added:
]
2846
Added:
},
2847
Added:
"2": {
2848
Added:
"name": "punctuation.separator.dot-access.objc"
2849
Added:
},
2850
Added:
"3": {
2851
Added:
"name": "punctuation.separator.pointer-access.objc"
2852
Added:
},
2853
Added:
"4": {
2854
Added:
"patterns": [
2855
Added:
{
2856
Added:
"include": "#member_access"
2857
Added:
},
2858
Added:
{
2859
Added:
"include": "#method_access"
2860
Added:
},
2861
Added:
{
2862
Added:
"match": "((?:[a-zA-Z_]\\w*|(?<=\\]|\\)))\\s*)(?:((?:\\.\\*|\\.))|((?:->\\*|->)))",
2863
Added:
"captures": {
2864
Added:
"1": {
2865
Added:
"patterns": [
2866
Added:
{
2867
Added:
"include": "#special_variables"
2868
Added:
},
2869
Added:
{
2870
Added:
"name": "variable.other.object.access.objc",
2871
Added:
"match": "(.+)"
2872
Added:
}
2873
Added:
]
2874
Added:
},
2875
Added:
"2": {
2876
Added:
"name": "punctuation.separator.dot-access.objc"
2877
Added:
},
2878
Added:
"3": {
2879
Added:
"name": "punctuation.separator.pointer-access.objc"
2880
Added:
}
2881
Added:
}
2882
Added:
}
2883
Added:
]
2884
Added:
},
2885
Added:
"5": {
2886
Added:
"name": "variable.other.member.objc"
2887
Added:
}
2888
Added:
}
2889
Added:
},
2890
Added:
"method_access": {
2891
Added:
"contentName": "meta.function-call.member.objc",
2892
Added:
"begin": "((?:[a-zA-Z_]\\w*|(?<=\\]|\\)))\\s*)(?:((?:\\.\\*|\\.))|((?:->\\*|->)))((?:[a-zA-Z_]\\w*\\s*(?-mix:(?:(?:\\.\\*|\\.))|(?:(?:->\\*|->)))\\s*)*)\\s*([a-zA-Z_]\\w*)(\\()",
2893
Added:
"beginCaptures": {
2894
Added:
"1": {
2895
Added:
"patterns": [
2896
Added:
{
2897
Added:
"include": "#special_variables"
2898
Added:
},
2899
Added:
{
2900
Added:
"name": "variable.other.object.access.objc",
2901
Added:
"match": "(.+)"
2902
Added:
}
2903
Added:
]
2904
Added:
},
2905
Added:
"2": {
2906
Added:
"name": "punctuation.separator.dot-access.objc"
2907
Added:
},
2908
Added:
"3": {
2909
Added:
"name": "punctuation.separator.pointer-access.objc"
2910
Added:
},
2911
Added:
"4": {
2912
Added:
"patterns": [
2913
Added:
{
2914
Added:
"include": "#member_access"
2915
Added:
},
2916
Added:
{
2917
Added:
"include": "#method_access"
2918
Added:
},
2919
Added:
{
2920
Added:
"match": "((?:[a-zA-Z_]\\w*|(?<=\\]|\\)))\\s*)(?:((?:\\.\\*|\\.))|((?:->\\*|->)))",
2921
Added:
"captures": {
2922
Added:
"1": {
2923
Added:
"patterns": [
2924
Added:
{
2925
Added:
"include": "#special_variables"
2926
Added:
},
2927
Added:
{
2928
Added:
"name": "variable.other.object.access.objc",
2929
Added:
"match": "(.+)"
2930
Added:
}
2931
Added:
]
2932
Added:
},
2933
Added:
"2": {
2934
Added:
"name": "punctuation.separator.dot-access.objc"
2935
Added:
},
2936
Added:
"3": {
2937
Added:
"name": "punctuation.separator.pointer-access.objc"
2938
Added:
}
2939
Added:
}
2940
Added:
}
2941
Added:
]
2942
Added:
},
2943
Added:
"5": {
2944
Added:
"name": "entity.name.function.member.objc"
2945
Added:
},
2946
Added:
"6": {
2947
Added:
"name": "punctuation.section.arguments.begin.bracket.round.function.member.objc"
2948
Added:
}
2949
Added:
},
2950
Added:
"end": "(\\))",
2951
Added:
"endCaptures": {
2952
Added:
"1": {
2953
Added:
"name": "punctuation.section.arguments.end.bracket.round.function.member.objc"
2954
Added:
}
2955
Added:
},
2956
Added:
"patterns": [
2957
Added:
{
2958
Added:
"include": "#function-call-innards"
2959
Added:
}
2960
Added:
]
2961
Added:
},
2962
Added:
"numbers": {
2963
Added:
"begin": "(?<!\\w)(?=\\d|\\.\\d)",
2964
Added:
"end": "(?!(?:['0-9a-zA-Z_\\.']|(?<=[eEpP])[+-]))",
2965
Added:
"patterns": [
2966
Added:
{
2967
Added:
"match": "(\\G0[xX])(?:([0-9a-fA-F](?:(?:[0-9a-fA-F]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F]))))*))?((?:(?<=[0-9a-fA-F])\\.|\\.(?=[0-9a-fA-F])))(?:([0-9a-fA-F](?:(?:[0-9a-fA-F]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F]))))*))?(?:((?<!')([pP])(\\+)?(\\-)?((?-mix:(?:[0-9](?:(?:[0-9]|(?:(?<=[0-9a-fA-F])'(?=[0-9a-fA-F]))))*)))))?(?:([lLfF](?!\\w)))?(?!(?:['0-9a-zA-Z_\\.']|(?<=[eEpP])[+-]))",
2968
Added:
"captures": {
2969
Added:
"1": {
2970
Added:
"name": "keyword.other.unit.hexadecimal.objc"
2971
Added:
},
2972
Added:
"2": {
2973
Added:
"name": "constant.numeric.hexadecimal.objc",
2974
Added:
"patterns": [
2975
Added:
{
2976
Added:
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
2977
Added:
"name": "punctuation.separator.constant.numeric.objc"
2978
Added:
}
2979
Added:
]
2980
Added:
},
2981
Added:
"3": {
2982
Added:
"name": "punctuation.separator.constant.numeric.objc"
2983
Added:
},
2984
Added:
"4": {
2985
Added:
"name": "constant.numeric.hexadecimal.objc"
2986
Added:
},
2987
Added:
"5": {
2988
Added:
"name": "constant.numeric.hexadecimal.objc",
2989
Added:
"patterns": [
2990
Added:
{
2991
Added:
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
2992
Added:
"name": "punctuation.separator.constant.numeric.objc"
2993
Added:
}
2994
Added:
]
2995
Added:
},
2996
Added:
"6": {
2997
Added:
"name": "punctuation.separator.constant.numeric.objc"
2998
Added:
},
2999
Added:
"8": {
3000
Added:
"name": "keyword.other.unit.exponent.hexadecimal.objc"
3001
Added:
},
3002
Added:
"9": {
3003
Added:
"name": "keyword.operator.plus.exponent.hexadecimal.objc"
3004
Added:
},
3005
Added:
"10": {
3006
Added:
"name": "keyword.operator.minus.exponent.hexadecimal.objc"
3007
Added:
},
3008
Added:
"11": {
3009
Added:
"name": "constant.numeric.exponent.hexadecimal.objc",
3010
Added:
"patterns": [
3011
Added:
{
3012
Added:
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
3013
Added:
"name": "punctuation.separator.constant.numeric.objc"
3014
Added:
}
3015
Added:
]
3016
Added:
},
3017
Added:
"12": {
3018
Added:
"name": "keyword.other.unit.suffix.floating-point.objc"
3019
Added:
}
3020
Added:
}
3021
Added:
},
3022
Added:
{
3023
Added:
"match": "(\\G(?=[0-9.])(?!0[xXbB]))(?:([0-9](?:(?:[0-9]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F]))))*))?((?:(?<=[0-9])\\.|\\.(?=[0-9])))(?:([0-9](?:(?:[0-9]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F]))))*))?(?:((?<!')([eE])(\\+)?(\\-)?((?-mix:(?:[0-9](?:(?:[0-9]|(?:(?<=[0-9a-fA-F])'(?=[0-9a-fA-F]))))*)))))?(?:([lLfF](?!\\w)))?(?!(?:['0-9a-zA-Z_\\.']|(?<=[eEpP])[+-]))",
3024
Added:
"captures": {
3025
Added:
"2": {
3026
Added:
"name": "constant.numeric.decimal.objc",
3027
Added:
"patterns": [
3028
Added:
{
3029
Added:
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
3030
Added:
"name": "punctuation.separator.constant.numeric.objc"
3031
Added:
}
3032
Added:
]
3033
Added:
},
3034
Added:
"3": {
3035
Added:
"name": "punctuation.separator.constant.numeric.objc"
3036
Added:
},
3037
Added:
"4": {
3038
Added:
"name": "constant.numeric.decimal.point.objc"
3039
Added:
},
3040
Added:
"5": {
3041
Added:
"name": "constant.numeric.decimal.objc",
3042
Added:
"patterns": [
3043
Added:
{
3044
Added:
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
3045
Added:
"name": "punctuation.separator.constant.numeric.objc"
3046
Added:
}
3047
Added:
]
3048
Added:
},
3049
Added:
"6": {
3050
Added:
"name": "punctuation.separator.constant.numeric.objc"
3051
Added:
},
3052
Added:
"8": {
3053
Added:
"name": "keyword.other.unit.exponent.decimal.objc"
3054
Added:
},
3055
Added:
"9": {
3056
Added:
"name": "keyword.operator.plus.exponent.decimal.objc"
3057
Added:
},
3058
Added:
"10": {
3059
Added:
"name": "keyword.operator.minus.exponent.decimal.objc"
3060
Added:
},
3061
Added:
"11": {
3062
Added:
"name": "constant.numeric.exponent.decimal.objc",
3063
Added:
"patterns": [
3064
Added:
{
3065
Added:
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
3066
Added:
"name": "punctuation.separator.constant.numeric.objc"
3067
Added:
}
3068
Added:
]
3069
Added:
},
3070
Added:
"12": {
3071
Added:
"name": "keyword.other.unit.suffix.floating-point.objc"
3072
Added:
}
3073
Added:
}
3074
Added:
},
3075
Added:
{
3076
Added:
"match": "(\\G0[bB])([01](?:(?:[01]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F]))))*)(?:((?:(?:(?:(?:(?:[uU]|[uU]ll?)|[uU]LL?)|ll?[uU]?)|LL?[uU]?)|[fF])(?!\\w)))?(?!(?:['0-9a-zA-Z_\\.']|(?<=[eEpP])[+-]))",
3077
Added:
"captures": {
3078
Added:
"1": {
3079
Added:
"name": "keyword.other.unit.binary.objc"
3080
Added:
},
3081
Added:
"2": {
3082
Added:
"name": "constant.numeric.binary.objc",
3083
Added:
"patterns": [
3084
Added:
{
3085
Added:
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
3086
Added:
"name": "punctuation.separator.constant.numeric.objc"
3087
Added:
}
3088
Added:
]
3089
Added:
},
3090
Added:
"3": {
3091
Added:
"name": "punctuation.separator.constant.numeric.objc"
3092
Added:
},
3093
Added:
"4": {
3094
Added:
"name": "keyword.other.unit.suffix.integer.objc"
3095
Added:
}
3096
Added:
}
3097
Added:
},
3098
Added:
{
3099
Added:
"match": "(\\G0)((?:(?:[0-7]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F]))))+)(?:((?:(?:(?:(?:(?:[uU]|[uU]ll?)|[uU]LL?)|ll?[uU]?)|LL?[uU]?)|[fF])(?!\\w)))?(?!(?:['0-9a-zA-Z_\\.']|(?<=[eEpP])[+-]))",
3100
Added:
"captures": {
3101
Added:
"1": {
3102
Added:
"name": "keyword.other.unit.octal.objc"
3103
Added:
},
3104
Added:
"2": {
3105
Added:
"name": "constant.numeric.octal.objc",
3106
Added:
"patterns": [
3107
Added:
{
3108
Added:
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
3109
Added:
"name": "punctuation.separator.constant.numeric.objc"
3110
Added:
}
3111
Added:
]
3112
Added:
},
3113
Added:
"3": {
3114
Added:
"name": "punctuation.separator.constant.numeric.objc"
3115
Added:
},
3116
Added:
"4": {
3117
Added:
"name": "keyword.other.unit.suffix.integer.objc"
3118
Added:
}
3119
Added:
}
3120
Added:
},
3121
Added:
{
3122
Added:
"match": "(\\G0[xX])([0-9a-fA-F](?:(?:[0-9a-fA-F]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F]))))*)(?:((?<!')([pP])(\\+)?(\\-)?((?-mix:(?:[0-9](?:(?:[0-9]|(?:(?<=[0-9a-fA-F])'(?=[0-9a-fA-F]))))*)))))?(?:((?:(?:(?:(?:(?:[uU]|[uU]ll?)|[uU]LL?)|ll?[uU]?)|LL?[uU]?)|[fF])(?!\\w)))?(?!(?:['0-9a-zA-Z_\\.']|(?<=[eEpP])[+-]))",
3123
Added:
"captures": {
3124
Added:
"1": {
3125
Added:
"name": "keyword.other.unit.hexadecimal.objc"
3126
Added:
},
3127
Added:
"2": {
3128
Added:
"name": "constant.numeric.hexadecimal.objc",
3129
Added:
"patterns": [
3130
Added:
{
3131
Added:
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
3132
Added:
"name": "punctuation.separator.constant.numeric.objc"
3133
Added:
}
3134
Added:
]
3135
Added:
},
3136
Added:
"3": {
3137
Added:
"name": "punctuation.separator.constant.numeric.objc"
3138
Added:
},
3139
Added:
"5": {
3140
Added:
"name": "keyword.other.unit.exponent.hexadecimal.objc"
3141
Added:
},
3142
Added:
"6": {
3143
Added:
"name": "keyword.operator.plus.exponent.hexadecimal.objc"
3144
Added:
},
3145
Added:
"7": {
3146
Added:
"name": "keyword.operator.minus.exponent.hexadecimal.objc"
3147
Added:
},
3148
Added:
"8": {
3149
Added:
"name": "constant.numeric.exponent.hexadecimal.objc",
3150
Added:
"patterns": [
3151
Added:
{
3152
Added:
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
3153
Added:
"name": "punctuation.separator.constant.numeric.objc"
3154
Added:
}
3155
Added:
]
3156
Added:
},
3157
Added:
"9": {
3158
Added:
"name": "keyword.other.unit.suffix.integer.objc"
3159
Added:
}
3160
Added:
}
3161
Added:
},
3162
Added:
{
3163
Added:
"match": "(\\G(?=[0-9.])(?!0[xXbB]))([0-9](?:(?:[0-9]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F]))))*)(?:((?<!')([eE])(\\+)?(\\-)?((?-mix:(?:[0-9](?:(?:[0-9]|(?:(?<=[0-9a-fA-F])'(?=[0-9a-fA-F]))))*)))))?(?:((?:(?:(?:(?:(?:[uU]|[uU]ll?)|[uU]LL?)|ll?[uU]?)|LL?[uU]?)|[fF])(?!\\w)))?(?!(?:['0-9a-zA-Z_\\.']|(?<=[eEpP])[+-]))",
3164
Added:
"captures": {
3165
Added:
"2": {
3166
Added:
"name": "constant.numeric.decimal.objc",
3167
Added:
"patterns": [
3168
Added:
{
3169
Added:
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
3170
Added:
"name": "punctuation.separator.constant.numeric.objc"
3171
Added:
}
3172
Added:
]
3173
Added:
},
3174
Added:
"3": {
3175
Added:
"name": "punctuation.separator.constant.numeric.objc"
3176
Added:
},
3177
Added:
"5": {
3178
Added:
"name": "keyword.other.unit.exponent.decimal.objc"
3179
Added:
},
3180
Added:
"6": {
3181
Added:
"name": "keyword.operator.plus.exponent.decimal.objc"
3182
Added:
},
3183
Added:
"7": {
3184
Added:
"name": "keyword.operator.minus.exponent.decimal.objc"
3185
Added:
},
3186
Added:
"8": {
3187
Added:
"name": "constant.numeric.exponent.decimal.objc",
3188
Added:
"patterns": [
3189
Added:
{
3190
Added:
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
3191
Added:
"name": "punctuation.separator.constant.numeric.objc"
3192
Added:
}
3193
Added:
]
3194
Added:
},
3195
Added:
"9": {
3196
Added:
"name": "keyword.other.unit.suffix.integer.objc"
3197
Added:
}
3198
Added:
}
3199
Added:
},
3200
Added:
{
3201
Added:
"match": "(?:(?:['0-9a-zA-Z_\\.']|(?<=[eEpP])[+-]))+",
3202
Added:
"name": "invalid.illegal.constant.numeric.objc"
3203
Added:
}
3204
Added:
]
3205
Added:
}
3206
Added:
}
3207
Added:
},
3208
Added:
"comment": {
3209
Added:
"patterns": [
3210
Added:
{
3211
Added:
"begin": "/\\*",
3212
Added:
"captures": {
3213
Added:
"0": {
3214
Added:
"name": "punctuation.definition.comment.objc"
3215
Added:
}
3216
Added:
},
3217
Added:
"end": "\\*/",
3218
Added:
"name": "comment.block.objc"
3219
Added:
},
3220
Added:
{
3221
Added:
"begin": "(^[ \\t]+)?(?=//)",
3222
Added:
"beginCaptures": {
3223
Added:
"1": {
3224
Added:
"name": "punctuation.whitespace.comment.leading.objc"
3225
Added:
}
3226
Added:
},
3227
Added:
"end": "(?!\\G)",
3228
Added:
"patterns": [
3229
Added:
{
3230
Added:
"begin": "//",
3231
Added:
"beginCaptures": {
3232
Added:
"0": {
3233
Added:
"name": "punctuation.definition.comment.objc"
3234
Added:
}
3235
Added:
},
3236
Added:
"end": "\\n",
3237
Added:
"name": "comment.line.double-slash.objc",
3238
Added:
"patterns": [
3239
Added:
{
3240
Added:
"match": "(?>\\\\\\s*\\n)",
3241
Added:
"name": "punctuation.separator.continuation.objc"
3242
Added:
}
3243
Added:
]
3244
Added:
}
3245
Added:
]
3246
Added:
}
3247
Added:
]
3248
Added:
},
3249
Added:
"disabled": {
3250
Added:
"begin": "^\\s*#\\s*if(n?def)?\\b.*$",
3251
Added:
"comment": "eat nested preprocessor if(def)s",
3252
Added:
"end": "^\\s*#\\s*endif\\b.*$",
3253
Added:
"patterns": [
3254
Added:
{
3255
Added:
"include": "#disabled"
3256
Added:
},
3257
Added:
{
3258
Added:
"include": "#pragma-mark"
3259
Added:
}
3260
Added:
]
3261
Added:
},
3262
Added:
"implementation_innards": {
3263
Added:
"patterns": [
3264
Added:
{
3265
Added:
"include": "#preprocessor-rule-enabled-implementation"
3266
Added:
},
3267
Added:
{
3268
Added:
"include": "#preprocessor-rule-disabled-implementation"
3269
Added:
},
3270
Added:
{
3271
Added:
"include": "#preprocessor-rule-other-implementation"
3272
Added:
},
3273
Added:
{
3274
Added:
"include": "#property_directive"
3275
Added:
},
3276
Added:
{
3277
Added:
"include": "#method_super"
3278
Added:
},
3279
Added:
{
3280
Added:
"include": "$base"
3281
Added:
}
3282
Added:
]
3283
Added:
},
3284
Added:
"interface_innards": {
3285
Added:
"patterns": [
3286
Added:
{
3287
Added:
"include": "#preprocessor-rule-enabled-interface"
3288
Added:
},
3289
Added:
{
3290
Added:
"include": "#preprocessor-rule-disabled-interface"
3291
Added:
},
3292
Added:
{
3293
Added:
"include": "#preprocessor-rule-other-interface"
3294
Added:
},
3295
Added:
{
3296
Added:
"include": "#properties"
3297
Added:
},
3298
Added:
{
3299
Added:
"include": "#protocol_list"
3300
Added:
},
3301
Added:
{
3302
Added:
"include": "#method"
3303
Added:
},
3304
Added:
{
3305
Added:
"include": "$base"
3306
Added:
}
3307
Added:
]
3308
Added:
},
3309
Added:
"method": {
3310
Added:
"begin": "^(-|\\+)\\s*",
3311
Added:
"end": "(?=\\{|#)|;",
3312
Added:
"name": "meta.function.objc",
3313
Added:
"patterns": [
3314
Added:
{
3315
Added:
"begin": "(\\()",
3316
Added:
"beginCaptures": {
3317
Added:
"1": {
3318
Added:
"name": "punctuation.definition.type.begin.objc"
3319
Added:
}
3320
Added:
},
3321
Added:
"end": "(\\))\\s*(\\w+\\b)",
3322
Added:
"endCaptures": {
3323
Added:
"1": {
3324
Added:
"name": "punctuation.definition.type.end.objc"
3325
Added:
},
3326
Added:
"2": {
3327
Added:
"name": "entity.name.function.objc"
3328
Added:
}
3329
Added:
},
3330
Added:
"name": "meta.return-type.objc",
3331
Added:
"patterns": [
3332
Added:
{
3333
Added:
"include": "#protocol_list"
3334
Added:
},
3335
Added:
{
3336
Added:
"include": "#protocol_type_qualifier"
3337
Added:
},
3338
Added:
{
3339
Added:
"include": "$base"
3340
Added:
}
3341
Added:
]
3342
Added:
},
3343
Added:
{
3344
Added:
"match": "\\b\\w+(?=:)",
3345
Added:
"name": "entity.name.function.name-of-parameter.objc"
3346
Added:
},
3347
Added:
{
3348
Added:
"begin": "((:))\\s*(\\()",
3349
Added:
"beginCaptures": {
3350
Added:
"1": {
3351
Added:
"name": "entity.name.function.name-of-parameter.objc"
3352
Added:
},
3353
Added:
"2": {
3354
Added:
"name": "punctuation.separator.arguments.objc"
3355
Added:
},
3356
Added:
"3": {
3357
Added:
"name": "punctuation.definition.type.begin.objc"
3358
Added:
}
3359
Added:
},
3360
Added:
"end": "(\\))\\s*(\\w+\\b)?",
3361
Added:
"endCaptures": {
3362
Added:
"1": {
3363
Added:
"name": "punctuation.definition.type.end.objc"
3364
Added:
},
3365
Added:
"2": {
3366
Added:
"name": "variable.parameter.function.objc"
3367
Added:
}
3368
Added:
},
3369
Added:
"name": "meta.argument-type.objc",
3370
Added:
"patterns": [
3371
Added:
{
3372
Added:
"include": "#protocol_list"
3373
Added:
},
3374
Added:
{
3375
Added:
"include": "#protocol_type_qualifier"
3376
Added:
},
3377
Added:
{
3378
Added:
"include": "$base"
3379
Added:
}
3380
Added:
]
3381
Added:
},
3382
Added:
{
3383
Added:
"include": "#comment"
3384
Added:
}
3385
Added:
]
3386
Added:
},
3387
Added:
"method_super": {
3388
Added:
"begin": "^(?=-|\\+)",
3389
Added:
"end": "(?<=\\})|(?=#)",
3390
Added:
"name": "meta.function-with-body.objc",
3391
Added:
"patterns": [
3392
Added:
{
3393
Added:
"include": "#method"
3394
Added:
},
3395
Added:
{
3396
Added:
"include": "$base"
3397
Added:
}
3398
Added:
]
3399
Added:
},
3400
Added:
"pragma-mark": {
3401
Added:
"captures": {
3402
Added:
"1": {
3403
Added:
"name": "meta.preprocessor.objc"
3404
Added:
},
3405
Added:
"2": {
3406
Added:
"name": "keyword.control.import.pragma.objc"
3407
Added:
},
3408
Added:
"3": {
3409
Added:
"name": "meta.toc-list.pragma-mark.objc"
3410
Added:
}
3411
Added:
},
3412
Added:
"match": "^\\s*(#\\s*(pragma\\s+mark)\\s+(.*))",
3413
Added:
"name": "meta.section.objc"
3414
Added:
},
3415
Added:
"preprocessor-rule-disabled-implementation": {
3416
Added:
"begin": "^\\s*(#(if)\\s+(0)\\b).*",
3417
Added:
"captures": {
3418
Added:
"1": {
3419
Added:
"name": "meta.preprocessor.objc"
3420
Added:
},
3421
Added:
"2": {
3422
Added:
"name": "keyword.control.import.if.objc"
3423
Added:
},
3424
Added:
"3": {
3425
Added:
"name": "constant.numeric.preprocessor.objc"
3426
Added:
}
3427
Added:
},
3428
Added:
"end": "^\\s*(#\\s*(endif)\\b.*?(?:(?=(?://|/\\*))|$))",
3429
Added:
"patterns": [
3430
Added:
{
3431
Added:
"begin": "^\\s*(#\\s*(else)\\b)",
3432
Added:
"captures": {
3433
Added:
"1": {
3434
Added:
"name": "meta.preprocessor.objc"
3435
Added:
},
3436
Added:
"2": {
3437
Added:
"name": "keyword.control.import.else.objc"
3438
Added:
}
3439
Added:
},
3440
Added:
"end": "(?=^\\s*#\\s*endif\\b.*?(?:(?=(?://|/\\*))|$))",
3441
Added:
"patterns": [
3442
Added:
{
3443
Added:
"include": "#interface_innards"
3444
Added:
}
3445
Added:
]
3446
Added:
},
3447
Added:
{
3448
Added:
"begin": "",
3449
Added:
"end": "(?=^\\s*#\\s*(else|endif)\\b.*?(?:(?=(?://|/\\*))|$))",
3450
Added:
"name": "comment.block.preprocessor.if-branch.objc",
3451
Added:
"patterns": [
3452
Added:
{
3453
Added:
"include": "#disabled"
3454
Added:
},
3455
Added:
{
3456
Added:
"include": "#pragma-mark"
3457
Added:
}
3458
Added:
]
3459
Added:
}
3460
Added:
]
3461
Added:
},
3462
Added:
"preprocessor-rule-disabled-interface": {
3463
Added:
"begin": "^\\s*(#(if)\\s+(0)\\b).*",
3464
Added:
"captures": {
3465
Added:
"1": {
3466
Added:
"name": "meta.preprocessor.objc"
3467
Added:
},
3468
Added:
"2": {
3469
Added:
"name": "keyword.control.import.if.objc"
3470
Added:
},
3471
Added:
"3": {
3472
Added:
"name": "constant.numeric.preprocessor.objc"
3473
Added:
}
3474
Added:
},
3475
Added:
"end": "^\\s*(#\\s*(endif)\\b.*?(?:(?=(?://|/\\*))|$))",
3476
Added:
"patterns": [
3477
Added:
{
3478
Added:
"begin": "^\\s*(#\\s*(else)\\b)",
3479
Added:
"captures": {
3480
Added:
"1": {
3481
Added:
"name": "meta.preprocessor.objc"
3482
Added:
},
3483
Added:
"2": {
3484
Added:
"name": "keyword.control.import.else.objc"
3485
Added:
}
3486
Added:
},
3487
Added:
"end": "(?=^\\s*#\\s*endif\\b.*?(?:(?=(?://|/\\*))|$))",
3488
Added:
"patterns": [
3489
Added:
{
3490
Added:
"include": "#interface_innards"
3491
Added:
}
3492
Added:
]
3493
Added:
},
3494
Added:
{
3495
Added:
"begin": "",
3496
Added:
"end": "(?=^\\s*#\\s*(else|endif)\\b.*?(?:(?=(?://|/\\*))|$))",
3497
Added:
"name": "comment.block.preprocessor.if-branch.objc",
3498
Added:
"patterns": [
3499
Added:
{
3500
Added:
"include": "#disabled"
3501
Added:
},
3502
Added:
{
3503
Added:
"include": "#pragma-mark"
3504
Added:
}
3505
Added:
]
3506
Added:
}
3507
Added:
]
3508
Added:
},
3509
Added:
"preprocessor-rule-enabled-implementation": {
3510
Added:
"begin": "^\\s*(#(if)\\s+(0*1)\\b)",
3511
Added:
"captures": {
3512
Added:
"1": {
3513
Added:
"name": "meta.preprocessor.objc"
3514
Added:
},
3515
Added:
"2": {
3516
Added:
"name": "keyword.control.import.if.objc"
3517
Added:
},
3518
Added:
"3": {
3519
Added:
"name": "constant.numeric.preprocessor.objc"
3520
Added:
}
3521
Added:
},
3522
Added:
"end": "^\\s*(#\\s*(endif)\\b.*?(?:(?=(?://|/\\*))|$))",
3523
Added:
"patterns": [
3524
Added:
{
3525
Added:
"begin": "^\\s*(#\\s*(else)\\b).*",
3526
Added:
"captures": {
3527
Added:
"1": {
3528
Added:
"name": "meta.preprocessor.objc"
3529
Added:
},
3530
Added:
"2": {
3531
Added:
"name": "keyword.control.import.else.objc"
3532
Added:
}
3533
Added:
},
3534
Added:
"contentName": "comment.block.preprocessor.else-branch.objc",
3535
Added:
"end": "(?=^\\s*#\\s*endif\\b.*?(?:(?=(?://|/\\*))|$))",
3536
Added:
"patterns": [
3537
Added:
{
3538
Added:
"include": "#disabled"
3539
Added:
},
3540
Added:
{
3541
Added:
"include": "#pragma-mark"
3542
Added:
}
3543
Added:
]
3544
Added:
},
3545
Added:
{
3546
Added:
"begin": "",
3547
Added:
"end": "(?=^\\s*#\\s*(else|endif)\\b.*?(?:(?=(?://|/\\*))|$))",
3548
Added:
"patterns": [
3549
Added:
{
3550
Added:
"include": "#implementation_innards"
3551
Added:
}
3552
Added:
]
3553
Added:
}
3554
Added:
]
3555
Added:
},
3556
Added:
"preprocessor-rule-enabled-interface": {
3557
Added:
"begin": "^\\s*(#(if)\\s+(0*1)\\b)",
3558
Added:
"captures": {
3559
Added:
"1": {
3560
Added:
"name": "meta.preprocessor.objc"
3561
Added:
},
3562
Added:
"2": {
3563
Added:
"name": "keyword.control.import.if.objc"
3564
Added:
},
3565
Added:
"3": {
3566
Added:
"name": "constant.numeric.preprocessor.objc"
3567
Added:
}
3568
Added:
},
3569
Added:
"end": "^\\s*(#\\s*(endif)\\b.*?(?:(?=(?://|/\\*))|$))",
3570
Added:
"patterns": [
3571
Added:
{
3572
Added:
"begin": "^\\s*(#\\s*(else)\\b).*",
3573
Added:
"captures": {
3574
Added:
"1": {
3575
Added:
"name": "meta.preprocessor.objc"
3576
Added:
},
3577
Added:
"2": {
3578
Added:
"name": "keyword.control.import.else.objc"
3579
Added:
}
3580
Added:
},
3581
Added:
"contentName": "comment.block.preprocessor.else-branch.objc",
3582
Added:
"end": "(?=^\\s*#\\s*endif\\b.*?(?:(?=(?://|/\\*))|$))",
3583
Added:
"patterns": [
3584
Added:
{
3585
Added:
"include": "#disabled"
3586
Added:
},
3587
Added:
{
3588
Added:
"include": "#pragma-mark"
3589
Added:
}
3590
Added:
]
3591
Added:
},
3592
Added:
{
3593
Added:
"begin": "",
3594
Added:
"end": "(?=^\\s*#\\s*(else|endif)\\b.*?(?:(?=(?://|/\\*))|$))",
3595
Added:
"patterns": [
3596
Added:
{
3597
Added:
"include": "#interface_innards"
3598
Added:
}
3599
Added:
]
3600
Added:
}
3601
Added:
]
3602
Added:
},
3603
Added:
"preprocessor-rule-other-implementation": {
3604
Added:
"begin": "^\\s*(#\\s*(if(n?def)?)\\b.*?(?:(?=(?://|/\\*))|$))",
3605
Added:
"captures": {
3606
Added:
"1": {
3607
Added:
"name": "meta.preprocessor.objc"
3608
Added:
},
3609
Added:
"2": {
3610
Added:
"name": "keyword.control.import.objc"
3611
Added:
}
3612
Added:
},
3613
Added:
"end": "^\\s*(#\\s*(endif)\\b).*?(?:(?=(?://|/\\*))|$)",
3614
Added:
"patterns": [
3615
Added:
{
3616
Added:
"include": "#implementation_innards"
3617
Added:
}
3618
Added:
]
3619
Added:
},
3620
Added:
"preprocessor-rule-other-interface": {
3621
Added:
"begin": "^\\s*(#\\s*(if(n?def)?)\\b.*?(?:(?=(?://|/\\*))|$))",
3622
Added:
"captures": {
3623
Added:
"1": {
3624
Added:
"name": "meta.preprocessor.objc"
3625
Added:
},
3626
Added:
"2": {
3627
Added:
"name": "keyword.control.import.objc"
3628
Added:
}
3629
Added:
},
3630
Added:
"end": "^\\s*(#\\s*(endif)\\b).*?(?:(?=(?://|/\\*))|$)",
3631
Added:
"patterns": [
3632
Added:
{
3633
Added:
"include": "#interface_innards"
3634
Added:
}
3635
Added:
]
3636
Added:
},
3637
Added:
"properties": {
3638
Added:
"patterns": [
3639
Added:
{
3640
Added:
"begin": "((@)property)\\s*(\\()",
3641
Added:
"beginCaptures": {
3642
Added:
"1": {
3643
Added:
"name": "keyword.other.property.objc"
3644
Added:
},
3645
Added:
"2": {
3646
Added:
"name": "punctuation.definition.keyword.objc"
3647
Added:
},
3648
Added:
"3": {
3649
Added:
"name": "punctuation.section.scope.begin.objc"
3650
Added:
}
3651
Added:
},
3652
Added:
"end": "(\\))",
3653
Added:
"endCaptures": {
3654
Added:
"1": {
3655
Added:
"name": "punctuation.section.scope.end.objc"
3656
Added:
}
3657
Added:
},
3658
Added:
"name": "meta.property-with-attributes.objc",
3659
Added:
"patterns": [
3660
Added:
{
3661
Added:
"match": "\\b(getter|setter|readonly|readwrite|assign|retain|copy|nonatomic|atomic|strong|weak|nonnull|nullable|null_resettable|null_unspecified|class|direct)\\b",
3662
Added:
"name": "keyword.other.property.attribute.objc"
3663
Added:
}
3664
Added:
]
3665
Added:
},
3666
Added:
{
3667
Added:
"captures": {
3668
Added:
"1": {
3669
Added:
"name": "keyword.other.property.objc"
3670
Added:
},
3671
Added:
"2": {
3672
Added:
"name": "punctuation.definition.keyword.objc"
3673
Added:
}
3674
Added:
},
3675
Added:
"match": "((@)property)\\b",
3676
Added:
"name": "meta.property.objc"
3677
Added:
}
3678
Added:
]
3679
Added:
},
3680
Added:
"property_directive": {
3681
Added:
"captures": {
3682
Added:
"1": {
3683
Added:
"name": "punctuation.definition.keyword.objc"
3684
Added:
}
3685
Added:
},
3686
Added:
"match": "(@)(dynamic|synthesize)\\b",
3687
Added:
"name": "keyword.other.property.directive.objc"
3688
Added:
},
3689
Added:
"protocol_list": {
3690
Added:
"begin": "(<)",
3691
Added:
"beginCaptures": {
3692
Added:
"1": {
3693
Added:
"name": "punctuation.section.scope.begin.objc"
3694
Added:
}
3695
Added:
},
3696
Added:
"end": "(>)",
3697
Added:
"endCaptures": {
3698
Added:
"1": {
3699
Added:
"name": "punctuation.section.scope.end.objc"
3700
Added:
}
3701
Added:
},
3702
Added:
"name": "meta.protocol-list.objc",
3703
Added:
"patterns": [
3704
Added:
{
3705
Added:
"match": "\\bNS(GlyphStorage|M(utableCopying|enuItem)|C(hangeSpelling|o(ding|pying|lorPicking(Custom|Default)))|T(oolbarItemValidations|ext(Input|AttachmentCell))|I(nputServ(iceProvider|erMouseTracker)|gnoreMisspelledWords)|Obj(CTypeSerializationCallBack|ect)|D(ecimalNumberBehaviors|raggingInfo)|U(serInterfaceValidations|RL(HandleClient|DownloadDelegate|ProtocolClient|AuthenticationChallengeSender))|Validated(ToobarItem|UserInterfaceItem)|Locking)\\b",
3706
Added:
"name": "support.other.protocol.objc"
3707
Added:
}
3708
Added:
]
3709
Added:
},
3710
Added:
"protocol_type_qualifier": {
3711
Added:
"match": "\\b(in|out|inout|oneway|bycopy|byref|nonnull|nullable|_Nonnull|_Nullable|_Null_unspecified)\\b",
3712
Added:
"name": "storage.modifier.protocol.objc"
3713
Added:
},
3714
Added:
"special_variables": {
3715
Added:
"patterns": [
3716
Added:
{
3717
Added:
"match": "\\b_cmd\\b",
3718
Added:
"name": "variable.other.selector.objc"
3719
Added:
},
3720
Added:
{
3721
Added:
"match": "\\b(self|super)\\b",
3722
Added:
"name": "variable.language.objc"
3723
Added:
}
3724
Added:
]
3725
Added:
},
3726
Added:
"string_escaped_char": {
3727
Added:
"patterns": [
3728
Added:
{
3729
Added:
"match": "(?x)\\\\ (\n\\\\\t\t\t |\n[abefnprtv'\"?] |\n[0-3]\\d{,2}\t |\n[4-7]\\d?\t\t|\nx[a-fA-F0-9]{,2} |\nu[a-fA-F0-9]{,4} |\nU[a-fA-F0-9]{,8} )",
3730
Added:
"name": "constant.character.escape.objc"
3731
Added:
},
3732
Added:
{
3733
Added:
"match": "\\\\.",
3734
Added:
"name": "invalid.illegal.unknown-escape.objc"
3735
Added:
}
3736
Added:
]
3737
Added:
},
3738
Added:
"string_placeholder": {
3739
Added:
"patterns": [
3740
Added:
{
3741
Added:
"match": "(?x) %\n(\\d+\\$)?\t\t\t\t\t\t # field (argument #)\n[#0\\- +']*\t\t\t\t\t\t # flags\n[,;:_]?\t\t\t\t\t\t\t # separator character (AltiVec)\n((-?\\d+)|\\*(-?\\d+\\$)?)?\t\t # minimum field width\n(\\.((-?\\d+)|\\*(-?\\d+\\$)?)?)?\t# precision\n(hh|h|ll|l|j|t|z|q|L|vh|vl|v|hv|hl)? # length modifier\n[diouxXDOUeEfFgGaACcSspn%]\t\t # conversion type",
3742
Added:
"name": "constant.other.placeholder.objc"
3743
Added:
},
3744
Added:
{
3745
Added:
"match": "(%)(?!\"\\s*(PRI|SCN))",
3746
Added:
"captures": {
3747
Added:
"1": {
3748
Added:
"name": "invalid.illegal.placeholder.objc"
3749
Added:
}
3750
Added:
}
3751
Added:
}
3752
Added:
]
3753
Added:
}
3754
Added:
}
3755
Added:
}
lib/grammars/opam.json
@@ -0,0 +1,129 @@
1
Added:
{
2
Added:
"name": "opam",
3
Added:
"scopeName": "source.ocaml.opam",
4
Added:
"fileTypes": [
5
Added:
"opam"
6
Added:
],
7
Added:
"patterns": [
8
Added:
{
9
Added:
"include": "#comments"
10
Added:
},
11
Added:
{
12
Added:
"include": "#fields"
13
Added:
},
14
Added:
{
15
Added:
"include": "#values"
16
Added:
}
17
Added:
],
18
Added:
"repository": {
19
Added:
"comments": {
20
Added:
"patterns": [
21
Added:
{
22
Added:
"comment": "block comment",
23
Added:
"name": "comment.block.opam",
24
Added:
"begin": "\\(\\*",
25
Added:
"end": "\\*\\)"
26
Added:
},
27
Added:
{
28
Added:
"comment": "line comment",
29
Added:
"name": "comment.line.opam",
30
Added:
"begin": "#",
31
Added:
"end": "$"
32
Added:
}
33
Added:
]
34
Added:
},
35
Added:
"fields": {
36
Added:
"comment": "labeled field",
37
Added:
"match": "^([[:word:]-]*[[:alpha:]][[:word:]-]*)(:)",
38
Added:
"captures": {
39
Added:
"1": {
40
Added:
"name": "entity.name.tag.opam"
41
Added:
},
42
Added:
"2": {
43
Added:
"name": "keyword.operator.opam"
44
Added:
}
45
Added:
}
46
Added:
},
47
Added:
"values": {
48
Added:
"patterns": [
49
Added:
{
50
Added:
"comment": "boolean literal",
51
Added:
"name": "constant.language.opam",
52
Added:
"match": "\\b(true|false)\\b"
53
Added:
},
54
Added:
{
55
Added:
"comment": "integer literal",
56
Added:
"name": "constant.numeric.decimal.opam",
57
Added:
"match": "(\\b|\\-?)[[:digit:]]+\\b"
58
Added:
},
59
Added:
{
60
Added:
"comment": "double-quote string literal",
61
Added:
"name": "string.quoted.double.opam",
62
Added:
"begin": "\"",
63
Added:
"end": "\"",
64
Added:
"patterns": [
65
Added:
{
66
Added:
"include": "#string-elements"
67
Added:
}
68
Added:
]
69
Added:
},
70
Added:
{
71
Added:
"comment": "triple-double-quote string literal",
72
Added:
"name": "string.quoted.triple-double.opam",
73
Added:
"begin": "\"\"\"",
74
Added:
"end": "\"\"\"",
75
Added:
"patterns": [
76
Added:
{
77
Added:
"include": "#string-elements"
78
Added:
}
79
Added:
]
80
Added:
},
81
Added:
{
82
Added:
"comment": "operator",
83
Added:
"name": "keyword.operator.opam",
84
Added:
"match": "[!=<>\\|&?:]+"
85
Added:
},
86
Added:
{
87
Added:
"comment": "identifier",
88
Added:
"match": "\\b([[:word:]+-]+)\\b",
89
Added:
"name": "variable.parameter.opam"
90
Added:
}
91
Added:
]
92
Added:
},
93
Added:
"string-elements": {
94
Added:
"patterns": [
95
Added:
{
96
Added:
"comment": "escaped backslash",
97
Added:
"name": "constant.character.escape.opam",
98
Added:
"match": "\\\\\\\\"
99
Added:
},
100
Added:
{
101
Added:
"comment": "escaped quote or whitespace",
102
Added:
"name": "constant.character.escape.opam",
103
Added:
"match": "\\\\[\"ntbr\\n]"
104
Added:
},
105
Added:
{
106
Added:
"comment": "character from decimal ASCII code",
107
Added:
"name": "constant.character.escape.opam",
108
Added:
"match": "\\\\[[:digit:]]{3}"
109
Added:
},
110
Added:
{
111
Added:
"comment": "character from hexadecimal ASCII code",
112
Added:
"name": "constant.character.escape.opam",
113
Added:
"match": "\\\\x[[:xdigit:]]{2}"
114
Added:
},
115
Added:
{
116
Added:
"comment": "variable interpolation",
117
Added:
"name": "constant.variable.opam",
118
Added:
"begin": "%\\{",
119
Added:
"end": "}\\%"
120
Added:
},
121
Added:
{
122
Added:
"comment": "unknown escape sequence",
123
Added:
"name": "invalid.illegal.unknown-escape.opam",
124
Added:
"match": "\\\\."
125
Added:
}
126
Added:
]
127
Added:
}
128
Added:
}
129
Added:
}
lib/grammars/powershell.json
@@ -0,0 +1,1029 @@
1
Added:
{
2
Added:
"information_for_contributors": [
3
Added:
"This file has been converted from https://github.com/PowerShell/EditorSyntax/blob/master/PowerShellSyntax.tmLanguage",
4
Added:
"If you want to provide a fix or improvement, please create a pull request against the original repository.",
5
Added:
"Once accepted there, we are happy to receive an update request."
6
Added:
],
7
Added:
"version": "https://github.com/PowerShell/EditorSyntax/commit/742f0b5d4b60f5930c0b47fcc1f646860521296e",
8
Added:
"name": "PowerShell",
9
Added:
"scopeName": "source.powershell",
10
Added:
"patterns": [
11
Added:
{
12
Added:
"begin": "<#",
13
Added:
"beginCaptures": {
14
Added:
"0": {
15
Added:
"name": "punctuation.definition.comment.block.begin.powershell"
16
Added:
}
17
Added:
},
18
Added:
"end": "#>",
19
Added:
"endCaptures": {
20
Added:
"0": {
21
Added:
"name": "punctuation.definition.comment.block.end.powershell"
22
Added:
}
23
Added:
},
24
Added:
"name": "comment.block.powershell",
25
Added:
"patterns": [
26
Added:
{
27
Added:
"include": "#commentEmbeddedDocs"
28
Added:
}
29
Added:
]
30
Added:
},
31
Added:
{
32
Added:
"match": "[2-6]>&1|>>|>|<<|<|>|>\\||[1-6]>|[1-6]>>",
33
Added:
"name": "keyword.operator.redirection.powershell"
34
Added:
},
35
Added:
{
36
Added:
"include": "#commands"
37
Added:
},
38
Added:
{
39
Added:
"include": "#commentLine"
40
Added:
},
41
Added:
{
42
Added:
"include": "#variable"
43
Added:
},
44
Added:
{
45
Added:
"include": "#subexpression"
46
Added:
},
47
Added:
{
48
Added:
"include": "#function"
49
Added:
},
50
Added:
{
51
Added:
"include": "#attribute"
52
Added:
},
53
Added:
{
54
Added:
"include": "#UsingDirective"
55
Added:
},
56
Added:
{
57
Added:
"include": "#type"
58
Added:
},
59
Added:
{
60
Added:
"include": "#hashtable"
61
Added:
},
62
Added:
{
63
Added:
"include": "#doubleQuotedString"
64
Added:
},
65
Added:
{
66
Added:
"include": "#scriptblock"
67
Added:
},
68
Added:
{
69
Added:
"comment": "Needed to parse stuff correctly in 'argument mode'. (See about_parsing.)",
70
Added:
"include": "#doubleQuotedStringEscapes"
71
Added:
},
72
Added:
{
73
Added:
"begin": "['\\x{2018}-\\x{201B}]",
74
Added:
"beginCaptures": {
75
Added:
"0": {
76
Added:
"name": "punctuation.definition.string.begin.powershell"
77
Added:
}
78
Added:
},
79
Added:
"end": "['\\x{2018}-\\x{201B}]",
80
Added:
"applyEndPatternLast": true,
81
Added:
"endCaptures": {
82
Added:
"0": {
83
Added:
"name": "punctuation.definition.string.end.powershell"
84
Added:
}
85
Added:
},
86
Added:
"name": "string.quoted.single.powershell",
87
Added:
"patterns": [
88
Added:
{
89
Added:
"match": "['\\x{2018}-\\x{201B}]{2}",
90
Added:
"name": "constant.character.escape.powershell"
91
Added:
}
92
Added:
]
93
Added:
},
94
Added:
{
95
Added:
"begin": "(@[\"\\x{201C}-\\x{201E}])\\s*$",
96
Added:
"beginCaptures": {
97
Added:
"1": {
98
Added:
"name": "punctuation.definition.string.begin.powershell"
99
Added:
}
100
Added:
},
101
Added:
"end": "^[\"\\x{201C}-\\x{201E}]@",
102
Added:
"endCaptures": {
103
Added:
"0": {
104
Added:
"name": "punctuation.definition.string.end.powershell"
105
Added:
}
106
Added:
},
107
Added:
"name": "string.quoted.double.heredoc.powershell",
108
Added:
"patterns": [
109
Added:
{
110
Added:
"include": "#variableNoProperty"
111
Added:
},
112
Added:
{
113
Added:
"include": "#doubleQuotedStringEscapes"
114
Added:
},
115
Added:
{
116
Added:
"include": "#interpolation"
117
Added:
}
118
Added:
]
119
Added:
},
120
Added:
{
121
Added:
"begin": "(@['\\x{2018}-\\x{201B}])\\s*$",
122
Added:
"beginCaptures": {
123
Added:
"1": {
124
Added:
"name": "punctuation.definition.string.begin.powershell"
125
Added:
}
126
Added:
},
127
Added:
"end": "^['\\x{2018}-\\x{201B}]@",
128
Added:
"endCaptures": {
129
Added:
"0": {
130
Added:
"name": "punctuation.definition.string.end.powershell"
131
Added:
}
132
Added:
},
133
Added:
"name": "string.quoted.single.heredoc.powershell"
134
Added:
},
135
Added:
{
136
Added:
"include": "#numericConstant"
137
Added:
},
138
Added:
{
139
Added:
"begin": "(@)(\\()",
140
Added:
"beginCaptures": {
141
Added:
"1": {
142
Added:
"name": "keyword.other.array.begin.powershell"
143
Added:
},
144
Added:
"2": {
145
Added:
"name": "punctuation.section.group.begin.powershell"
146
Added:
}
147
Added:
},
148
Added:
"end": "\\)",
149
Added:
"endCaptures": {
150
Added:
"0": {
151
Added:
"name": "punctuation.section.group.end.powershell"
152
Added:
}
153
Added:
},
154
Added:
"name": "meta.group.array-expression.powershell",
155
Added:
"patterns": [
156
Added:
{
157
Added:
"include": "$self"
158
Added:
}
159
Added:
]
160
Added:
},
161
Added:
{
162
Added:
"begin": "((\\$))(\\()",
163
Added:
"beginCaptures": {
164
Added:
"1": {
165
Added:
"name": "keyword.other.substatement.powershell"
166
Added:
},
167
Added:
"2": {
168
Added:
"name": "punctuation.definition.subexpression.powershell"
169
Added:
},
170
Added:
"3": {
171
Added:
"name": "punctuation.section.group.begin.powershell"
172
Added:
}
173
Added:
},
174
Added:
"comment": "TODO: move to repo; make recursive.",
175
Added:
"end": "\\)",
176
Added:
"endCaptures": {
177
Added:
"0": {
178
Added:
"name": "punctuation.section.group.end.powershell"
179
Added:
}
180
Added:
},
181
Added:
"name": "meta.group.complex.subexpression.powershell",
182
Added:
"patterns": [
183
Added:
{
184
Added:
"include": "$self"
185
Added:
}
186
Added:
]
187
Added:
},
188
Added:
{
189
Added:
"match": "(\\b(([A-Za-z0-9\\-_\\.]+)\\.(?i:exe|com|cmd|bat))\\b)",
190
Added:
"name": "support.function.powershell"
191
Added:
},
192
Added:
{
193
Added:
"match": "(?<!\\w|-|\\.)((?i:begin|break|catch|clean|continue|data|default|define|do|dynamicparam|else|elseif|end|exit|finally|for|from|if|in|inlinescript|parallel|param|process|return|sequence|switch|throw|trap|try|until|var|while)|%|\\?)(?!\\w)",
194
Added:
"name": "keyword.control.powershell"
195
Added:
},
196
Added:
{
197
Added:
"match": "(?<!\\w|-|[^\\)]\\.)((?i:(foreach|where)(?!-object))|%|\\?)(?!\\w)",
198
Added:
"name": "keyword.control.powershell"
199
Added:
},
200
Added:
{
201
Added:
"begin": "(?<!\\w)(--%)(?!\\w)",
202
Added:
"beginCaptures": {
203
Added:
"1": {
204
Added:
"name": "keyword.control.powershell"
205
Added:
}
206
Added:
},
207
Added:
"end": "$",
208
Added:
"patterns": [
209
Added:
{
210
Added:
"match": ".+",
211
Added:
"name": "string.unquoted.powershell"
212
Added:
}
213
Added:
],
214
Added:
"comment": "This should be moved to the repository at some point."
215
Added:
},
216
Added:
{
217
Added:
"comment": "This should only be relevant inside a class but will require a rework of how classes are matched. This is a temp fix.",
218
Added:
"match": "(?<!\\w)((?i:hidden|static))(?!\\w)",
219
Added:
"name": "storage.modifier.powershell"
220
Added:
},
221
Added:
{
222
Added:
"captures": {
223
Added:
"1": {
224
Added:
"name": "storage.type.powershell"
225
Added:
},
226
Added:
"2": {
227
Added:
"name": "entity.name.function"
228
Added:
}
229
Added:
},
230
Added:
"comment": "capture should be entity.name.type, but it doesn't provide a good color in the default schema.",
231
Added:
"match": "(?<!\\w|-)((?i:class)|%|\\?)(?:\\s)+((?:\\p{L}|\\d|_|-|)+)\\b"
232
Added:
},
233
Added:
{
234
Added:
"match": "(?<!\\w)-(?i:is(?:not)?|as)\\b",
235
Added:
"name": "keyword.operator.comparison.powershell"
236
Added:
},
237
Added:
{
238
Added:
"match": "(?<!\\w)-(?i:[ic]?(?:eq|ne|[gl][te]|(?:not)?(?:like|match|contains|in)|replace))(?!\\p{L})",
239
Added:
"name": "keyword.operator.comparison.powershell"
240
Added:
},
241
Added:
{
242
Added:
"match": "(?<!\\w)-(?i:join|split)(?!\\p{L})|!",
243
Added:
"name": "keyword.operator.unary.powershell"
244
Added:
},
245
Added:
{
246
Added:
"match": "(?<!\\w)-(?i:and|or|not|xor)(?!\\p{L})|!",
247
Added:
"name": "keyword.operator.logical.powershell"
248
Added:
},
249
Added:
{
250
Added:
"match": "(?<!\\w)-(?i:band|bor|bnot|bxor|shl|shr)(?!\\p{L})",
251
Added:
"name": "keyword.operator.bitwise.powershell"
252
Added:
},
253
Added:
{
254
Added:
"match": "(?<!\\w)-(?i:f)(?!\\p{L})",
255
Added:
"name": "keyword.operator.string-format.powershell"
256
Added:
},
257
Added:
{
258
Added:
"match": "[+%*/-]?=|[+/*%-]",
259
Added:
"name": "keyword.operator.assignment.powershell"
260
Added:
},
261
Added:
{
262
Added:
"match": "\\|{2}|&{2}|;",
263
Added:
"name": "punctuation.terminator.statement.powershell"
264
Added:
},
265
Added:
{
266
Added:
"match": "&|(?<!\\w)\\.(?= )|`|,|\\|",
267
Added:
"name": "keyword.operator.other.powershell"
268
Added:
},
269
Added:
{
270
Added:
"comment": "This is very imprecise, is there a syntax for 'must come after...' ",
271
Added:
"match": "(?<!\\s|^)\\.\\.(?=\\-?\\d|\\(|\\$)",
272
Added:
"name": "keyword.operator.range.powershell"
273
Added:
}
274
Added:
],
275
Added:
"repository": {
276
Added:
"commentLine": {
277
Added:
"begin": "(?<![`\\\\-])(#)#*",
278
Added:
"captures": {
279
Added:
"1": {
280
Added:
"name": "punctuation.definition.comment.powershell"
281
Added:
}
282
Added:
},
283
Added:
"end": "$\\n?",
284
Added:
"name": "comment.line.powershell",
285
Added:
"patterns": [
286
Added:
{
287
Added:
"include": "#commentEmbeddedDocs"
288
Added:
},
289
Added:
{
290
Added:
"include": "#RequiresDirective"
291
Added:
}
292
Added:
]
293
Added:
},
294
Added:
"attribute": {
295
Added:
"begin": "(\\[)\\s*\\b(?i)(cmdletbinding|alias|outputtype|parameter|validatenotnull|validatenotnullorempty|validatecount|validateset|allownull|allowemptycollection|allowemptystring|validatescript|validaterange|validatepattern|validatelength|supportswildcards)\\b",
296
Added:
"beginCaptures": {
297
Added:
"1": {
298
Added:
"name": "punctuation.section.bracket.begin.powershell"
299
Added:
},
300
Added:
"2": {
301
Added:
"name": "support.function.attribute.powershell"
302
Added:
}
303
Added:
},
304
Added:
"end": "(\\])",
305
Added:
"endCaptures": {
306
Added:
"1": {
307
Added:
"name": "punctuation.section.bracket.end.powershell"
308
Added:
}
309
Added:
},
310
Added:
"name": "meta.attribute.powershell",
311
Added:
"patterns": [
312
Added:
{
313
Added:
"begin": "\\(",
314
Added:
"beginCaptures": {
315
Added:
"0": {
316
Added:
"name": "punctuation.section.group.begin.powershell"
317
Added:
}
318
Added:
},
319
Added:
"end": "\\)",
320
Added:
"endCaptures": {
321
Added:
"0": {
322
Added:
"name": "punctuation.section.group.end.powershell"
323
Added:
}
324
Added:
},
325
Added:
"patterns": [
326
Added:
{
327
Added:
"include": "$self"
328
Added:
},
329
Added:
{
330
Added:
"match": "(?i)\\b(mandatory|valuefrompipeline|valuefrompipelinebypropertyname|valuefromremainingarguments|position|parametersetname|defaultparametersetname|supportsshouldprocess|supportspaging|positionalbinding|helpuri|confirmimpact|helpmessage)\\b(?:\\s+)?(=)?",
331
Added:
"captures": {
332
Added:
"1": {
333
Added:
"name": "variable.parameter.attribute.powershell"
334
Added:
},
335
Added:
"2": {
336
Added:
"name": "keyword.operator.assignment.powershell"
337
Added:
}
338
Added:
}
339
Added:
}
340
Added:
]
341
Added:
}
342
Added:
]
343
Added:
},
344
Added:
"commands": {
345
Added:
"patterns": [
346
Added:
{
347
Added:
"comment": "Verb-Noun pattern:",
348
Added:
"match": "(?:(\\p{L}|\\d|_|-|\\\\|\\:)*\\\\)?\\b(?i:Add|Approve|Assert|Backup|Block|Build|Checkpoint|Clear|Close|Compare|Complete|Compress|Confirm|Connect|Convert|ConvertFrom|ConvertTo|Copy|Debug|Deny|Deploy|Disable|Disconnect|Dismount|Edit|Enable|Enter|Exit|Expand|Export|Find|Format|Get|Grant|Group|Hide|Import|Initialize|Install|Invoke|Join|Limit|Lock|Measure|Merge|Mount|Move|New|Open|Optimize|Out|Ping|Pop|Protect|Publish|Push|Read|Receive|Redo|Register|Remove|Rename|Repair|Request|Reset|Resize|Resolve|Restart|Restore|Resume|Revoke|Save|Search|Select|Send|Set|Show|Skip|Split|Start|Step|Stop|Submit|Suspend|Switch|Sync|Test|Trace|Unblock|Undo|Uninstall|Unlock|Unprotect|Unpublish|Unregister|Update|Use|Wait|Watch|Write)\\-.+?(?:\\.(?i:exe|cmd|bat|ps1))?\\b",
349
Added:
"name": "support.function.powershell"
350
Added:
},
351
Added:
{
352
Added:
"comment": "Builtin cmdlets with reserved verbs",
353
Added:
"match": "(?<!\\w)(?i:foreach-object)(?!\\w)",
354
Added:
"name": "support.function.powershell"
355
Added:
},
356
Added:
{
357
Added:
"comment": "Builtin cmdlets with reserved verbs",
358
Added:
"match": "(?<!\\w)(?i:where-object)(?!\\w)",
359
Added:
"name": "support.function.powershell"
360
Added:
},
361
Added:
{
362
Added:
"comment": "Builtin cmdlets with reserved verbs",
363
Added:
"match": "(?<!\\w)(?i:sort-object)(?!\\w)",
364
Added:
"name": "support.function.powershell"
365
Added:
},
366
Added:
{
367
Added:
"comment": "Builtin cmdlets with reserved verbs",
368
Added:
"match": "(?<!\\w)(?i:tee-object)(?!\\w)",
369
Added:
"name": "support.function.powershell"
370
Added:
}
371
Added:
]
372
Added:
},
373
Added:
"commentEmbeddedDocs": {
374
Added:
"patterns": [
375
Added:
{
376
Added:
"captures": {
377
Added:
"1": {
378
Added:
"name": "constant.string.documentation.powershell"
379
Added:
},
380
Added:
"2": {
381
Added:
"name": "keyword.operator.documentation.powershell"
382
Added:
}
383
Added:
},
384
Added:
"comment": "these embedded doc keywords do not support arguments, must be the only thing on the line",
385
Added:
"match": "(?:^|\\G)(?i:\\s*(\\.)(COMPONENT|DESCRIPTION|EXAMPLE|FUNCTIONALITY|INPUTS|LINK|NOTES|OUTPUTS|ROLE|SYNOPSIS))\\s*$",
386
Added:
"name": "comment.documentation.embedded.powershell"
387
Added:
},
388
Added:
{
389
Added:
"captures": {
390
Added:
"1": {
391
Added:
"name": "constant.string.documentation.powershell"
392
Added:
},
393
Added:
"2": {
394
Added:
"name": "keyword.operator.documentation.powershell"
395
Added:
},
396
Added:
"3": {
397
Added:
"name": "keyword.operator.documentation.powershell"
398
Added:
}
399
Added:
},
400
Added:
"comment": "these embedded doc keywords require arguments though the type required may be inconsistent, they may not all be able to use the same argument match",
401
Added:
"match": "(?:^|\\G)(?i:\\s*(\\.)(EXTERNALHELP|FORWARDHELP(?:CATEGORY|TARGETNAME)|PARAMETER|REMOTEHELPRUNSPACE))\\s+(.+?)\\s*$",
402
Added:
"name": "comment.documentation.embedded.powershell"
403
Added:
}
404
Added:
]
405
Added:
},
406
Added:
"doubleQuotedStringEscapes": {
407
Added:
"patterns": [
408
Added:
{
409
Added:
"match": "`[`0abefnrtv'\"\\x{2018}-\\x{201E}$]",
410
Added:
"name": "constant.character.escape.powershell"
411
Added:
},
412
Added:
{
413
Added:
"include": "#unicodeEscape"
414
Added:
}
415
Added:
]
416
Added:
},
417
Added:
"unicodeEscape": {
418
Added:
"comment": "`u{xxxx} added in PowerShell 6.0",
419
Added:
"patterns": [
420
Added:
{
421
Added:
"match": "`u\\{(?:(?:10)?([0-9a-fA-F]){1,4}|0?\\g<1>{1,5})}",
422
Added:
"name": "constant.character.escape.powershell"
423
Added:
},
424
Added:
{
425
Added:
"match": "`u(?:\\{[0-9a-fA-F]{,6}.)?",
426
Added:
"name": "invalid.character.escape.powershell"
427
Added:
}
428
Added:
]
429
Added:
},
430
Added:
"function": {
431
Added:
"begin": "^(?:\\s*+)(?i)(function|filter|configuration|workflow)\\s+(?:(global|local|script|private):)?((?:\\p{L}|\\d|_|-|\\.)+)",
432
Added:
"beginCaptures": {
433
Added:
"0": {
434
Added:
"name": "meta.function.powershell"
435
Added:
},
436
Added:
"1": {
437
Added:
"name": "storage.type.powershell"
438
Added:
},
439
Added:
"2": {
440
Added:
"name": "storage.modifier.scope.powershell"
441
Added:
},
442
Added:
"3": {
443
Added:
"name": "entity.name.function.powershell"
444
Added:
}
445
Added:
},
446
Added:
"end": "(?=\\{|\\()",
447
Added:
"patterns": [
448
Added:
{
449
Added:
"include": "#commentLine"
450
Added:
}
451
Added:
]
452
Added:
},
453
Added:
"subexpression": {
454
Added:
"begin": "\\(",
455
Added:
"beginCaptures": {
456
Added:
"0": {
457
Added:
"name": "punctuation.section.group.begin.powershell"
458
Added:
}
459
Added:
},
460
Added:
"end": "\\)",
461
Added:
"endCaptures": {
462
Added:
"0": {
463
Added:
"name": "punctuation.section.group.end.powershell"
464
Added:
}
465
Added:
},
466
Added:
"name": "meta.group.simple.subexpression.powershell",
467
Added:
"patterns": [
468
Added:
{
469
Added:
"include": "$self"
470
Added:
}
471
Added:
]
472
Added:
},
473
Added:
"interpolation": {
474
Added:
"begin": "(((\\$)))((\\())",
475
Added:
"beginCaptures": {
476
Added:
"1": {
477
Added:
"name": "keyword.other.substatement.powershell"
478
Added:
},
479
Added:
"2": {
480
Added:
"name": "punctuation.definition.substatement.powershell"
481
Added:
},
482
Added:
"3": {
483
Added:
"name": "punctuation.section.embedded.substatement.begin.powershell"
484
Added:
},
485
Added:
"4": {
486
Added:
"name": "punctuation.section.group.begin.powershell"
487
Added:
},
488
Added:
"5": {
489
Added:
"name": "punctuation.section.embedded.substatement.begin.powershell"
490
Added:
}
491
Added:
},
492
Added:
"contentName": "interpolated.complex.source.powershell",
493
Added:
"end": "(\\))",
494
Added:
"endCaptures": {
495
Added:
"0": {
496
Added:
"name": "punctuation.section.group.end.powershell"
497
Added:
},
498
Added:
"1": {
499
Added:
"name": "punctuation.section.embedded.substatement.end.powershell"
500
Added:
}
501
Added:
},
502
Added:
"name": "meta.embedded.substatement.powershell",
503
Added:
"patterns": [
504
Added:
{
505
Added:
"include": "$self"
506
Added:
}
507
Added:
]
508
Added:
},
509
Added:
"numericConstant": {
510
Added:
"patterns": [
511
Added:
{
512
Added:
"captures": {
513
Added:
"1": {
514
Added:
"name": "constant.numeric.hex.powershell"
515
Added:
},
516
Added:
"2": {
517
Added:
"name": "keyword.other.powershell"
518
Added:
}
519
Added:
},
520
Added:
"match": "(?<!\\w)([-+]?0(?:x|X)[0-9a-fA-F_]+(?:U|u|L|l|UL|Ul|uL|ul|LU|Lu|lU|lu)?)((?i:[kmgtp]b)?)\\b"
521
Added:
},
522
Added:
{
523
Added:
"captures": {
524
Added:
"1": {
525
Added:
"name": "constant.numeric.integer.powershell"
526
Added:
},
527
Added:
"2": {
528
Added:
"name": "keyword.other.powershell"
529
Added:
}
530
Added:
},
531
Added:
"match": "(?<!\\w)([-+]?(?:[0-9_]+)?\\.[0-9_]+(?:(?:e|E)[0-9]+)?(?:F|f|D|d|M|m)?)((?i:[kmgtp]b)?)\\b"
532
Added:
},
533
Added:
{
534
Added:
"captures": {
535
Added:
"1": {
536
Added:
"name": "constant.numeric.octal.powershell"
537
Added:
},
538
Added:
"2": {
539
Added:
"name": "keyword.other.powershell"
540
Added:
}
541
Added:
},
542
Added:
"match": "(?<!\\w)([-+]?0(?:b|B)[01_]+(?:U|u|L|l|UL|Ul|uL|ul|LU|Lu|lU|lu)?)((?i:[kmgtp]b)?)\\b"
543
Added:
},
544
Added:
{
545
Added:
"captures": {
546
Added:
"1": {
547
Added:
"name": "constant.numeric.integer.powershell"
548
Added:
},
549
Added:
"2": {
550
Added:
"name": "keyword.other.powershell"
551
Added:
}
552
Added:
},
553
Added:
"match": "(?<!\\w)([-+]?[0-9_]+(?:e|E)(?:[0-9_])?+(?:F|f|D|d|M|m)?)((?i:[kmgtp]b)?)\\b"
554
Added:
},
555
Added:
{
556
Added:
"captures": {
557
Added:
"1": {
558
Added:
"name": "constant.numeric.integer.powershell"
559
Added:
},
560
Added:
"2": {
561
Added:
"name": "keyword.other.powershell"
562
Added:
}
563
Added:
},
564
Added:
"match": "(?<!\\w)([-+]?[0-9_]+\\.(?:e|E)(?:[0-9_])?+(?:F|f|D|d|M|m)?)((?i:[kmgtp]b)?)\\b"
565
Added:
},
566
Added:
{
567
Added:
"captures": {
568
Added:
"1": {
569
Added:
"name": "constant.numeric.integer.powershell"
570
Added:
},
571
Added:
"2": {
572
Added:
"name": "keyword.other.powershell"
573
Added:
}
574
Added:
},
575
Added:
"match": "(?<!\\w)([-+]?[0-9_]+[\\.]?(?:F|f|D|d|M|m))((?i:[kmgtp]b)?)\\b"
576
Added:
},
577
Added:
{
578
Added:
"captures": {
579
Added:
"1": {
580
Added:
"name": "constant.numeric.integer.powershell"
581
Added:
},
582
Added:
"2": {
583
Added:
"name": "keyword.other.powershell"
584
Added:
}
585
Added:
},
586
Added:
"match": "(?<!\\w)([-+]?[0-9_]+[\\.]?(?:U|u|L|l|UL|Ul|uL|ul|LU|Lu|lU|lu)?)((?i:[kmgtp]b)?)\\b"
587
Added:
}
588
Added:
]
589
Added:
},
590
Added:
"scriptblock": {
591
Added:
"begin": "\\{",
592
Added:
"beginCaptures": {
593
Added:
"0": {
594
Added:
"name": "punctuation.section.braces.begin.powershell"
595
Added:
}
596
Added:
},
597
Added:
"end": "\\}",
598
Added:
"endCaptures": {
599
Added:
"0": {
600
Added:
"name": "punctuation.section.braces.end.powershell"
601
Added:
}
602
Added:
},
603
Added:
"name": "meta.scriptblock.powershell",
604
Added:
"patterns": [
605
Added:
{
606
Added:
"include": "$self"
607
Added:
}
608
Added:
]
609
Added:
},
610
Added:
"type": {
611
Added:
"begin": "\\[",
612
Added:
"beginCaptures": {
613
Added:
"0": {
614
Added:
"name": "punctuation.section.bracket.begin.powershell"
615
Added:
}
616
Added:
},
617
Added:
"end": "\\]",
618
Added:
"endCaptures": {
619
Added:
"0": {
620
Added:
"name": "punctuation.section.bracket.end.powershell"
621
Added:
}
622
Added:
},
623
Added:
"patterns": [
624
Added:
{
625
Added:
"match": "(?!\\d+|\\.)(?:\\p{L}|\\p{N}|\\.)+",
626
Added:
"name": "storage.type.powershell"
627
Added:
},
628
Added:
{
629
Added:
"include": "$self"
630
Added:
}
631
Added:
]
632
Added:
},
633
Added:
"variable": {
634
Added:
"patterns": [
635
Added:
{
636
Added:
"captures": {
637
Added:
"0": {
638
Added:
"name": "constant.language.powershell"
639
Added:
},
640
Added:
"1": {
641
Added:
"name": "punctuation.definition.variable.powershell"
642
Added:
}
643
Added:
},
644
Added:
"comment": "These are special constants.",
645
Added:
"match": "(\\$)(?i:(False|Null|True))\\b"
646
Added:
},
647
Added:
{
648
Added:
"captures": {
649
Added:
"0": {
650
Added:
"name": "support.constant.variable.powershell"
651
Added:
},
652
Added:
"1": {
653
Added:
"name": "punctuation.definition.variable.powershell"
654
Added:
},
655
Added:
"3": {
656
Added:
"name": "variable.other.member.powershell"
657
Added:
}
658
Added:
},
659
Added:
"comment": "These are the other built-in constants.",
660
Added:
"match": "(\\$)(?i:(Error|ExecutionContext|Host|Home|PID|PsHome|PsVersionTable|ShellID))((?:\\.(?:\\p{L}|\\d|_)+)*\\b)?\\b"
661
Added:
},
662
Added:
{
663
Added:
"captures": {
664
Added:
"0": {
665
Added:
"name": "support.variable.automatic.powershell"
666
Added:
},
667
Added:
"1": {
668
Added:
"name": "punctuation.definition.variable.powershell"
669
Added:
},
670
Added:
"3": {
671
Added:
"name": "variable.other.member.powershell"
672
Added:
}
673
Added:
},
674
Added:
"comment": "Automatic variables are not constants, but they are read-only. In monokai (default) color schema support.variable doesn't have color, so we use constant.",
675
Added:
"match": "(\\$)((?:[$^?])|(?i:_|Args|ConsoleFileName|Event|EventArgs|EventSubscriber|ForEach|Input|LastExitCode|Matches|MyInvocation|NestedPromptLevel|Profile|PSBoundParameters|PsCmdlet|PsCulture|PSDebugContext|PSItem|PSCommandPath|PSScriptRoot|PsUICulture|Pwd|Sender|SourceArgs|SourceEventArgs|StackTrace|Switch|This)\\b)((?:\\.(?:\\p{L}|\\d|_)+)*\\b)?"
676
Added:
},
677
Added:
{
678
Added:
"captures": {
679
Added:
"0": {
680
Added:
"name": "variable.language.powershell"
681
Added:
},
682
Added:
"1": {
683
Added:
"name": "punctuation.definition.variable.powershell"
684
Added:
},
685
Added:
"3": {
686
Added:
"name": "variable.other.member.powershell"
687
Added:
}
688
Added:
},
689
Added:
"comment": "Style preference variables as language variables so that they stand out.",
690
Added:
"match": "(\\$)(?i:(ConfirmPreference|DebugPreference|ErrorActionPreference|ErrorView|FormatEnumerationLimit|InformationPreference|LogCommandHealthEvent|LogCommandLifecycleEvent|LogEngineHealthEvent|LogEngineLifecycleEvent|LogProviderHealthEvent|LogProviderLifecycleEvent|MaximumAliasCount|MaximumDriveCount|MaximumErrorCount|MaximumFunctionCount|MaximumHistoryCount|MaximumVariableCount|OFS|OutputEncoding|PSCulture|PSDebugContext|PSDefaultParameterValues|PSEmailServer|PSItem|PSModuleAutoLoadingPreference|PSModuleAutoloadingPreference|PSSenderInfo|PSSessionApplicationName|PSSessionConfigurationName|PSSessionOption|ProgressPreference|VerbosePreference|WarningPreference|WhatIfPreference))((?:\\.(?:\\p{L}|\\d|_)+)*\\b)?\\b"
691
Added:
},
692
Added:
{
693
Added:
"captures": {
694
Added:
"0": {
695
Added:
"name": "variable.other.readwrite.powershell"
696
Added:
},
697
Added:
"1": {
698
Added:
"name": "punctuation.definition.variable.powershell"
699
Added:
},
700
Added:
"2": {
701
Added:
"name": "storage.modifier.scope.powershell"
702
Added:
},
703
Added:
"4": {
704
Added:
"name": "variable.other.member.powershell"
705
Added:
}
706
Added:
},
707
Added:
"match": "(?i:(\\$|@)(global|local|private|script|using|workflow):((?:\\p{L}|\\d|_)+))((?:\\.(?:\\p{L}|\\d|_)+)*\\b)?"
708
Added:
},
709
Added:
{
710
Added:
"captures": {
711
Added:
"0": {
712
Added:
"name": "variable.other.readwrite.powershell"
713
Added:
},
714
Added:
"1": {
715
Added:
"name": "punctuation.definition.variable.powershell"
716
Added:
},
717
Added:
"2": {
718
Added:
"name": "punctuation.section.braces.begin.powershell"
719
Added:
},
720
Added:
"3": {
721
Added:
"name": "storage.modifier.scope.powershell"
722
Added:
},
723
Added:
"5": {
724
Added:
"name": "punctuation.section.braces.end.powershell"
725
Added:
},
726
Added:
"6": {
727
Added:
"name": "variable.other.member.powershell"
728
Added:
}
729
Added:
},
730
Added:
"match": "(?i:(\\$)(\\{)(global|local|private|script|using|workflow):([^}]*[^}`])(\\}))((?:\\.(?:\\p{L}|\\d|_)+)*\\b)?"
731
Added:
},
732
Added:
{
733
Added:
"captures": {
734
Added:
"0": {
735
Added:
"name": "variable.other.readwrite.powershell"
736
Added:
},
737
Added:
"1": {
738
Added:
"name": "punctuation.definition.variable.powershell"
739
Added:
},
740
Added:
"2": {
741
Added:
"name": "support.variable.drive.powershell"
742
Added:
},
743
Added:
"4": {
744
Added:
"name": "variable.other.member.powershell"
745
Added:
}
746
Added:
},
747
Added:
"match": "(?i:(\\$|@)((?:\\p{L}|\\d|_)+:)?((?:\\p{L}|\\d|_)+))((?:\\.(?:\\p{L}|\\d|_)+)*\\b)?"
748
Added:
},
749
Added:
{
750
Added:
"captures": {
751
Added:
"0": {
752
Added:
"name": "variable.other.readwrite.powershell"
753
Added:
},
754
Added:
"1": {
755
Added:
"name": "punctuation.definition.variable.powershell"
756
Added:
},
757
Added:
"2": {
758
Added:
"name": "punctuation.section.braces.begin.powershell"
759
Added:
},
760
Added:
"3": {
761
Added:
"name": "support.variable.drive.powershell"
762
Added:
},
763
Added:
"5": {
764
Added:
"name": "punctuation.section.braces.end.powershell"
765
Added:
},
766
Added:
"6": {
767
Added:
"name": "variable.other.member.powershell"
768
Added:
}
769
Added:
},
770
Added:
"match": "(?i:(\\$)(\\{)((?:\\p{L}|\\d|_)+:)?([^}]*[^}`])(\\}))((?:\\.(?:\\p{L}|\\d|_)+)*\\b)?"
771
Added:
}
772
Added:
]
773
Added:
},
774
Added:
"UsingDirective": {
775
Added:
"match": "(?<!\\w)(?i:(using))\\s+(?i:(namespace|module))\\s+(?i:((?:\\w+(?:\\.)?)+))",
776
Added:
"captures": {
777
Added:
"1": {
778
Added:
"name": "keyword.control.using.powershell"
779
Added:
},
780
Added:
"2": {
781
Added:
"name": "keyword.other.powershell"
782
Added:
},
783
Added:
"3": {
784
Added:
"name": "variable.parameter.powershell"
785
Added:
}
786
Added:
}
787
Added:
},
788
Added:
"RequiresDirective": {
789
Added:
"begin": "(?<=#)(?i:(requires))\\s",
790
Added:
"beginCaptures": {
791
Added:
"0": {
792
Added:
"name": "keyword.control.requires.powershell"
793
Added:
}
794
Added:
},
795
Added:
"end": "$",
796
Added:
"name": "meta.requires.powershell",
797
Added:
"patterns": [
798
Added:
{
799
Added:
"match": "\\-(?i:Modules|PSSnapin|RunAsAdministrator|ShellId|Version|Assembly|PSEdition)",
800
Added:
"name": "keyword.other.powershell"
801
Added:
},
802
Added:
{
803
Added:
"match": "(?<!-)\\b\\p{L}+|\\d+(?:\\.\\d+)*",
804
Added:
"name": "variable.parameter.powershell"
805
Added:
},
806
Added:
{
807
Added:
"include": "#hashtable"
808
Added:
}
809
Added:
]
810
Added:
},
811
Added:
"variableNoProperty": {
812
Added:
"patterns": [
813
Added:
{
814
Added:
"captures": {
815
Added:
"0": {
816
Added:
"name": "constant.language.powershell"
817
Added:
},
818
Added:
"1": {
819
Added:
"name": "punctuation.definition.variable.powershell"
820
Added:
}
821
Added:
},
822
Added:
"comment": "These are special constants.",
823
Added:
"match": "(\\$)(?i:(False|Null|True))\\b"
824
Added:
},
825
Added:
{
826
Added:
"captures": {
827
Added:
"0": {
828
Added:
"name": "support.constant.variable.powershell"
829
Added:
},
830
Added:
"1": {
831
Added:
"name": "punctuation.definition.variable.powershell"
832
Added:
},
833
Added:
"3": {
834
Added:
"name": "variable.other.member.powershell"
835
Added:
}
836
Added:
},
837
Added:
"comment": "These are the other built-in constants.",
838
Added:
"match": "(\\$)(?i:(Error|ExecutionContext|Host|Home|PID|PsHome|PsVersionTable|ShellID))\\b"
839
Added:
},
840
Added:
{
841
Added:
"captures": {
842
Added:
"0": {
843
Added:
"name": "support.variable.automatic.powershell"
844
Added:
},
845
Added:
"1": {
846
Added:
"name": "punctuation.definition.variable.powershell"
847
Added:
},
848
Added:
"3": {
849
Added:
"name": "variable.other.member.powershell"
850
Added:
}
851
Added:
},
852
Added:
"comment": "Automatic variables are not constants, but they are read-only...",
853
Added:
"match": "(\\$)((?:[$^?])|(?i:_|Args|ConsoleFileName|Event|EventArgs|EventSubscriber|ForEach|Input|LastExitCode|Matches|MyInvocation|NestedPromptLevel|Profile|PSBoundParameters|PsCmdlet|PsCulture|PSDebugContext|PSItem|PSCommandPath|PSScriptRoot|PsUICulture|Pwd|Sender|SourceArgs|SourceEventArgs|StackTrace|Switch|This)\\b)"
854
Added:
},
855
Added:
{
856
Added:
"captures": {
857
Added:
"0": {
858
Added:
"name": "variable.language.powershell"
859
Added:
},
860
Added:
"1": {
861
Added:
"name": "punctuation.definition.variable.powershell"
862
Added:
},
863
Added:
"3": {
864
Added:
"name": "variable.other.member.powershell"
865
Added:
}
866
Added:
},
867
Added:
"comment": "Style preference variables as language variables so that they stand out.",
868
Added:
"match": "(\\$)(?i:(ConfirmPreference|DebugPreference|ErrorActionPreference|ErrorView|FormatEnumerationLimit|InformationPreference|LogCommandHealthEvent|LogCommandLifecycleEvent|LogEngineHealthEvent|LogEngineLifecycleEvent|LogProviderHealthEvent|LogProviderLifecycleEvent|MaximumAliasCount|MaximumDriveCount|MaximumErrorCount|MaximumFunctionCount|MaximumHistoryCount|MaximumVariableCount|OFS|OutputEncoding|PSCulture|PSDebugContext|PSDefaultParameterValues|PSEmailServer|PSItem|PSModuleAutoLoadingPreference|PSModuleAutoloadingPreference|PSSenderInfo|PSSessionApplicationName|PSSessionConfigurationName|PSSessionOption|ProgressPreference|VerbosePreference|WarningPreference|WhatIfPreference))\\b"
869
Added:
},
870
Added:
{
871
Added:
"captures": {
872
Added:
"0": {
873
Added:
"name": "variable.other.readwrite.powershell"
874
Added:
},
875
Added:
"1": {
876
Added:
"name": "punctuation.definition.variable.powershell"
877
Added:
},
878
Added:
"2": {
879
Added:
"name": "storage.modifier.scope.powershell"
880
Added:
},
881
Added:
"4": {
882
Added:
"name": "variable.other.member.powershell"
883
Added:
}
884
Added:
},
885
Added:
"match": "(?i:(\\$)(global|local|private|script|using|workflow):((?:\\p{L}|\\d|_)+))"
886
Added:
},
887
Added:
{
888
Added:
"captures": {
889
Added:
"0": {
890
Added:
"name": "variable.other.readwrite.powershell"
891
Added:
},
892
Added:
"1": {
893
Added:
"name": "punctuation.definition.variable.powershell"
894
Added:
},
895
Added:
"2": {
896
Added:
"name": "storage.modifier.scope.powershell"
897
Added:
},
898
Added:
"4": {
899
Added:
"name": "keyword.other.powershell"
900
Added:
},
901
Added:
"5": {
902
Added:
"name": "variable.other.member.powershell"
903
Added:
}
904
Added:
},
905
Added:
"match": "(?i:(\\$)(\\{)(global|local|private|script|using|workflow):([^}]*[^}`])(\\}))"
906
Added:
},
907
Added:
{
908
Added:
"captures": {
909
Added:
"0": {
910
Added:
"name": "variable.other.readwrite.powershell"
911
Added:
},
912
Added:
"1": {
913
Added:
"name": "punctuation.definition.variable.powershell"
914
Added:
},
915
Added:
"2": {
916
Added:
"name": "support.variable.drive.powershell"
917
Added:
},
918
Added:
"4": {
919
Added:
"name": "variable.other.member.powershell"
920
Added:
}
921
Added:
},
922
Added:
"match": "(?i:(\\$)((?:\\p{L}|\\d|_)+:)?((?:\\p{L}|\\d|_)+))"
923
Added:
},
924
Added:
{
925
Added:
"captures": {
926
Added:
"0": {
927
Added:
"name": "variable.other.readwrite.powershell"
928
Added:
},
929
Added:
"1": {
930
Added:
"name": "punctuation.definition.variable.powershell"
931
Added:
},
932
Added:
"2": {
933
Added:
"name": "punctuation.section.braces.begin"
934
Added:
},
935
Added:
"3": {
936
Added:
"name": "support.variable.drive.powershell"
937
Added:
},
938
Added:
"5": {
939
Added:
"name": "punctuation.section.braces.end"
940
Added:
}
941
Added:
},
942
Added:
"match": "(?i:(\\$)(\\{)((?:\\p{L}|\\d|_)+:)?([^}]*[^}`])(\\}))"
943
Added:
}
944
Added:
]
945
Added:
},
946
Added:
"hashtable": {
947
Added:
"begin": "(@)(\\{)",
948
Added:
"beginCaptures": {
949
Added:
"1": {
950
Added:
"name": "keyword.other.hashtable.begin.powershell"
951
Added:
},
952
Added:
"2": {
953
Added:
"name": "punctuation.section.braces.begin.powershell"
954
Added:
}
955
Added:
},
956
Added:
"end": "(\\})",
957
Added:
"endCaptures": {
958
Added:
"1": {
959
Added:
"name": "punctuation.section.braces.end.powershell"
960
Added:
}
961
Added:
},
962
Added:
"name": "meta.hashtable.powershell",
963
Added:
"patterns": [
964
Added:
{
965
Added:
"captures": {
966
Added:
"1": {
967
Added:
"name": "punctuation.definition.string.begin.powershell"
968
Added:
},
969
Added:
"2": {
970
Added:
"name": "variable.other.readwrite.powershell"
971
Added:
},
972
Added:
"3": {
973
Added:
"name": "punctuation.definition.string.end.powershell"
974
Added:
},
975
Added:
"4": {
976
Added:
"name": "keyword.operator.assignment.powershell"
977
Added:
}
978
Added:
},
979
Added:
"match": "\\b((?:\\'|\\\")?)(\\w+)((?:\\'|\\\")?)(?:\\s+)?(=)(?:\\s+)?",
980
Added:
"name": "meta.hashtable.assignment.powershell"
981
Added:
},
982
Added:
{
983
Added:
"include": "#scriptblock"
984
Added:
},
985
Added:
{
986
Added:
"include": "$self"
987
Added:
}
988
Added:
]
989
Added:
},
990
Added:
"doubleQuotedString": {
991
Added:
"begin": "[\"\\x{201C}-\\x{201E}]",
992
Added:
"beginCaptures": {
993
Added:
"0": {
994
Added:
"name": "punctuation.definition.string.begin.powershell"
995
Added:
}
996
Added:
},
997
Added:
"end": "[\"\\x{201C}-\\x{201E}]",
998
Added:
"applyEndPatternLast": true,
999
Added:
"endCaptures": {
1000
Added:
"0": {
1001
Added:
"name": "punctuation.definition.string.end.powershell"
1002
Added:
}
1003
Added:
},
1004
Added:
"name": "string.quoted.double.powershell",
1005
Added:
"patterns": [
1006
Added:
{
1007
Added:
"match": "(?i)\\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,64}\\b"
1008
Added:
},
1009
Added:
{
1010
Added:
"include": "#variableNoProperty"
1011
Added:
},
1012
Added:
{
1013
Added:
"include": "#doubleQuotedStringEscapes"
1014
Added:
},
1015
Added:
{
1016
Added:
"match": "[\"\\x{201C}-\\x{201E}]{2}",
1017
Added:
"name": "constant.character.escape.powershell"
1018
Added:
},
1019
Added:
{
1020
Added:
"include": "#interpolation"
1021
Added:
},
1022
Added:
{
1023
Added:
"match": "`\\s*$",
1024
Added:
"name": "keyword.other.powershell"
1025
Added:
}
1026
Added:
]
1027
Added:
}
1028
Added:
}
1029
Added:
}
lib/grammars/protobuf.json
@@ -0,0 +1,285 @@
1
Added:
{
2
Added:
"name": "Protocol Buffer 3",
3
Added:
"scopeName": "source.proto",
4
Added:
"fileTypes": ["proto"],
5
Added:
6
Added:
"patterns": [
7
Added:
{ "include": "#comments" },
8
Added:
{ "include": "#syntax" },
9
Added:
{ "include": "#package" },
10
Added:
{ "include": "#import" },
11
Added:
{ "include": "#optionStmt" },
12
Added:
{ "include": "#message" },
13
Added:
{ "include": "#enum" },
14
Added:
{ "include": "#service" }
15
Added:
],
16
Added:
17
Added:
"repository": {
18
Added:
"comments": {
19
Added:
"patterns": [
20
Added:
{
21
Added:
"name": "comment.block.proto",
22
Added:
"begin": "/\\*",
23
Added:
"end": "\\*/"
24
Added:
},
25
Added:
{
26
Added:
"name": "comment.line.double-slash.proto",
27
Added:
"begin": "//",
28
Added:
"end": "$\\n?"
29
Added:
}
30
Added:
]
31
Added:
},
32
Added:
"syntax": {
33
Added:
"match": "\\s*(syntax)\\s*(=)\\s*(\"proto[23]\")\\s*(;)",
34
Added:
"captures": {
35
Added:
"1": { "name": "keyword.other.proto" },
36
Added:
"2": { "name": "keyword.operator.assignment.proto" },
37
Added:
"3": { "name": "string.quoted.double.proto.syntax" },
38
Added:
"4": { "name": "punctuation.terminator.proto" }
39
Added:
}
40
Added:
},
41
Added:
"package": {
42
Added:
"match": "\\s*(package)\\s+([\\w.]+)\\s*(;)",
43
Added:
"captures": {
44
Added:
"1": { "name": "keyword.other.proto" },
45
Added:
"2": { "name": "string.unquoted.proto.package" },
46
Added:
"3": { "name": "punctuation.terminator.proto" }
47
Added:
}
48
Added:
},
49
Added:
"import": {
50
Added:
"match": "\\s*(import)\\s+(weak|public)?\\s*(\"[^\"]+\")\\s*(;)",
51
Added:
"captures": {
52
Added:
"1": { "name": "keyword.other.proto" },
53
Added:
"2": { "name": "keyword.other.proto" },
54
Added:
"3": { "name": "string.quoted.double.proto.import" },
55
Added:
"4": { "name": "punctuation.terminator.proto" }
56
Added:
}
57
Added:
},
58
Added:
"optionStmt": {
59
Added:
"begin": "(option)\\s+(\\w+|\\(\\w+(\\.\\w+)*\\))(\\.\\w+)*\\s*(=)",
60
Added:
"beginCaptures": {
61
Added:
"1": { "name": "keyword.other.proto" },
62
Added:
"2": { "name": "support.other.proto" },
63
Added:
"3": { "name": "support.other.proto" },
64
Added:
"4": { "name": "support.other.proto" },
65
Added:
"5": { "name": "keyword.operator.assignment.proto" }
66
Added:
},
67
Added:
"end": "(;)",
68
Added:
"endCaptures": {
69
Added:
"1": { "name": "punctuation.terminator.proto" }
70
Added:
},
71
Added:
"patterns": [
72
Added:
{ "include": "#constants" },
73
Added:
{ "include": "#number" },
74
Added:
{ "include": "#string" },
75
Added:
{ "include": "#subMsgOption" }
76
Added:
]
77
Added:
},
78
Added:
"subMsgOption": {
79
Added:
"begin": "\\{",
80
Added:
"end": "\\}",
81
Added:
"patterns": [{ "include": "#kv" }, { "include": "#comments" }]
82
Added:
},
83
Added:
"kv": {
84
Added:
"begin": "(\\w+)\\s*(:)",
85
Added:
"beginCaptures": {
86
Added:
"1": { "name": "keyword.other.proto" },
87
Added:
"2": { "name": "punctuation.separator.key-value.proto" }
88
Added:
},
89
Added:
"end": "(;)|,|(?=[}/_a-zA-Z])",
90
Added:
"endCaptures": {
91
Added:
"1": { "name": "punctuation.terminator.proto" }
92
Added:
},
93
Added:
"patterns": [
94
Added:
{ "include": "#constants" },
95
Added:
{ "include": "#number" },
96
Added:
{ "include": "#string" },
97
Added:
{ "include": "#subMsgOption" }
98
Added:
]
99
Added:
},
100
Added:
"fieldOptions": {
101
Added:
"begin": "\\[",
102
Added:
"end": "\\]",
103
Added:
"patterns": [
104
Added:
{ "include": "#constants" },
105
Added:
{ "include": "#number" },
106
Added:
{ "include": "#string" },
107
Added:
{ "include": "#subMsgOption" },
108
Added:
{ "include": "#optionName" }
109
Added:
]
110
Added:
},
111
Added:
"optionName": {
112
Added:
"match": "(\\w+|\\(\\w+(\\.\\w+)*\\))(\\.\\w+)*",
113
Added:
"captures": {
114
Added:
"1": { "name": "support.other.proto" },
115
Added:
"2": { "name": "support.other.proto" },
116
Added:
"3": { "name": "support.other.proto" }
117
Added:
}
118
Added:
},
119
Added:
"message": {
120
Added:
"begin": "(message|extend)(\\s+)([A-Za-z_][A-Za-z0-9_.]*)(\\s*)(\\{)?",
121
Added:
"beginCaptures": {
122
Added:
"1": { "name": "keyword.other.proto" },
123
Added:
"3": { "name": "entity.name.class.message.proto" }
124
Added:
},
125
Added:
"end": "\\}",
126
Added:
"patterns": [
127
Added:
{ "include": "#reserved" },
128
Added:
{ "include": "$self" },
129
Added:
{ "include": "#enum" },
130
Added:
{ "include": "#optionStmt" },
131
Added:
{ "include": "#comments" },
132
Added:
{ "include": "#oneof" },
133
Added:
{ "include": "#field" },
134
Added:
{ "include": "#mapfield" }
135
Added:
]
136
Added:
},
137
Added:
"reserved": {
138
Added:
"begin": "(reserved)\\s+",
139
Added:
"beginCaptures": {
140
Added:
"1": { "name": "keyword.other.proto" }
141
Added:
},
142
Added:
"end": "(;)",
143
Added:
"endCaptures": {
144
Added:
"1": { "name": "punctuation.terminator.proto" }
145
Added:
},
146
Added:
"patterns": [
147
Added:
{
148
Added:
"match": "(\\d+)(\\s+(to)\\s+(\\d+))?",
149
Added:
"captures": {
150
Added:
"1": { "name": "constant.numeric.proto" },
151
Added:
"3": { "name": "keyword.other.proto" },
152
Added:
"4": { "name": "constant.numeric.proto" }
153
Added:
}
154
Added:
},
155
Added:
{ "include": "#string" }
156
Added:
]
157
Added:
},
158
Added:
"field": {
159
Added:
"begin": "\\s*(optional|repeated|required)?\\s*(\\.?[\\w.]+)\\s+(\\w+)\\s*(=)\\s*(0[xX][0-9a-fA-F]+|[0-9]+)",
160
Added:
"beginCaptures": {
161
Added:
"1": { "name": "storage.modifier.proto" },
162
Added:
"2": { "name": "storage.type.proto" },
163
Added:
"3": { "name": "variable.other.proto" },
164
Added:
"4": { "name": "keyword.operator.assignment.proto" },
165
Added:
"5": { "name": "constant.numeric.proto" }
166
Added:
},
167
Added:
"end": "(;)",
168
Added:
"endCaptures": {
169
Added:
"1": { "name": "punctuation.terminator.proto" }
170
Added:
},
171
Added:
"patterns": [{ "include": "#fieldOptions" }]
172
Added:
},
173
Added:
"mapfield": {
174
Added:
"begin": "\\s*(map)\\s*(<)\\s*(\\.?[\\w.]+)\\s*,\\s*(\\.?[\\w.]+)\\s*(>)\\s+(\\w+)\\s*(=)\\s*(\\d+)",
175
Added:
"beginCaptures": {
176
Added:
"1": { "name": "storage.type.proto" },
177
Added:
"2": { "name": "punctuation.definition.typeparameters.begin.proto" },
178
Added:
"3": { "name": "storage.type.proto" },
179
Added:
"4": { "name": "storage.type.proto" },
180
Added:
"5": { "name": "punctuation.definition.typeparameters.end.proto" },
181
Added:
"6": { "name": "variable.other.proto" },
182
Added:
"7": { "name": "keyword.operator.assignment.proto" },
183
Added:
"8": { "name": "constant.numeric.proto" }
184
Added:
},
185
Added:
"end": "(;)",
186
Added:
"endCaptures": {
187
Added:
"1": { "name": "punctuation.terminator.proto" }
188
Added:
},
189
Added:
"patterns": [{ "include": "#fieldOptions" }]
190
Added:
},
191
Added:
"oneof": {
192
Added:
"begin": "(oneof)\\s+([A-Za-z][A-Za-z0-9_]*)\\s*\\{?",
193
Added:
"beginCaptures": {
194
Added:
"1": { "name": "keyword.other.proto" },
195
Added:
"2": { "name": "variable.other.proto" }
196
Added:
},
197
Added:
"end": "\\}",
198
Added:
"patterns": [
199
Added:
{ "include": "#optionStmt" },
200
Added:
{ "include": "#comments" },
201
Added:
{ "include": "#field" }
202
Added:
]
203
Added:
},
204
Added:
"enum": {
205
Added:
"begin": "(enum)(\\s+)([A-Za-z][A-Za-z0-9_]*)(\\s*)(\\{)?",
206
Added:
"beginCaptures": {
207
Added:
"1": { "name": "keyword.other.proto" },
208
Added:
"3": { "name": "entity.name.class.proto" }
209
Added:
},
210
Added:
"end": "\\}",
211
Added:
"patterns": [
212
Added:
{ "include": "#reserved" },
213
Added:
{ "include": "#optionStmt" },
214
Added:
{ "include": "#comments" },
215
Added:
{
216
Added:
"begin": "([A-Za-z][A-Za-z0-9_]*)\\s*(=)\\s*(-?0[xX][0-9a-fA-F]+|-?[0-9]+)",
217
Added:
"beginCaptures": {
218
Added:
"1": { "name": "variable.other.proto" },
219
Added:
"2": { "name": "keyword.operator.assignment.proto" },
220
Added:
"3": { "name": "constant.numeric.proto" }
221
Added:
},
222
Added:
"end": "(;)",
223
Added:
"endCaptures": {
224
Added:
"1": { "name": "punctuation.terminator.proto" }
225
Added:
},
226
Added:
"patterns": [{ "include": "#fieldOptions" }]
227
Added:
}
228
Added:
]
229
Added:
},
230
Added:
"service": {
231
Added:
"begin": "(service)\\s+([A-Za-z][A-Za-z0-9_.]*)\\s*\\{?",
232
Added:
"beginCaptures": {
233
Added:
"1": { "name": "keyword.other.proto" },
234
Added:
"2": { "name": "entity.name.class.message.proto" }
235
Added:
},
236
Added:
"end": "\\}",
237
Added:
"patterns": [
238
Added:
{ "include": "#comments" },
239
Added:
{ "include": "#optionStmt" },
240
Added:
{ "include": "#method" }
241
Added:
]
242
Added:
},
243
Added:
"method": {
244
Added:
"begin": "(rpc)\\s+([A-Za-z][A-Za-z0-9_]*)",
245
Added:
"beginCaptures": {
246
Added:
"1": { "name": "keyword.other.proto" },
247
Added:
"2": { "name": "entity.name.function" }
248
Added:
},
249
Added:
"end": "\\}|(;)",
250
Added:
"endCaptures": {
251
Added:
"1": { "name": "punctuation.terminator.proto" }
252
Added:
},
253
Added:
"patterns": [
254
Added:
{ "include": "#comments" },
255
Added:
{ "include": "#optionStmt" },
256
Added:
{ "include": "#rpcKeywords" },
257
Added:
{ "include": "#ident" }
258
Added:
]
259
Added:
},
260
Added:
"rpcKeywords": {
261
Added:
"match": "\\b(stream|returns)\\b",
262
Added:
"name": "keyword.other.proto"
263
Added:
},
264
Added:
"ident": {
265
Added:
"match": "\\.?[A-Za-z][A-Za-z0-9_.]*",
266
Added:
"name": "entity.name.class.proto"
267
Added:
},
268
Added:
"constants": {
269
Added:
"match": "\\b(true|false|max|[A-Z_]+)\\b",
270
Added:
"name": "constant.language.proto"
271
Added:
},
272
Added:
"storagetypes": {
273
Added:
"match": "\\b(double|float|int32|int64|uint32|uint64|sint32|sint64|fixed32|fixed64|sfixed32|sfixed64|bool|string|bytes)\\b",
274
Added:
"name": "storage.type.proto"
275
Added:
},
276
Added:
"string": {
277
Added:
"match": "([\"'])(?:\\\\.|[^\\\\])*?\\1",
278
Added:
"name": "string.quoted.double.proto"
279
Added:
},
280
Added:
"number": {
281
Added:
"name": "constant.numeric.proto",
282
Added:
"match": "\\b((0(x|X)[0-9a-fA-F]*)|(([0-9]+\\.?[0-9]*)|(\\.[0-9]+))((e|E)(\\+|-)?[0-9]+)?)\\b"
283
Added:
}
284
Added:
}
285
Added:
}
lib/grammars/terraform.json
@@ -0,0 +1,816 @@
1
Added:
{
2
Added:
"scopeName": "source.hcl.terraform",
3
Added:
"name": "HashiCorp Terraform",
4
Added:
"uuid": "d9db10d3-db70-48aa-8d44-f96ccbaa29f3",
5
Added:
"fileTypes": [
6
Added:
"tf",
7
Added:
"tfvars"
8
Added:
],
9
Added:
"patterns": [
10
Added:
{
11
Added:
"include": "#comments"
12
Added:
},
13
Added:
{
14
Added:
"include": "#attribute_definition"
15
Added:
},
16
Added:
{
17
Added:
"include": "#block"
18
Added:
},
19
Added:
{
20
Added:
"include": "#expressions"
21
Added:
}
22
Added:
],
23
Added:
"repository": {
24
Added:
"attribute_access": {
25
Added:
"begin": "\\.(?!\\*)",
26
Added:
"end": "[[:alpha:]][\\w-]*|\\d*",
27
Added:
"comment": "Matches traversal attribute access such as .attr",
28
Added:
"beginCaptures": {
29
Added:
"0": {
30
Added:
"name": "keyword.operator.accessor.hcl"
31
Added:
}
32
Added:
},
33
Added:
"endCaptures": {
34
Added:
"0": {
35
Added:
"patterns": [
36
Added:
{
37
Added:
"match": "(?!null|false|true)[[:alpha:]][\\w-]*",
38
Added:
"comment": "Attribute name",
39
Added:
"name": "variable.other.member.hcl"
40
Added:
},
41
Added:
{
42
Added:
"match": "\\d+",
43
Added:
"comment": "Optional attribute index",
44
Added:
"name": "constant.numeric.integer.hcl"
45
Added:
}
46
Added:
]
47
Added:
}
48
Added:
}
49
Added:
},
50
Added:
"attribute_definition": {
51
Added:
"name": "variable.declaration.hcl",
52
Added:
"match": "(\\()?(\\b(?!null\\b|false\\b|true\\b)[[:alpha:]][[:alnum:]_-]*)(\\))?\\s*(\\=(?!\\=|\\>))\\s*",
53
Added:
"comment": "Identifier \"=\" with optional parens",
54
Added:
"captures": {
55
Added:
"1": {
56
Added:
"name": "punctuation.section.parens.begin.hcl"
57
Added:
},
58
Added:
"2": {
59
Added:
"name": "variable.other.readwrite.hcl"
60
Added:
},
61
Added:
"3": {
62
Added:
"name": "punctuation.section.parens.end.hcl"
63
Added:
},
64
Added:
"4": {
65
Added:
"name": "keyword.operator.assignment.hcl"
66
Added:
}
67
Added:
}
68
Added:
},
69
Added:
"attribute_splat": {
70
Added:
"begin": "\\.",
71
Added:
"end": "\\*",
72
Added:
"comment": "Legacy attribute-only splat",
73
Added:
"beginCaptures": {
74
Added:
"0": {
75
Added:
"name": "keyword.operator.accessor.hcl"
76
Added:
}
77
Added:
},
78
Added:
"endCaptures": {
79
Added:
"0": {
80
Added:
"name": "keyword.operator.splat.hcl"
81
Added:
}
82
Added:
}
83
Added:
},
84
Added:
"block": {
85
Added:
"name": "meta.block.hcl",
86
Added:
"begin": "([\\w][\\-\\w]*)([\\s\\\"\\-\\w]*)(\\{)",
87
Added:
"end": "\\}",
88
Added:
"comment": "This will match Terraform blocks like `resource \"aws_instance\" \"web\" {` or `module {`",
89
Added:
"beginCaptures": {
90
Added:
"1": {
91
Added:
"patterns": [
92
Added:
{
93
Added:
"match": "\\bdata|check|import|locals|module|output|provider|resource|terraform|variable\\b",
94
Added:
"comment": "Known block type",
95
Added:
"name": "entity.name.type.terraform"
96
Added:
},
97
Added:
{
98
Added:
"match": "\\b(?!null|false|true)[[:alpha:]][[:alnum:]_-]*\\b",
99
Added:
"comment": "Unknown block type",
100
Added:
"name": "entity.name.type.hcl"
101
Added:
}
102
Added:
]
103
Added:
},
104
Added:
"2": {
105
Added:
"patterns": [
106
Added:
{
107
Added:
"match": "[\\\"\\-\\w]+",
108
Added:
"comment": "Block label",
109
Added:
"name": "variable.other.enummember.hcl"
110
Added:
}
111
Added:
]
112
Added:
},
113
Added:
"3": {
114
Added:
"name": "punctuation.section.block.begin.hcl"
115
Added:
},
116
Added:
"5": {
117
Added:
"name": "punctuation.section.block.begin.hcl"
118
Added:
}
119
Added:
},
120
Added:
"endCaptures": {
121
Added:
"0": {
122
Added:
"name": "punctuation.section.block.end.hcl"
123
Added:
}
124
Added:
},
125
Added:
"patterns": [
126
Added:
{
127
Added:
"include": "#comments"
128
Added:
},
129
Added:
{
130
Added:
"include": "#attribute_definition"
131
Added:
},
132
Added:
{
133
Added:
"include": "#block"
134
Added:
},
135
Added:
{
136
Added:
"include": "#expressions"
137
Added:
}
138
Added:
]
139
Added:
},
140
Added:
"block_inline_comments": {
141
Added:
"name": "comment.block.hcl",
142
Added:
"begin": "/\\*",
143
Added:
"end": "\\*/",
144
Added:
"comment": "Inline comments start with the /* sequence and end with the */ sequence, and may have any characters within except the ending sequence. An inline comment is considered equivalent to a whitespace sequence",
145
Added:
"captures": {
146
Added:
"0": {
147
Added:
"name": "punctuation.definition.comment.hcl"
148
Added:
}
149
Added:
}
150
Added:
},
151
Added:
"brackets": {
152
Added:
"begin": "\\[",
153
Added:
"end": "\\]",
154
Added:
"beginCaptures": {
155
Added:
"0": {
156
Added:
"name": "punctuation.section.brackets.begin.hcl"
157
Added:
}
158
Added:
},
159
Added:
"endCaptures": {
160
Added:
"0": {
161
Added:
"name": "punctuation.section.brackets.end.hcl"
162
Added:
}
163
Added:
},
164
Added:
"patterns": [
165
Added:
{
166
Added:
"name": "keyword.operator.splat.hcl",
167
Added:
"match": "\\*",
168
Added:
"comment": "Splat operator"
169
Added:
},
170
Added:
{
171
Added:
"include": "#comma"
172
Added:
},
173
Added:
{
174
Added:
"include": "#comments"
175
Added:
},
176
Added:
{
177
Added:
"include": "#inline_for_expression"
178
Added:
},
179
Added:
{
180
Added:
"include": "#inline_if_expression"
181
Added:
},
182
Added:
{
183
Added:
"include": "#expressions"
184
Added:
},
185
Added:
{
186
Added:
"include": "#local_identifiers"
187
Added:
}
188
Added:
]
189
Added:
},
190
Added:
"char_escapes": {
191
Added:
"name": "constant.character.escape.hcl",
192
Added:
"match": "\\\\[nrt\"\\\\]|\\\\u(\\h{8}|\\h{4})",
193
Added:
"comment": "Character Escapes"
194
Added:
},
195
Added:
"comma": {
196
Added:
"name": "punctuation.separator.hcl",
197
Added:
"match": "\\,",
198
Added:
"comment": "Commas - used in certain expressions"
199
Added:
},
200
Added:
"comments": {
201
Added:
"patterns": [
202
Added:
{
203
Added:
"include": "#hash_line_comments"
204
Added:
},
205
Added:
{
206
Added:
"include": "#double_slash_line_comments"
207
Added:
},
208
Added:
{
209
Added:
"include": "#block_inline_comments"
210
Added:
}
211
Added:
]
212
Added:
},
213
Added:
"double_slash_line_comments": {
214
Added:
"name": "comment.line.double-slash.hcl",
215
Added:
"begin": "//",
216
Added:
"end": "$\\n?",
217
Added:
"comment": "Line comments start with // sequence and end with the next newline sequence. A line comment is considered equivalent to a newline sequence",
218
Added:
"captures": {
219
Added:
"0": {
220
Added:
"name": "punctuation.definition.comment.hcl"
221
Added:
}
222
Added:
}
223
Added:
},
224
Added:
"expressions": {
225
Added:
"patterns": [
226
Added:
{
227
Added:
"include": "#literal_values"
228
Added:
},
229
Added:
{
230
Added:
"include": "#operators"
231
Added:
},
232
Added:
{
233
Added:
"include": "#tuple_for_expression"
234
Added:
},
235
Added:
{
236
Added:
"include": "#object_for_expression"
237
Added:
},
238
Added:
{
239
Added:
"include": "#brackets"
240
Added:
},
241
Added:
{
242
Added:
"include": "#objects"
243
Added:
},
244
Added:
{
245
Added:
"include": "#attribute_access"
246
Added:
},
247
Added:
{
248
Added:
"include": "#attribute_splat"
249
Added:
},
250
Added:
{
251
Added:
"include": "#functions"
252
Added:
},
253
Added:
{
254
Added:
"include": "#parens"
255
Added:
}
256
Added:
]
257
Added:
},
258
Added:
"for_expression_body": {
259
Added:
"patterns": [
260
Added:
{
261
Added:
"name": "keyword.operator.word.hcl",
262
Added:
"match": "\\bin\\b",
263
Added:
"comment": "in keyword"
264
Added:
},
265
Added:
{
266
Added:
"name": "keyword.control.conditional.hcl",
267
Added:
"match": "\\bif\\b",
268
Added:
"comment": "if keyword"
269
Added:
},
270
Added:
{
271
Added:
"name": "keyword.operator.hcl",
272
Added:
"match": "\\:"
273
Added:
},
274
Added:
{
275
Added:
"include": "#expressions"
276
Added:
},
277
Added:
{
278
Added:
"include": "#comments"
279
Added:
},
280
Added:
{
281
Added:
"include": "#comma"
282
Added:
},
283
Added:
{
284
Added:
"include": "#local_identifiers"
285
Added:
}
286
Added:
]
287
Added:
},
288
Added:
"functions": {
289
Added:
"name": "meta.function-call.hcl",
290
Added:
"begin": "([:\\-\\w]+)(\\()",
291
Added:
"end": "\\)",
292
Added:
"comment": "Built-in function calls",
293
Added:
"beginCaptures": {
294
Added:
"1": {
295
Added:
"patterns": [
296
Added:
{
297
Added:
"match": "\\b(core::)?(abs|abspath|alltrue|anytrue|base64decode|base64encode|base64gzip|base64sha256|base64sha512|basename|bcrypt|can|ceil|chomp|chunklist|cidrhost|cidrnetmask|cidrsubnet|cidrsubnets|coalesce|coalescelist|compact|concat|contains|csvdecode|dirname|distinct|element|endswith|file|filebase64|filebase64sha256|filebase64sha512|fileexists|filemd5|fileset|filesha1|filesha256|filesha512|flatten|floor|format|formatdate|formatlist|indent|index|join|jsondecode|jsonencode|keys|length|log|lookup|lower|matchkeys|max|md5|merge|min|nonsensitive|one|parseint|pathexpand|plantimestamp|pow|range|regex|regexall|replace|reverse|rsadecrypt|sensitive|setintersection|setproduct|setsubtract|setunion|sha1|sha256|sha512|signum|slice|sort|split|startswith|strcontains|strrev|substr|sum|templatefile|textdecodebase64|textencodebase64|timeadd|timecmp|timestamp|title|tobool|tolist|tomap|tonumber|toset|tostring|transpose|trim|trimprefix|trimspace|trimsuffix|try|upper|urlencode|uuid|uuidv5|values|yamldecode|yamlencode|zipmap)\\b",
298
Added:
"name": "support.function.builtin.terraform"
299
Added:
},
300
Added:
{
301
Added:
"match": "\\bprovider::[[:alpha:]][\\w_-]*::[[:alpha:]][\\w_-]*\\b",
302
Added:
"name": "support.function.provider.terraform"
303
Added:
}
304
Added:
]
305
Added:
},
306
Added:
"2": {
307
Added:
"name": "punctuation.section.parens.begin.hcl"
308
Added:
}
309
Added:
},
310
Added:
"endCaptures": {
311
Added:
"0": {
312
Added:
"name": "punctuation.section.parens.end.hcl"
313
Added:
}
314
Added:
},
315
Added:
"patterns": [
316
Added:
{
317
Added:
"include": "#comments"
318
Added:
},
319
Added:
{
320
Added:
"include": "#expressions"
321
Added:
},
322
Added:
{
323
Added:
"include": "#comma"
324
Added:
}
325
Added:
]
326
Added:
},
327
Added:
"hash_line_comments": {
328
Added:
"name": "comment.line.number-sign.hcl",
329
Added:
"begin": "#",
330
Added:
"end": "$\\n?",
331
Added:
"comment": "Line comments start with # sequence and end with the next newline sequence. A line comment is considered equivalent to a newline sequence",
332
Added:
"captures": {
333
Added:
"0": {
334
Added:
"name": "punctuation.definition.comment.hcl"
335
Added:
}
336
Added:
}
337
Added:
},
338
Added:
"hcl_type_keywords": {
339
Added:
"name": "storage.type.hcl",
340
Added:
"match": "\\b(any|string|number|bool|list|set|map|tuple|object)\\b",
341
Added:
"comment": "Type keywords known to HCL."
342
Added:
},
343
Added:
"heredoc": {
344
Added:
"name": "string.unquoted.heredoc.hcl",
345
Added:
"begin": "(\\<\\<\\-?)\\s*(\\w+)\\s*$",
346
Added:
"end": "^\\s*\\2\\s*$",
347
Added:
"comment": "String Heredoc",
348
Added:
"beginCaptures": {
349
Added:
"1": {
350
Added:
"name": "keyword.operator.heredoc.hcl"
351
Added:
},
352
Added:
"2": {
353
Added:
"name": "keyword.control.heredoc.hcl"
354
Added:
}
355
Added:
},
356
Added:
"endCaptures": {
357
Added:
"0": {
358
Added:
"name": "keyword.control.heredoc.hcl"
359
Added:
}
360
Added:
},
361
Added:
"patterns": [
362
Added:
{
363
Added:
"include": "#string_interpolation"
364
Added:
}
365
Added:
]
366
Added:
},
367
Added:
"inline_for_expression": {
368
Added:
"match": "(for)\\b(.*)\\n",
369
Added:
"captures": {
370
Added:
"1": {
371
Added:
"name": "keyword.control.hcl"
372
Added:
},
373
Added:
"2": {
374
Added:
"patterns": [
375
Added:
{
376
Added:
"match": "\\=\\>",
377
Added:
"name": "storage.type.function.hcl"
378
Added:
},
379
Added:
{
380
Added:
"include": "#for_expression_body"
381
Added:
}
382
Added:
]
383
Added:
}
384
Added:
}
385
Added:
},
386
Added:
"inline_if_expression": {
387
Added:
"begin": "(if)\\b",
388
Added:
"end": "\\n",
389
Added:
"beginCaptures": {
390
Added:
"1": {
391
Added:
"name": "keyword.control.conditional.hcl"
392
Added:
}
393
Added:
},
394
Added:
"patterns": [
395
Added:
{
396
Added:
"include": "#expressions"
397
Added:
},
398
Added:
{
399
Added:
"include": "#comments"
400
Added:
},
401
Added:
{
402
Added:
"include": "#comma"
403
Added:
},
404
Added:
{
405
Added:
"include": "#local_identifiers"
406
Added:
}
407
Added:
]
408
Added:
},
409
Added:
"language_constants": {
410
Added:
"name": "constant.language.hcl",
411
Added:
"match": "\\b(true|false|null)\\b",
412
Added:
"comment": "Language Constants"
413
Added:
},
414
Added:
"literal_values": {
415
Added:
"patterns": [
416
Added:
{
417
Added:
"include": "#numeric_literals"
418
Added:
},
419
Added:
{
420
Added:
"include": "#language_constants"
421
Added:
},
422
Added:
{
423
Added:
"include": "#string_literals"
424
Added:
},
425
Added:
{
426
Added:
"include": "#heredoc"
427
Added:
},
428
Added:
{
429
Added:
"include": "#hcl_type_keywords"
430
Added:
},
431
Added:
{
432
Added:
"include": "#named_value_references"
433
Added:
}
434
Added:
]
435
Added:
},
436
Added:
"local_identifiers": {
437
Added:
"name": "variable.other.readwrite.hcl",
438
Added:
"match": "\\b(?!null|false|true)[[:alpha:]][[:alnum:]_-]*\\b",
439
Added:
"comment": "Local Identifiers"
440
Added:
},
441
Added:
"named_value_references": {
442
Added:
"name": "variable.other.readwrite.terraform",
443
Added:
"match": "\\b(var|local|module|data|path|terraform)\\b",
444
Added:
"comment": "Constant values available only to Terraform."
445
Added:
},
446
Added:
"numeric_literals": {
447
Added:
"patterns": [
448
Added:
{
449
Added:
"name": "constant.numeric.float.hcl",
450
Added:
"match": "\\b\\d+([Ee][+-]?)\\d+\\b",
451
Added:
"comment": "Integer, no fraction, optional exponent",
452
Added:
"captures": {
453
Added:
"1": {
454
Added:
"name": "punctuation.separator.exponent.hcl"
455
Added:
}
456
Added:
}
457
Added:
},
458
Added:
{
459
Added:
"name": "constant.numeric.float.hcl",
460
Added:
"match": "\\b\\d+(\\.)\\d+(?:([Ee][+-]?)\\d+)?\\b",
461
Added:
"comment": "Integer, fraction, optional exponent",
462
Added:
"captures": {
463
Added:
"1": {
464
Added:
"name": "punctuation.separator.decimal.hcl"
465
Added:
},
466
Added:
"2": {
467
Added:
"name": "punctuation.separator.exponent.hcl"
468
Added:
}
469
Added:
}
470
Added:
},
471
Added:
{
472
Added:
"name": "constant.numeric.integer.hcl",
473
Added:
"match": "\\b\\d+\\b",
474
Added:
"comment": "Integers"
475
Added:
}
476
Added:
]
477
Added:
},
478
Added:
"object_for_expression": {
479
Added:
"begin": "(\\{)\\s?(for)\\b",
480
Added:
"end": "\\}",
481
Added:
"beginCaptures": {
482
Added:
"1": {
483
Added:
"name": "punctuation.section.braces.begin.hcl"
484
Added:
},
485
Added:
"2": {
486
Added:
"name": "keyword.control.hcl"
487
Added:
}
488
Added:
},
489
Added:
"endCaptures": {
490
Added:
"0": {
491
Added:
"name": "punctuation.section.braces.end.hcl"
492
Added:
}
493
Added:
},
494
Added:
"patterns": [
495
Added:
{
496
Added:
"name": "storage.type.function.hcl",
497
Added:
"match": "\\=\\>"
498
Added:
},
499
Added:
{
500
Added:
"include": "#for_expression_body"
501
Added:
}
502
Added:
]
503
Added:
},
504
Added:
"object_key_values": {
505
Added:
"patterns": [
506
Added:
{
507
Added:
"include": "#comments"
508
Added:
},
509
Added:
{
510
Added:
"include": "#literal_values"
511
Added:
},
512
Added:
{
513
Added:
"include": "#operators"
514
Added:
},
515
Added:
{
516
Added:
"include": "#tuple_for_expression"
517
Added:
},
518
Added:
{
519
Added:
"include": "#object_for_expression"
520
Added:
},
521
Added:
{
522
Added:
"include": "#heredoc"
523
Added:
},
524
Added:
{
525
Added:
"include": "#functions"
526
Added:
}
527
Added:
]
528
Added:
},
529
Added:
"objects": {
530
Added:
"name": "meta.braces.hcl",
531
Added:
"begin": "\\{",
532
Added:
"end": "\\}",
533
Added:
"beginCaptures": {
534
Added:
"0": {
535
Added:
"name": "punctuation.section.braces.begin.hcl"
536
Added:
}
537
Added:
},
538
Added:
"endCaptures": {
539
Added:
"0": {
540
Added:
"name": "punctuation.section.braces.end.hcl"
541
Added:
}
542
Added:
},
543
Added:
"patterns": [
544
Added:
{
545
Added:
"include": "#comments"
546
Added:
},
547
Added:
{
548
Added:
"include": "#objects"
549
Added:
},
550
Added:
{
551
Added:
"include": "#inline_for_expression"
552
Added:
},
553
Added:
{
554
Added:
"include": "#inline_if_expression"
555
Added:
},
556
Added:
{
557
Added:
"match": "\\b((?!null|false|true)[[:alpha:]][[:alnum:]_-]*)\\s*(\\=\\>?)\\s*",
558
Added:
"comment": "Literal, named object key",
559
Added:
"captures": {
560
Added:
"1": {
561
Added:
"name": "meta.mapping.key.hcl variable.other.readwrite.hcl"
562
Added:
},
563
Added:
"2": {
564
Added:
"name": "keyword.operator.assignment.hcl",
565
Added:
"patterns": [
566
Added:
{
567
Added:
"match": "\\=\\>",
568
Added:
"name": "storage.type.function.hcl"
569
Added:
}
570
Added:
]
571
Added:
}
572
Added:
}
573
Added:
},
574
Added:
{
575
Added:
"match": "\\b((\").*(\"))\\s*(\\=)\\s*",
576
Added:
"comment": "String object key",
577
Added:
"captures": {
578
Added:
"0": {
579
Added:
"patterns": [
580
Added:
{
581
Added:
"include": "#named_value_references"
582
Added:
}
583
Added:
]
584
Added:
},
585
Added:
"1": {
586
Added:
"name": "meta.mapping.key.hcl string.quoted.double.hcl"
587
Added:
},
588
Added:
"2": {
589
Added:
"name": "punctuation.definition.string.begin.hcl"
590
Added:
},
591
Added:
"3": {
592
Added:
"name": "punctuation.definition.string.end.hcl"
593
Added:
},
594
Added:
"4": {
595
Added:
"name": "keyword.operator.hcl"
596
Added:
}
597
Added:
}
598
Added:
},
599
Added:
{
600
Added:
"name": "meta.mapping.key.hcl",
601
Added:
"begin": "^\\s*\\(",
602
Added:
"end": "(\\))\\s*(=|:)\\s*",
603
Added:
"comment": "Computed object key (any expression between parens)",
604
Added:
"beginCaptures": {
605
Added:
"0": {
606
Added:
"name": "punctuation.section.parens.begin.hcl"
607
Added:
}
608
Added:
},
609
Added:
"endCaptures": {
610
Added:
"1": {
611
Added:
"name": "punctuation.section.parens.end.hcl"
612
Added:
},
613
Added:
"2": {
614
Added:
"name": "keyword.operator.hcl"
615
Added:
}
616
Added:
},
617
Added:
"patterns": [
618
Added:
{
619
Added:
"include": "#named_value_references"
620
Added:
},
621
Added:
{
622
Added:
"include": "#attribute_access"
623
Added:
}
624
Added:
]
625
Added:
},
626
Added:
{
627
Added:
"include": "#object_key_values"
628
Added:
}
629
Added:
]
630
Added:
},
631
Added:
"operators": {
632
Added:
"patterns": [
633
Added:
{
634
Added:
"name": "keyword.operator.hcl",
635
Added:
"match": "\\>\\="
636
Added:
},
637
Added:
{
638
Added:
"name": "keyword.operator.hcl",
639
Added:
"match": "\\<\\="
640
Added:
},
641
Added:
{
642
Added:
"name": "keyword.operator.hcl",
643
Added:
"match": "\\=\\="
644
Added:
},
645
Added:
{
646
Added:
"name": "keyword.operator.hcl",
647
Added:
"match": "\\!\\="
648
Added:
},
649
Added:
{
650
Added:
"name": "keyword.operator.arithmetic.hcl",
651
Added:
"match": "\\+"
652
Added:
},
653
Added:
{
654
Added:
"name": "keyword.operator.arithmetic.hcl",
655
Added:
"match": "\\-"
656
Added:
},
657
Added:
{
658
Added:
"name": "keyword.operator.arithmetic.hcl",
659
Added:
"match": "\\*"
660
Added:
},
661
Added:
{
662
Added:
"name": "keyword.operator.arithmetic.hcl",
663
Added:
"match": "\\/"
664
Added:
},
665
Added:
{
666
Added:
"name": "keyword.operator.arithmetic.hcl",
667
Added:
"match": "\\%"
668
Added:
},
669
Added:
{
670
Added:
"name": "keyword.operator.logical.hcl",
671
Added:
"match": "\\&\\&"
672
Added:
},
673
Added:
{
674
Added:
"name": "keyword.operator.logical.hcl",
675
Added:
"match": "\\|\\|"
676
Added:
},
677
Added:
{
678
Added:
"name": "keyword.operator.logical.hcl",
679
Added:
"match": "\\!"
680
Added:
},
681
Added:
{
682
Added:
"name": "keyword.operator.hcl",
683
Added:
"match": "\\>"
684
Added:
},
685
Added:
{
686
Added:
"name": "keyword.operator.hcl",
687
Added:
"match": "\\<"
688
Added:
},
689
Added:
{
690
Added:
"name": "keyword.operator.hcl",
691
Added:
"match": "\\?"
692
Added:
},
693
Added:
{
694
Added:
"name": "keyword.operator.hcl",
695
Added:
"match": "\\.\\.\\."
696
Added:
},
697
Added:
{
698
Added:
"name": "keyword.operator.hcl",
699
Added:
"match": "\\:"
700
Added:
},
701
Added:
{
702
Added:
"name": "keyword.operator.hcl",
703
Added:
"match": "\\=\\>"
704
Added:
}
705
Added:
]
706
Added:
},
707
Added:
"parens": {
708
Added:
"begin": "\\(",
709
Added:
"end": "\\)",
710
Added:
"comment": "Parens - matched *after* function syntax",
711
Added:
"beginCaptures": {
712
Added:
"0": {
713
Added:
"name": "punctuation.section.parens.begin.hcl"
714
Added:
}
715
Added:
},
716
Added:
"endCaptures": {
717
Added:
"0": {
718
Added:
"name": "punctuation.section.parens.end.hcl"
719
Added:
}
720
Added:
},
721
Added:
"patterns": [
722
Added:
{
723
Added:
"include": "#comments"
724
Added:
},
725
Added:
{
726
Added:
"include": "#expressions"
727
Added:
}
728
Added:
]
729
Added:
},
730
Added:
"string_interpolation": {
731
Added:
"name": "meta.interpolation.hcl",
732
Added:
"begin": "(?<![%$])([%$]{)",
733
Added:
"end": "\\}",
734
Added:
"comment": "String interpolation",
735
Added:
"beginCaptures": {
736
Added:
"1": {
737
Added:
"name": "keyword.other.interpolation.begin.hcl"
738
Added:
}
739
Added:
},
740
Added:
"endCaptures": {
741
Added:
"0": {
742
Added:
"name": "keyword.other.interpolation.end.hcl"
743
Added:
}
744
Added:
},
745
Added:
"patterns": [
746
Added:
{
747
Added:
"name": "keyword.operator.template.left.trim.hcl",
748
Added:
"match": "\\~\\s",
749
Added:
"comment": "Trim left whitespace"
750
Added:
},
751
Added:
{
752
Added:
"name": "keyword.operator.template.right.trim.hcl",
753
Added:
"match": "\\s\\~",
754
Added:
"comment": "Trim right whitespace"
755
Added:
},
756
Added:
{
757
Added:
"name": "keyword.control.hcl",
758
Added:
"match": "\\b(if|else|endif|for|in|endfor)\\b",
759
Added:
"comment": "if/else/endif and for/in/endfor directives"
760
Added:
},
761
Added:
{
762
Added:
"include": "#expressions"
763
Added:
},
764
Added:
{
765
Added:
"include": "#local_identifiers"
766
Added:
}
767
Added:
]
768
Added:
},
769
Added:
"string_literals": {
770
Added:
"name": "string.quoted.double.hcl",
771
Added:
"begin": "\"",
772
Added:
"end": "\"",
773
Added:
"comment": "Strings",
774
Added:
"beginCaptures": {
775
Added:
"0": {
776
Added:
"name": "punctuation.definition.string.begin.hcl"
777
Added:
}
778
Added:
},
779
Added:
"endCaptures": {
780
Added:
"0": {
781
Added:
"name": "punctuation.definition.string.end.hcl"
782
Added:
}
783
Added:
},
784
Added:
"patterns": [
785
Added:
{
786
Added:
"include": "#string_interpolation"
787
Added:
},
788
Added:
{
789
Added:
"include": "#char_escapes"
790
Added:
}
791
Added:
]
792
Added:
},
793
Added:
"tuple_for_expression": {
794
Added:
"begin": "(\\[)\\s?(for)\\b",
795
Added:
"end": "\\]",
796
Added:
"beginCaptures": {
797
Added:
"1": {
798
Added:
"name": "punctuation.section.brackets.begin.hcl"
799
Added:
},
800
Added:
"2": {
801
Added:
"name": "keyword.control.hcl"
802
Added:
}
803
Added:
},
804
Added:
"endCaptures": {
805
Added:
"0": {
806
Added:
"name": "punctuation.section.brackets.end.hcl"
807
Added:
}
808
Added:
},
809
Added:
"patterns": [
810
Added:
{
811
Added:
"include": "#for_expression_body"
812
Added:
}
813
Added:
]
814
Added:
}
815
Added:
}
816
Added:
}
lib/grammars/vue.json
@@ -0,0 +1,1590 @@
1
Added:
{
2
Added:
"$schema": "https://raw.githubusercontent.com/martinring/tmlanguage/master/tmlanguage.json",
3
Added:
"name": "Vue",
4
Added:
"scopeName": "text.html.vue",
5
Added:
"patterns": [
6
Added:
{
7
Added:
"include": "#vue-comments"
8
Added:
},
9
Added:
{
10
Added:
"include": "#self-closing-tag"
11
Added:
},
12
Added:
{
13
Added:
"begin": "(<)",
14
Added:
"beginCaptures": {
15
Added:
"1": {
16
Added:
"name": "punctuation.definition.tag.begin.html.vue"
17
Added:
}
18
Added:
},
19
Added:
"end": "(>)",
20
Added:
"endCaptures": {
21
Added:
"1": {
22
Added:
"name": "punctuation.definition.tag.end.html.vue"
23
Added:
}
24
Added:
},
25
Added:
"patterns": [
26
Added:
{
27
Added:
"begin": "([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['\"]?)md\\b\\2)",
28
Added:
"beginCaptures": {
29
Added:
"1": {
30
Added:
"name": "entity.name.tag.$1.html.vue"
31
Added:
}
32
Added:
},
33
Added:
"end": "(</)(\\1)\\s*(?=>)",
34
Added:
"endCaptures": {
35
Added:
"1": {
36
Added:
"name": "punctuation.definition.tag.begin.html.vue"
37
Added:
},
38
Added:
"2": {
39
Added:
"name": "entity.name.tag.$2.html.vue"
40
Added:
}
41
Added:
},
42
Added:
"patterns": [
43
Added:
{
44
Added:
"include": "#tag-stuff"
45
Added:
},
46
Added:
{
47
Added:
"begin": "(?<=>)",
48
Added:
"end": "(?=<\\/)",
49
Added:
"name": "text.html.markdown",
50
Added:
"patterns": [
51
Added:
{
52
Added:
"include": "text.html.markdown"
53
Added:
}
54
Added:
]
55
Added:
}
56
Added:
]
57
Added:
},
58
Added:
{
59
Added:
"begin": "(?!template(?![A-Za-z0-9:-]))([A-Za-z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['\"]?)html\\b\\2)",
60
Added:
"beginCaptures": {
61
Added:
"1": {
62
Added:
"name": "entity.name.tag.$1.html.vue"
63
Added:
}
64
Added:
},
65
Added:
"end": "(</)(\\1)\\s*(?=>)",
66
Added:
"endCaptures": {
67
Added:
"1": {
68
Added:
"name": "punctuation.definition.tag.begin.html.vue"
69
Added:
},
70
Added:
"2": {
71
Added:
"name": "entity.name.tag.$2.html.vue"
72
Added:
}
73
Added:
},
74
Added:
"contentName": "text.html.derivative",
75
Added:
"patterns": [
76
Added:
{
77
Added:
"include": "#tag-stuff"
78
Added:
},
79
Added:
{
80
Added:
"include": "#html-stuff"
81
Added:
}
82
Added:
]
83
Added:
},
84
Added:
{
85
Added:
"begin": "([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['\"]?)pug\\b\\2)",
86
Added:
"beginCaptures": {
87
Added:
"1": {
88
Added:
"name": "entity.name.tag.$1.html.vue"
89
Added:
}
90
Added:
},
91
Added:
"end": "(</)(\\1)\\s*(?=>)",
92
Added:
"endCaptures": {
93
Added:
"1": {
94
Added:
"name": "punctuation.definition.tag.begin.html.vue"
95
Added:
},
96
Added:
"2": {
97
Added:
"name": "entity.name.tag.$2.html.vue"
98
Added:
}
99
Added:
},
100
Added:
"patterns": [
101
Added:
{
102
Added:
"include": "#tag-stuff"
103
Added:
},
104
Added:
{
105
Added:
"begin": "(?<=>)",
106
Added:
"end": "(?=<\\/)",
107
Added:
"name": "text.pug",
108
Added:
"patterns": [
109
Added:
{
110
Added:
"include": "text.pug"
111
Added:
}
112
Added:
]
113
Added:
}
114
Added:
]
115
Added:
},
116
Added:
{
117
Added:
"begin": "([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['\"]?)stylus\\b\\2)",
118
Added:
"beginCaptures": {
119
Added:
"1": {
120
Added:
"name": "entity.name.tag.$1.html.vue"
121
Added:
}
122
Added:
},
123
Added:
"end": "(</)(\\1)\\s*(?=>)",
124
Added:
"endCaptures": {
125
Added:
"1": {
126
Added:
"name": "punctuation.definition.tag.begin.html.vue"
127
Added:
},
128
Added:
"2": {
129
Added:
"name": "entity.name.tag.$2.html.vue"
130
Added:
}
131
Added:
},
132
Added:
"patterns": [
133
Added:
{
134
Added:
"include": "#tag-stuff"
135
Added:
},
136
Added:
{
137
Added:
"begin": "(?<=>)",
138
Added:
"end": "(?=<\\/)",
139
Added:
"name": "source.stylus",
140
Added:
"patterns": [
141
Added:
{
142
Added:
"include": "source.stylus"
143
Added:
}
144
Added:
]
145
Added:
}
146
Added:
]
147
Added:
},
148
Added:
{
149
Added:
"begin": "([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['\"]?)postcss\\b\\2)",
150
Added:
"beginCaptures": {
151
Added:
"1": {
152
Added:
"name": "entity.name.tag.$1.html.vue"
153
Added:
}
154
Added:
},
155
Added:
"end": "(</)(\\1)\\s*(?=>)",
156
Added:
"endCaptures": {
157
Added:
"1": {
158
Added:
"name": "punctuation.definition.tag.begin.html.vue"
159
Added:
},
160
Added:
"2": {
161
Added:
"name": "entity.name.tag.$2.html.vue"
162
Added:
}
163
Added:
},
164
Added:
"patterns": [
165
Added:
{
166
Added:
"include": "#tag-stuff"
167
Added:
},
168
Added:
{
169
Added:
"begin": "(?<=>)",
170
Added:
"end": "(?=<\\/)",
171
Added:
"name": "source.postcss",
172
Added:
"patterns": [
173
Added:
{
174
Added:
"include": "source.postcss"
175
Added:
}
176
Added:
]
177
Added:
}
178
Added:
]
179
Added:
},
180
Added:
{
181
Added:
"begin": "([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['\"]?)sass\\b\\2)",
182
Added:
"beginCaptures": {
183
Added:
"1": {
184
Added:
"name": "entity.name.tag.$1.html.vue"
185
Added:
}
186
Added:
},
187
Added:
"end": "(</)(\\1)\\s*(?=>)",
188
Added:
"endCaptures": {
189
Added:
"1": {
190
Added:
"name": "punctuation.definition.tag.begin.html.vue"
191
Added:
},
192
Added:
"2": {
193
Added:
"name": "entity.name.tag.$2.html.vue"
194
Added:
}
195
Added:
},
196
Added:
"patterns": [
197
Added:
{
198
Added:
"include": "#tag-stuff"
199
Added:
},
200
Added:
{
201
Added:
"begin": "(?<=>)",
202
Added:
"end": "(?=<\\/)",
203
Added:
"name": "source.sass",
204
Added:
"patterns": [
205
Added:
{
206
Added:
"include": "source.sass"
207
Added:
}
208
Added:
]
209
Added:
}
210
Added:
]
211
Added:
},
212
Added:
{
213
Added:
"begin": "([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['\"]?)css\\b\\2)",
214
Added:
"beginCaptures": {
215
Added:
"1": {
216
Added:
"name": "entity.name.tag.$1.html.vue"
217
Added:
}
218
Added:
},
219
Added:
"end": "(</)(\\1)\\s*(?=>)",
220
Added:
"endCaptures": {
221
Added:
"1": {
222
Added:
"name": "punctuation.definition.tag.begin.html.vue"
223
Added:
},
224
Added:
"2": {
225
Added:
"name": "entity.name.tag.$2.html.vue"
226
Added:
}
227
Added:
},
228
Added:
"patterns": [
229
Added:
{
230
Added:
"include": "#tag-stuff"
231
Added:
},
232
Added:
{
233
Added:
"begin": "(?<=>)",
234
Added:
"end": "(?=<\\/)",
235
Added:
"name": "source.css",
236
Added:
"patterns": [
237
Added:
{
238
Added:
"include": "source.css"
239
Added:
}
240
Added:
]
241
Added:
}
242
Added:
]
243
Added:
},
244
Added:
{
245
Added:
"begin": "([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['\"]?)scss\\b\\2)",
246
Added:
"beginCaptures": {
247
Added:
"1": {
248
Added:
"name": "entity.name.tag.$1.html.vue"
249
Added:
}
250
Added:
},
251
Added:
"end": "(</)(\\1)\\s*(?=>)",
252
Added:
"endCaptures": {
253
Added:
"1": {
254
Added:
"name": "punctuation.definition.tag.begin.html.vue"
255
Added:
},
256
Added:
"2": {
257
Added:
"name": "entity.name.tag.$2.html.vue"
258
Added:
}
259
Added:
},
260
Added:
"patterns": [
261
Added:
{
262
Added:
"include": "#tag-stuff"
263
Added:
},
264
Added:
{
265
Added:
"begin": "(?<=>)",
266
Added:
"end": "(?=<\\/)",
267
Added:
"name": "source.css.scss",
268
Added:
"patterns": [
269
Added:
{
270
Added:
"include": "source.css.scss"
271
Added:
}
272
Added:
]
273
Added:
}
274
Added:
]
275
Added:
},
276
Added:
{
277
Added:
"begin": "([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['\"]?)less\\b\\2)",
278
Added:
"beginCaptures": {
279
Added:
"1": {
280
Added:
"name": "entity.name.tag.$1.html.vue"
281
Added:
}
282
Added:
},
283
Added:
"end": "(</)(\\1)\\s*(?=>)",
284
Added:
"endCaptures": {
285
Added:
"1": {
286
Added:
"name": "punctuation.definition.tag.begin.html.vue"
287
Added:
},
288
Added:
"2": {
289
Added:
"name": "entity.name.tag.$2.html.vue"
290
Added:
}
291
Added:
},
292
Added:
"patterns": [
293
Added:
{
294
Added:
"include": "#tag-stuff"
295
Added:
},
296
Added:
{
297
Added:
"begin": "(?<=>)",
298
Added:
"end": "(?=<\\/)",
299
Added:
"name": "source.css.less",
300
Added:
"patterns": [
301
Added:
{
302
Added:
"include": "source.css.less"
303
Added:
}
304
Added:
]
305
Added:
}
306
Added:
]
307
Added:
},
308
Added:
{
309
Added:
"begin": "([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['\"]?)js\\b\\2)",
310
Added:
"beginCaptures": {
311
Added:
"1": {
312
Added:
"name": "entity.name.tag.$1.html.vue"
313
Added:
}
314
Added:
},
315
Added:
"end": "(</)(\\1)\\s*(?=>)",
316
Added:
"endCaptures": {
317
Added:
"1": {
318
Added:
"name": "punctuation.definition.tag.begin.html.vue"
319
Added:
},
320
Added:
"2": {
321
Added:
"name": "entity.name.tag.$2.html.vue"
322
Added:
}
323
Added:
},
324
Added:
"patterns": [
325
Added:
{
326
Added:
"include": "#tag-stuff"
327
Added:
},
328
Added:
{
329
Added:
"begin": "(?<=>)",
330
Added:
"end": "(?=<\\/)",
331
Added:
"name": "source.js",
332
Added:
"patterns": [
333
Added:
{
334
Added:
"include": "source.js"
335
Added:
}
336
Added:
]
337
Added:
}
338
Added:
]
339
Added:
},
340
Added:
{
341
Added:
"begin": "([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['\"]?)ts\\b\\2)",
342
Added:
"beginCaptures": {
343
Added:
"1": {
344
Added:
"name": "entity.name.tag.$1.html.vue"
345
Added:
}
346
Added:
},
347
Added:
"end": "(</)(\\1)\\s*(?=>)",
348
Added:
"endCaptures": {
349
Added:
"1": {
350
Added:
"name": "punctuation.definition.tag.begin.html.vue"
351
Added:
},
352
Added:
"2": {
353
Added:
"name": "entity.name.tag.$2.html.vue"
354
Added:
}
355
Added:
},
356
Added:
"patterns": [
357
Added:
{
358
Added:
"include": "#tag-stuff"
359
Added:
},
360
Added:
{
361
Added:
"begin": "(?<=>)(?=[^\\n]*<\\/script[\\s>])",
362
Added:
"end": "(?=<\\/script[\\s>])",
363
Added:
"name": "source.ts",
364
Added:
"patterns": [
365
Added:
{
366
Added:
"include": "source.ts"
367
Added:
}
368
Added:
]
369
Added:
},
370
Added:
{
371
Added:
"begin": "(?<=>)",
372
Added:
"while": "^(?!\\s*<\\/script[\\s>])",
373
Added:
"name": "source.ts",
374
Added:
"patterns": [
375
Added:
{
376
Added:
"include": "source.ts"
377
Added:
}
378
Added:
]
379
Added:
}
380
Added:
]
381
Added:
},
382
Added:
{
383
Added:
"begin": "([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['\"]?)jsx\\b\\2)",
384
Added:
"beginCaptures": {
385
Added:
"1": {
386
Added:
"name": "entity.name.tag.$1.html.vue"
387
Added:
}
388
Added:
},
389
Added:
"end": "(</)(\\1)\\s*(?=>)",
390
Added:
"endCaptures": {
391
Added:
"1": {
392
Added:
"name": "punctuation.definition.tag.begin.html.vue"
393
Added:
},
394
Added:
"2": {
395
Added:
"name": "entity.name.tag.$2.html.vue"
396
Added:
}
397
Added:
},
398
Added:
"patterns": [
399
Added:
{
400
Added:
"include": "#tag-stuff"
401
Added:
},
402
Added:
{
403
Added:
"begin": "(?<=>)",
404
Added:
"end": "(?=<\\/)",
405
Added:
"name": "source.js.jsx",
406
Added:
"patterns": [
407
Added:
{
408
Added:
"include": "source.js.jsx"
409
Added:
}
410
Added:
]
411
Added:
}
412
Added:
]
413
Added:
},
414
Added:
{
415
Added:
"begin": "([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['\"]?)tsx\\b\\2)",
416
Added:
"beginCaptures": {
417
Added:
"1": {
418
Added:
"name": "entity.name.tag.$1.html.vue"
419
Added:
}
420
Added:
},
421
Added:
"end": "(</)(\\1)\\s*(?=>)",
422
Added:
"endCaptures": {
423
Added:
"1": {
424
Added:
"name": "punctuation.definition.tag.begin.html.vue"
425
Added:
},
426
Added:
"2": {
427
Added:
"name": "entity.name.tag.$2.html.vue"
428
Added:
}
429
Added:
},
430
Added:
"patterns": [
431
Added:
{
432
Added:
"include": "#tag-stuff"
433
Added:
},
434
Added:
{
435
Added:
"begin": "(?<=>)(?=[^\\n]*<\\/script[\\s>])",
436
Added:
"end": "(?=<\\/script[\\s>])",
437
Added:
"name": "source.tsx",
438
Added:
"patterns": [
439
Added:
{
440
Added:
"include": "source.tsx"
441
Added:
}
442
Added:
]
443
Added:
},
444
Added:
{
445
Added:
"begin": "(?<=>)",
446
Added:
"while": "^(?!\\s*<\\/script[\\s>])",
447
Added:
"name": "source.tsx",
448
Added:
"patterns": [
449
Added:
{
450
Added:
"include": "source.tsx"
451
Added:
}
452
Added:
]
453
Added:
}
454
Added:
]
455
Added:
},
456
Added:
{
457
Added:
"begin": "([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['\"]?)coffee\\b\\2)",
458
Added:
"beginCaptures": {
459
Added:
"1": {
460
Added:
"name": "entity.name.tag.$1.html.vue"
461
Added:
}
462
Added:
},
463
Added:
"end": "(</)(\\1)\\s*(?=>)",
464
Added:
"endCaptures": {
465
Added:
"1": {
466
Added:
"name": "punctuation.definition.tag.begin.html.vue"
467
Added:
},
468
Added:
"2": {
469
Added:
"name": "entity.name.tag.$2.html.vue"
470
Added:
}
471
Added:
},
472
Added:
"patterns": [
473
Added:
{
474
Added:
"include": "#tag-stuff"
475
Added:
},
476
Added:
{
477
Added:
"begin": "(?<=>)",
478
Added:
"end": "(?=<\\/)",
479
Added:
"name": "source.coffee",
480
Added:
"patterns": [
481
Added:
{
482
Added:
"include": "source.coffee"
483
Added:
}
484
Added:
]
485
Added:
}
486
Added:
]
487
Added:
},
488
Added:
{
489
Added:
"begin": "([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['\"]?)json\\b\\2)",
490
Added:
"beginCaptures": {
491
Added:
"1": {
492
Added:
"name": "entity.name.tag.$1.html.vue"
493
Added:
}
494
Added:
},
495
Added:
"end": "(</)(\\1)\\s*(?=>)",
496
Added:
"endCaptures": {
497
Added:
"1": {
498
Added:
"name": "punctuation.definition.tag.begin.html.vue"
499
Added:
},
500
Added:
"2": {
501
Added:
"name": "entity.name.tag.$2.html.vue"
502
Added:
}
503
Added:
},
504
Added:
"patterns": [
505
Added:
{
506
Added:
"include": "#tag-stuff"
507
Added:
},
508
Added:
{
509
Added:
"begin": "(?<=>)",
510
Added:
"end": "(?=<\\/)",
511
Added:
"name": "source.json",
512
Added:
"patterns": [
513
Added:
{
514
Added:
"include": "source.json"
515
Added:
}
516
Added:
]
517
Added:
}
518
Added:
]
519
Added:
},
520
Added:
{
521
Added:
"begin": "([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['\"]?)jsonc\\b\\2)",
522
Added:
"beginCaptures": {
523
Added:
"1": {
524
Added:
"name": "entity.name.tag.$1.html.vue"
525
Added:
}
526
Added:
},
527
Added:
"end": "(</)(\\1)\\s*(?=>)",
528
Added:
"endCaptures": {
529
Added:
"1": {
530
Added:
"name": "punctuation.definition.tag.begin.html.vue"
531
Added:
},
532
Added:
"2": {
533
Added:
"name": "entity.name.tag.$2.html.vue"
534
Added:
}
535
Added:
},
536
Added:
"patterns": [
537
Added:
{
538
Added:
"include": "#tag-stuff"
539
Added:
},
540
Added:
{
541
Added:
"begin": "(?<=>)",
542
Added:
"end": "(?=<\\/)",
543
Added:
"name": "source.json.comments",
544
Added:
"patterns": [
545
Added:
{
546
Added:
"include": "source.json.comments"
547
Added:
}
548
Added:
]
549
Added:
}
550
Added:
]
551
Added:
},
552
Added:
{
553
Added:
"begin": "([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['\"]?)json5\\b\\2)",
554
Added:
"beginCaptures": {
555
Added:
"1": {
556
Added:
"name": "entity.name.tag.$1.html.vue"
557
Added:
}
558
Added:
},
559
Added:
"end": "(</)(\\1)\\s*(?=>)",
560
Added:
"endCaptures": {
561
Added:
"1": {
562
Added:
"name": "punctuation.definition.tag.begin.html.vue"
563
Added:
},
564
Added:
"2": {
565
Added:
"name": "entity.name.tag.$2.html.vue"
566
Added:
}
567
Added:
},
568
Added:
"patterns": [
569
Added:
{
570
Added:
"include": "#tag-stuff"
571
Added:
},
572
Added:
{
573
Added:
"begin": "(?<=>)",
574
Added:
"end": "(?=<\\/)",
575
Added:
"name": "source.json5",
576
Added:
"patterns": [
577
Added:
{
578
Added:
"include": "source.json5"
579
Added:
}
580
Added:
]
581
Added:
}
582
Added:
]
583
Added:
},
584
Added:
{
585
Added:
"begin": "([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['\"]?)yaml\\b\\2)",
586
Added:
"beginCaptures": {
587
Added:
"1": {
588
Added:
"name": "entity.name.tag.$1.html.vue"
589
Added:
}
590
Added:
},
591
Added:
"end": "(</)(\\1)\\s*(?=>)",
592
Added:
"endCaptures": {
593
Added:
"1": {
594
Added:
"name": "punctuation.definition.tag.begin.html.vue"
595
Added:
},
596
Added:
"2": {
597
Added:
"name": "entity.name.tag.$2.html.vue"
598
Added:
}
599
Added:
},
600
Added:
"patterns": [
601
Added:
{
602
Added:
"include": "#tag-stuff"
603
Added:
},
604
Added:
{
605
Added:
"begin": "(?<=>)",
606
Added:
"end": "(?=<\\/)",
607
Added:
"name": "source.yaml",
608
Added:
"patterns": [
609
Added:
{
610
Added:
"include": "source.yaml"
611
Added:
}
612
Added:
]
613
Added:
}
614
Added:
]
615
Added:
},
616
Added:
{
617
Added:
"begin": "([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['\"]?)toml\\b\\2)",
618
Added:
"beginCaptures": {
619
Added:
"1": {
620
Added:
"name": "entity.name.tag.$1.html.vue"
621
Added:
}
622
Added:
},
623
Added:
"end": "(</)(\\1)\\s*(?=>)",
624
Added:
"endCaptures": {
625
Added:
"1": {
626
Added:
"name": "punctuation.definition.tag.begin.html.vue"
627
Added:
},
628
Added:
"2": {
629
Added:
"name": "entity.name.tag.$2.html.vue"
630
Added:
}
631
Added:
},
632
Added:
"patterns": [
633
Added:
{
634
Added:
"include": "#tag-stuff"
635
Added:
},
636
Added:
{
637
Added:
"begin": "(?<=>)",
638
Added:
"end": "(?=<\\/)",
639
Added:
"name": "source.toml",
640
Added:
"patterns": [
641
Added:
{
642
Added:
"include": "source.toml"
643
Added:
}
644
Added:
]
645
Added:
}
646
Added:
]
647
Added:
},
648
Added:
{
649
Added:
"begin": "([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['\"]?)(gql|graphql)\\b\\2)",
650
Added:
"beginCaptures": {
651
Added:
"1": {
652
Added:
"name": "entity.name.tag.$1.html.vue"
653
Added:
}
654
Added:
},
655
Added:
"end": "(</)(\\1)\\s*(?=>)",
656
Added:
"endCaptures": {
657
Added:
"1": {
658
Added:
"name": "punctuation.definition.tag.begin.html.vue"
659
Added:
},
660
Added:
"2": {
661
Added:
"name": "entity.name.tag.$2.html.vue"
662
Added:
}
663
Added:
},
664
Added:
"patterns": [
665
Added:
{
666
Added:
"include": "#tag-stuff"
667
Added:
},
668
Added:
{
669
Added:
"begin": "(?<=>)",
670
Added:
"end": "(?=<\\/)",
671
Added:
"name": "source.graphql",
672
Added:
"patterns": [
673
Added:
{
674
Added:
"include": "source.graphql"
675
Added:
}
676
Added:
]
677
Added:
}
678
Added:
]
679
Added:
},
680
Added:
{
681
Added:
"begin": "([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['\"]?)vue\\b\\2)",
682
Added:
"beginCaptures": {
683
Added:
"1": {
684
Added:
"name": "entity.name.tag.$1.html.vue"
685
Added:
}
686
Added:
},
687
Added:
"end": "(</)(\\1)\\s*(?=>)",
688
Added:
"endCaptures": {
689
Added:
"1": {
690
Added:
"name": "punctuation.definition.tag.begin.html.vue"
691
Added:
},
692
Added:
"2": {
693
Added:
"name": "entity.name.tag.$2.html.vue"
694
Added:
}
695
Added:
},
696
Added:
"patterns": [
697
Added:
{
698
Added:
"include": "#tag-stuff"
699
Added:
},
700
Added:
{
701
Added:
"begin": "(?<=>)",
702
Added:
"end": "(?=<\\/)",
703
Added:
"name": "text.html.vue",
704
Added:
"patterns": [
705
Added:
{
706
Added:
"include": "text.html.vue"
707
Added:
}
708
Added:
]
709
Added:
}
710
Added:
]
711
Added:
},
712
Added:
{
713
Added:
"begin": "(template)(?=\\s|\\/?>)",
714
Added:
"beginCaptures": {
715
Added:
"1": {
716
Added:
"name": "entity.name.tag.$1.html.vue"
717
Added:
}
718
Added:
},
719
Added:
"end": "(</)(\\1)\\s*(?=>)",
720
Added:
"endCaptures": {
721
Added:
"1": {
722
Added:
"name": "punctuation.definition.tag.begin.html.vue"
723
Added:
},
724
Added:
"2": {
725
Added:
"name": "entity.name.tag.$2.html.vue"
726
Added:
}
727
Added:
},
728
Added:
"patterns": [
729
Added:
{
730
Added:
"include": "#tag-stuff"
731
Added:
},
732
Added:
{
733
Added:
"begin": "(?<=>)",
734
Added:
"end": "(?=<\\/template[\\s>])",
735
Added:
"name": "text.html.derivative",
736
Added:
"patterns": [
737
Added:
{
738
Added:
"include": "#html-stuff"
739
Added:
}
740
Added:
]
741
Added:
}
742
Added:
]
743
Added:
},
744
Added:
{
745
Added:
"begin": "(script)(?=\\s|\\/?>)",
746
Added:
"beginCaptures": {
747
Added:
"1": {
748
Added:
"name": "entity.name.tag.$1.html.vue"
749
Added:
}
750
Added:
},
751
Added:
"end": "(</)(\\1)\\s*(?=>)",
752
Added:
"endCaptures": {
753
Added:
"1": {
754
Added:
"name": "punctuation.definition.tag.begin.html.vue"
755
Added:
},
756
Added:
"2": {
757
Added:
"name": "entity.name.tag.$2.html.vue"
758
Added:
}
759
Added:
},
760
Added:
"patterns": [
761
Added:
{
762
Added:
"include": "#multi-line-script-tag-stuff"
763
Added:
}
764
Added:
]
765
Added:
},
766
Added:
{
767
Added:
"begin": "(style)(?=\\s|\\/?>)",
768
Added:
"beginCaptures": {
769
Added:
"1": {
770
Added:
"name": "entity.name.tag.$1.html.vue"
771
Added:
}
772
Added:
},
773
Added:
"end": "(</)(\\1)\\s*(?=>)",
774
Added:
"endCaptures": {
775
Added:
"1": {
776
Added:
"name": "punctuation.definition.tag.begin.html.vue"
777
Added:
},
778
Added:
"2": {
779
Added:
"name": "entity.name.tag.$2.html.vue"
780
Added:
}
781
Added:
},
782
Added:
"patterns": [
783
Added:
{
784
Added:
"include": "#multi-line-style-tag-stuff"
785
Added:
}
786
Added:
]
787
Added:
},
788
Added:
{
789
Added:
"begin": "([a-zA-Z0-9:-]+)",
790
Added:
"beginCaptures": {
791
Added:
"1": {
792
Added:
"name": "entity.name.tag.$1.html.vue"
793
Added:
}
794
Added:
},
795
Added:
"end": "(</)(\\1)\\s*(?=>)",
796
Added:
"endCaptures": {
797
Added:
"1": {
798
Added:
"name": "punctuation.definition.tag.begin.html.vue"
799
Added:
},
800
Added:
"2": {
801
Added:
"name": "entity.name.tag.$2.html.vue"
802
Added:
}
803
Added:
},
804
Added:
"patterns": [
805
Added:
{
806
Added:
"include": "#tag-stuff"
807
Added:
},
808
Added:
{
809
Added:
"begin": "(?<=>)",
810
Added:
"end": "(?=<\\/)",
811
Added:
"name": "text"
812
Added:
}
813
Added:
]
814
Added:
}
815
Added:
]
816
Added:
}
817
Added:
],
818
Added:
"repository": {
819
Added:
"multi-line-script-tag-stuff": {
820
Added:
"begin": "\\G",
821
Added:
"end": "(?=<\\/script[\\s>])",
822
Added:
"patterns": [
823
Added:
{
824
Added:
"begin": "\\G(?!\\blang\\s*=\\s*(?:['\"]?)(?:ts|tsx|jsx|coffee)\\b)",
825
Added:
"end": "(?=\\blang\\s*=\\s*(?:['\"]?)(?:ts|tsx|jsx|coffee)\\b)|(>)",
826
Added:
"endCaptures": {
827
Added:
"1": {
828
Added:
"name": "punctuation.definition.tag.end.html.vue"
829
Added:
}
830
Added:
},
831
Added:
"name": "meta.tag-stuff",
832
Added:
"patterns": [
833
Added:
{
834
Added:
"include": "#vue-directives"
835
Added:
},
836
Added:
{
837
Added:
"include": "text.html.basic#attribute"
838
Added:
}
839
Added:
]
840
Added:
},
841
Added:
{
842
Added:
"begin": "(?=\\blang\\s*=\\s*(?:['\"]?)ts\\b)",
843
Added:
"end": "(?=<\\/script[\\s>])",
844
Added:
"patterns": [
845
Added:
{
846
Added:
"include": "#tag-stuff"
847
Added:
},
848
Added:
{
849
Added:
"begin": "(?<=>)(?=[^\\n]*<\\/script[\\s>])",
850
Added:
"end": "(?=<\\/script[\\s>])",
851
Added:
"name": "source.ts",
852
Added:
"patterns": [
853
Added:
{
854
Added:
"include": "source.ts"
855
Added:
}
856
Added:
]
857
Added:
},
858
Added:
{
859
Added:
"begin": "(?<=>)",
860
Added:
"while": "^(?!\\s*<\\/script[\\s>])",
861
Added:
"name": "source.ts",
862
Added:
"patterns": [
863
Added:
{
864
Added:
"include": "source.ts"
865
Added:
}
866
Added:
]
867
Added:
}
868
Added:
]
869
Added:
},
870
Added:
{
871
Added:
"begin": "(?=\\blang\\s*=\\s*(?:['\"]?)tsx\\b)",
872
Added:
"end": "(?=<\\/script[\\s>])",
873
Added:
"patterns": [
874
Added:
{
875
Added:
"include": "#tag-stuff"
876
Added:
},
877
Added:
{
878
Added:
"begin": "(?<=>)(?=[^\\n]*<\\/script[\\s>])",
879
Added:
"end": "(?=<\\/script[\\s>])",
880
Added:
"name": "source.tsx",
881
Added:
"patterns": [
882
Added:
{
883
Added:
"include": "source.tsx"
884
Added:
}
885
Added:
]
886
Added:
},
887
Added:
{
888
Added:
"begin": "(?<=>)",
889
Added:
"while": "^(?!\\s*<\\/script[\\s>])",
890
Added:
"name": "source.tsx",
891
Added:
"patterns": [
892
Added:
{
893
Added:
"include": "source.tsx"
894
Added:
}
895
Added:
]
896
Added:
}
897
Added:
]
898
Added:
},
899
Added:
{
900
Added:
"begin": "(?=\\blang\\s*=\\s*(?:['\"]?)jsx\\b)",
901
Added:
"end": "(?=<\\/script[\\s>])",
902
Added:
"patterns": [
903
Added:
{
904
Added:
"include": "#tag-stuff"
905
Added:
},
906
Added:
{
907
Added:
"begin": "(?<=>)",
908
Added:
"end": "(?=<\\/script[\\s>])",
909
Added:
"name": "source.js.jsx",
910
Added:
"patterns": [
911
Added:
{
912
Added:
"include": "source.js.jsx"
913
Added:
}
914
Added:
]
915
Added:
}
916
Added:
]
917
Added:
},
918
Added:
{
919
Added:
"begin": "(?=\\blang\\s*=\\s*(?:['\"]?)coffee\\b)",
920
Added:
"end": "(?=<\\/script[\\s>])",
921
Added:
"patterns": [
922
Added:
{
923
Added:
"include": "#tag-stuff"
924
Added:
},
925
Added:
{
926
Added:
"begin": "(?<=>)",
927
Added:
"end": "(?=<\\/script[\\s>])",
928
Added:
"name": "source.coffee",
929
Added:
"patterns": [
930
Added:
{
931
Added:
"include": "source.coffee"
932
Added:
}
933
Added:
]
934
Added:
}
935
Added:
]
936
Added:
},
937
Added:
{
938
Added:
"begin": "(?<=>)",
939
Added:
"end": "(?=<\\/script[\\s>])",
940
Added:
"name": "source.js",
941
Added:
"patterns": [
942
Added:
{
943
Added:
"include": "source.js"
944
Added:
}
945
Added:
]
946
Added:
}
947
Added:
]
948
Added:
},
949
Added:
"multi-line-style-tag-stuff": {
950
Added:
"begin": "\\G",
951
Added:
"end": "(?=<\\/style[\\s>])",
952
Added:
"patterns": [
953
Added:
{
954
Added:
"begin": "\\G(?!\\blang\\s*=\\s*(?:['\"]?)(?:scss|stylus|less|postcss)\\b)",
955
Added:
"end": "(?=\\blang\\s*=\\s*(?:['\"]?)(?:scss|stylus|less|postcss)\\b)|(>)",
956
Added:
"endCaptures": {
957
Added:
"1": {
958
Added:
"name": "punctuation.definition.tag.end.html.vue"
959
Added:
}
960
Added:
},
961
Added:
"name": "meta.tag-stuff",
962
Added:
"patterns": [
963
Added:
{
964
Added:
"include": "#vue-directives"
965
Added:
},
966
Added:
{
967
Added:
"include": "text.html.basic#attribute"
968
Added:
}
969
Added:
]
970
Added:
},
971
Added:
{
972
Added:
"begin": "(?=\\blang\\s*=\\s*(?:['\"]?)scss\\b)",
973
Added:
"end": "(?=<\\/style[\\s>])",
974
Added:
"patterns": [
975
Added:
{
976
Added:
"include": "#tag-stuff"
977
Added:
},
978
Added:
{
979
Added:
"begin": "(?<=>)",
980
Added:
"end": "(?=<\\/style[\\s>])",
981
Added:
"name": "source.css.scss",
982
Added:
"patterns": [
983
Added:
{
984
Added:
"include": "source.css.scss"
985
Added:
}
986
Added:
]
987
Added:
}
988
Added:
]
989
Added:
},
990
Added:
{
991
Added:
"begin": "(?=\\blang\\s*=\\s*(?:['\"]?)stylus\\b)",
992
Added:
"end": "(?=<\\/style[\\s>])",
993
Added:
"patterns": [
994
Added:
{
995
Added:
"include": "#tag-stuff"
996
Added:
},
997
Added:
{
998
Added:
"begin": "(?<=>)",
999
Added:
"end": "(?=<\\/style[\\s>])",
1000
Added:
"name": "source.stylus",
1001
Added:
"patterns": [
1002
Added:
{
1003
Added:
"include": "source.stylus"
1004
Added:
}
1005
Added:
]
1006
Added:
}
1007
Added:
]
1008
Added:
},
1009
Added:
{
1010
Added:
"begin": "(?=\\blang\\s*=\\s*(?:['\"]?)less\\b)",
1011
Added:
"end": "(?=<\\/style[\\s>])",
1012
Added:
"patterns": [
1013
Added:
{
1014
Added:
"include": "#tag-stuff"
1015
Added:
},
1016
Added:
{
1017
Added:
"begin": "(?<=>)",
1018
Added:
"end": "(?=<\\/style[\\s>])",
1019
Added:
"name": "source.css.less",
1020
Added:
"patterns": [
1021
Added:
{
1022
Added:
"include": "source.css.less"
1023
Added:
}
1024
Added:
]
1025
Added:
}
1026
Added:
]
1027
Added:
},
1028
Added:
{
1029
Added:
"begin": "(?=\\blang\\s*=\\s*(?:['\"]?)postcss\\b)",
1030
Added:
"end": "(?=<\\/style[\\s>])",
1031
Added:
"patterns": [
1032
Added:
{
1033
Added:
"include": "#tag-stuff"
1034
Added:
},
1035
Added:
{
1036
Added:
"begin": "(?<=>)",
1037
Added:
"end": "(?=<\\/style[\\s>])",
1038
Added:
"name": "source.postcss",
1039
Added:
"patterns": [
1040
Added:
{
1041
Added:
"include": "source.postcss"
1042
Added:
}
1043
Added:
]
1044
Added:
}
1045
Added:
]
1046
Added:
},
1047
Added:
{
1048
Added:
"begin": "(?<=>)",
1049
Added:
"end": "(?=<\\/style[\\s>])",
1050
Added:
"name": "source.css",
1051
Added:
"patterns": [
1052
Added:
{
1053
Added:
"include": "source.css"
1054
Added:
}
1055
Added:
]
1056
Added:
}
1057
Added:
]
1058
Added:
},
1059
Added:
"self-closing-tag": {
1060
Added:
"begin": "(<)([a-zA-Z0-9:-]+)(?=([^>]+/>))",
1061
Added:
"beginCaptures": {
1062
Added:
"1": {
1063
Added:
"name": "punctuation.definition.tag.begin.html.vue"
1064
Added:
},
1065
Added:
"2": {
1066
Added:
"name": "entity.name.tag.$2.html.vue"
1067
Added:
}
1068
Added:
},
1069
Added:
"end": "(/>)",
1070
Added:
"endCaptures": {
1071
Added:
"1": {
1072
Added:
"name": "punctuation.definition.tag.end.html.vue"
1073
Added:
}
1074
Added:
},
1075
Added:
"name": "self-closing-tag",
1076
Added:
"patterns": [
1077
Added:
{
1078
Added:
"include": "#tag-stuff"
1079
Added:
}
1080
Added:
]
1081
Added:
},
1082
Added:
"capitalized-tag": {
1083
Added:
"begin": "(<)([A-Z][a-zA-Z0-9:-]*)(?=\\s|/?>)",
1084
Added:
"beginCaptures": {
1085
Added:
"1": {
1086
Added:
"name": "punctuation.definition.tag.begin.html.vue"
1087
Added:
},
1088
Added:
"2": {
1089
Added:
"name": "entity.name.tag.html.vue"
1090
Added:
}
1091
Added:
},
1092
Added:
"end": "/?>",
1093
Added:
"endCaptures": {
1094
Added:
"0": {
1095
Added:
"name": "punctuation.definition.tag.end.html.vue"
1096
Added:
}
1097
Added:
},
1098
Added:
"name": "meta.tag.structure.$2.start.html.vue",
1099
Added:
"patterns": [
1100
Added:
{
1101
Added:
"begin": "\\G",
1102
Added:
"end": "(?=/?>)",
1103
Added:
"patterns": [
1104
Added:
{
1105
Added:
"include": "#vue-directives"
1106
Added:
},
1107
Added:
{
1108
Added:
"include": "text.html.basic#attribute"
1109
Added:
}
1110
Added:
]
1111
Added:
}
1112
Added:
]
1113
Added:
},
1114
Added:
"template-tag": {
1115
Added:
"patterns": [
1116
Added:
{
1117
Added:
"include": "#template-tag-1"
1118
Added:
},
1119
Added:
{
1120
Added:
"include": "#template-tag-2"
1121
Added:
}
1122
Added:
]
1123
Added:
},
1124
Added:
"template-tag-1": {
1125
Added:
"begin": "(<)(template)\\b(>)",
1126
Added:
"beginCaptures": {
1127
Added:
"1": {
1128
Added:
"name": "punctuation.definition.tag.begin.html.vue"
1129
Added:
},
1130
Added:
"2": {
1131
Added:
"name": "entity.name.tag.$2.html.vue"
1132
Added:
},
1133
Added:
"3": {
1134
Added:
"name": "punctuation.definition.tag.end.html.vue"
1135
Added:
}
1136
Added:
},
1137
Added:
"end": "(/?>)",
1138
Added:
"endCaptures": {
1139
Added:
"1": {
1140
Added:
"name": "punctuation.definition.tag.end.html.vue"
1141
Added:
}
1142
Added:
},
1143
Added:
"name": "meta.template-tag.start",
1144
Added:
"patterns": [
1145
Added:
{
1146
Added:
"begin": "\\G",
1147
Added:
"end": "(?=/>)|((</)(template)(?=[\\s>]))",
1148
Added:
"endCaptures": {
1149
Added:
"2": {
1150
Added:
"name": "punctuation.definition.tag.begin.html.vue"
1151
Added:
},
1152
Added:
"3": {
1153
Added:
"name": "entity.name.tag.$3.html.vue"
1154
Added:
}
1155
Added:
},
1156
Added:
"name": "meta.template-tag.end",
1157
Added:
"patterns": [
1158
Added:
{
1159
Added:
"include": "#html-stuff"
1160
Added:
}
1161
Added:
]
1162
Added:
}
1163
Added:
]
1164
Added:
},
1165
Added:
"template-tag-2": {
1166
Added:
"begin": "(<)(template)(?=\\s|\\/?>)",
1167
Added:
"beginCaptures": {
1168
Added:
"1": {
1169
Added:
"name": "punctuation.definition.tag.begin.html.vue"
1170
Added:
},
1171
Added:
"2": {
1172
Added:
"name": "entity.name.tag.$2.html.vue"
1173
Added:
}
1174
Added:
},
1175
Added:
"end": "(/?>)",
1176
Added:
"endCaptures": {
1177
Added:
"1": {
1178
Added:
"name": "punctuation.definition.tag.end.html.vue"
1179
Added:
}
1180
Added:
},
1181
Added:
"name": "meta.template-tag.start",
1182
Added:
"patterns": [
1183
Added:
{
1184
Added:
"begin": "\\G",
1185
Added:
"end": "(?=/>)|((</)(template)(?=[\\s>]))",
1186
Added:
"endCaptures": {
1187
Added:
"2": {
1188
Added:
"name": "punctuation.definition.tag.begin.html.vue"
1189
Added:
},
1190
Added:
"3": {
1191
Added:
"name": "entity.name.tag.$3.html.vue"
1192
Added:
}
1193
Added:
},
1194
Added:
"name": "meta.template-tag.end",
1195
Added:
"patterns": [
1196
Added:
{
1197
Added:
"include": "#tag-stuff"
1198
Added:
},
1199
Added:
{
1200
Added:
"include": "#html-stuff"
1201
Added:
}
1202
Added:
]
1203
Added:
}
1204
Added:
]
1205
Added:
},
1206
Added:
"html-stuff": {
1207
Added:
"patterns": [
1208
Added:
{
1209
Added:
"include": "#template-tag"
1210
Added:
},
1211
Added:
{
1212
Added:
"include": "#capitalized-tag"
1213
Added:
},
1214
Added:
{
1215
Added:
"include": "text.html.derivative"
1216
Added:
},
1217
Added:
{
1218
Added:
"include": "text.html.basic"
1219
Added:
}
1220
Added:
]
1221
Added:
},
1222
Added:
"tag-stuff": {
1223
Added:
"begin": "\\G",
1224
Added:
"end": "(?=/>)|(>)",
1225
Added:
"endCaptures": {
1226
Added:
"1": {
1227
Added:
"name": "punctuation.definition.tag.end.html.vue"
1228
Added:
}
1229
Added:
},
1230
Added:
"name": "meta.tag-stuff",
1231
Added:
"patterns": [
1232
Added:
{
1233
Added:
"include": "#vue-directives"
1234
Added:
},
1235
Added:
{
1236
Added:
"include": "text.html.basic#attribute"
1237
Added:
}
1238
Added:
]
1239
Added:
},
1240
Added:
"vue-directives": {
1241
Added:
"patterns": [
1242
Added:
{
1243
Added:
"include": "#vue-directives-control"
1244
Added:
},
1245
Added:
{
1246
Added:
"include": "#vue-directives-generic-attr"
1247
Added:
},
1248
Added:
{
1249
Added:
"include": "#vue-directives-style-attr"
1250
Added:
},
1251
Added:
{
1252
Added:
"include": "#vue-directives-original"
1253
Added:
}
1254
Added:
]
1255
Added:
},
1256
Added:
"vue-directives-original": {
1257
Added:
"begin": "(?:(?:(v-[\\w-]+)(:)?)|([:\\.])|(@)|(#))(?:(?:(\\[)([^\\]]*)(\\]))|([\\w-]+))?",
1258
Added:
"beginCaptures": {
1259
Added:
"1": {
1260
Added:
"name": "entity.other.attribute-name.html.vue"
1261
Added:
},
1262
Added:
"2": {
1263
Added:
"name": "punctuation.separator.key-value.html.vue"
1264
Added:
},
1265
Added:
"3": {
1266
Added:
"name": "punctuation.attribute-shorthand.bind.html.vue"
1267
Added:
},
1268
Added:
"4": {
1269
Added:
"name": "punctuation.attribute-shorthand.event.html.vue"
1270
Added:
},
1271
Added:
"5": {
1272
Added:
"name": "punctuation.attribute-shorthand.slot.html.vue"
1273
Added:
},
1274
Added:
"6": {
1275
Added:
"name": "punctuation.separator.key-value.html.vue"
1276
Added:
},
1277
Added:
"7": {
1278
Added:
"name": "source.ts.embedded.html.vue",
1279
Added:
"patterns": [
1280
Added:
{
1281
Added:
"include": "source.ts#expression"
1282
Added:
}
1283
Added:
]
1284
Added:
},
1285
Added:
"8": {
1286
Added:
"name": "punctuation.separator.key-value.html.vue"
1287
Added:
},
1288
Added:
"9": {
1289
Added:
"name": "entity.other.attribute-name.html.vue"
1290
Added:
}
1291
Added:
},
1292
Added:
"end": "(?=\\s*[^=\\s])",
1293
Added:
"name": "meta.attribute.directive.vue",
1294
Added:
"patterns": [
1295
Added:
{
1296
Added:
"match": "(\\.)([\\w-]*)",
1297
Added:
"1": {
1298
Added:
"name": "punctuation.separator.key-value.html.vue"
1299
Added:
},
1300
Added:
"2": {
1301
Added:
"name": "entity.other.attribute-name.html.vue"
1302
Added:
}
1303
Added:
},
1304
Added:
{
1305
Added:
"include": "#vue-directives-expression"
1306
Added:
}
1307
Added:
]
1308
Added:
},
1309
Added:
"vue-directives-control": {
1310
Added:
"begin": "(?:(v-for)|(v-if|v-else-if|v-else))(?=[=/>)\\s])",
1311
Added:
"beginCaptures": {
1312
Added:
"1": {
1313
Added:
"name": "keyword.control.loop.vue"
1314
Added:
},
1315
Added:
"2": {
1316
Added:
"name": "keyword.control.conditional.vue"
1317
Added:
}
1318
Added:
},
1319
Added:
"end": "(?=\\s*[^=\\s])",
1320
Added:
"name": "meta.attribute.directive.control.vue",
1321
Added:
"patterns": [
1322
Added:
{
1323
Added:
"include": "#vue-directives-expression"
1324
Added:
}
1325
Added:
]
1326
Added:
},
1327
Added:
"vue-directives-expression": {
1328
Added:
"patterns": [
1329
Added:
{
1330
Added:
"begin": "(=)\\s*('|\"|`)",
1331
Added:
"beginCaptures": {
1332
Added:
"1": {
1333
Added:
"name": "punctuation.separator.key-value.html.vue"
1334
Added:
},
1335
Added:
"2": {
1336
Added:
"name": "punctuation.definition.string.begin.html.vue"
1337
Added:
}
1338
Added:
},
1339
Added:
"end": "(\\2)",
1340
Added:
"endCaptures": {
1341
Added:
"1": {
1342
Added:
"name": "punctuation.definition.string.end.html.vue"
1343
Added:
}
1344
Added:
},
1345
Added:
"patterns": [
1346
Added:
{
1347
Added:
"begin": "(?<=('|\"|`))",
1348
Added:
"end": "(?=\\1)",
1349
Added:
"name": "source.ts.embedded.html.vue",
1350
Added:
"patterns": [
1351
Added:
{
1352
Added:
"include": "source.ts#expression"
1353
Added:
}
1354
Added:
]
1355
Added:
}
1356
Added:
]
1357
Added:
},
1358
Added:
{
1359
Added:
"begin": "(=)\\s*(?=[^'\"`])",
1360
Added:
"beginCaptures": {
1361
Added:
"1": {
1362
Added:
"name": "punctuation.separator.key-value.html.vue"
1363
Added:
}
1364
Added:
},
1365
Added:
"end": "(?=(\\s|>|\\/>))",
1366
Added:
"patterns": [
1367
Added:
{
1368
Added:
"begin": "(?=[^'\"`])",
1369
Added:
"end": "(?=(\\s|>|\\/>))",
1370
Added:
"name": "source.ts.embedded.html.vue",
1371
Added:
"patterns": [
1372
Added:
{
1373
Added:
"include": "source.ts#expression"
1374
Added:
}
1375
Added:
]
1376
Added:
}
1377
Added:
]
1378
Added:
}
1379
Added:
]
1380
Added:
},
1381
Added:
"vue-directives-style-attr": {
1382
Added:
"begin": "\\b(style)\\s*(=)",
1383
Added:
"beginCaptures": {
1384
Added:
"1": {
1385
Added:
"name": "entity.other.attribute-name.html.vue"
1386
Added:
},
1387
Added:
"2": {
1388
Added:
"name": "punctuation.separator.key-value.html.vue"
1389
Added:
}
1390
Added:
},
1391
Added:
"end": "(?<='|\")",
1392
Added:
"name": "meta.attribute.style.vue",
1393
Added:
"patterns": [
1394
Added:
{
1395
Added:
"comment": "Copy from source.css#rule-list-innards",
1396
Added:
"begin": "('|\")",
1397
Added:
"beginCaptures": {
1398
Added:
"1": {
1399
Added:
"name": "punctuation.definition.string.begin.html.vue"
1400
Added:
}
1401
Added:
},
1402
Added:
"end": "(\\1)",
1403
Added:
"endCaptures": {
1404
Added:
"1": {
1405
Added:
"name": "punctuation.definition.string.end.html.vue"
1406
Added:
}
1407
Added:
},
1408
Added:
"name": "source.css.embedded.html.vue",
1409
Added:
"patterns": [
1410
Added:
{
1411
Added:
"include": "source.css#comment-block"
1412
Added:
},
1413
Added:
{
1414
Added:
"include": "source.css#escapes"
1415
Added:
},
1416
Added:
{
1417
Added:
"include": "source.css#font-features"
1418
Added:
},
1419
Added:
{
1420
Added:
"match": "(?x) (?<![\\w-])\n--\n(?:[-a-zA-Z_] | [^\\x00-\\x7F]) # First letter\n(?:[-a-zA-Z0-9_] | [^\\x00-\\x7F] # Remainder of identifier\n |\\\\(?:[0-9a-fA-F]{1,6}|.)\n)*",
1421
Added:
"name": "variable.css"
1422
Added:
},
1423
Added:
{
1424
Added:
"begin": "(?<![-a-zA-Z])(?=[-a-zA-Z])",
1425
Added:
"end": "$|(?![-a-zA-Z])",
1426
Added:
"name": "meta.property-name.css",
1427
Added:
"patterns": [
1428
Added:
{
1429
Added:
"include": "source.css#property-names"
1430
Added:
}
1431
Added:
]
1432
Added:
},
1433
Added:
{
1434
Added:
"comment": "Modify end to fix #199. TODO: handle ' character.",
1435
Added:
"begin": "(:)\\s*",
1436
Added:
"beginCaptures": {
1437
Added:
"1": {
1438
Added:
"name": "punctuation.separator.key-value.css"
1439
Added:
}
1440
Added:
},
1441
Added:
"end": "\\s*(;)|\\s*(?='|\")",
1442
Added:
"endCaptures": {
1443
Added:
"1": {
1444
Added:
"name": "punctuation.terminator.rule.css"
1445
Added:
}
1446
Added:
},
1447
Added:
"contentName": "meta.property-value.css",
1448
Added:
"patterns": [
1449
Added:
{
1450
Added:
"include": "source.css#comment-block"
1451
Added:
},
1452
Added:
{
1453
Added:
"include": "source.css#property-values"
1454
Added:
}
1455
Added:
]
1456
Added:
},
1457
Added:
{
1458
Added:
"match": ";",
1459
Added:
"name": "punctuation.terminator.rule.css"
1460
Added:
}
1461
Added:
]
1462
Added:
}
1463
Added:
]
1464
Added:
},
1465
Added:
"vue-directives-generic-attr": {
1466
Added:
"begin": "\\b(generic)\\s*(=)",
1467
Added:
"beginCaptures": {
1468
Added:
"1": {
1469
Added:
"name": "entity.other.attribute-name.html.vue"
1470
Added:
},
1471
Added:
"2": {
1472
Added:
"name": "punctuation.separator.key-value.html.vue"
1473
Added:
}
1474
Added:
},
1475
Added:
"end": "(?<='|\")",
1476
Added:
"name": "meta.attribute.generic.vue",
1477
Added:
"patterns": [
1478
Added:
{
1479
Added:
"begin": "('|\")",
1480
Added:
"beginCaptures": {
1481
Added:
"1": {
1482
Added:
"name": "punctuation.definition.string.begin.html.vue"
1483
Added:
}
1484
Added:
},
1485
Added:
"end": "(\\1)",
1486
Added:
"endCaptures": {
1487
Added:
"1": {
1488
Added:
"name": "punctuation.definition.string.end.html.vue"
1489
Added:
}
1490
Added:
},
1491
Added:
"name": "meta.type.parameters.vue",
1492
Added:
"comment": "https://github.com/microsoft/vscode/blob/fd4346210f59135fad81a8b8c4cea7bf5a9ca6b4/extensions/typescript-basics/syntaxes/TypeScript.tmLanguage.json#L4002-L4020",
1493
Added:
"patterns": [
1494
Added:
{
1495
Added:
"include": "source.ts#comment"
1496
Added:
},
1497
Added:
{
1498
Added:
"name": "storage.modifier.ts",
1499
Added:
"match": "(?<![_$[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(extends|in|out)(?![_$[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))"
1500
Added:
},
1501
Added:
{
1502
Added:
"include": "source.ts#type"
1503
Added:
},
1504
Added:
{
1505
Added:
"include": "source.ts#punctuation-comma"
1506
Added:
},
1507
Added:
{
1508
Added:
"name": "keyword.operator.assignment.ts",
1509
Added:
"match": "(=)(?!>)"
1510
Added:
}
1511
Added:
]
1512
Added:
}
1513
Added:
]
1514
Added:
},
1515
Added:
"vue-interpolations": {
1516
Added:
"patterns": [
1517
Added:
{
1518
Added:
"begin": "(\\{\\{)",
1519
Added:
"beginCaptures": {
1520
Added:
"1": {
1521
Added:
"name": "punctuation.definition.interpolation.begin.html.vue"
1522
Added:
}
1523
Added:
},
1524
Added:
"end": "(\\}\\})",
1525
Added:
"endCaptures": {
1526
Added:
"1": {
1527
Added:
"name": "punctuation.definition.interpolation.end.html.vue"
1528
Added:
}
1529
Added:
},
1530
Added:
"name": "expression.embedded.vue",
1531
Added:
"patterns": [
1532
Added:
{
1533
Added:
"begin": "\\G",
1534
Added:
"end": "(?=\\}\\})",
1535
Added:
"name": "source.ts.embedded.html.vue",
1536
Added:
"patterns": [
1537
Added:
{
1538
Added:
"include": "source.ts#expression"
1539
Added:
}
1540
Added:
]
1541
Added:
}
1542
Added:
]
1543
Added:
}
1544
Added:
]
1545
Added:
},
1546
Added:
"vue-comments": {
1547
Added:
"patterns": [
1548
Added:
{
1549
Added:
"include": "#vue-comments-key-value"
1550
Added:
},
1551
Added:
{
1552
Added:
"begin": "<!--",
1553
Added:
"captures": {
1554
Added:
"0": {
1555
Added:
"name": "punctuation.definition.comment.vue"
1556
Added:
}
1557
Added:
},
1558
Added:
"end": "-->",
1559
Added:
"name": "comment.block.vue"
1560
Added:
}
1561
Added:
]
1562
Added:
},
1563
Added:
"vue-comments-key-value": {
1564
Added:
"begin": "(<!--)\\s*(@)([\\w$]+)(?=\\s)",
1565
Added:
"beginCaptures": {
1566
Added:
"1": {
1567
Added:
"name": "punctuation.definition.comment.vue"
1568
Added:
},
1569
Added:
"2": {
1570
Added:
"name": "punctuation.definition.block.tag.comment.vue"
1571
Added:
},
1572
Added:
"3": {
1573
Added:
"name": "storage.type.class.comment.vue"
1574
Added:
}
1575
Added:
},
1576
Added:
"end": "(-->)",
1577
Added:
"endCaptures": {
1578
Added:
"1": {
1579
Added:
"name": "punctuation.definition.comment.vue"
1580
Added:
}
1581
Added:
},
1582
Added:
"name": "comment.block.vue",
1583
Added:
"patterns": [
1584
Added:
{
1585
Added:
"include": "source.json#value"
1586
Added:
}
1587
Added:
]
1588
Added:
}
1589
Added:
}
1590
Added:
}
lib/highlight_grammars.ml
@@ -27,25 +27,38 @@
27
27
(fun name -> load (name ^ ".json"))
28
28
[
29
29
"c";
30
Added:
"clojure";
30
31
"cpp";
31
32
"csharp";
32
33
"css";
34
Added:
"dart";
33
35
"diff";
34
36
"dockerfile";
37
Added:
"dune";
38
Added:
"elixir";
39
Added:
"erlang";
40
Added:
"fortran";
35
41
"go";
42
Added:
"groovy";
36
43
"haskell";
37
44
"html";
38
45
"java";
39
46
"javascript";
40
47
"json";
48
Added:
"julia";
41
49
"kotlin";
50
Added:
"lisp";
42
51
"lua";
43
52
"makefile";
44
53
"markdown";
45
54
"nix";
55
Added:
"objective-c";
46
56
"ocaml";
57
Added:
"opam";
47
58
"perl";
48
59
"php";
60
Added:
"powershell";
61
Added:
"protobuf";
49
62
"python";
50
63
"r";
51
64
"ruby";
@@ -54,8 +67,10 @@
54
67
"shell";
55
68
"sql";
56
69
"swift";
70
Added:
"terraform";
57
71
"toml";
58
72
"typescript";
73
Added:
"vue";
59
74
"xml";
60
75
"yaml";
61
76
"zig";
@@ -70,25 +85,38 @@
70
85
erlang, lisp, awk) gracefully degrade to plain text in {!Highlight}. *)
71
86
let scope_of_lang = function
72
87
| "c" -> Some "source.c"
88
Added:
| "clojure" -> Some "source.clojure"
73
89
| "cpp" -> Some "source.cpp"
74
90
| "csharp" -> Some "source.cs"
75
91
| "css" -> Some "source.css"
92
Added:
| "dart" -> Some "source.dart"
76
93
| "diff" -> Some "source.diff"
77
94
| "dockerfile" -> Some "source.dockerfile"
95
Added:
| "dune" -> Some "source.dune"
96
Added:
| "elixir" -> Some "source.elixir"
97
Added:
| "erlang" -> Some "source.erlang"
98
Added:
| "fortran" -> Some "source.fortran.free"
78
99
| "go" -> Some "source.go"
100
Added:
| "groovy" -> Some "source.groovy"
79
101
| "haskell" -> Some "source.haskell"
80
Removed:
| "html" | "xml" -> Some "text.html.basic"
102
Added:
| "html" -> Some "text.html.basic"
81
103
| "java" -> Some "source.java"
82
104
| "javascript" -> Some "source.js"
83
105
| "json" -> Some "source.json"
106
Added:
| "julia" -> Some "source.julia"
84
107
| "kotlin" -> Some "source.kotlin"
108
Added:
| "lisp" -> Some "source.lisp"
85
109
| "lua" -> Some "source.lua"
86
110
| "makefile" -> Some "source.makefile"
87
111
| "markdown" -> Some "text.html.markdown"
88
112
| "nix" -> Some "source.nix"
113
Added:
| "objective-c" | "objc" -> Some "source.objc"
89
114
| "ocaml" -> Some "source.ocaml"
115
Added:
| "opam" -> Some "source.ocaml.opam"
90
116
| "perl" -> Some "source.perl"
91
117
| "php" -> Some "source.php"
118
Added:
| "powershell" -> Some "source.powershell"
119
Added:
| "protobuf" | "proto" -> Some "source.proto"
92
120
| "python" -> Some "source.python"
93
121
| "r" -> Some "source.r"
94
122
| "ruby" -> Some "source.ruby"
@@ -97,8 +125,11 @@
97
125
| "bash" | "shell" | "sh" -> Some "source.shell"
98
126
| "sql" -> Some "source.sql"
99
127
| "swift" -> Some "source.swift"
128
Added:
| "terraform" | "hcl" -> Some "source.hcl.terraform"
100
129
| "toml" | "ini" -> Some "source.toml"
101
130
| "typescript" -> Some "source.ts"
131
Added:
| "vue" -> Some "text.html.vue"
132
Added:
| "xml" -> Some "text.html.basic"
102
133
| "yaml" -> Some "source.yaml"
103
134
| "zig" -> Some "source.zig"
104
135
| _ -> None
lib/syntax.ml
@@ -11,38 +11,58 @@
11
11
*)
12
12
13
13
let of_filename name =
14
Added:
(* First check the bare filename for well-known extensionless files *)
15
Added:
let basename = Filename.basename name |> String.lowercase_ascii in
16
Added:
match basename with
17
Added:
| "makefile" | "gnumakefile" -> Some "makefile"
18
Added:
| "dockerfile" -> Some "dockerfile"
19
Added:
| "dune" | "dune-project" | "dune-workspace" -> Some "dune"
20
Added:
| "jenkinsfile" -> Some "groovy"
21
Added:
| _ ->
14
22
match Filename.extension name |> String.lowercase_ascii with
15
23
| ".ml" | ".mli" -> Some "ocaml"
16
24
| ".c" | ".h" -> Some "c"
25
Added:
| ".clj" | ".cljs" | ".cljc" | ".edn" -> Some "clojure"
17
26
| ".cpp" | ".cc" | ".cxx" | ".hpp" -> Some "cpp"
18
27
| ".cs" -> Some "csharp"
19
28
| ".css" -> Some "css"
29
Added:
| ".dart" -> Some "dart"
20
30
| ".diff" | ".patch" -> Some "diff"
21
Removed:
| ".el" | ".lisp" | ".cl" -> Some "lisp"
22
Removed:
| ".erl" -> Some "erlang"
31
Added:
| ".dune" -> Some "dune"
32
Added:
| ".el" | ".lisp" | ".cl" | ".scm" | ".ss" -> Some "lisp"
33
Added:
| ".erl" | ".hrl" -> Some "erlang"
23
34
| ".ex" | ".exs" -> Some "elixir"
35
Added:
| ".f90" | ".f95" | ".f03" | ".f08" | ".f" | ".for" -> Some "fortran"
24
36
| ".go" -> Some "go"
37
Added:
| ".gradle" | ".groovy" -> Some "groovy"
25
38
| ".hs" -> Some "haskell"
26
Removed:
| ".html" | ".htm" -> Some "xml"
39
Added:
| ".html" | ".htm" -> Some "html"
27
40
| ".java" -> Some "java"
41
Added:
| ".jl" -> Some "julia"
28
42
| ".js" | ".mjs" | ".cjs" -> Some "javascript"
29
43
| ".json" -> Some "json"
30
Removed:
| ".kt" -> Some "kotlin"
44
Added:
| ".kt" | ".kts" -> Some "kotlin"
31
45
| ".lua" -> Some "lua"
46
Added:
| ".m" -> Some "objective-c"
32
47
| ".md" -> Some "markdown"
33
48
| ".nix" -> Some "nix"
49
Added:
| ".opam" -> Some "opam"
34
50
| ".php" -> Some "php"
35
51
| ".pl" | ".pm" | ".t" -> Some "perl"
52
Added:
| ".proto" -> Some "protobuf"
53
Added:
| ".ps1" | ".psm1" | ".psd1" -> Some "powershell"
36
54
| ".py" -> Some "python"
37
55
| ".r" -> Some "r"
38
56
| ".rb" -> Some "ruby"
39
57
| ".rs" -> Some "rust"
40
Removed:
| ".scala" -> Some "scala"
58
Added:
| ".scala" | ".sc" -> Some "scala"
41
59
| ".sh" | ".bash" | ".zsh" -> Some "bash"
42
60
| ".sql" -> Some "sql"
43
61
| ".swift" -> Some "swift"
44
Removed:
| ".toml" -> Some "ini"
62
Added:
| ".tf" | ".hcl" -> Some "terraform"
63
Added:
| ".toml" -> Some "toml"
45
64
| ".ts" | ".tsx" -> Some "typescript"
65
Added:
| ".vue" -> Some "vue"
46
66
| ".xml" | ".svg" | ".xsl" -> Some "xml"
47
67
| ".yaml" | ".yml" -> Some "yaml"
48
68
| ".zig" -> Some "zig"