github-linguist 4.8.2 → 4.8.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 3c13554e87b5893582eec8a7abf26158e7f2d951
4
- data.tar.gz: 85b01625638b556c629007befaf9f93900431c76
3
+ metadata.gz: 5c8139ec72b28df23b59dc237a0b26b79ff1b894
4
+ data.tar.gz: 5c09a42724c29b1ebf7e46838861db3056c01060
5
5
  SHA512:
6
- metadata.gz: b53490edb878c7f3f1263bb8a2aedf832f64ef55108f17bb520c051d84b8715411024b48242e8915936f896c712d0a601cc8ea36a2ea4cca993bafb3920ebd87
7
- data.tar.gz: e70345da5e6e1d7a96d43b98f11805c562cb895c40474af5489e1bbb3c1d3c74a8709efad580fac17532f9deee1119d633115918baf73fc3bfc95b26a2c5fba0
6
+ metadata.gz: e88f434682a2b318c469861dc93542aae4a37fcf1d7b9a7b5cf7ce9a90ec81e03c53d51b1d2770cd8b2a6a2ed651c598f886754244e1c36e96279585970e041a
7
+ data.tar.gz: 845957fc6567e514c1a0b0594e1310c4903c493d85894283090da60cf9fe6834e7a4d303aa2e9b517a0d1ce8a52d2961fa7354abf65988be9ea0af14af2e22a6
@@ -1,442 +1,1414 @@
1
1
  {
2
+ "name": "APL",
3
+ "scopeName": "source.apl",
2
4
  "fileTypes": [
3
- "apl"
5
+ "apl",
6
+ "dyalog"
4
7
  ],
5
- "foldingStartMarker": "{",
6
- "foldingStopMarker": "}",
7
- "name": "APL",
8
+ "firstLineMatch": "^#!.*\\b(apl|dyalog)",
9
+ "foldingStartMarker": "\\{",
10
+ "foldingStopMarker": "\\}",
8
11
  "patterns": [
9
12
  {
10
- "comment": "Shebang interpreter invokation",
11
- "match": "^#!.+",
12
- "name": "comment.shebang.apl"
13
+ "include": "#heredocs"
14
+ },
15
+ {
16
+ "include": "#main"
17
+ },
18
+ {
19
+ "match": "\\A#!.*$",
20
+ "name": "comment.line.shebang.apl"
21
+ },
22
+ {
23
+ "contentName": "text.embedded.apl",
24
+ "begin": "^\\s*((\\))OFF|(\\])NEXTFILE)\\b(.*)$",
25
+ "end": "(?=N)A",
26
+ "beginCaptures": {
27
+ "1": {
28
+ "name": "entity.name.command.eof.apl"
29
+ },
30
+ "2": {
31
+ "name": "punctuation.definition.command.apl"
32
+ },
33
+ "3": {
34
+ "name": "punctuation.definition.command.apl"
35
+ },
36
+ "4": {
37
+ "patterns": [
38
+ {
39
+ "include": "#comment"
40
+ }
41
+ ]
42
+ }
43
+ }
44
+ },
45
+ {
46
+ "name": "meta.round.bracketed.group.apl",
47
+ "patterns": [
48
+ {
49
+ "include": "#main"
50
+ }
51
+ ],
52
+ "begin": "\\(",
53
+ "end": "\\)",
54
+ "beginCaptures": {
55
+ "0": {
56
+ "name": "punctuation.round.bracket.begin.apl"
57
+ }
58
+ },
59
+ "endCaptures": {
60
+ "0": {
61
+ "name": "punctuation.round.bracket.end.apl"
62
+ }
63
+ }
13
64
  },
14
65
  {
15
- "begin": "'",
66
+ "name": "meta.square.bracketed.group.apl",
67
+ "patterns": [
68
+ {
69
+ "include": "#main"
70
+ }
71
+ ],
72
+ "begin": "\\[",
73
+ "end": "\\]",
16
74
  "beginCaptures": {
17
75
  "0": {
18
- "name": "support.type.string.single.begin.apl"
76
+ "name": "punctuation.square.bracket.begin.apl"
19
77
  }
20
78
  },
21
- "comment": "String",
22
- "end": "(')|(\n)",
23
79
  "endCaptures": {
80
+ "0": {
81
+ "name": "punctuation.square.bracket.end.apl"
82
+ }
83
+ }
84
+ },
85
+ {
86
+ "name": "meta.system.command.apl",
87
+ "begin": "^\\s*((\\))\\S+)",
88
+ "end": "$",
89
+ "beginCaptures": {
24
90
  "1": {
25
- "name": "support.type.string.single.end.apl"
91
+ "name": "entity.name.command.apl"
26
92
  },
27
93
  "2": {
28
- "name": "invalid.illegal.newline.apl"
94
+ "name": "punctuation.definition.command.apl"
29
95
  }
30
96
  },
31
- "name": "string.quoted.single.apl",
32
97
  "patterns": [
33
98
  {
34
- "match": "[a-zA-Z]+",
35
- "name": "string.quoted.single.content.apl"
99
+ "include": "#command-arguments"
100
+ },
101
+ {
102
+ "include": "#command-switches"
103
+ },
104
+ {
105
+ "include": "#main"
36
106
  }
37
107
  ]
38
108
  },
39
109
  {
40
- "comment": "Line comment",
41
- "match": "⍝.*",
42
- "name": "comment.line.apl"
43
- },
44
- {
45
- "comment": "Numeric constant",
46
- "match": "[0-9][0-9\\.]*",
47
- "name": "constant.numeric.apl"
48
- },
49
- {
50
- "comment": "Specifier label",
51
- "match": ":[a-zA-Z0-9]*",
52
- "name": "string.quoted.single.label.apl"
53
- },
54
- {
55
- "comment": "Semicolon - conjoin",
56
- "match": ";",
57
- "name": "string.quoted.single.semicolon.apl"
58
- },
59
- {
60
- "comment": "Open d-function/d-operator",
61
- "match": "{",
62
- "name": "support.function.open.apl"
63
- },
64
- {
65
- "comment": "Close d-function/d-operator",
66
- "match": "}",
67
- "name": "support.function.close.apl"
68
- },
69
- {
70
- "comment": "Open parenthesis - Vectors / ordering",
71
- "match": "\\(",
72
- "name": "support.function.parenthesis.open.apl"
73
- },
74
- {
75
- "comment": "Close parenthesis - Vectors / ordering",
76
- "match": "\\)",
77
- "name": "support.function.parenthesis.close.apl"
78
- },
79
- {
80
- "comment": "Left bracket - Indexing / axis specification",
81
- "match": "\\[",
82
- "name": "support.function.parenthesis.open.apl"
83
- },
84
- {
85
- "comment": "Right bracket - Indexing / axis specification",
86
- "match": "\\]",
87
- "name": "support.function.parenthesis.close.apl"
88
- },
89
- {
90
- "comment": "Left Arrow - Assign",
91
- "match": "←",
92
- "name": "support.function.construct.leftarrow.apl"
93
- },
94
- {
95
- "comment": "Zilde - Empty numeric vector",
96
- "match": "⍬",
97
- "name": "support.function.construct.zilde.apl"
98
- },
99
- {
100
- "comment": "Diamond - statement separator",
101
- "match": "",
102
- "name": "support.function.construct.diamond.apl"
103
- },
104
- {
105
- "comment": "Thorn - Format / format by specification",
106
- "match": "⍕",
107
- "name": "support.function.construct.thorn.apl"
108
- },
109
- {
110
- "comment": "Del - self reference (recurse)",
111
- "match": "∇",
112
- "name": "support.function.construct.del.apl"
113
- },
114
- {
115
- "comment": "Quad - system input",
116
- "match": "⎕[A-Z]*",
117
- "name": "support.function.construct.quad.apl"
118
- },
119
- {
120
- "comment": "Rho - Shape/Reshape",
121
- "match": "∧",
122
- "name": "support.function.and.apl"
123
- },
124
- {
125
- "comment": "Rho - Shape/Reshape",
126
- "match": "∨",
127
- "name": "support.function.or.apl"
128
- },
129
- {
130
- "comment": "Rho - Shape/Reshape",
131
- "match": "⍲",
132
- "name": "support.function.nand.apl"
133
- },
134
- {
135
- "comment": "Rho - Shape/Reshape",
136
- "match": "⍱",
137
- "name": "support.function.nor.apl"
138
- },
139
- {
140
- "comment": "Less than - Less than",
141
- "match": "<",
142
- "name": "support.function.lessthan.apl"
143
- },
144
- {
145
- "comment": "Greater than - Greater than",
146
- "match": ">",
147
- "name": "support.function.greaterthan.apl"
148
- },
149
- {
150
- "comment": "Less than or equal to - Less than or equal to",
151
- "match": "≤",
152
- "name": "support.function.lessthanorequalto.apl"
153
- },
154
- {
155
- "comment": "Greater than or equal to - Greater than or equal to",
156
- "match": "≥",
157
- "name": "support.function.greaterthanorequalto.apl"
158
- },
159
- {
160
- "comment": "Equal - Equal to",
161
- "match": "=",
162
- "name": "support.function.equal.apl"
163
- },
164
- {
165
- "comment": "Not equal - Not equal to (XOR)",
166
- "match": "≠",
167
- "name": "support.function.notequal.apl"
168
- },
169
- {
170
- "comment": "Equal underbar - Depth / match",
171
- "match": "≡",
172
- "name": "support.function.equalunderbar.apl"
173
- },
174
- {
175
- "comment": "Equal underbar slash - Tally / not match",
176
- "match": "≢",
177
- "name": "support.function.equalunderbarslash.apl"
178
- },
179
- {
180
- "comment": "Rho - Shape/Reshape",
181
- "match": "⍴",
182
- "name": "storage.modifier.rho.apl"
183
- },
184
- {
185
- "comment": "Dieresis - Each",
186
- "match": "¨",
187
- "name": "storage.modifier.dieresis.apl"
188
- },
189
- {
190
- "comment": "Tilde dieresis - Commute",
191
- "match": "⍨",
192
- "name": "storage.modifier.tildedieresis.apl"
193
- },
194
- {
195
- "comment": "Star dieresis - Power",
196
- "match": "⍣",
197
- "name": "storage.modifier.stardieresis.apl"
198
- },
199
- {
200
- "comment": "Comma - Ravel / catenate-laminate",
201
- "match": ",",
202
- "name": "storage.modifier.comma.apl"
203
- },
204
- {
205
- "comment": "Comma bar - Table / catenate-first-laminate",
206
- "match": "⍪",
207
- "name": "storage.modifier.commabar.apl"
208
- },
209
- {
210
- "comment": "Circle stile - Reverse / rotate",
211
- "match": "⌽",
212
- "name": "storage.modifier.circlestile.apl"
213
- },
214
- {
215
- "comment": "Circle bar - Reverse first / rotate first",
216
- "match": "⊖",
217
- "name": "storage.modifier.circlebar.apl"
218
- },
219
- {
220
- "comment": "Circle backslash - Transpose / dyadic transpose",
221
- "match": "⍉",
222
- "name": "storage.modifier.circlebackslash.apl"
223
- },
224
- {
225
- "comment": "Up arrow - Mix / take",
226
- "match": "↑",
227
- "name": "storage.modifier.uparrow.apl"
228
- },
229
- {
230
- "comment": "Down arrow - Split / drop",
231
- "match": "↓",
232
- "name": "storage.modifier.downarrow.apl"
233
- },
234
- {
235
- "comment": "Left shoe - Enclose / partitioned enclose",
236
- "match": "⊂",
237
- "name": "storage.modifier.leftshoe.apl"
238
- },
239
- {
240
- "comment": "High minus - Negate",
241
- "match": "¯",
242
- "name": "support.function.math.highminus.apl"
243
- },
244
- {
245
- "comment": "Plus - Conjugate / Add",
246
- "match": "\\+",
247
- "name": "support.function.math.plus.apl"
248
- },
249
- {
250
- "comment": "Minus - Negate / Minus",
251
- "match": "-",
252
- "name": "support.function.math.minus.apl"
253
- },
254
- {
255
- "comment": "Divide - Reciprocal / Divide",
256
- "match": "÷",
257
- "name": "support.function.math.divide.apl"
258
- },
259
- {
260
- "comment": "Times - Sign Of / Multiply",
261
- "match": "×",
262
- "name": "support.function.math.times.apl"
263
- },
264
- {
265
- "comment": "Star - Exponential / Power",
266
- "match": "\\*",
267
- "name": "support.function.math.star.apl"
268
- },
269
- {
270
- "comment": "Exclamation Mark - Factorial / Binomial",
271
- "match": "!",
272
- "name": "support.function.math.exclamationmark.apl"
273
- },
274
- {
275
- "comment": "Question Mark - Roll / Deal",
276
- "match": "\\?",
277
- "name": "support.function.math.questionmark.apl"
278
- },
279
- {
280
- "comment": "Stile - Magnitude / Residue",
281
- "match": "\\|",
282
- "name": "support.function.math.stile.apl"
283
- },
284
- {
285
- "comment": "Upstile - Ceiling / Maximum",
286
- "match": "⌈",
287
- "name": "support.function.math.upstile.apl"
288
- },
289
- {
290
- "comment": "Downstile - Floor / Minimum",
291
- "match": "⌊",
292
- "name": "support.function.math.downstile.apl"
293
- },
294
- {
295
- "comment": "Uptack - Decode",
296
- "match": "⊥",
297
- "name": "support.function.math.uptack.apl"
298
- },
299
- {
300
- "comment": "Downtack - Encode",
301
- "match": "⊤",
302
- "name": "support.function.math.downtack.apl"
303
- },
304
- {
305
- "comment": "Log - Natural logarithm / logarithm",
306
- "match": "⍟",
307
- "name": "support.function.math.log.apl"
308
- },
309
- {
310
- "comment": "Circle - Pi times / trig",
311
- "match": "○",
312
- "name": "support.function.math.circle.apl"
313
- },
314
- {
315
- "comment": "Domino - Matrix inverse / matrix divide",
316
- "match": "⌹",
317
- "name": "support.function.math.domino.apl"
318
- },
319
- {
320
- "comment": "Double alpha variable",
321
- "match": "⍺⍺",
322
- "name": "constant.other.parameter.doublealpha.apl"
323
- },
324
- {
325
- "comment": "Alpha variable",
326
- "match": "⍺",
327
- "name": "constant.language.parameter.alpha.apl"
328
- },
329
- {
330
- "comment": "Double Omega variable",
331
- "match": "⍵⍵",
332
- "name": "constant.other.parameter.doubleomega.apl"
333
- },
334
- {
335
- "comment": "Omega variable",
336
- "match": "⍵",
337
- "name": "constant.language.parameter.omega.apl"
338
- },
339
- {
340
- "comment": "Slash - reduce, first axis",
341
- "match": "/",
342
- "name": "keyword.operator.reduce.apl"
343
- },
344
- {
345
- "comment": "Slash bar - reduce, last axis",
346
- "match": "⌿",
347
- "name": "keyword.operator.reducelast.apl"
348
- },
349
- {
350
- "comment": "Backslash - scan, last axis",
351
- "match": "\\\\",
352
- "name": "keyword.operator.scan.apl"
353
- },
354
- {
355
- "comment": "Backslash bar - scan, first axis",
356
- "match": "⍀",
357
- "name": "keyword.operator.scanlast.apl"
358
- },
359
- {
360
- "comment": "Jot - outer product",
361
- "match": "∘",
362
- "name": "keyword.operator.jot.apl"
363
- },
364
- {
365
- "comment": "Dot - inner product",
366
- "match": "\\.",
367
- "name": "keyword.operator.innerproduct.apl"
368
- },
369
- {
370
- "comment": "Quad equal - Key",
371
- "match": "⌸",
372
- "name": "keyword.operator.quadequal.apl"
373
- },
374
- {
375
- "comment": "Jot diaerisis - Rank",
376
- "match": "⍤",
377
- "name": "keyword.operator.jotdiaerisis.apl"
378
- },
379
- {
380
- "comment": "Squad - Materialize / index",
381
- "match": "⌷",
382
- "name": "keyword.operator.squad.apl"
383
- },
384
- {
385
- "comment": "Right shoe - First / pick",
386
- "match": "⊃",
387
- "name": "keyword.operator.rightshoe.apl"
110
+ "name": "meta.user.command.apl",
111
+ "begin": "^\\s*((\\])\\S+)",
112
+ "end": "$",
113
+ "beginCaptures": {
114
+ "1": {
115
+ "name": "entity.name.command.apl"
116
+ },
117
+ "2": {
118
+ "name": "punctuation.definition.command.apl"
119
+ }
120
+ },
121
+ "patterns": [
122
+ {
123
+ "include": "#command-arguments"
124
+ },
125
+ {
126
+ "include": "#command-switches"
127
+ },
128
+ {
129
+ "include": "#main"
130
+ }
131
+ ]
132
+ }
133
+ ],
134
+ "repository": {
135
+ "main": {
136
+ "patterns": [
137
+ {
138
+ "include": "#class"
139
+ },
140
+ {
141
+ "include": "#definition"
142
+ },
143
+ {
144
+ "include": "#comment"
145
+ },
146
+ {
147
+ "include": "#label"
148
+ },
149
+ {
150
+ "include": "#sck"
151
+ },
152
+ {
153
+ "include": "#strings"
154
+ },
155
+ {
156
+ "include": "#float"
157
+ },
158
+ {
159
+ "include": "#int"
160
+ },
161
+ {
162
+ "include": "#name"
163
+ },
164
+ {
165
+ "include": "#lambda"
166
+ },
167
+ {
168
+ "include": "#sysvars"
169
+ },
170
+ {
171
+ "include": "#symbols"
172
+ }
173
+ ]
388
174
  },
389
- {
390
- "comment": "Tilde - Not / without",
391
- "match": "~",
392
- "name": "keyword.operator.tilde.apl"
175
+ "comment": {
176
+ "name": "comment.line.apl",
177
+ "begin": "",
178
+ "end": "$",
179
+ "captures": {
180
+ "0": {
181
+ "name": "punctuation.definition.comment.apl"
182
+ }
183
+ }
393
184
  },
394
- {
395
- "comment": "Up shoe - Unique / union",
396
- "match": "∪",
397
- "name": "keyword.operator.upshoe.apl"
185
+ "float": {
186
+ "patterns": [
187
+ {
188
+ "name": "constant.numeric.float.apl",
189
+ "match": "\\b(\\d+)(\\.)(\\d*([Ee]¯?\\d+)?)",
190
+ "captures": {
191
+ "1": {
192
+ "name": "leading.decimal"
193
+ },
194
+ "2": {
195
+ "name": "decimal.separator"
196
+ },
197
+ "3": {
198
+ "name": "trailing.decimal"
199
+ },
200
+ "4": {
201
+ "name": "exponential.decimal"
202
+ }
203
+ }
204
+ },
205
+ {
206
+ "name": "constant.numeric.float.no-trailing-digits.apl",
207
+ "match": "\\b(\\d+)(\\.)(?!\\w)",
208
+ "captures": {
209
+ "1": {
210
+ "name": "leading.decimal"
211
+ },
212
+ "2": {
213
+ "name": "decimal.separator"
214
+ }
215
+ }
216
+ },
217
+ {
218
+ "name": "constant.numeric.float.no-leading-digits.apl",
219
+ "match": "(?<!\\w)(\\.)(\\d+([Ee]¯?\\d+)?)",
220
+ "captures": {
221
+ "1": {
222
+ "name": "decimal.separator"
223
+ },
224
+ "2": {
225
+ "name": "trailing.decimal"
226
+ },
227
+ "3": {
228
+ "name": "exponential.decimal"
229
+ }
230
+ }
231
+ }
232
+ ]
398
233
  },
399
- {
400
- "comment": "Down shoe - Intersection",
401
- "match": "∩",
402
- "name": "keyword.operator.downshoe.apl"
234
+ "int": {
235
+ "patterns": [
236
+ {
237
+ "name": "constant.numeric.int.exponential.apl",
238
+ "match": "\\b\\d+[Ee]¯?\\d+"
239
+ },
240
+ {
241
+ "name": "constant.numeric.int.basic.apl",
242
+ "match": "\\b\\d+(?!\\.?[Ee][\\d¯])"
243
+ }
244
+ ]
403
245
  },
404
- {
405
- "comment": "Left tack - Same / left",
406
- "match": "⊣",
407
- "name": "keyword.operator.lefttack.apl"
246
+ "strings": {
247
+ "patterns": [
248
+ {
249
+ "name": "string.quoted.single.apl",
250
+ "begin": "'",
251
+ "end": "'|$",
252
+ "beginCaptures": {
253
+ "0": {
254
+ "name": "punctuation.definition.string.begin.apl"
255
+ }
256
+ },
257
+ "endCaptures": {
258
+ "0": {
259
+ "name": "punctuation.definition.string.end.apl"
260
+ }
261
+ },
262
+ "patterns": [
263
+ {
264
+ "match": "[^']*[^'\\n\\r\\\\]$",
265
+ "name": "invalid.illegal.string.apl"
266
+ }
267
+ ]
268
+ },
269
+ {
270
+ "name": "string.quoted.double.apl",
271
+ "begin": "\"",
272
+ "end": "\"|$",
273
+ "beginCaptures": {
274
+ "0": {
275
+ "name": "punctuation.definition.string.begin.apl"
276
+ }
277
+ },
278
+ "endCaptures": {
279
+ "0": {
280
+ "name": "punctuation.definition.string.end.apl"
281
+ }
282
+ },
283
+ "patterns": [
284
+ {
285
+ "match": "[^\"]*[^\"\\n\\r\\\\]$",
286
+ "name": "invalid.illegal.string.apl"
287
+ }
288
+ ]
289
+ }
290
+ ]
408
291
  },
409
- {
410
- "comment": "Right tack - Same / right",
411
- "match": "⊢",
412
- "name": "keyword.operator.righttack.apl"
292
+ "name": {
293
+ "patterns": [
294
+ {
295
+ "name": "storage.type.name.apl",
296
+ "match": "[A-Za-z_∆⍙]+[\\w∆⍙¯]*"
297
+ }
298
+ ]
413
299
  },
414
- {
415
- "comment": "Iota - Index generator / index of",
416
- "match": "⍳",
417
- "name": "constant.numeric.iota.apl"
300
+ "label": {
301
+ "patterns": [
302
+ {
303
+ "name": "meta.label.apl",
304
+ "match": "^\\s*([A-Za-z_∆⍙]+[\\w∆⍙¯]*)(:)",
305
+ "captures": {
306
+ "1": {
307
+ "name": "entity.label.name.apl"
308
+ },
309
+ "2": {
310
+ "name": "punctuation.definition.label.end.apl"
311
+ }
312
+ }
313
+ }
314
+ ]
418
315
  },
419
- {
420
- "comment": "Epsilon - Enlist / membership",
421
- "match": "∊",
422
- "name": "support.function.epsilon.apl"
316
+ "symbols": {
317
+ "patterns": [
318
+ {
319
+ "match": "\\+",
320
+ "name": "keyword.operator.plus.apl"
321
+ },
322
+ {
323
+ "match": "[-−]",
324
+ "name": "keyword.operator.minus.apl"
325
+ },
326
+ {
327
+ "match": "×",
328
+ "name": "keyword.operator.times.apl"
329
+ },
330
+ {
331
+ "match": "÷",
332
+ "name": "keyword.operator.divide.apl"
333
+ },
334
+ {
335
+ "match": "⌊",
336
+ "name": "keyword.operator.floor.apl"
337
+ },
338
+ {
339
+ "match": "⌈",
340
+ "name": "keyword.operator.ceiling.apl"
341
+ },
342
+ {
343
+ "match": "[∣|]",
344
+ "name": "keyword.operator.absolute.apl"
345
+ },
346
+ {
347
+ "match": "[⋆*]",
348
+ "name": "keyword.operator.exponent.apl"
349
+ },
350
+ {
351
+ "match": "⍟",
352
+ "name": "keyword.operator.logarithm.apl"
353
+ },
354
+ {
355
+ "match": "○",
356
+ "name": "keyword.operator.circle.apl"
357
+ },
358
+ {
359
+ "match": "!",
360
+ "name": "keyword.operator.factorial.apl"
361
+ },
362
+ {
363
+ "match": "∧",
364
+ "name": "keyword.operator.and.apl"
365
+ },
366
+ {
367
+ "match": "∨",
368
+ "name": "keyword.operator.or.apl"
369
+ },
370
+ {
371
+ "match": "⍲",
372
+ "name": "keyword.operator.nand.apl"
373
+ },
374
+ {
375
+ "match": "⍱",
376
+ "name": "keyword.operator.nor.apl"
377
+ },
378
+ {
379
+ "match": "<",
380
+ "name": "keyword.operator.less.apl"
381
+ },
382
+ {
383
+ "match": "≤",
384
+ "name": "keyword.operator.less-or-equal.apl"
385
+ },
386
+ {
387
+ "match": "=",
388
+ "name": "keyword.operator.equal.apl"
389
+ },
390
+ {
391
+ "match": "≥",
392
+ "name": "keyword.operator.greater-or-equal.apl"
393
+ },
394
+ {
395
+ "match": ">",
396
+ "name": "keyword.operator.greater.apl"
397
+ },
398
+ {
399
+ "match": "≠",
400
+ "name": "keyword.operator.not-equal.apl"
401
+ },
402
+ {
403
+ "match": "[∼~]",
404
+ "name": "keyword.operator.tilde.apl"
405
+ },
406
+ {
407
+ "match": "\\?",
408
+ "name": "keyword.operator.random.apl"
409
+ },
410
+ {
411
+ "match": "[∊∈]",
412
+ "name": "keyword.operator.member-of.apl"
413
+ },
414
+ {
415
+ "match": "⍷",
416
+ "name": "keyword.operator.find.apl"
417
+ },
418
+ {
419
+ "match": ",",
420
+ "name": "keyword.operator.comma.apl"
421
+ },
422
+ {
423
+ "match": "⍪",
424
+ "name": "keyword.operator.comma-bar.apl"
425
+ },
426
+ {
427
+ "match": "⌷",
428
+ "name": "keyword.operator.squad.apl"
429
+ },
430
+ {
431
+ "match": "⍳",
432
+ "name": "keyword.operator.iota.apl"
433
+ },
434
+ {
435
+ "match": "⍴",
436
+ "name": "keyword.operator.rho.apl"
437
+ },
438
+ {
439
+ "match": "↑",
440
+ "name": "keyword.operator.take.apl"
441
+ },
442
+ {
443
+ "match": "↓",
444
+ "name": "keyword.operator.drop.apl"
445
+ },
446
+ {
447
+ "match": "⊣",
448
+ "name": "keyword.operator.left.apl"
449
+ },
450
+ {
451
+ "match": "⊢",
452
+ "name": "keyword.operator.right.apl"
453
+ },
454
+ {
455
+ "match": "⊤",
456
+ "name": "keyword.operator.encode.apl"
457
+ },
458
+ {
459
+ "match": "⊥",
460
+ "name": "keyword.operator.decode.apl"
461
+ },
462
+ {
463
+ "match": "\\/",
464
+ "name": "keyword.operator.slash.apl"
465
+ },
466
+ {
467
+ "match": "⌿",
468
+ "name": "keyword.operator.slash-bar.apl"
469
+ },
470
+ {
471
+ "match": "\\x5C",
472
+ "name": "keyword.operator.backslash.apl"
473
+ },
474
+ {
475
+ "match": "⍀",
476
+ "name": "keyword.operator.backslash-bar.apl"
477
+ },
478
+ {
479
+ "match": "⌽",
480
+ "name": "keyword.operator.rotate-last.apl"
481
+ },
482
+ {
483
+ "match": "⊖",
484
+ "name": "keyword.operator.rotate-first.apl"
485
+ },
486
+ {
487
+ "match": "⍉",
488
+ "name": "keyword.operator.transpose.apl"
489
+ },
490
+ {
491
+ "match": "⍋",
492
+ "name": "keyword.operator.grade-up.apl"
493
+ },
494
+ {
495
+ "match": "⍒",
496
+ "name": "keyword.operator.grade-down.apl"
497
+ },
498
+ {
499
+ "match": "⌹",
500
+ "name": "keyword.operator.quad-divide.apl"
501
+ },
502
+ {
503
+ "match": "≡",
504
+ "name": "keyword.operator.identical.apl"
505
+ },
506
+ {
507
+ "match": "≢",
508
+ "name": "keyword.operator.not-identical.apl"
509
+ },
510
+ {
511
+ "match": "⊂",
512
+ "name": "keyword.operator.enclose.apl"
513
+ },
514
+ {
515
+ "match": "⊃",
516
+ "name": "keyword.operator.pick.apl"
517
+ },
518
+ {
519
+ "match": "∩",
520
+ "name": "keyword.operator.intersection.apl"
521
+ },
522
+ {
523
+ "match": "∪",
524
+ "name": "keyword.operator.union.apl"
525
+ },
526
+ {
527
+ "match": "⍎",
528
+ "name": "keyword.operator.hydrant.apl"
529
+ },
530
+ {
531
+ "match": "⍕",
532
+ "name": "keyword.operator.thorn.apl"
533
+ },
534
+ {
535
+ "match": "¨",
536
+ "name": "keyword.operator.each.apl"
537
+ },
538
+ {
539
+ "match": "⍤",
540
+ "name": "keyword.operator.rank.apl"
541
+ },
542
+ {
543
+ "match": "⌸",
544
+ "name": "keyword.operator.quad-equal.apl"
545
+ },
546
+ {
547
+ "match": "⍨",
548
+ "name": "keyword.operator.commute.apl"
549
+ },
550
+ {
551
+ "match": "⍣",
552
+ "name": "keyword.operator.power.apl"
553
+ },
554
+ {
555
+ "match": "\\.",
556
+ "name": "keyword.operator.dot.apl"
557
+ },
558
+ {
559
+ "match": "∘",
560
+ "name": "keyword.operator.jot.apl"
561
+ },
562
+ {
563
+ "match": "⍠",
564
+ "name": "keyword.operator.quad-colon.apl"
565
+ },
566
+ {
567
+ "match": "&",
568
+ "name": "keyword.operator.ampersand.apl"
569
+ },
570
+ {
571
+ "match": "⌶",
572
+ "name": "keyword.operator.i-beam.apl"
573
+ },
574
+ {
575
+ "match": "◊",
576
+ "name": "keyword.operator.lozenge.apl"
577
+ },
578
+ {
579
+ "match": ";",
580
+ "name": "keyword.operator.semicolon.apl"
581
+ },
582
+ {
583
+ "match": "¯",
584
+ "name": "keyword.operator.high-minus.apl"
585
+ },
586
+ {
587
+ "match": "←",
588
+ "name": "keyword.operator.assignment.apl"
589
+ },
590
+ {
591
+ "match": "→",
592
+ "name": "keyword.control.goto.apl"
593
+ },
594
+ {
595
+ "match": "⍬",
596
+ "name": "constant.language.zilde.apl"
597
+ },
598
+ {
599
+ "match": "⋄",
600
+ "name": "keyword.operator.diamond.apl"
601
+ },
602
+ {
603
+ "match": "∇",
604
+ "name": "keyword.operator.nabla.apl"
605
+ },
606
+ {
607
+ "match": "⍫",
608
+ "name": "keyword.operator.lock.apl"
609
+ },
610
+ {
611
+ "match": "⎕",
612
+ "name": "keyword.operator.quad.apl"
613
+ },
614
+ {
615
+ "match": "⌺",
616
+ "name": "keyword.operator.quad-diamond.apl"
617
+ },
618
+ {
619
+ "match": "⌻",
620
+ "name": "keyword.operator.quad-jot.apl"
621
+ },
622
+ {
623
+ "match": "⌼",
624
+ "name": "keyword.operator.quad-circle.apl"
625
+ },
626
+ {
627
+ "match": "⌾",
628
+ "name": "keyword.operator.circle-jot.apl"
629
+ },
630
+ {
631
+ "match": "⍁",
632
+ "name": "keyword.operator.quad-slash.apl"
633
+ },
634
+ {
635
+ "match": "⍂",
636
+ "name": "keyword.operator.quad-backslash.apl"
637
+ },
638
+ {
639
+ "match": "⍃",
640
+ "name": "keyword.operator.quad-less.apl"
641
+ },
642
+ {
643
+ "match": "⍄",
644
+ "name": "keyword.operator.greater.apl"
645
+ },
646
+ {
647
+ "match": "⍅",
648
+ "name": "keyword.operator.vane-left.apl"
649
+ },
650
+ {
651
+ "match": "⍆",
652
+ "name": "keyword.operator.vane-right.apl"
653
+ },
654
+ {
655
+ "match": "⍇",
656
+ "name": "keyword.operator.quad-arrow-left.apl"
657
+ },
658
+ {
659
+ "match": "⍈",
660
+ "name": "keyword.operator.quad-arrow-right.apl"
661
+ },
662
+ {
663
+ "match": "⍊",
664
+ "name": "keyword.operator.tack-down.apl"
665
+ },
666
+ {
667
+ "match": "⍌",
668
+ "name": "keyword.operator.quad-caret-down.apl"
669
+ },
670
+ {
671
+ "match": "⍍",
672
+ "name": "keyword.operator.quad-del-up.apl"
673
+ },
674
+ {
675
+ "match": "⍏",
676
+ "name": "keyword.operator.vane-up.apl"
677
+ },
678
+ {
679
+ "match": "⍐",
680
+ "name": "keyword.operator.quad-arrow-up.apl"
681
+ },
682
+ {
683
+ "match": "⍑",
684
+ "name": "keyword.operator.tack-up.apl"
685
+ },
686
+ {
687
+ "match": "⍓",
688
+ "name": "keyword.operator.quad-caret-up.apl"
689
+ },
690
+ {
691
+ "match": "⍔",
692
+ "name": "keyword.operator.quad-del-down.apl"
693
+ },
694
+ {
695
+ "match": "⍖",
696
+ "name": "keyword.operator.vane-down.apl"
697
+ },
698
+ {
699
+ "match": "⍗",
700
+ "name": "keyword.operator.quad-arrow-down.apl"
701
+ },
702
+ {
703
+ "match": "⍘",
704
+ "name": "keyword.operator.underbar-quote.apl"
705
+ },
706
+ {
707
+ "match": "⍚",
708
+ "name": "keyword.operator.underbar-diamond.apl"
709
+ },
710
+ {
711
+ "match": "⍛",
712
+ "name": "keyword.operator.underbar-jot.apl"
713
+ },
714
+ {
715
+ "match": "⍜",
716
+ "name": "keyword.operator.underbar-circle.apl"
717
+ },
718
+ {
719
+ "match": "⍞",
720
+ "name": "keyword.operator.quad-quote.apl"
721
+ },
722
+ {
723
+ "match": "⍡",
724
+ "name": "keyword.operator.dotted-tack-up.apl"
725
+ },
726
+ {
727
+ "match": "⍢",
728
+ "name": "keyword.operator.dotted-del.apl"
729
+ },
730
+ {
731
+ "match": "⍥",
732
+ "name": "keyword.operator.dotted-circle.apl"
733
+ },
734
+ {
735
+ "match": "⍦",
736
+ "name": "keyword.operator.stile-shoe-up.apl"
737
+ },
738
+ {
739
+ "match": "⍧",
740
+ "name": "keyword.operator.stile-shoe-left.apl"
741
+ },
742
+ {
743
+ "match": "⍩",
744
+ "name": "keyword.operator.dotted-greater.apl"
745
+ },
746
+ {
747
+ "match": "⍭",
748
+ "name": "keyword.operator.stile-tilde.apl"
749
+ },
750
+ {
751
+ "match": "⍮",
752
+ "name": "keyword.operator.underbar-semicolon.apl"
753
+ },
754
+ {
755
+ "match": "⍯",
756
+ "name": "keyword.operator.quad-not-equal.apl"
757
+ },
758
+ {
759
+ "match": "⍰",
760
+ "name": "keyword.operator.quad-question.apl"
761
+ },
762
+ {
763
+ "match": "⍸",
764
+ "name": "keyword.operator.underbar-iota.apl"
765
+ }
766
+ ]
423
767
  },
424
- {
425
- "comment": "Epsilon underbar - Find",
426
- "match": "⍷",
427
- "name": "support.function.epsilonunderbar.apl"
768
+ "definition": {
769
+ "patterns": [
770
+ {
771
+ "name": "meta.function.apl",
772
+ "begin": "(?x) ^\\s*? (?# 1: keyword.operator.nabla.apl) (∇) (?: \\s* (?: (?# 2: entity.function.return-value.apl) ([A-Za-z_∆⍙][\\w∆⍙¯]*) | \\s* (?# 3: entity.function.return-value.shy.apl) ( (\\{) (?# 4: punctuation.definition.return-value.begin.apl) (?:\\s*[A-Za-z_∆⍙][\\w∆⍙¯]*\\s*)* (\\}) (?# 5: punctuation.definition.return-value.end.apl) | (\\() (?# 6: punctuation.definition.return-value.begin.apl) (?:\\s*[A-Za-z_∆⍙][\\w∆⍙¯]*\\s*)* (\\)) (?# 7: punctuation.definition.return-value.end.apl) | (\\(\\s*\\{) (?# 8: punctuation.definition.return-value.begin.apl) (?:\\s*[A-Za-z_∆⍙][\\w∆⍙¯]*\\s*)* (\\}\\s*\\)) (?# 9: punctuation.definition.return-value.end.apl) | (\\{\\s*\\() (?# 10: punctuation.definition.return-value.begin.apl) (?:\\s*[A-Za-z_∆⍙][\\w∆⍙¯]*\\s*)* (\\)\\s*\\}) (?# 11: punctuation.definition.return-value.end.apl) ) \\s* ) \\s* (?# 12: keyword.operator.assignment.apl) (←) )? \\s* (?: (?# MONADIC) (?: (?# 13: entity.function.name.apl) ([A-Za-z_∆⍙][\\w∆⍙¯]*) \\s* (?# 14: entity.function.axis.apl) ( (?# 15: punctuation.definition.axis.begin.apl) (\\[) \\s* (?: \\s*[A-Za-z_∆⍙][\\w∆⍙¯]*\\s* (?# 16: invalid.illegal.extra-characters.apl) (.*?) | (?# 17: invalid.illegal.apl) ([^\\]]*) ) \\s* (?# 18: punctuation.definition.axis.end.apl) (\\]) )? \\s*? (?# 19: entity.function.arguments.right.apl) ( (?<=\\s|\\])[A-Za-z_∆⍙][\\w∆⍙¯]* | (\\() (?# 20: punctuation.definition.arguments.begin.apl) (?:\\s*[A-Za-z_∆⍙][\\w∆⍙¯]*\\s*)* (\\)) (?# 21: punctuation.definition.arguments.end.apl) ) \\s* (?=;|$) ) | (?# DYADIC/AMBIVALENT) (?#==================) (?: (?# 22: entity.function.arguments.left.apl) ([A-Za-z_∆⍙][\\w∆⍙¯]*\\s+) | (?# 23: entity.function.arguments.left.optional.apl) ( (\\{) (?# 24: punctuation.definition.arguments.begin.apl) (?:\\s*[A-Za-z_∆⍙][\\w∆⍙¯]*\\s*)* (\\}) (?# 25: punctuation.definition.arguments.end.apl) | (\\(\\s*\\{) (?# 26: punctuation.definition.arguments.begin.apl) (?:\\s*[A-Za-z_∆⍙][\\w∆⍙¯]*\\s*)* (\\}\\s*\\)) (?# 27: punctuation.definition.arguments.end.apl) | (\\{\\s*\\() (?# 28: punctuation.definition.arguments.begin.apl) (?:\\s*[A-Za-z_∆⍙][\\w∆⍙¯]*\\s*)* (\\)\\s*\\}) (?# 29: punctuation.definition.arguments.end.apl) ) )? \\s* (?: (?# 30: entity.function.name.apl) ([A-Za-z_∆⍙][\\w∆⍙¯]*) \\s* (?# 31: entity.function.axis.apl) ( (?# 32: punctuation.definition.axis.begin.apl) (\\[) \\s* (?: \\s*[A-Za-z_∆⍙][\\w∆⍙¯]*\\s* (?# 33: invalid.illegal.extra-characters.apl) (.*?) | (?# 34: invalid.illegal.apl) ([^\\]]*) ) \\s* (?# 35: punctuation.definition.axis.end.apl) (\\]) )? | (?# 36: entity.function.operands.apl) ( (?# 37: punctuation.definition.operands.begin.apl) (\\() (?# 38: entity.function.operands.left.apl) (\\s*[A-Za-z_∆⍙][\\w∆⍙¯]*)? \\s* (?# 39: entity.function.name.apl) ([A-Za-z_∆⍙][\\w∆⍙¯]*) \\s*? (?# 40: entity.function.axis.apl) ( (?# 41: punctuation.definition.axis.begin.apl) (\\[) \\s* (?: \\s*[A-Za-z_∆⍙][\\w∆⍙¯]*\\s* (?# 42: invalid.illegal.extra-characters.apl) (.*?) | (?# 43: invalid.illegal.apl) ([^\\]]*) ) \\s* (?# 44: punctuation.definition.axis.end.apl) (\\]) )? \\s* (?# 45: entity.function.operands.right.apl) ([A-Za-z_∆⍙][\\w∆⍙¯]*\\s*)? (?# 46: punctuation.definition.operands.end.apl) (\\)) ) ) \\s* (?# 47: entity.function.arguments.right.apl) ( (?<=\\s|\\])[A-Za-z_∆⍙][\\w∆⍙¯]* | \\s* (\\() (?# 48: punctuation.definition.arguments.begin.apl) (?:\\s*[A-Za-z_∆⍙][\\w∆⍙¯]*\\s*)* (\\)) (?# 49: punctuation.definition.arguments.end.apl) )? (?#==================) ) \\s* (?# 50: invalid.illegal.arguments.right.apl) ([^;]+)? (?# 51: entity.function.local-variables.apl) ( (?# 52: Include “;”) ( (?: \\s* ; (?:\\s*[⎕A-Za-z_∆⍙][\\w∆⍙¯]*\\s*)+ )+ ) | (?# 53: invalid.illegal.local-variables.apl) ([^⍝]+) )? \\s* (?# 54: comment.line.apl) (⍝.*)? $",
773
+ "end": "^\\s*?(?:(∇)|(⍫))\\s*?(⍝.*?)?$",
774
+ "patterns": [
775
+ {
776
+ "include": "$self"
777
+ }
778
+ ],
779
+ "beginCaptures": {
780
+ "0": {
781
+ "name": "entity.function.definition.apl"
782
+ },
783
+ "1": {
784
+ "name": "keyword.operator.nabla.apl"
785
+ },
786
+ "2": {
787
+ "name": "entity.function.return-value.apl"
788
+ },
789
+ "3": {
790
+ "name": "entity.function.return-value.shy.apl"
791
+ },
792
+ "4": {
793
+ "name": "punctuation.definition.return-value.begin.apl"
794
+ },
795
+ "5": {
796
+ "name": "punctuation.definition.return-value.end.apl"
797
+ },
798
+ "6": {
799
+ "name": "punctuation.definition.return-value.begin.apl"
800
+ },
801
+ "7": {
802
+ "name": "punctuation.definition.return-value.end.apl"
803
+ },
804
+ "8": {
805
+ "name": "punctuation.definition.return-value.begin.apl"
806
+ },
807
+ "9": {
808
+ "name": "punctuation.definition.return-value.end.apl"
809
+ },
810
+ "10": {
811
+ "name": "punctuation.definition.return-value.begin.apl"
812
+ },
813
+ "11": {
814
+ "name": "punctuation.definition.return-value.end.apl"
815
+ },
816
+ "12": {
817
+ "name": "keyword.operator.assignment.apl"
818
+ },
819
+ "13": {
820
+ "name": "entity.function.name.apl"
821
+ },
822
+ "14": {
823
+ "name": "entity.function.axis.apl"
824
+ },
825
+ "15": {
826
+ "name": "punctuation.definition.axis.begin.apl"
827
+ },
828
+ "16": {
829
+ "name": "invalid.illegal.extra-characters.apl"
830
+ },
831
+ "17": {
832
+ "name": "invalid.illegal.apl"
833
+ },
834
+ "18": {
835
+ "name": "punctuation.definition.axis.end.apl"
836
+ },
837
+ "19": {
838
+ "name": "entity.function.arguments.right.apl"
839
+ },
840
+ "20": {
841
+ "name": "punctuation.definition.arguments.begin.apl"
842
+ },
843
+ "21": {
844
+ "name": "punctuation.definition.arguments.end.apl"
845
+ },
846
+ "22": {
847
+ "name": "entity.function.arguments.left.apl"
848
+ },
849
+ "23": {
850
+ "name": "entity.function.arguments.left.optional.apl"
851
+ },
852
+ "24": {
853
+ "name": "punctuation.definition.arguments.begin.apl"
854
+ },
855
+ "25": {
856
+ "name": "punctuation.definition.arguments.end.apl"
857
+ },
858
+ "26": {
859
+ "name": "punctuation.definition.arguments.begin.apl"
860
+ },
861
+ "27": {
862
+ "name": "punctuation.definition.arguments.end.apl"
863
+ },
864
+ "28": {
865
+ "name": "punctuation.definition.arguments.begin.apl"
866
+ },
867
+ "29": {
868
+ "name": "punctuation.definition.arguments.end.apl"
869
+ },
870
+ "30": {
871
+ "name": "entity.function.name.apl"
872
+ },
873
+ "31": {
874
+ "name": "entity.function.axis.apl"
875
+ },
876
+ "32": {
877
+ "name": "punctuation.definition.axis.begin.apl"
878
+ },
879
+ "33": {
880
+ "name": "invalid.illegal.extra-characters.apl"
881
+ },
882
+ "34": {
883
+ "name": "invalid.illegal.apl"
884
+ },
885
+ "35": {
886
+ "name": "punctuation.definition.axis.end.apl"
887
+ },
888
+ "36": {
889
+ "name": "entity.function.operands.apl"
890
+ },
891
+ "37": {
892
+ "name": "punctuation.definition.operands.begin.apl"
893
+ },
894
+ "38": {
895
+ "name": "entity.function.operands.left.apl"
896
+ },
897
+ "39": {
898
+ "name": "entity.function.name.apl"
899
+ },
900
+ "40": {
901
+ "name": "entity.function.axis.apl"
902
+ },
903
+ "41": {
904
+ "name": "punctuation.definition.axis.begin.apl"
905
+ },
906
+ "42": {
907
+ "name": "invalid.illegal.extra-characters.apl"
908
+ },
909
+ "43": {
910
+ "name": "invalid.illegal.apl"
911
+ },
912
+ "44": {
913
+ "name": "punctuation.definition.axis.end.apl"
914
+ },
915
+ "45": {
916
+ "name": "entity.function.operands.right.apl"
917
+ },
918
+ "46": {
919
+ "name": "punctuation.definition.operands.end.apl"
920
+ },
921
+ "47": {
922
+ "name": "entity.function.arguments.right.apl"
923
+ },
924
+ "48": {
925
+ "name": "punctuation.definition.arguments.begin.apl"
926
+ },
927
+ "49": {
928
+ "name": "punctuation.definition.arguments.end.apl"
929
+ },
930
+ "50": {
931
+ "name": "invalid.illegal.arguments.right.apl"
932
+ },
933
+ "51": {
934
+ "name": "entity.function.local-variables.apl"
935
+ },
936
+ "52": {
937
+ "patterns": [
938
+ {
939
+ "name": "punctuation.separator.apl",
940
+ "match": ";"
941
+ }
942
+ ]
943
+ },
944
+ "53": {
945
+ "name": "invalid.illegal.local-variables.apl"
946
+ },
947
+ "54": {
948
+ "name": "comment.line.apl"
949
+ }
950
+ },
951
+ "endCaptures": {
952
+ "1": {
953
+ "name": "keyword.operator.nabla.apl"
954
+ },
955
+ "2": {
956
+ "name": "keyword.operator.lock.apl"
957
+ },
958
+ "3": {
959
+ "name": "comment.line.apl"
960
+ }
961
+ }
962
+ }
963
+ ]
428
964
  },
429
- {
430
- "comment": "Grade up - Grade up / dyadic grade up",
431
- "match": "",
432
- "name": "support.function.gradeup.apl"
965
+ "lambda": {
966
+ "name": "meta.lambda.function.apl",
967
+ "begin": "\\{",
968
+ "end": "\\}",
969
+ "beginCaptures": {
970
+ "0": {
971
+ "name": "punctuation.definition.lambda.begin.apl"
972
+ }
973
+ },
974
+ "endCaptures": {
975
+ "0": {
976
+ "name": "punctuation.definition.lambda.end.apl"
977
+ }
978
+ },
979
+ "patterns": [
980
+ {
981
+ "include": "#main"
982
+ },
983
+ {
984
+ "include": "#lambda-variables"
985
+ }
986
+ ]
433
987
  },
434
- {
435
- "comment": "Grade down - Grade down / dyadic grade down",
436
- "match": "⍒",
437
- "name": "support.function.gradedown.apl"
988
+ "lambda-variables": {
989
+ "patterns": [
990
+ {
991
+ "match": "⍺⍺",
992
+ "name": "variable.lambda.operands.left.apl"
993
+ },
994
+ {
995
+ "match": "⍵⍵",
996
+ "name": "variable.lambda.operands.right.apl"
997
+ },
998
+ {
999
+ "match": "[⍺⍶]",
1000
+ "name": "variable.lambda.arguments.left.apl"
1001
+ },
1002
+ {
1003
+ "match": "[⍵⍹]",
1004
+ "name": "variable.lambda.arguments.right.apl"
1005
+ },
1006
+ {
1007
+ "match": "χ",
1008
+ "name": "variable.lambda.arguments.axis.apl"
1009
+ },
1010
+ {
1011
+ "match": "λ",
1012
+ "name": "variable.lambda.symbol.apl"
1013
+ }
1014
+ ]
1015
+ },
1016
+ "sysvars": {
1017
+ "match": "(⎕)[A-Z]*",
1018
+ "name": "support.system.variable.apl",
1019
+ "captures": {
1020
+ "1": {
1021
+ "name": "punctuation.definition.quad.apl"
1022
+ }
1023
+ }
1024
+ },
1025
+ "command-arguments": {
1026
+ "patterns": [
1027
+ {
1028
+ "name": "variable.parameter.argument.apl",
1029
+ "begin": "\\b(?=\\S)",
1030
+ "end": "\\b(?=\\s)",
1031
+ "patterns": [
1032
+ {
1033
+ "include": "#main"
1034
+ }
1035
+ ]
1036
+ }
1037
+ ]
1038
+ },
1039
+ "command-switches": {
1040
+ "patterns": [
1041
+ {
1042
+ "name": "variable.parameter.switch.apl",
1043
+ "begin": "(?<=\\s)(-)([\\w∆⍙]+[\\w∆⍙¯]*)(=)",
1044
+ "end": "\\b(?=\\s)",
1045
+ "beginCaptures": {
1046
+ "1": {
1047
+ "name": "punctuation.delimiter.switch.apl"
1048
+ },
1049
+ "2": {
1050
+ "name": "entity.name.switch.apl"
1051
+ },
1052
+ "3": {
1053
+ "name": "punctuation.assignment.switch.apl"
1054
+ }
1055
+ },
1056
+ "patterns": [
1057
+ {
1058
+ "include": "#main"
1059
+ }
1060
+ ]
1061
+ }
1062
+ ]
1063
+ },
1064
+ "sck": {
1065
+ "patterns": [
1066
+ {
1067
+ "name": "keyword.control.sck.apl",
1068
+ "match": "(?<=\\s|^)(:)([A-Za-z]+)",
1069
+ "captures": {
1070
+ "1": {
1071
+ "name": "punctuation.definition.sck.begin.apl"
1072
+ },
1073
+ "2": {
1074
+ "name": "entity.sck.name.apl"
1075
+ }
1076
+ }
1077
+ }
1078
+ ]
1079
+ },
1080
+ "class": {
1081
+ "patterns": [
1082
+ {
1083
+ "begin": "(?<=\\s|^)((:)Class)\\s+('[^']*'?|[A-Za-z_∆⍙]+[\\w∆⍙¯]*)\\s*((:)\\s*(?:('[^']*'?|[A-Za-z_∆⍙]+[\\w∆⍙¯]*)\\s*)?)?(.*?)$",
1084
+ "end": "(?<=\\s|^)((:)EndClass)(?=\\b)",
1085
+ "beginCaptures": {
1086
+ "0": {
1087
+ "name": "meta.class.apl"
1088
+ },
1089
+ "1": {
1090
+ "name": "keyword.control.class.apl"
1091
+ },
1092
+ "2": {
1093
+ "name": "punctuation.definition.class.apl"
1094
+ },
1095
+ "3": {
1096
+ "name": "entity.name.type.class.apl",
1097
+ "patterns": [
1098
+ {
1099
+ "include": "#strings"
1100
+ }
1101
+ ]
1102
+ },
1103
+ "4": {
1104
+ "name": "entity.other.inherited-class.apl"
1105
+ },
1106
+ "5": {
1107
+ "name": "punctuation.separator.inheritance.apl"
1108
+ },
1109
+ "6": {
1110
+ "patterns": [
1111
+ {
1112
+ "include": "#strings"
1113
+ }
1114
+ ]
1115
+ },
1116
+ "7": {
1117
+ "name": "entity.other.class.interfaces.apl",
1118
+ "patterns": [
1119
+ {
1120
+ "include": "#csv"
1121
+ }
1122
+ ]
1123
+ }
1124
+ },
1125
+ "endCaptures": {
1126
+ "1": {
1127
+ "name": "keyword.control.class.apl"
1128
+ },
1129
+ "2": {
1130
+ "name": "punctuation.definition.class.apl"
1131
+ }
1132
+ },
1133
+ "patterns": [
1134
+ {
1135
+ "name": "meta.field.apl",
1136
+ "begin": "(?<=\\s|^)(:)Field(?=\\s)",
1137
+ "end": "\\s*(←.*)?(?:$|(?=⍝))",
1138
+ "beginCaptures": {
1139
+ "0": {
1140
+ "name": "keyword.control.field.apl"
1141
+ },
1142
+ "1": {
1143
+ "name": "punctuation.definition.field.apl"
1144
+ }
1145
+ },
1146
+ "endCaptures": {
1147
+ "0": {
1148
+ "name": "entity.other.initial-value.apl"
1149
+ },
1150
+ "1": {
1151
+ "patterns": [
1152
+ {
1153
+ "include": "#main"
1154
+ }
1155
+ ]
1156
+ }
1157
+ },
1158
+ "patterns": [
1159
+ {
1160
+ "name": "storage.modifier.access.${1:/downcase}.apl",
1161
+ "match": "(?<=\\s|^)(Public|Private)(?=\\s|$)"
1162
+ },
1163
+ {
1164
+ "name": "storage.modifier.${1:/downcase}.apl",
1165
+ "match": "(?<=\\s|^)(Shared|Instance|ReadOnly)(?=\\s|$)"
1166
+ },
1167
+ {
1168
+ "name": "entity.name.type.apl",
1169
+ "match": "('[^']*'?|[A-Za-z_∆⍙]+[\\w∆⍙¯]*)",
1170
+ "captures": {
1171
+ "1": {
1172
+ "include": "#strings"
1173
+ }
1174
+ }
1175
+ }
1176
+ ]
1177
+ },
1178
+ {
1179
+ "include": "$self"
1180
+ }
1181
+ ]
1182
+ }
1183
+ ]
1184
+ },
1185
+ "csv": {
1186
+ "patterns": [
1187
+ {
1188
+ "match": ",",
1189
+ "name": "punctuation.separator.apl"
1190
+ },
1191
+ {
1192
+ "include": "$self"
1193
+ }
1194
+ ]
1195
+ },
1196
+ "heredocs": {
1197
+ "patterns": [
1198
+ {
1199
+ "name": "meta.heredoc.apl",
1200
+ "begin": "^.*?⎕INP\\s+('|\")((?i).*?HTML?.*?|END-OF-⎕INP)\\1.*$",
1201
+ "end": "^.*?\\2.*?$",
1202
+ "beginCaptures": {
1203
+ "0": {
1204
+ "patterns": [
1205
+ {
1206
+ "include": "#main"
1207
+ }
1208
+ ]
1209
+ }
1210
+ },
1211
+ "endCaptures": {
1212
+ "0": {
1213
+ "name": "constant.other.apl"
1214
+ }
1215
+ },
1216
+ "contentName": "text.embedded.html.basic",
1217
+ "patterns": [
1218
+ {
1219
+ "include": "text.html.basic"
1220
+ },
1221
+ {
1222
+ "include": "#embedded-apl"
1223
+ }
1224
+ ]
1225
+ },
1226
+ {
1227
+ "name": "meta.heredoc.apl",
1228
+ "begin": "^.*?⎕INP\\s+('|\")((?i).*?(?:XML|XSLT|SVG|RSS).*?)\\1.*$",
1229
+ "end": "^.*?\\2.*?$",
1230
+ "beginCaptures": {
1231
+ "0": {
1232
+ "patterns": [
1233
+ {
1234
+ "include": "#main"
1235
+ }
1236
+ ]
1237
+ }
1238
+ },
1239
+ "endCaptures": {
1240
+ "0": {
1241
+ "name": "constant.other.apl"
1242
+ }
1243
+ },
1244
+ "contentName": "text.embedded.xml",
1245
+ "patterns": [
1246
+ {
1247
+ "include": "text.xml"
1248
+ },
1249
+ {
1250
+ "include": "#embedded-apl"
1251
+ }
1252
+ ]
1253
+ },
1254
+ {
1255
+ "name": "meta.heredoc.apl",
1256
+ "begin": "^.*?⎕INP\\s+('|\")((?i).*?(?:CSS|stylesheet).*?)\\1.*$",
1257
+ "end": "^.*?\\2.*?$",
1258
+ "beginCaptures": {
1259
+ "0": {
1260
+ "patterns": [
1261
+ {
1262
+ "include": "#main"
1263
+ }
1264
+ ]
1265
+ }
1266
+ },
1267
+ "endCaptures": {
1268
+ "0": {
1269
+ "name": "constant.other.apl"
1270
+ }
1271
+ },
1272
+ "contentName": "source.embedded.css",
1273
+ "patterns": [
1274
+ {
1275
+ "include": "source.css"
1276
+ },
1277
+ {
1278
+ "include": "#embedded-apl"
1279
+ }
1280
+ ]
1281
+ },
1282
+ {
1283
+ "name": "meta.heredoc.apl",
1284
+ "begin": "^.*?⎕INP\\s+('|\")((?i).*?(?:JS(?!ON)|(?:ECMA|J|Java).?Script).*?)\\1.*$",
1285
+ "end": "^.*?\\2.*?$",
1286
+ "beginCaptures": {
1287
+ "0": {
1288
+ "patterns": [
1289
+ {
1290
+ "include": "#main"
1291
+ }
1292
+ ]
1293
+ }
1294
+ },
1295
+ "endCaptures": {
1296
+ "0": {
1297
+ "name": "constant.other.apl"
1298
+ }
1299
+ },
1300
+ "contentName": "source.embedded.js",
1301
+ "patterns": [
1302
+ {
1303
+ "include": "source.js"
1304
+ },
1305
+ {
1306
+ "include": "#embedded-apl"
1307
+ }
1308
+ ]
1309
+ },
1310
+ {
1311
+ "name": "meta.heredoc.apl",
1312
+ "begin": "^.*?⎕INP\\s+('|\")((?i).*?(?:JSON).*?)\\1.*$",
1313
+ "end": "^.*?\\2.*?$",
1314
+ "beginCaptures": {
1315
+ "0": {
1316
+ "patterns": [
1317
+ {
1318
+ "include": "#main"
1319
+ }
1320
+ ]
1321
+ }
1322
+ },
1323
+ "endCaptures": {
1324
+ "0": {
1325
+ "name": "constant.other.apl"
1326
+ }
1327
+ },
1328
+ "contentName": "source.embedded.json",
1329
+ "patterns": [
1330
+ {
1331
+ "include": "source.json"
1332
+ },
1333
+ {
1334
+ "include": "#embedded-apl"
1335
+ }
1336
+ ]
1337
+ },
1338
+ {
1339
+ "name": "meta.heredoc.apl",
1340
+ "begin": "^.*?⎕INP\\s+('|\")(?i)((?:Raw|Plain)?\\s*Te?xt)\\1.*$",
1341
+ "end": "^.*?\\2.*?$",
1342
+ "beginCaptures": {
1343
+ "0": {
1344
+ "patterns": [
1345
+ {
1346
+ "include": "#main"
1347
+ }
1348
+ ]
1349
+ }
1350
+ },
1351
+ "endCaptures": {
1352
+ "0": {
1353
+ "name": "constant.other.apl"
1354
+ }
1355
+ },
1356
+ "contentName": "text.embedded.plain",
1357
+ "patterns": [
1358
+ {
1359
+ "include": "#embedded-apl"
1360
+ }
1361
+ ]
1362
+ },
1363
+ {
1364
+ "name": "meta.heredoc.apl",
1365
+ "begin": "^.*?⎕INP\\s+('|\")(.*?)\\1.*$",
1366
+ "end": "^.*?\\2.*?$",
1367
+ "beginCaptures": {
1368
+ "0": {
1369
+ "patterns": [
1370
+ {
1371
+ "include": "#main"
1372
+ }
1373
+ ]
1374
+ }
1375
+ },
1376
+ "endCaptures": {
1377
+ "0": {
1378
+ "name": "constant.other.apl"
1379
+ }
1380
+ },
1381
+ "patterns": [
1382
+ {
1383
+ "include": "$self"
1384
+ }
1385
+ ]
1386
+ }
1387
+ ]
1388
+ },
1389
+ "embedded-apl": {
1390
+ "patterns": [
1391
+ {
1392
+ "name": "meta.embedded.block.apl",
1393
+ "begin": "(?i)(<(\\?|%)(?:apl(?=\\s+)|=))",
1394
+ "end": "(?<=\\s)(\\2>)",
1395
+ "patterns": [
1396
+ {
1397
+ "include": "#main"
1398
+ }
1399
+ ],
1400
+ "beginCaptures": {
1401
+ "1": {
1402
+ "name": "punctuation.section.embedded.begin.apl"
1403
+ }
1404
+ },
1405
+ "endCaptures": {
1406
+ "1": {
1407
+ "name": "punctuation.section.embedded.end.apl"
1408
+ }
1409
+ }
1410
+ }
1411
+ ]
438
1412
  }
439
- ],
440
- "scopeName": "source.apl",
441
- "uuid": "0d05b65e-3e85-4493-8936-fece72e43e47"
1413
+ }
442
1414
  }