1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
|
{
"$schema": "https://raw.githubusercontent.com/martinring/tmlanguage/master/tmlanguage.json",
"scopeName": "source.yue",
"name": "YueScript",
"fileTypes": [
"yue"
],
"patterns": [
{
"match": "\\A(#!).*$\\n?",
"name": "comment.line.shebang.yue",
"captures": {
"1": {
"name": "punctuation.definition.comment.yue"
}
}
},
{
"match": "(\\(.*?\\))?\\s*([=-]>)",
"name": "meta.inline.function.yue",
"captures": {
"1": {
"name": "variable.parameter.function.yue"
},
"2": {
"name": "storage.type.function.yue"
}
}
},
{
"match": "(?<=^|\\bdo\\b|[=-]>)\\s*(\\(.*?\\))?\\s*(<[=-]\\s*(?=[a-zA-Z_]))",
"name": "meta.inline.function.yue",
"captures": {
"1": {
"name": "variable.parameter.function.yue"
},
"2": {
"name": "storage.type.function.yue"
}
}
},
{
"match": "(\\b[A-Z]\\w*)\\s*",
"name": "entity.name.type.class.yue",
"captures": {
"1": {
"name": "entity.name.type.class"
}
}
},
{
"begin": "\\[(=*)\\[",
"beginCaptures": {
"0": {
"name": "punctuation.definition.string.begin.yue"
}
},
"end": "\\]\\1\\]",
"endCaptures": {
"0": {
"name": "punctuation.definition.string.end.yue"
}
},
"name": "string.quoted.other.multiline.yue"
},
{
"begin": "(?<!-)--\\[\\[",
"captures": {
"0": {
"name": "punctuation.definition.comment.yue"
}
},
"end": "\\]\\]",
"name": "comment.block.yue",
"patterns": [
{
"match": "@\\w*",
"name": "storage.type.annotation.yue"
}
]
},
{
"begin": "(?<!-)--",
"end": "(?:[ \\t]*\\n)",
"name": "comment.line.yue",
"patterns": [
{
"match": "@\\w*",
"name": "storage.type.annotation.yuescript"
}
],
"captures": {
"0": {
"name": "punctuation.definition.comment.yue"
}
}
},
{
"match": "(::)\\s*[a-zA-Z_][a-zA-Z0-9_]*\\s*(::)",
"name": "string.tag.lua",
"captures": {
"1": {
"name": "punctuation.section.embedded.begin.yue"
},
"2": {
"name": "punctuation.section.embedded.end.yue"
}
}
},
{
"patterns": [
{
"match": "<\\b(?:mode|name|add|sub|mul|div|mod|pow|unm|idiv|band|bor|bxor|bnot|shl|shr|concat|len|eq|lt|le|index|newindex|call|metatable|gc|close|tostring|pairs|ipairs)\\b>",
"name": "constant.language.yue"
},
{
"match": "<>",
"name": "constant.language.yue"
},
{
"match": "<(\"(?:\\\\\"|[^\"])*\")>",
"name": "constant.language.yue",
"captures": {
"1": {
"name": "string.quoted.double.yue"
}
}
},
{
"match": "<('(?:\\\\'|[^'])*')>",
"name": "constant.language.yue",
"captures": {
"1": {
"name": "string.quoted.single.yue"
}
}
},
{
"match": "<\\w+>",
"name": "invalid.illegal.yue"
}
]
},
{
"match": "(\\+|\\-|\\*|/|%|\\^|//|\\||\\&|>>|<<|(?<!\\?)\\?{2}(?!\\?)|(?<!\\.)\\.{2}(?!\\.)|\\band|\\bor)=?",
"name": "keyword.operator.yue"
},
{
"match": "\\[\\]\\s*=",
"name": "keyword.operator.yue"
},
{
"match": "==|~=|\\!=|>|>=|<|<=",
"name": "keyword.operator.yue"
},
{
"match": "#|\\-|~|\\?|!",
"name": "keyword.operator.yue"
},
{
"match": "\\|>|=|:=|(?<!:):(?!:)|,|\\b_\\b",
"name": "keyword.operator.yue"
},
{
"match": "(?<!\\.)\\.{3}(?!\\.)(?!\\w+)",
"name": "constant.language.yue"
},
{
"match": "(?x)\\b(?<!\\.|:|::|\\\\|\\$)\\b(?:import|as|from|export|macro|local|global|close|const|class|extends|using)\\b(?!:)",
"name": "keyword.yue"
},
{
"match": "(?x)\\b(?<!\\.|:|::|\\\\|\\$)\\b(?:if|then|else|elseif|until|unless|switch|when|with|do|for|while|repeat|return|continue|break|try|catch|goto)\\b(?!:)",
"name": "keyword.control.yue"
},
{
"match": "(?x)\\b(?<!\\.|:|::|\\\\|\\$)\\b(?:or|and|in|not)\\b(?!:)",
"name": "keyword.control.yue"
},
{
"match": "(?x)\\b(?<!\\.|:|::|\\\\|\\$)\\b(?:true|false|nil)\\b(?!:)",
"name": "constant.language.boolean.yue"
},
{
"match": "\\b(?<![\\.|:|::|\\\\|\\$])(function|end)(?!:)\\b",
"name": "invalid.illegal.yue"
},
{
"match": "((?<!\\.)\\.{4,}(?!\\.))",
"name": "invalid.illegal.yue"
},
{
"begin": "(?<=\\s|^)(\\{)(?=.+?\\}\\s+[:=])",
"beginCaptures": {
"0": {
"name": "keyword.control.yue"
}
},
"end": "(\\}\\s*[:=])",
"endCaptures": {
"0": {
"name": "keyword.control.yue"
}
},
"name": "meta.variable.assignment.destructured.object.yue",
"patterns": [
{
"include": "#expression"
}
]
},
{
"match": "(?<=[ \t]*)\\b(?:new)\\b(?=:(?:\\s*\\(.*\\))?\\s*=>)",
"name": "variable.language.yue"
},
{
"match": "(?x)\n\t\t\t\t(?<=^|\\s)\n\t\t\t\t(?=@?[a-zA-Z\\$_]\\??)\n\t\t\t\t(\n\t\t\t\t\t@?[a-zA-Z\\$_]\\??(\\w|\\$|:|\\.)*\\s*\n\t\t\t\t\t(?=[:=](\\s*\\(.*\\))?\\s*([=-]>))\n\t\t\t\t)\n\t\t\t",
"name": "meta.function.yue",
"captures": {
"1": {
"name": "entity.name.function.yue"
},
"2": {
"name": "entity.name.function.yue"
},
"3": {
"name": "variable.parameter.function.yue"
},
"4": {
"name": "storage.type.function.yue"
}
}
},
{
"match": "\\b__(class|base|init|inherited|mode|name|add|sub|mul|div|mod|pow|unm|idiv|band|bor|bxor|bnot|shl|shr|concat|len|eq|lt|le|index|newindex|call|metatable|gc|close|tostring|pairs|ipairs)\\b",
"name": "entity.name.function.yue"
},
{
"match": "(?:\\bclass\\b)\\s+(@?[a-zA-Z\\$_][\\w\\.]*)?(?:\\s+(?:\\bextends\\b)\\s+(@?[a-zA-Z\\$\\._][\\w\\.]*))?",
"name": "meta.class.yue",
"captures": {
"1": {
"name": "storage.type.class.yue"
},
"2": {
"name": "entity.name.type.class.yue"
},
"3": {
"name": "keyword.control.inheritance.yue"
},
"4": {
"name": "entity.other.inherited-class.yue"
}
}
},
{
"match": "(?x)\\b(?<!\\.|:|::|\\\\|\\$)\\b(?:_ENV|_G|_VERSION|arg)\\b(?!(?:\\s*(?:(?:\\+|\\-|\\*|/|%|\\^|//|\\||\\&|>>|<<|(?<!\\?)\\?{2}(?!\\?)|(?<!\\.)\\.{2}(?!\\.)|\\band|\\bor)?=|:=)\\s*|:))",
"name": "constant.language.yue"
},
{
"include": "#expression"
},
{
"match": ",[ \\t]*",
"name": "meta.delimiter.object.comma.yue"
},
{
"match": "\\.|::|\\\\",
"name": "meta.delimiter.method.yue"
},
{
"match": "\\{|\\}",
"name": "meta.brace.curly.yue"
},
{
"match": "\\(|\\)",
"name": "meta.brace.round.yue"
},
{
"match": "\\[|\\]",
"name": "meta.brace.square.yue"
}
],
"repository": {
"expression": {
"patterns": [
{
"include": "#string"
},
{
"include": "#numeric"
},
{
"include": "#builtins"
},
{
"include": "#variable_name"
}
]
},
"keyword": {
"patterns": [
{
"match": "\\b(?:import|as|from|export|macro|local|global|close|const|class|extends|using)\\b",
"name": "keyword.yue"
},
{
"match": "\\b(?:if|then|else|elseif|until|unless|switch|when|with|do|for|while|repeat|return|continue|break|try|catch|goto)\\b",
"name": "keyword.control.yue"
},
{
"match": "\\b(?:or|and|in|not)\\b",
"name": "keyword.operator.yue"
}
]
},
"string": {
"patterns": [
{
"include": "#single_quoted_string"
},
{
"include": "#double_quoted_string"
}
]
},
"string_format_code": {
"patterns": [
{
"match": "%(%|a|A|c|d|e|E|f|g|G|i|o|p|q|s|u|x|X)",
"name": "constant.character.yue"
}
]
},
"string_escape_sequence": {
"patterns": [
{
"match": "\\\\([abfnrtvz\\'\"\\\\]|\\d{1,3}|x\\h{2}|u\\{\\h+\\})",
"name": "constant.character.yue"
},
{
"match": "\\\\.",
"name": "invalid.illegal.yue"
}
]
},
"double_quoted_string": {
"patterns": [
{
"begin": "\"",
"beginCaptures": {
"0": {
"name": "punctuation.definition.string.begin.yue"
}
},
"end": "\"",
"endCaptures": {
"0": {
"name": "punctuation.definition.string.end.yue"
}
},
"name": "string.quoted.double.yue",
"patterns": [
{
"include": "#string_escape_sequence"
},
{
"include": "#interpolated_yue"
},
{
"include": "#string_format_code"
}
]
}
]
},
"single_quoted_string": {
"patterns": [
{
"begin": "'",
"beginCaptures": {
"0": {
"name": "punctuation.definition.string.begin.yue"
}
},
"end": "'",
"endCaptures": {
"0": {
"name": "punctuation.definition.string.end.yue"
}
},
"name": "string.quoted.single.yue",
"patterns": [
{
"include": "#string_escape_sequence"
},
{
"include": "#string_format_code"
}
]
}
]
},
"interpolated_yue": {
"patterns": [
{
"begin": "\\#\\{",
"captures": {
"0": {
"name": "punctuation.section.embedded.yue"
}
},
"end": "\\}",
"name": "source.yue.embedded.source",
"patterns": [
{
"include": "$self"
}
]
}
]
},
"variable_name": {
"patterns": [
{
"match": "(?x)\\b(?<!\\.|:|::|\\\\|\\$)(\\b(?:self)\\b)(?!:)\\b",
"name": "invalid.deprecated.yue"
},
{
"match": "(?x)\\b(?<!\\.|:|::|\\\\|\\$)\\b(?:super)\\b(?!(?:\\s*(?:(?:\\+|\\-|\\*|/|%|\\^|//|\\||\\&|>>|<<|(?<!\\?)\\?{2}(?!\\?)|(?<!\\.)\\.{2}(?!\\.)|\\band|\\bor)?=|:=)\\s*|:))",
"name": "variable.language.yue"
},
{
"match": "(?:\\${2,}|@{3,})(?:(?:\\b[a-zA-Z_]\\w*)?((?:\\.|::|\\\\)\\b[a-zA-Z_]\\w*)*\\b)?",
"name": "invalid.illegal.yue"
},
{
"match": "(?<!\\$)\\$\\b[a-zA-Z_]\\w*\\b",
"name": "entity.name.function.preprocessor.yue"
},
{
"match": "(?<!\\$)\\$(?!\\$)",
"name": "invalid.illegal.yue"
},
{
"match": "(?<![\\$@])@@(?:(?:\\b[a-zA-Z_]\\w*)?((?:\\.|::|\\\\)\\b[a-zA-Z_]\\w*)*\\b)?",
"name": "variable.other.static.yue"
},
{
"match": "(?<![\\$@])@(?:(?:\\b[a-zA-Z_]\\w*)?((?:\\.|::|\\\\)\\b[a-zA-Z_]\\w*)*\\b)?",
"name": "variable.other.member.yue"
},
{
"match": "(?<![\\$@])\\b[a-zA-Z_]\\w*((?:\\.|::|\\\\)\\b[a-zA-Z_]\\w*\\b)*",
"name": "variable.assignment.yue"
},
{
"match": "(?<![\\$@])\\b([a-zA-Z\\$_]\\w*(\\.\\w+)*)\\b",
"name": "variable.assignment.yue",
"captures": {
"1": {
"name": "variable.assignment.yue"
}
}
}
]
},
"numeric": {
"patterns": [
{
"match": "\\b([\\d_]+(\\.[\\d_]+)?|\\.[\\d_]+)(e[+\\-]?[\\d_]+)?\\b",
"name": "constant.numeric.yue"
},
{
"match": "\\b0x(((?:\\h|\\h[\\h_]*\\h)(\\.(?:\\h|\\h[\\h_]*\\h))?)|\\.(?:\\h|\\h[\\h_]*\\h))\\b",
"name": "constant.numeric.yue"
},
{
"match": "\\b\\d(?:\\w|\\.|:|::|\\\\)+\\b",
"name": "invalid.illegal.yue"
}
]
},
"builtins": {
"patterns": [
{
"name": "support.function.library.yue",
"match": "\\b(?:_G(?:\\.|:|::|\\\\))*(?:lpeg|lpeglabel)(?:(?:\\.|::|\\\\)(?:B|C|Carg|Cb|Cc|Cf|Cg|Cmt|Cp|Cs|Ct|P|R|S|T|V|locale|match|pcode|ptree|setmaxstack|type|utfR|version))?\\b"
},
{
"name": "support.function.library.yue",
"match": "\\b(?:_G(?:\\.|:|::|\\\\))*(?:re|relabel)(?:(?:\\.|::|\\\\)(?:calcline|compile|find|gsub|match|updatelocale))?\\b"
},
{
"name": "support.function.library.yue",
"match": "\\b(?:_G(?:\\.|:|::|\\\\))*coroutine(?:(?:\\.|::|\\\\)(?:close|create|isyieldable|resume|running|status|wrap|yield))?\\b"
},
{
"name": "support.function.library.yue",
"match": "\\b(?:_G(?:\\.|:|::|\\\\))*debug(?:(?:\\.|::|\\\\)(?:debug|gethook|getinfo|getlocal|getmetatable|getregistry|getupvalue|getuservalue|setcstacklimit|sethook|setlocal|setmetatable|setupvalue|setuservalue|traceback|upvalueid|upvaluejoin))?\\b"
},
{
"name": "support.function.library.yue",
"match": "\\b(?:_G(?:\\.|:|::|\\\\))*io(?:(?:\\.|::|\\\\)(?:close|flush|input|lines|open|output|popen|read|stderr|stdin|stdout|tmpfile|type|write))?\\b"
},
{
"name": "support.function.library.yue",
"match": "\\b(?:_G(?:\\.|:|::|\\\\))*math(?:(?:\\.|::|\\\\)(?:abs|acos|asin|atan|atan2|ceil|cos|cosh|deg|exp|floor|fmod|frexp|huge|ldexp|log|log10|max|maxinteger|min|mininteger|modf|pi|pow|rad|random|randomseed|sin|sinh|sqrt|tan|tanh|tointeger|type|ult))?\\b"
},
{
"name": "support.function.library.yue",
"match": "\\b(?:_G(?:\\.|:|::|\\\\))*os(?:(?:\\.|::|\\\\)(?:clock|date|difftime|execute|exit|getenv|remove|rename|setlocale|time|tmpname))?\\b"
},
{
"name": "support.function.library.yue",
"match": "\\b(?:_G(?:\\.|:|::|\\\\))*package(?:(?:\\.|::|\\\\)(?:config|cpath|loaded|loadlib|path|preload|searchers|searchpath))?\\b"
},
{
"name": "support.function.library.yue",
"match": "\\b(?:_G(?:\\.|:|::|\\\\))*pl\\.Date(?:(?:\\.|::|\\\\)(?:Format|Interval|_class|_init|add|cast|catch|class_of|day|diff|hour|is_a|is_weekend|last_day|min|month|month_name|sec|set|toLocal|toUTC|tzone|weekday_name|yday|year))?\\b"
},
{
"name": "support.function.library.yue",
"match": "\\b(?:_G(?:\\.|:|::|\\\\))*pl\\.List(?:(?:\\.|::|\\\\)(?:_class|_create|_init|_name|append|cast|catch|chop|class_of|clear|clone|concat|contains|count|default_map|default_map_with|extend|filter|foreach|foreachm|get|index|insert|is_a|iter|iterate|join|len|map|map2|mapm|minmax|new|partition|pop|push|put|range|reduce|remove|remove_value|reverse|slice|slice_assign|sort|sorted|splice|split|transform))?\\b"
},
{
"name": "support.function.library.yue",
"match": "\\b(?:_G(?:\\.|:|::|\\\\))*pl\\.Map(?:(?:\\.|::|\\\\)(?:_class|_init|_name|cast|catch|class_of|get|getvalues|is_a|items|iter|keys|len|set|setdefault|update|values))?\\b"
},
{
"name": "support.function.library.yue",
"match": "\\b(?:_G(?:\\.|:|::|\\\\))*pl\\.MultiMap(?:(?:\\.|::|\\\\)(?:_base|_class|_init|_name|_parent_with_init|cast|catch|class_of|get|getvalues|is_a|items|iter|keys|len|set|setdefault|update|values))?\\b"
},
{
"name": "support.function.library.yue",
"match": "\\b(?:_G(?:\\.|:|::|\\\\))*pl\\.OrderedMap(?:(?:\\.|::|\\\\)(?:_base|_class|_init|_name|_parent_with_init|cast|catch|class_of|get|getvalues|insert|is_a|items|iter|keys|len|set|setdefault|sort|update|values))?\\b"
},
{
"name": "support.function.library.yue",
"match": "\\b(?:_G(?:\\.|:|::|\\\\))*pl\\.Set(?:(?:\\.|::|\\\\)(?:_base|_class|_init|_name|_parent_with_init|cast|catch|class_of|difference|get|getvalues|intersection|is_a|isdisjoint|isempty|issubset|items|iter|keys|len|map|set|setdefault|symmetric_difference|union|update|values))?\\b"
},
{
"name": "support.function.library.yue",
"match": "\\b(?:_G(?:\\.|:|::|\\\\))*pl\\.app(?:(?:\\.|::|\\\\)(?:appfile|lua|parse_args|platform|require_here|script_name))?\\b"
},
{
"name": "support.function.library.yue",
"match": "\\b(?:_G(?:\\.|:|::|\\\\))*pl\\.array2d(?:(?:\\.|::|\\\\)(?:column|columns|default_range|extract_cols|extract_rows|flatten|forall|iter|map|map2|move|new|parse_range|product|range|reduce2|reduce_cols|reduce_rows|remove_col|remove_row|reshape|row|rows|set|size|slice|swap_cols|swap_rows|transpose|write))?\\b"
},
{
"name": "support.function.library.yue",
"match": "\\b(?:_G(?:\\.|:|::|\\\\))*pl\\.class(?:(?:\\.|::|\\\\)(?:properties))?\\b"
},
{
"name": "support.function.library.yue",
"match": "\\b(?:_G(?:\\.|:|::|\\\\))*pl\\.compat(?:(?:\\.|::|\\\\)(?:dir_separator|execute|getfenv|is_windows|jit|load|lua51|setfenv))?\\b"
},
{
"name": "support.function.library.yue",
"match": "\\b(?:_G(?:\\.|:|::|\\\\))*pl\\.comprehension(?:(?:\\.|::|\\\\)(?:new))?\\b"
},
{
"name": "support.function.library.yue",
"match": "\\b(?:_G(?:\\.|:|::|\\\\))*pl\\.config(?:(?:\\.|::|\\\\)(?:lines|read))?\\b"
},
{
"name": "support.function.library.yue",
"match": "\\b(?:_G(?:\\.|:|::|\\\\))*pl\\.data(?:(?:\\.|::|\\\\)(?:filter|new|query|read|write))?\\b"
},
{
"name": "support.function.library.yue",
"match": "\\b(?:_G(?:\\.|:|::|\\\\))*pl\\.dir(?:(?:\\.|::|\\\\)(?:clonetree|copyfile|dirtree|filter|fnmatch|getallfiles|getdirectories|getfiles|makepath|movefile|rmtree|walk))?\\b"
},
{
"name": "support.function.library.yue",
"match": "\\b(?:_G(?:\\.|:|::|\\\\))*pl\\.file(?:(?:\\.|::|\\\\)(?:access_time|copy|creation_time|delete|modified_time|move|read|write))?\\b"
},
{
"name": "support.function.library.yue",
"match": "\\b(?:_G(?:\\.|:|::|\\\\))*pl\\.func(?:(?:\\.|::|\\\\)(?:And|Args|Eq|Ge|Gt|I|Le|Len|Lt|Nil|Not|Or|PE|Var|_|_0|_1|_2|_3|_4|_5|bind|bind1|collect_values|compose|curry|import|instantiate|isPE|lookup_imported_name|register|repr|tail))?\\b"
},
{
"name": "support.function.library.yue",
"match": "\\b(?:_G(?:\\.|:|::|\\\\))*pl\\.input(?:(?:\\.|::|\\\\)(?:alltokens|create_getter|fields|numbers|words))?\\b"
},
{
"name": "support.function.library.yue",
"match": "\\b(?:_G(?:\\.|:|::|\\\\))*pl\\.lapp(?:(?:\\.|::|\\\\)(?:add_type|assert|callback|error|open|process_options_string|quit|show_usage_error))?\\b"
},
{
"name": "support.function.library.yue",
"match": "\\b(?:_G(?:\\.|:|::|\\\\))*pl\\.lexer(?:(?:\\.|::|\\\\)(?:cpp|expecting|get_keywords|get_separated_list|getline|getrest|insert|lineno|lua|scan|skipws))?\\b"
},
{
"name": "support.function.library.yue",
"match": "\\b(?:_G(?:\\.|:|::|\\\\))*pl\\.luabalanced(?:(?:\\.|::|\\\\)(?:gsub|match_bracketed|match_explist|match_expression|match_namelist|match_string))?\\b"
},
{
"name": "support.function.library.yue",
"match": "\\b(?:_G(?:\\.|:|::|\\\\))*pl\\.operator(?:(?:\\.|::|\\\\)(?:add|call|concat|div|eq|ge|gt|index|land|le|len|lnot|lor|lt|match|mod|mul|neq|nop|optable|pow|sub|table|unm))?\\b"
},
{
"name": "support.function.library.yue",
"match": "\\b(?:_G(?:\\.|:|::|\\\\))*pl\\.path(?:(?:\\.|::|\\\\)(?:abspath|attrib|basename|chdir|common_prefix|currentdir|dir|dirname|dirsep|exists|expanduser|extension|getatime|getctime|getmtime|getsize|is_windows|isabs|isdir|isfile|islink|join|link_attrib|mkdir|normcase|normpath|package_path|relpath|rmdir|sep|splitext|splitpath|tmpname))?\\b"
},
{
"name": "support.function.library.yue",
"match": "\\b(?:_G(?:\\.|:|::|\\\\))*pl\\.permute(?:(?:\\.|::|\\\\)(?:iter|list_iter|list_table|order_iter|order_table|table))?\\b"
},
{
"name": "support.function.library.yue",
"match": "\\b(?:_G(?:\\.|:|::|\\\\))*pl\\.pretty(?:(?:\\.|::|\\\\)(?:debug|dump|load|number|read|write))?\\b"
},
{
"name": "support.function.library.yue",
"match": "\\b(?:_G(?:\\.|:|::|\\\\))*pl\\.seq(?:(?:\\.|::|\\\\)(?:copy|copy2|copy_tuples|count|count_map|enum|equal_to|filter|foreach|greater_than|import|iter|keys|last|less_than|lines|list|map|mapmethod|matching|minmax|printall|random|range|reduce|skip|sort|splice|sum|take|unique|zip))?\\b"
},
{
"name": "support.function.library.yue",
"match": "\\b(?:_G(?:\\.|:|::|\\\\))*pl\\.sip(?:(?:\\.|::|\\\\)(?:compile|create_pattern|create_spec_fun|custom_pattern|fields|match|match_at_start|pattern|read))?\\b"
},
{
"name": "support.function.library.yue",
"match": "\\b(?:_G(?:\\.|:|::|\\\\))*pl\\.strict(?:(?:\\.|::|\\\\)(?:closed_module|make_all_strict|module))?\\b"
},
{
"name": "support.function.library.yue",
"match": "\\b(?:_G(?:\\.|:|::|\\\\))*pl\\.stringio(?:(?:\\.|::|\\\\)(?:create|lines|open))?\\b"
},
{
"name": "support.function.library.yue",
"match": "\\b(?:_G(?:\\.|:|::|\\\\))*pl\\.stringx(?:(?:\\.|::|\\\\)(?:Template|at|capitalize|center|count|dedent|endswith|expandtabs|fill|format_operator|import|indent|isalnum|isalpha|isdigit|islower|isspace|isupper|join|lfind|lines|ljust|lstrip|partition|quote_string|replace|rfind|rjust|rpartition|rstrip|shorten|split|splitlines|splitv|startswith|strip|title|wrap))?\\b"
},
{
"name": "support.function.library.yue",
"match": "\\b(?:_G(?:\\.|:|::|\\\\))*pl\\.tablex(?:(?:\\.|::|\\\\)(?:_normalize_slice|clear|compare|compare_no_order|copy|count_map|deepcompare|deepcopy|difference|filter|find|find_if|foreach|foreachi|icopy|imap|imap2|index_by|index_map|insertvalues|intersection|keys|makeset|map|map2|map_named_method|mapn|merge|move|new|pairmap|range|readonly|reduce|removevalues|rfind|search|set|size|sort|sortv|sub|transform|union|update|values|zip))?\\b"
},
{
"name": "support.function.library.yue",
"match": "\\b(?:_G(?:\\.|:|::|\\\\))*pl\\.template(?:(?:\\.|::|\\\\)(?:compile|substitute))?\\b"
},
{
"name": "support.function.library.yue",
"match": "\\b(?:_G(?:\\.|:|::|\\\\))*pl\\.test(?:(?:\\.|::|\\\\)(?:asserteq|asserteq2|assertmatch|assertraise|complain|error_handler|timer|tuple))?\\b"
},
{
"name": "support.function.library.yue",
"match": "\\b(?:_G(?:\\.|:|::|\\\\))*pl\\.text(?:(?:\\.|::|\\\\)(?:Template|at|capitalize|center|count|dedent|endswith|expandtabs|fill|format_operator|import|indent|isalnum|isalpha|isdigit|islower|isspace|isupper|join|lfind|lines|ljust|lstrip|partition|quote_string|replace|rfind|rjust|rpartition|rstrip|shorten|split|splitlines|splitv|startswith|strip|title|wrap))?\\b"
},
{
"name": "support.function.library.yue",
"match": "\\b(?:_G(?:\\.|:|::|\\\\))*pl\\.types(?:(?:\\.|::|\\\\)(?:is_callable|is_empty|is_indexable|is_integer|is_iterable|is_type|is_writeable|to_bool|type))?\\b"
},
{
"name": "support.function.library.yue",
"match": "\\b(?:_G(?:\\.|:|::|\\\\))*pl\\.url(?:(?:\\.|::|\\\\)(?:quote|unquote))?\\b"
},
{
"name": "support.function.library.yue",
"match": "\\b(?:_G(?:\\.|:|::|\\\\))*pl\\.utils(?:(?:\\.|::|\\\\)(?:_VERSION|add_function_factory|array_tostring|assert_arg|assert_string|bind1|bind2|choose|dir_separator|enum|escape|execute|executeex|fprintf|function_arg|getfenv|import|is_type|is_windows|jit|kpairs|load|lua51|memoize|npairs|on_error|pack|patterns|printf|quit|quote_arg|raise|raise_deprecation|readfile|readlines|set_deprecation_func|setfenv|split|splitv|stdmt|string_lambda|unpack|writefile))?\\b"
},
{
"name": "support.function.library.yue",
"match": "\\b(?:_G(?:\\.|:|::|\\\\))*pl\\.xml(?:(?:\\.|::|\\\\)(?:basic_parse|clone|compare|elem|is_tag|new|parse|parsehtml|tags|tostring|walk|xml_escape|xml_unescape))?\\b"
},
{
"name": "support.function.library.yue",
"match": "\\b(?:_G(?:\\.|:|::|\\\\))*string(?:(?:\\.|::|\\\\)(?:byte|char|dump|find|format|gmatch|gsub|len|lower|match|pack|packsize|rep|reverse|sub|unpack|upper))?\\b"
},
{
"name": "support.function.library.yue",
"match": "\\b(?:_G(?:\\.|:|::|\\\\))*table(?:(?:\\.|::|\\\\)(?:concat|insert|move|pack|remove|sort|unpack))?\\b"
},
{
"name": "support.function.library.yue",
"match": "\\b(?:_G(?:\\.|:|::|\\\\))*utf8(?:(?:\\.|::|\\\\)(?:char|charpattern|codepoint|codes|len|offset))?\\b"
},
{
"name": "support.function.library.yue",
"match": "\\b(?:_G(?:\\.|:|::|\\\\))*yue(?:(?:\\.|::|\\\\)(?:check|dofile|file_exist|find_modulepath|format|insert_loader|is_ast|loadfile|loadstring|macro_env|options|p|pcall|read_file|to_ast|to_lua|traceback|version|yue_compiled))?\\b"
},
{
"name": "support.function.library.yue",
"match": "\\b(?:_G(?:\\.|:|::|\\\\))*(?:_G|_VERSION|arg|assert|collectgarbage|coroutine|debug|dofile|error|getmetatable|io|ipairs|lfs|load|loadfile|math|next|os|package|pairs|pcall|print|rawequal|rawget|rawlen|rawset|require|select|setmetatable|string|table|tonumber|tostring|type|utf8|warn|xpcall)\\b"
}
]
}
}
}
|