/
Wurst.tmLanguage
executable file
·1503 lines (1457 loc) · 80 KB
/
Wurst.tmLanguage
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
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>fileTypes</key>
<array>
<string>wurst</string>
<string>jurst</string>
</array>
<key>foldingStartMarker</key>
<string>^\s*(function|class|scope|library|package|method|struct)\s+([.a-zA-Z0-9_ <]+)\s*(\((.*)\))?\s*:|\{\s*$|\(\s*$|\[\s*$|^\s*"""(?=.)(?!.*""")</string>
<key>foldingStopMarker</key>
<string>^\s*$|^\s*\}|^\s*\]|^\s*\)|^\s*"""\s*$</string>
<key>name</key>
<string>Wurst</string>
<key>patterns</key>
<array>
<!-- Comment -->
<dict>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.comment.wurst</string>
</dict>
</dict>
<key>match</key>
<string>(\/\/).*$\n?</string>
<key>name</key>
<string>comment.line.number-sign.wurst</string>
</dict>
<!-- Long Comment -->
<dict>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.long-comment.wurst</string>
</dict>
</dict>
<key>match</key>
<string>(\/\*[^(\*\/)]*\*\/)</string>
<key>name</key>
<string>comment.line.block.wurst</string>
</dict>
<!-- Hex Number -->
<dict>
<key>match</key>
<string>\b(?i:(0x\h*))</string>
<key>name</key>
<string>constant.numeric.integer.hexadecimal.wurst</string>
</dict>
<!-- Float 1 / 3 -->
<dict>
<key>match</key>
<string>\b(?i:(\d+\.\d*(e[\-\+]?\d+)?))(?=[^a-zA-Z_])</string>
<key>name</key>
<string>constant.numeric.float.wurst</string>
</dict>
<!-- Float 2 / 3 -->
<dict>
<key>match</key>
<string>(?<=[^0-9a-zA-Z_])(?i:(\.\d+(e[\-\+]?\d+)?))</string>
<key>name</key>
<string>constant.numeric.float.wurst</string>
</dict>
<!-- Float 3 / 3 -->
<dict>
<key>match</key>
<string>\b(?i:(\d+e[\-\+]?\d+))</string>
<key>name</key>
<string>constant.numeric.float.wurst</string>
</dict>
<!-- Integer -->
<dict>
<key>match</key>
<string>\b([0-9]+)</string>
<key>name</key>
<string>constant.numeric.integer.decimal.wurst</string>
</dict>
<!-- Import -->
<dict>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>keyword.control.import.wurst</string>
</dict>
</dict>
<key>match</key>
<string>\b(?:(import))\b</string>
</dict>
<!-- Control/Flow -->
<dict>
<key>comment</key>
<string>keywords that delimit flow blocks or alter flow from within a block</string>
<key>match</key>
<string>\b(else|for|if|while|break|return|in|skip|case|default|then|exitwhen|elseif|endif|then|loop)\b</string>
<key>name</key>
<string>keyword.control.flow.wurst</string>
</dict>
<!-- Logic Operators -->
<dict>
<key>comment</key>
<string>keyword operators that evaluate to True or False</string>
<key>match</key>
<string>\b(and|in|not|or)\b</string>
<key>name</key>
<string>keyword.operator.logical.wurst</string>
</dict>
<!-- Logical Character Operators -->
<dict>
<key>match</key>
<string><\=|>\=|\=\=|<|>|\!\=</string>
<key>name</key>
<string>keyword.operator.comparison.wurst</string>
</dict>
<!-- Augmented Assignment -->
<dict>
<key>match</key>
<string>\+\=|-\=|\*\=|/\=|</string>
<key>name</key>
<string>keyword.operator.assignment.augmented.wurst</string>
</dict>
<!-- Arithmetic Operators -->
<dict>
<key>match</key>
<string>\+|\-|\*|\*\*|/|//|%|<<|>>|&|\||\^|~</string>
<key>name</key>
<string>keyword.operator.arithmetic.wurst</string>
</dict>
<!-- Assignment Operator Equals -->
<dict>
<key>match</key>
<string>\=</string>
<key>name</key>
<string>keyword.operator.assignment.wurst</string>
</dict>
<!-- Class -->
<dict>
<key>begin</key>
<string>^\s*(class|struct)\s+(?=[a-zA-Z_][a-zA-Z_0-9]*\s*\:)</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>storage.type.class.wurst</string>
</dict>
</dict>
<key>contentName</key>
<string>entity.name.type.class.wurst</string>
<key>end</key>
<string>\s*(:)</string>
<key>endCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.section.class.begin.wurst</string>
</dict>
</dict>
<key>name</key>
<string>meta.class.old-style.wurst</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#entity_name_class</string>
</dict>
</array>
</dict>
<!-- Class -->
<dict>
<key>begin</key>
<string>^\s*(class|struct)\s+(?=[a-zA-Z_][a-zA-Z_0-9]*\s*\()</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>storage.type.class.wurst</string>
</dict>
</dict>
<key>end</key>
<string>(\))\s*(?:(\:)|(.*$\n?))</string>
<key>endCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.inheritance.end.wurst</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>punctuation.section.class.begin.wurst</string>
</dict>
<key>3</key>
<dict>
<key>name</key>
<string>invalid.illegal.missing-section-begin.wurst</string>
</dict>
</dict>
<key>name</key>
<string>meta.class.wurst</string>
<key>patterns</key>
<array>
<dict>
<key>begin</key>
<string>(?=[A-Za-z_][A-Za-z0-9_]*)</string>
<key>contentName</key>
<string>entity.name.type.class.wurst</string>
<key>end</key>
<string>(?![A-Za-z0-9_])</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#entity_name_class</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>(\()</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.inheritance.begin.wurst</string>
</dict>
</dict>
<key>contentName</key>
<string>meta.class.inheritance.wurst</string>
<key>end</key>
<string>(?=\)|:)</string>
<key>patterns</key>
<array>
<dict>
<key>begin</key>
<string>(?<=\(|,)\s*</string>
<key>contentName</key>
<string>entity.other.inherited-class.wurst</string>
<key>end</key>
<string>\s*(?:(,)|(?=\)))</string>
<key>endCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.separator.inheritance.wurst</string>
</dict>
</dict>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>$self</string>
</dict>
</array>
</dict>
</array>
</dict>
</array>
</dict>
<!-- Class -->
<dict>
<key>begin</key>
<string>^\s*(class)\s+(?=[a-zA-Z_][a-zA-Z_0-9])</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>storage.type.class.wurst</string>
</dict>
</dict>
<key>end</key>
<string>(\()|\s*($\n?|#.*$\n?)</string>
<key>endCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.inheritance.begin.wurst</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>invalid.illegal.missing-inheritance.wurst</string>
</dict>
</dict>
<key>name</key>
<string>meta.class.wurst</string>
<key>patterns</key>
<array>
<dict>
<key>begin</key>
<string>(?=[A-Za-z_][A-Za-z0-9_]*)</string>
<key>contentName</key>
<string>entity.name.type.class.wurst</string>
<key>end</key>
<string>(?![A-Za-z0-9_])</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#entity_name_function</string>
</dict>
</array>
</dict>
</array>
</dict>
<!-- function hello() returns nothing -->
<!-- function hello takes unit u returns nothing -->
<dict>
<key>begin</key>
<string>^\s*(function|method)\s+(?=[A-Za-z_][A-Za-z0-9_]*\s*(\(|takes))</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>storage.type.function.wurst</string>
</dict>
</dict>
<key>end</key>
<string>(\)\s*|\)\s*returns[a-zA-Z0-9 ]*|\s*returns[a-zA-Z0-9 ]*)(\n)</string>
<key>endCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.parameters.end.wurst</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>punctuation.section.function.begin.wurst</string>
</dict>
</dict>
<key>name</key>
<string>meta.function.wurst</string>
<!-- Function Contents -->
<key>patterns</key>
<array>
<!-- Function Name -->
<dict>
<key>begin</key>
<string>(?=[A-Za-z_][A-Za-z0-9_]*)</string>
<key>contentName</key>
<string>entity.name.function.wurst</string>
<key>end</key>
<string>(?![A-Za-z0-9_])</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#entity_name_function</string>
</dict>
</array>
</dict>
<!-- Parameters -->
<dict>
<key>begin</key>
<string>(\(|takes)</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.parameters.begin.wurst</string>
</dict>
</dict>
<key>contentName</key>
<string>meta.function.parameters.wurst</string>
<key>end</key>
<string>((?=\)|returns)\s*)</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#keyword_arguments</string>
</dict>
<!-- Arguments like int name, val bob -->
<dict>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>variable.parameter.function.wurst</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>punctuation.separator.parameters.wurst</string>
</dict>
</dict>
<key>match</key>
<string>\b([a-zA-Z_][a-zA-Z_0-9]*)\s*(?:(,)|(?=[\n\)]))</string>
</dict>
</array>
</dict>
</array>
</dict>
<!-- Decorators ? -->
<dict>
<key>begin</key>
<string>^\s*(?=@\s*[A-Za-z_][A-Za-z0-9_]*(?:\.[a-zA-Z_][a-zA-Z_0-9]*)*\s*\()</string>
<key>comment</key>
<string>a decorator may be a function call which returns a decorator.</string>
<key>end</key>
<string>(\))</string>
<key>endCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.arguments.end.wurst</string>
</dict>
</dict>
<key>name</key>
<string>meta.function.decorator.wurst</string>
<key>patterns</key>
<array>
<dict>
<key>begin</key>
<string>(?=(@)\s*[A-Za-z_][A-Za-z0-9_]*(?:\.[A-Za-z_][A-Za-z0-9_]*)*\s*\()</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.decorator.wurst</string>
</dict>
</dict>
<key>contentName</key>
<string>entity.name.function.decorator.wurst</string>
<key>end</key>
<string>(?=\s*\()</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#dotted_name</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>(\()</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.arguments.begin.wurst</string>
</dict>
</dict>
<key>contentName</key>
<string>meta.function.decorator.arguments.wurst</string>
<key>end</key>
<string>(?=\))</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#keyword_arguments</string>
</dict>
<dict>
<key>include</key>
<string>$self</string>
</dict>
</array>
</dict>
</array>
</dict>
<!-- "Dotted Name" -->
<dict>
<key>begin</key>
<string>^\s*(?=@\s*[A-Za-z_][A-Za-z0-9_]*(?:\.[a-zA-Z_][a-zA-Z_0-9]*)*)</string>
<key>contentName</key>
<string>entity.name.function.decorator.wurst</string>
<key>end</key>
<string>(?=\s|$\n?|#)</string>
<key>name</key>
<string>meta.function.decorator.wurst</string>
<key>patterns</key>
<array>
<dict>
<key>begin</key>
<string>(?=(@)\s*[A-Za-z_][A-Za-z0-9_]*(\.[A-Za-z_][A-Za-z0-9_]*)*)</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.decorator.wurst</string>
</dict>
</dict>
<key>end</key>
<string>(?=\s|$\n?|#)</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#dotted_name</string>
</dict>
</array>
</dict>
</array>
</dict>
<!-- Function arguments -->
<dict>
<key>begin</key>
<string>(?<=\)|\])\s*(\()</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.arguments.begin.wurst</string>
</dict>
</dict>
<key>contentName</key>
<string>meta.function-call.arguments.wurst</string>
<key>end</key>
<string>(\))</string>
<key>endCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.arguments.end.wurst</string>
</dict>
</dict>
<key>name</key>
<string>meta.function-call.wurst</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#keyword_arguments</string>
</dict>
<dict>
<key>include</key>
<string>$self</string>
</dict>
</array>
</dict>
<!-- Function arguments end -->
<dict>
<key>begin</key>
<string>(?=[A-Za-z_][A-Za-z0-9_]*(?:\.[a-zA-Z_][a-zA-Z_0-9]*)*\s*\()</string>
<key>end</key>
<string>(\))</string>
<key>endCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.arguments.end.wurst</string>
</dict>
</dict>
<key>name</key>
<string>meta.function-call.wurst</string>
<key>patterns</key>
<array>
<dict>
<key>begin</key>
<string>(?=[A-Za-z_][A-Za-z0-9_]*(?:\.[A-Za-z_][A-Za-z0-9_]*)*\s*\()</string>
<key>end</key>
<string>(?=\s*\()</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#dotted_name</string>
</dict>
<dict>
<key>include</key>
<string>#stl_functions</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>(\()</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.arguments.begin.wurst</string>
</dict>
</dict>
<key>contentName</key>
<string>meta.function-call.arguments.wurst</string>
<key>end</key>
<string>(?=\))</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#keyword_arguments</string>
</dict>
<dict>
<key>include</key>
<string>$self</string>
</dict>
</array>
</dict>
</array>
</dict>
<!-- Function arguments end -->
<dict>
<key>begin</key>
<string>(?=[A-Za-z_][A-Za-z0-9_]*(?:\.[a-zA-Z_][a-zA-Z_0-9]*)*\s*\[)</string>
<key>end</key>
<string>(\])</string>
<key>endCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.arguments.end.wurst</string>
</dict>
</dict>
<key>name</key>
<string>meta.item-access.wurst</string>
<key>patterns</key>
<array>
<dict>
<key>begin</key>
<string>(?=[A-Za-z_][A-Za-z0-9_]*(?:\.[A-Za-z_][A-Za-z0-9_]*)*\s*\[)</string>
<key>end</key>
<string>(?=\s*\[)</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#dotted_name</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>(\[)</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.arguments.begin.wurst</string>
</dict>
</dict>
<key>contentName</key>
<string>meta.item-access.arguments.wurst</string>
<key>end</key>
<string>(?=\])</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>$self</string>
</dict>
</array>
</dict>
</array>
</dict>
<!-- Function arguments begin -->
<dict>
<key>begin</key>
<string>(?<=\)|\])\s*(\[)</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.arguments.begin.wurst</string>
</dict>
</dict>
<key>contentName</key>
<string>meta.item-access.arguments.wurst</string>
<key>end</key>
<string>(\])</string>
<key>endCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.arguments.end.wurst</string>
</dict>
</dict>
<key>name</key>
<string>meta.item-access.wurst</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>$self</string>
</dict>
</array>
</dict>
<!-- Function -->
<dict>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>storage.type.function.wurst</string>
</dict>
</dict>
<key>match</key>
<string>\b(function|method)\b</string>
</dict>
<!-- Class -->
<dict>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>storage.type.class.wurst</string>
</dict>
</dict>
<key>match</key>
<string>\b(class|struct)\b</string>
</dict>
<!-- Include Line Continuations -->
<dict>
<key>include</key>
<string>#line_continuation</string>
</dict>
<!-- Include Language Variables -->
<dict>
<key>include</key>
<string>#language_variables</string>
</dict>
<!-- ? -->
<dict>
<key>include</key>
<string>#string_quoted_single</string>
</dict>
<!-- ? -->
<dict>
<key>include</key>
<string>#string_quoted_double</string>
</dict>
<!-- ? -->
<dict>
<key>include</key>
<string>#dotted_name</string>
</dict>
<!-- ? -->
<dict>
<key>begin</key>
<string>(\()</string>
<key>end</key>
<string>(\))</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>$self</string>
</dict>
</array>
</dict>
<!-- ? -->
<dict>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.list.begin.wurst</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>meta.empty-list.wurst</string>
</dict>
<key>3</key>
<dict>
<key>name</key>
<string>punctuation.definition.list.end.wurst</string>
</dict>
</dict>
<key>match</key>
<string>(\[)(\s*(\]))\b</string>
</dict>
<!-- ? -->
<dict>
<key>begin</key>
<string>(\[)</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.list.begin.wurst</string>
</dict>
</dict>
<key>end</key>
<string>(\])</string>
<key>endCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.list.end.wurst</string>
</dict>
</dict>
<key>name</key>
<string>meta.structure.list.wurst</string>
<key>patterns</key>
<array>
<dict>
<key>begin</key>
<string>(?<=\[|\,)\s*(?![\],])</string>
<key>contentName</key>
<string>meta.structure.list.item.wurst</string>
<key>end</key>
<string>\s*(?:(,)|(?=\]))</string>
<key>endCaptures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.separator.list.wurst</string>
</dict>
</dict>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>$self</string>
</dict>
</array>
</dict>
</array>
</dict>
<!-- Tuple -->
<dict>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>punctuation.definition.tuple.begin.wurst</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>meta.empty-tuple.wurst</string>
</dict>
<key>3</key>
<dict>
<key>name</key>
<string>punctuation.definition.tuple.end.wurst</string>
</dict>
</dict>
<key>match</key>
<string>(\()(\s*(\)))</string>
<key>name</key>
<string>meta.structure.tuple.wurst</string>
</dict>
</array>
<key>repository</key>
<dict>
<key>builtin_functions</key>
<dict>
<key>match</key>
<string>(?x)\b(
UnitAlive|ConvertRace|ConvertAllianceType|ConvertRacePref|ConvertIGameState|ConvertFGameState|ConvertPlayerState|ConvertPlayerScore|ConvertPlayerGameResult|ConvertUnitState|ConvertAIDifficulty|ConvertGameEvent|ConvertPlayerEvent|ConvertPlayerUnitEvent|ConvertWidgetEvent|ConvertDialogEvent|ConvertUnitEvent|ConvertLimitOp|ConvertUnitType|ConvertGameSpeed|ConvertPlacement|ConvertStartLocPrio|ConvertGameDifficulty|ConvertGameType|ConvertMapFlag|ConvertMapVisibility|ConvertMapSetting|ConvertMapDensity|ConvertMapControl|ConvertPlayerColor|ConvertPlayerSlotState|ConvertVolumeGroup|ConvertCameraField|ConvertBlendMode|ConvertRarityControl|ConvertTexMapFlags|ConvertFogState|ConvertEffectType|ConvertVersion|ConvertItemType|ConvertAttackType|ConvertDamageType|ConvertWeaponType|ConvertSoundType|ConvertPathingType|OrderId|OrderId2String|UnitId|UnitId2String|AbilityId|AbilityId2String|GetObjectName|Deg2Rad|Rad2Deg|Sin|Cos|Tan|Asin|Acos|Atan|Atan2|SquareRoot|Pow|I2R|R2I|I2S|R2S|R2SW|S2I|S2R|GetHandleId|SubString|StringLength|StringCase|StringHash|GetLocalizedString|GetLocalizedHotkey|SetMapName|SetMapDescription|SetTeams|SetPlayers|DefineStartLocation|DefineStartLocationLoc|SetStartLocPrioCount|SetStartLocPrio|GetStartLocPrioSlot|GetStartLocPrio|SetGameTypeSupported|SetMapFlag|SetGamePlacement|SetGameSpeed|SetGameDifficulty|SetResourceDensity|SetCreatureDensity|GetTeams|GetPlayers|IsGameTypeSupported|GetGameTypeSelected|IsMapFlagSet|GetGamePlacement|GetGameSpeed|GetGameDifficulty|GetResourceDensity|GetCreatureDensity|GetStartLocationX|GetStartLocationY|GetStartLocationLoc|SetPlayerTeam|SetPlayerStartLocation|ForcePlayerStartLocation|SetPlayerColor|SetPlayerAlliance|SetPlayerTaxRate|SetPlayerRacePreference|SetPlayerRaceSelectable|SetPlayerController|SetPlayerName|SetPlayerOnScoreScreen|GetPlayerTeam|GetPlayerStartLocation|GetPlayerColor|GetPlayerSelectable|GetPlayerController|GetPlayerSlotState|GetPlayerTaxRate|IsPlayerRacePrefSet|GetPlayerName|CreateTimer|DestroyTimer|TimerStart|TimerGetElapsed|TimerGetRemaining|TimerGetTimeout|PauseTimer|ResumeTimer|GetExpiredTimer|CreateGroup|DestroyGroup|GroupAddUnit|GroupRemoveUnit|GroupClear|GroupEnumUnitsOfType|GroupEnumUnitsOfPlayer|GroupEnumUnitsOfTypeCounted|GroupEnumUnitsInRect|GroupEnumUnitsInRectCounted|GroupEnumUnitsInRange|GroupEnumUnitsInRangeOfLoc|GroupEnumUnitsInRangeCounted|GroupEnumUnitsInRangeOfLocCounted|GroupEnumUnitsSelected|GroupImmediateOrder|GroupImmediateOrderById|GroupPointOrder|GroupPointOrderLoc|GroupPointOrderById|GroupPointOrderByIdLoc|GroupTargetOrder|GroupTargetOrderById|ForGroup|FirstOfGroup|CreateForce|DestroyForce|ForceAddPlayer|ForceRemovePlayer|ForceClear|ForceEnumPlayers|ForceEnumPlayersCounted|ForceEnumAllies|ForceEnumEnemies|ForForce|Rect|RectFromLoc|RemoveRect|SetRect|SetRectFromLoc|MoveRectTo|MoveRectToLoc|GetRectCenterX|GetRectCenterY|GetRectMinX|GetRectMinY|GetRectMaxX|GetRectMaxY|CreateRegion|RemoveRegion|RegionAddRect|RegionClearRect|RegionAddCell|RegionAddCellAtLoc|RegionClearCell|RegionClearCellAtLoc|Location|RemoveLocation|MoveLocation|GetLocationX|GetLocationY|GetLocationZ|IsUnitInRegion|IsPointInRegion|IsLocationInRegion|GetWorldBounds|CreateTrigger|DestroyTrigger|ResetTrigger|EnableTrigger|DisableTrigger|IsTriggerEnabled|TriggerWaitOnSleeps|IsTriggerWaitOnSleeps|GetFilterUnit|GetEnumUnit|GetFilterDestructable|GetEnumDestructable|GetFilterItem|GetEnumItem|GetFilterPlayer|GetEnumPlayer|GetTriggeringTrigger|GetTriggerEventId|GetTriggerEvalCount|GetTriggerExecCount|ExecuteFunc|And|Or|Not|Condition|DestroyCondition|Filter|DestroyFilter|DestroyBoolExpr|TriggerRegisterVariableEvent|TriggerRegisterTimerEvent|TriggerRegisterTimerExpireEvent|TriggerRegisterGameStateEvent|TriggerRegisterDialogEvent|TriggerRegisterDialogButtonEvent|GetEventGameState|TriggerRegisterGameEvent|GetWinningPlayer|TriggerRegisterEnterRegion|GetTriggeringRegion|GetEnteringUnit|TriggerRegisterLeaveRegion|GetLeavingUnit|TriggerRegisterTrackableHitEvent|TriggerRegisterTrackableTrackEvent|GetTriggeringTrackable|GetClickedButton|GetClickedDialog|GetTournamentFinishSoonTimeRemaining|GetTournamentFinishNowRule|GetTournamentFinishNowPlayer|GetTournamentScore|GetSaveBasicFilename|TriggerRegisterPlayerEvent|GetTriggerPlayer|TriggerRegisterPlayerUnitEvent|GetLevelingUnit|GetLearningUnit|GetLearnedSkill|GetLearnedSkillLevel|GetRevivableUnit|GetRevivingUnit|GetAttacker|GetRescuer|GetDyingUnit|GetKillingUnit|GetDecayingUnit|GetConstructingStructure|GetCancelledStructure|GetConstructedStructure|GetResearchingUnit|GetResearched|GetTrainedUnitType|GetTrainedUnit|GetDetectedUnit|GetSummoningUnit|GetSummonedUnit|GetTransportUnit|GetLoadedUnit|GetSellingUnit|GetSoldUnit|GetBuyingUnit|GetSoldItem|GetChangingUnit|GetChangingUnitPrevOwner|GetManipulatingUnit|GetManipulatedItem|GetOrderedUnit|GetIssuedOrderId|GetOrderPointX|GetOrderPointY|GetOrderPointLoc|GetOrderTarget|GetOrderTargetDestructable|GetOrderTargetItem|GetOrderTargetUnit|GetSpellAbilityUnit|GetSpellAbilityId|GetSpellAbility|GetSpellTargetLoc|GetSpellTargetX|GetSpellTargetY|GetSpellTargetDestructable|GetSpellTargetItem|GetSpellTargetUnit|TriggerRegisterPlayerAllianceChange|TriggerRegisterPlayerStateEvent|GetEventPlayerState|TriggerRegisterPlayerChatEvent|GetEventPlayerChatString|GetEventPlayerChatStringMatched|TriggerRegisterDeathEvent|GetTriggerUnit|TriggerRegisterUnitStateEvent|GetEventUnitState|TriggerRegisterUnitEvent|GetEventDamage|GetEventDamageSource|GetEventDetectingPlayer|TriggerRegisterFilterUnitEvent|GetEventTargetUnit|TriggerRegisterUnitInRange|TriggerAddCondition|TriggerRemoveCondition|TriggerClearConditions|TriggerAddAction|TriggerRemoveAction|TriggerClearActions|TriggerSleepAction|TriggerWaitForSound|TriggerEvaluate|TriggerExecute|TriggerExecuteWait|TriggerSyncStart|TriggerSyncReady|GetWidgetLife|SetWidgetLife|GetWidgetX|GetWidgetY|GetTriggerWidget|CreateDestructable|CreateDestructableZ|CreateDeadDestructable|CreateDeadDestructableZ|RemoveDestructable|KillDestructable|SetDestructableInvulnerable|IsDestructableInvulnerable|EnumDestructablesInRect|GetDestructableTypeId|GetDestructableX|GetDestructableY|SetDestructableLife|GetDestructableLife|SetDestructableMaxLife|GetDestructableMaxLife|DestructableRestoreLife|QueueDestructableAnimation|SetDestructableAnimation|SetDestructableAnimationSpeed|ShowDestructable|GetDestructableOccluderHeight|SetDestructableOccluderHeight|GetDestructableName|GetTriggerDestructable|CreateItem|RemoveItem|GetItemPlayer|GetItemTypeId|GetItemX|GetItemY|SetItemPosition|SetItemDropOnDeath|SetItemDroppable|SetItemPawnable|SetItemPlayer|SetItemInvulnerable|IsItemInvulnerable|SetItemVisible|IsItemVisible|IsItemOwned|IsItemPowerup|IsItemSellable|IsItemPawnable|IsItemIdPowerup|IsItemIdSellable|IsItemIdPawnable|EnumItemsInRect|GetItemLevel|GetItemType|SetItemDropID|GetItemName|GetItemCharges|SetItemCharges|GetItemUserData|SetItemUserData|CreateUnit|CreateUnitByName|CreateUnitAtLoc|CreateUnitAtLocByName|CreateCorpse|KillUnit|RemoveUnit|ShowUnit|SetUnitState|SetUnitX|SetUnitY|SetUnitPosition|SetUnitPositionLoc|SetUnitFacing|SetUnitFacingTimed|SetUnitMoveSpeed|SetUnitFlyHeight|SetUnitTurnSpeed|SetUnitPropWindow|SetUnitAcquireRange|SetUnitCreepGuard|GetUnitAcquireRange|GetUnitTurnSpeed|GetUnitPropWindow|GetUnitFlyHeight|GetUnitDefaultAcquireRange|GetUnitDefaultTurnSpeed|GetUnitDefaultPropWindow|GetUnitDefaultFlyHeight|SetUnitOwner|SetUnitColor|SetUnitScale|SetUnitTimeScale|SetUnitBlendTime|SetUnitVertexColor|QueueUnitAnimation|SetUnitAnimation|SetUnitAnimationByIndex|SetUnitAnimationWithRarity|AddUnitAnimationProperties|SetUnitLookAt|ResetUnitLookAt|SetUnitRescuable|SetUnitRescueRange|SetHeroStr|SetHeroAgi|SetHeroInt|GetHeroStr|GetHeroAgi|GetHeroInt|UnitStripHeroLevel|GetHeroXP|SetHeroXP|GetHeroSkillPoints|UnitModifySkillPoints|AddHeroXP|SetHeroLevel|GetHeroLevel|GetUnitLevel|GetHeroProperName|SuspendHeroXP|IsSuspendedXP|SelectHeroSkill|GetUnitAbilityLevel|DecUnitAbilityLevel|IncUnitAbilityLevel|SetUnitAbilityLevel|ReviveHero|ReviveHeroLoc|SetUnitExploded|SetUnitInvulnerable|PauseUnit|IsUnitPaused|SetUnitPathing|ClearSelection|SelectUnit|GetUnitPointValue|GetUnitPointValueByType|UnitAddItem|UnitAddItemById|UnitAddItemToSlotById|UnitRemoveItem|UnitRemoveItemFromSlot|UnitHasItem|UnitItemInSlot|UnitInventorySize|UnitDropItemPoint|UnitDropItemSlot|UnitDropItemTarget|UnitUseItem|UnitUseItemPoint|UnitUseItemTarget|GetUnitX|GetUnitY|GetUnitLoc|GetUnitFacing|GetUnitMoveSpeed|GetUnitDefaultMoveSpeed|GetUnitState|GetOwningPlayer|GetUnitTypeId|GetUnitRace|GetUnitName|GetUnitFoodUsed|GetUnitFoodMade|GetFoodMade|GetFoodUsed|SetUnitUseFood|GetUnitRallyPoint|GetUnitRallyUnit|GetUnitRallyDestructable|IsUnitInGroup|IsUnitInForce|IsUnitOwnedByPlayer|IsUnitAlly|IsUnitEnemy|IsUnitVisible|IsUnitDetected|IsUnitInvisible|IsUnitFogged|IsUnitMasked|IsUnitSelected|IsUnitRace|IsUnitType|IsUnit|IsUnitInRange|IsUnitInRangeXY|IsUnitInRangeLoc|IsUnitHidden|IsUnitIllusion|IsUnitInTransport|IsUnitLoaded|IsHeroUnitId|IsUnitIdType|UnitShareVision|UnitSuspendDecay|UnitAddType|UnitRemoveType|UnitAddAbility|UnitRemoveAbility|UnitMakeAbilityPermanent|UnitRemoveBuffs|UnitRemoveBuffsEx|UnitHasBuffsEx|UnitCountBuffsEx|UnitAddSleep|UnitCanSleep|UnitAddSleepPerm|UnitCanSleepPerm|UnitIsSleeping|UnitWakeUp|UnitApplyTimedLife|UnitIgnoreAlarm|UnitIgnoreAlarmToggled|UnitResetCooldown|UnitSetConstructionProgress|UnitSetUpgradeProgress|UnitPauseTimedLife|UnitSetUsesAltIcon|UnitDamagePoint|UnitDamageTarget|IssueImmediateOrder|IssueImmediateOrderById|IssuePointOrder|IssuePointOrderLoc|IssuePointOrderById|IssuePointOrderByIdLoc|IssueTargetOrder|IssueTargetOrderById|IssueInstantPointOrder|IssueInstantPointOrderById|IssueInstantTargetOrder|IssueInstantTargetOrderById|IssueBuildOrder|IssueBuildOrderById|IssueNeutralImmediateOrder|IssueNeutralImmediateOrderById|IssueNeutralPointOrder|IssueNeutralPointOrderById|IssueNeutralTargetOrder|IssueNeutralTargetOrderById|GetUnitCurrentOrder|SetResourceAmount|AddResourceAmount|GetResourceAmount|WaygateGetDestinationX|WaygateGetDestinationY|WaygateSetDestination|WaygateActivate|WaygateIsActive|AddItemToAllStock|AddItemToStock|AddUnitToAllStock|AddUnitToStock|RemoveItemFromAllStock|RemoveItemFromStock|RemoveUnitFromAllStock|RemoveUnitFromStock|SetAllItemTypeSlots|SetAllUnitTypeSlots|SetItemTypeSlots|SetUnitTypeSlots|GetUnitUserData|SetUnitUserData|Player|GetLocalPlayer|IsPlayerAlly|IsPlayerEnemy|IsPlayerInForce|IsPlayerObserver|IsVisibleToPlayer|IsLocationVisibleToPlayer|IsFoggedToPlayer|IsLocationFoggedToPlayer|IsMaskedToPlayer|IsLocationMaskedToPlayer|GetPlayerRace|GetPlayerId|GetPlayerUnitCount|GetPlayerTypedUnitCount|GetPlayerStructureCount|GetPlayerState|GetPlayerScore|GetPlayerAlliance|GetPlayerHandicap|GetPlayerHandicapXP|SetPlayerHandicap|SetPlayerHandicapXP|SetPlayerTechMaxAllowed|GetPlayerTechMaxAllowed|AddPlayerTechResearched|SetPlayerTechResearched|GetPlayerTechResearched|GetPlayerTechCount|SetPlayerUnitsOwner|CripplePlayer|SetPlayerAbilityAvailable|SetPlayerState|RemovePlayer|CachePlayerHeroData|SetFogStateRect|SetFogStateRadius|SetFogStateRadiusLoc|FogMaskEnable|IsFogMaskEnabled|FogEnable|IsFogEnabled|CreateFogModifierRect|CreateFogModifierRadius|CreateFogModifierRadiusLoc|DestroyFogModifier|FogModifierStart|FogModifierStop|VersionGet|VersionCompatible|VersionSupported|EndGame|ChangeLevel|RestartGame|ReloadGame|SetCampaignMenuRace|SetCampaignMenuRaceEx|ForceCampaignSelectScreen|LoadGame|SaveGame|RenameSaveDirectory|RemoveSaveDirectory|CopySaveGame|SaveGameExists|SyncSelections|SetFloatGameState|GetFloatGameState|SetIntegerGameState|GetIntegerGameState|SetTutorialCleared|SetMissionAvailable|SetCampaignAvailable|SetOpCinematicAvailable|SetEdCinematicAvailable|GetDefaultDifficulty|SetDefaultDifficulty|SetCustomCampaignButtonVisible|GetCustomCampaignButtonVisible|DoNotSaveReplay|DialogCreate|DialogDestroy|DialogClear|DialogSetMessage|DialogAddButton|DialogAddQuitButton|DialogDisplay|ReloadGameCachesFromDisk|InitGameCache|SaveGameCache|StoreInteger|StoreReal|StoreBoolean|StoreUnit|StoreString|SyncStoredInteger|SyncStoredReal|SyncStoredBoolean|SyncStoredUnit|SyncStoredString|HaveStoredInteger|HaveStoredReal|HaveStoredBoolean|HaveStoredUnit|HaveStoredString|FlushGameCache|FlushStoredMission|FlushStoredInteger|FlushStoredReal|FlushStoredBoolean|FlushStoredUnit|FlushStoredString|GetStoredInteger|GetStoredReal|GetStoredBoolean|GetStoredString|RestoreUnit|InitHashtable|SaveInteger|SaveReal|SaveBoolean|SaveStr|SavePlayerHandle|SaveWidgetHandle|SaveDestructableHandle|SaveItemHandle|SaveUnitHandle|SaveAbilityHandle|SaveTimerHandle|SaveTriggerHandle|SaveTriggerConditionHandle|SaveTriggerActionHandle|SaveTriggerEventHandle|SaveForceHandle|SaveGroupHandle|SaveLocationHandle|SaveRectHandle|SaveBooleanExprHandle|SaveSoundHandle|SaveEffectHandle|SaveUnitPoolHandle|SaveItemPoolHandle|SaveQuestHandle|SaveQuestItemHandle|SaveDefeatConditionHandle|SaveTimerDialogHandle|SaveLeaderboardHandle|SaveMultiboardHandle|SaveMultiboardItemHandle|SaveTrackableHandle|SaveDialogHandle|SaveButtonHandle|SaveTextTagHandle|SaveLightningHandle|SaveImageHandle|SaveUbersplatHandle|SaveRegionHandle|SaveFogStateHandle|SaveFogModifierHandle|SaveAgentHandle|SaveHashtableHandle|LoadInteger|LoadReal|LoadBoolean|LoadStr|LoadPlayerHandle|LoadWidgetHandle|LoadDestructableHandle|LoadItemHandle|LoadUnitHandle|LoadAbilityHandle|LoadTimerHandle|LoadTriggerHandle|LoadTriggerConditionHandle|LoadTriggerActionHandle|LoadTriggerEventHandle|LoadForceHandle|LoadGroupHandle|LoadLocationHandle|LoadRectHandle|LoadBooleanExprHandle|LoadSoundHandle|LoadEffectHandle|LoadUnitPoolHandle|LoadItemPoolHandle|LoadQuestHandle|LoadQuestItemHandle|LoadDefeatConditionHandle|LoadTimerDialogHandle|LoadLeaderboardHandle|LoadMultiboardHandle|LoadMultiboardItemHandle|LoadTrackableHandle|LoadDialogHandle|LoadButtonHandle|LoadTextTagHandle|LoadLightningHandle|LoadImageHandle|LoadUbersplatHandle|LoadRegionHandle|LoadFogStateHandle|LoadFogModifierHandle|LoadHashtableHandle|HaveSavedInteger|HaveSavedReal|HaveSavedBoolean|HaveSavedString|HaveSavedHandle|RemoveSavedInteger|RemoveSavedReal|RemoveSavedBoolean|RemoveSavedString|RemoveSavedHandle|FlushParentHashtable|FlushChildHashtable|GetRandomInt|GetRandomReal|CreateUnitPool|DestroyUnitPool|UnitPoolAddUnitType|UnitPoolRemoveUnitType|PlaceRandomUnit|CreateItemPool|DestroyItemPool|ItemPoolAddItemType|ItemPoolRemoveItemType|PlaceRandomItem|ChooseRandomCreep|ChooseRandomNPBuilding|ChooseRandomItem|ChooseRandomItemEx|SetRandomSeed|SetTerrainFog|ResetTerrainFog|SetUnitFog|SetTerrainFogEx|DisplayTextToPlayer|DisplayTimedTextToPlayer|DisplayTimedTextFromPlayer|ClearTextMessages|SetDayNightModels|SetSkyModel|EnableUserControl|EnableUserUI|SuspendTimeOfDay|SetTimeOfDayScale|GetTimeOfDayScale|ShowInterface|PauseGame|UnitAddIndicator|AddIndicator|PingMinimap|PingMinimapEx|EnableOcclusion|SetIntroShotText|SetIntroShotModel|EnableWorldFogBoundary|PlayModelCinematic|PlayCinematic|ForceUIKey|ForceUICancel|DisplayLoadDialog|SetAltMinimapIcon|DisableRestartMission|CreateTextTag|DestroyTextTag|SetTextTagText|SetTextTagPos|SetTextTagPosUnit|SetTextTagColor|SetTextTagVelocity|SetTextTagVisibility|SetTextTagSuspended|SetTextTagPermanent|SetTextTagAge|SetTextTagLifespan|SetTextTagFadepoint|SetReservedLocalHeroButtons|GetAllyColorFilterState|SetAllyColorFilterState|GetCreepCampFilterState|SetCreepCampFilterState|EnableMinimapFilterButtons|EnableDragSelect|EnablePreSelect|EnableSelect|CreateTrackable|CreateQuest|DestroyQuest|QuestSetTitle|QuestSetDescription|QuestSetIconPath|QuestSetRequired|QuestSetCompleted|QuestSetDiscovered|QuestSetFailed|QuestSetEnabled|IsQuestRequired|IsQuestCompleted|IsQuestDiscovered|IsQuestFailed|IsQuestEnabled|QuestCreateItem|QuestItemSetDescription|QuestItemSetCompleted|IsQuestItemCompleted|CreateDefeatCondition|DestroyDefeatCondition|DefeatConditionSetDescription|FlashQuestDialogButton|ForceQuestDialogUpdate|CreateTimerDialog|DestroyTimerDialog|TimerDialogSetTitle|TimerDialogSetTitleColor|TimerDialogSetTimeColor|TimerDialogSetSpeed|TimerDialogDisplay|IsTimerDialogDisplayed|TimerDialogSetRealTimeRemaining|CreateLeaderboard|DestroyLeaderboard|LeaderboardDisplay|IsLeaderboardDisplayed|LeaderboardGetItemCount|LeaderboardSetSizeByItemCount|LeaderboardAddItem|LeaderboardRemoveItem|LeaderboardRemovePlayerItem|LeaderboardClear|LeaderboardSortItemsByValue|LeaderboardSortItemsByPlayer|LeaderboardSortItemsByLabel|LeaderboardHasPlayerItem|LeaderboardGetPlayerIndex|LeaderboardSetLabel|LeaderboardGetLabelText|PlayerSetLeaderboard|PlayerGetLeaderboard|LeaderboardSetLabelColor|LeaderboardSetValueColor|LeaderboardSetStyle|LeaderboardSetItemValue|LeaderboardSetItemLabel|LeaderboardSetItemStyle|LeaderboardSetItemLabelColor|LeaderboardSetItemValueColor|CreateMultiboard|DestroyMultiboard|MultiboardDisplay|IsMultiboardDisplayed|MultiboardMinimize|IsMultiboardMinimized|MultiboardClear|MultiboardSetTitleText|MultiboardGetTitleText|MultiboardSetTitleTextColor|MultiboardGetRowCount|MultiboardGetColumnCount|MultiboardSetColumnCount|MultiboardSetRowCount|MultiboardSetItemsStyle|MultiboardSetItemsValue|MultiboardSetItemsValueColor|MultiboardSetItemsWidth|MultiboardSetItemsIcon|MultiboardGetItem|MultiboardReleaseItem|MultiboardSetItemStyle|MultiboardSetItemValue|MultiboardSetItemValueColor|MultiboardSetItemWidth|MultiboardSetItemIcon|MultiboardSuppressDisplay|SetCameraPosition|SetCameraQuickPosition|SetCameraBounds|StopCamera|ResetToGameCamera|PanCameraTo|PanCameraToTimed|PanCameraToWithZ|PanCameraToTimedWithZ|SetCinematicCamera|SetCameraRotateMode|SetCameraField|AdjustCameraField|SetCameraTargetController|SetCameraOrientController|CreateCameraSetup|CameraSetupSetField|CameraSetupGetField|CameraSetupSetDestPosition|CameraSetupGetDestPositionLoc|CameraSetupGetDestPositionX|CameraSetupGetDestPositionY|CameraSetupApply|CameraSetupApplyWithZ|CameraSetupApplyForceDuration|CameraSetupApplyForceDurationWithZ|CameraSetTargetNoise|CameraSetSourceNoise|CameraSetTargetNoiseEx|CameraSetSourceNoiseEx|CameraSetSmoothingFactor|SetCineFilterTexture|SetCineFilterBlendMode|SetCineFilterTexMapFlags|SetCineFilterStartUV|SetCineFilterEndUV|SetCineFilterStartColor|SetCineFilterEndColor|SetCineFilterDuration|DisplayCineFilter|IsCineFilterDisplayed|SetCinematicScene|EndCinematicScene|ForceCinematicSubtitles|GetCameraMargin|GetCameraBoundMinX|GetCameraBoundMinY|GetCameraBoundMaxX|GetCameraBoundMaxY|GetCameraField|GetCameraTargetPositionX|GetCameraTargetPositionY|GetCameraTargetPositionZ|GetCameraTargetPositionLoc|GetCameraEyePositionX|GetCameraEyePositionY|GetCameraEyePositionZ|GetCameraEyePositionLoc|NewSoundEnvironment|CreateSound|CreateSoundFilenameWithLabel|CreateSoundFromLabel|CreateMIDISound|SetSoundParamsFromLabel|SetSoundDistanceCutoff|SetSoundChannel|SetSoundVolume|SetSoundPitch|SetSoundPlayPosition|SetSoundDistances|SetSoundConeAngles|SetSoundConeOrientation|SetSoundPosition|SetSoundVelocity|AttachSoundToUnit|StartSound|StopSound|KillSoundWhenDone|SetMapMusic|ClearMapMusic|PlayMusic|PlayMusicEx|StopMusic|ResumeMusic|PlayThematicMusic|PlayThematicMusicEx|EndThematicMusic|SetMusicVolume|SetMusicPlayPosition|SetThematicMusicPlayPosition|SetSoundDuration|GetSoundDuration|GetSoundFileDuration|VolumeGroupSetVolume|VolumeGroupReset|GetSoundIsPlaying|GetSoundIsLoading|RegisterStackedSound|UnregisterStackedSound|AddWeatherEffect|RemoveWeatherEffect|EnableWeatherEffect|TerrainDeformCrater|TerrainDeformRipple|TerrainDeformWave|TerrainDeformRandom|TerrainDeformStop|TerrainDeformStopAll|AddSpecialEffect|AddSpecialEffectLoc|AddSpecialEffectTarget|DestroyEffect|AddSpellEffect|AddSpellEffectLoc|AddSpellEffectById|AddSpellEffectByIdLoc|AddSpellEffectTarget|AddSpellEffectTargetById|AddLightning|AddLightningEx|DestroyLightning|MoveLightning|MoveLightningEx|GetLightningColorA|GetLightningColorR|GetLightningColorG|GetLightningColorB|SetLightningColor|GetAbilityEffect|GetAbilityEffectById|GetAbilitySound|GetAbilitySoundById|GetTerrainCliffLevel|SetWaterBaseColor|SetWaterDeforms|GetTerrainType|GetTerrainVariance|SetTerrainType|IsTerrainPathable|SetTerrainPathable|CreateImage|DestroyImage|ShowImage|SetImageConstantHeight|SetImagePosition|SetImageColor|SetImageRender|SetImageRenderAlways|SetImageAboveWater|SetImageType|CreateUbersplat|DestroyUbersplat|ResetUbersplat|FinishUbersplat|ShowUbersplat|SetUbersplatRender|SetUbersplatRenderAlways|SetBlight|SetBlightRect|SetBlightPoint|SetBlightLoc|CreateBlightedGoldmine|IsPointBlighted|SetDoodadAnimation|SetDoodadAnimationRect|StartMeleeAI|StartCampaignAI|CommandAI|PauseCompAI|GetAIDifficulty|RemoveGuardPosition|RecycleGuardPosition|RemoveAllGuardPositions|Cheat|IsNoVictoryCheat|IsNoDefeatCheat|Preload|PreloadEnd|PreloadStart|PreloadRefresh|PreloadEndEx|PreloadGenClear|PreloadGenStart|PreloadGenEnd|Preloader|FALSE|TRUE|JASS_MAX_ARRAY_SIZE|PLAYER_NEUTRAL_PASSIVE|PLAYER_NEUTRAL_AGGRESSIVE|PLAYER_COLOR_RED|PLAYER_COLOR_BLUE|PLAYER_COLOR_CYAN|PLAYER_COLOR_PURPLE|PLAYER_COLOR_YELLOW|PLAYER_COLOR_ORANGE|PLAYER_COLOR_GREEN|PLAYER_COLOR_PINK|PLAYER_COLOR_LIGHT_GRAY|PLAYER_COLOR_LIGHT_BLUE|PLAYER_COLOR_AQUA|PLAYER_COLOR_BROWN|RACE_HUMAN|RACE_ORC|RACE_UNDEAD|RACE_NIGHTELF|RACE_DEMON|RACE_OTHER|PLAYER_GAME_RESULT_VICTORY|PLAYER_GAME_RESULT_DEFEAT|PLAYER_GAME_RESULT_TIE|PLAYER_GAME_RESULT_NEUTRAL|ALLIANCE_PASSIVE|ALLIANCE_HELP_REQUEST|ALLIANCE_HELP_RESPONSE|ALLIANCE_SHARED_XP|ALLIANCE_SHARED_SPELLS|ALLIANCE_SHARED_VISION|ALLIANCE_SHARED_CONTROL|ALLIANCE_SHARED_ADVANCED_CONTROL|ALLIANCE_RESCUABLE|ALLIANCE_SHARED_VISION_FORCED|VERSION_REIGN_OF_CHAOS|VERSION_FROZEN_THRONE|ATTACK_TYPE_NORMAL|ATTACK_TYPE_MELEE|ATTACK_TYPE_PIERCE|ATTACK_TYPE_SIEGE|ATTACK_TYPE_MAGIC|ATTACK_TYPE_CHAOS|ATTACK_TYPE_HERO|DAMAGE_TYPE_UNKNOWN|DAMAGE_TYPE_NORMAL|DAMAGE_TYPE_ENHANCED|DAMAGE_TYPE_FIRE|DAMAGE_TYPE_COLD|DAMAGE_TYPE_LIGHTNING|DAMAGE_TYPE_POISON|DAMAGE_TYPE_DISEASE|DAMAGE_TYPE_DIVINE|DAMAGE_TYPE_MAGIC|DAMAGE_TYPE_SONIC|DAMAGE_TYPE_ACID|DAMAGE_TYPE_FORCE|DAMAGE_TYPE_DEATH|DAMAGE_TYPE_MIND|DAMAGE_TYPE_PLANT|DAMAGE_TYPE_DEFENSIVE|DAMAGE_TYPE_DEMOLITION|DAMAGE_TYPE_SLOW_POISON|DAMAGE_TYPE_SPIRIT_LINK|DAMAGE_TYPE_SHADOW_STRIKE|DAMAGE_TYPE_UNIVERSAL|WEAPON_TYPE_WHOKNOWS|WEAPON_TYPE_METAL_LIGHT_CHOP|WEAPON_TYPE_METAL_MEDIUM_CHOP|WEAPON_TYPE_METAL_HEAVY_CHOP|WEAPON_TYPE_METAL_LIGHT_SLICE|WEAPON_TYPE_METAL_MEDIUM_SLICE|WEAPON_TYPE_METAL_HEAVY_SLICE|WEAPON_TYPE_METAL_MEDIUM_BASH|WEAPON_TYPE_METAL_HEAVY_BASH|WEAPON_TYPE_METAL_MEDIUM_STAB|WEAPON_TYPE_METAL_HEAVY_STAB|WEAPON_TYPE_WOOD_LIGHT_SLICE|WEAPON_TYPE_WOOD_MEDIUM_SLICE|WEAPON_TYPE_WOOD_HEAVY_SLICE|WEAPON_TYPE_WOOD_LIGHT_BASH|WEAPON_TYPE_WOOD_MEDIUM_BASH|WEAPON_TYPE_WOOD_HEAVY_BASH|WEAPON_TYPE_WOOD_LIGHT_STAB|WEAPON_TYPE_WOOD_MEDIUM_STAB|WEAPON_TYPE_CLAW_LIGHT_SLICE|WEAPON_TYPE_CLAW_MEDIUM_SLICE|WEAPON_TYPE_CLAW_HEAVY_SLICE|WEAPON_TYPE_AXE_MEDIUM_CHOP|WEAPON_TYPE_ROCK_HEAVY_BASH|PATHING_TYPE_ANY|PATHING_TYPE_WALKABILITY|PATHING_TYPE_FLYABILITY|PATHING_TYPE_BUILDABILITY|PATHING_TYPE_PEONHARVESTPATHING|PATHING_TYPE_BLIGHTPATHING|PATHING_TYPE_FLOATABILITY|PATHING_TYPE_AMPHIBIOUSPATHING|RACE_PREF_HUMAN|RACE_PREF_ORC|RACE_PREF_NIGHTELF|RACE_PREF_UNDEAD|RACE_PREF_DEMON|RACE_PREF_RANDOM|RACE_PREF_USER_SELECTABLE|MAP_CONTROL_USER|MAP_CONTROL_COMPUTER|MAP_CONTROL_RESCUABLE|MAP_CONTROL_NEUTRAL|MAP_CONTROL_CREEP|MAP_CONTROL_NONE|GAME_TYPE_MELEE|GAME_TYPE_FFA|GAME_TYPE_USE_MAP_SETTINGS|GAME_TYPE_BLIZ|GAME_TYPE_ONE_ON_ONE|GAME_TYPE_TWO_TEAM_PLAY|GAME_TYPE_THREE_TEAM_PLAY|GAME_TYPE_FOUR_TEAM_PLAY|MAP_FOG_HIDE_TERRAIN|MAP_FOG_MAP_EXPLORED|MAP_FOG_ALWAYS_VISIBLE|MAP_USE_HANDICAPS|MAP_OBSERVERS|MAP_OBSERVERS_ON_DEATH|MAP_FIXED_COLORS|MAP_LOCK_RESOURCE_TRADING|MAP_RESOURCE_TRADING_ALLIES_ONLY|MAP_LOCK_ALLIANCE_CHANGES|MAP_ALLIANCE_CHANGES_HIDDEN|MAP_CHEATS|MAP_CHEATS_HIDDEN|MAP_LOCK_SPEED|MAP_LOCK_RANDOM_SEED|MAP_SHARED_ADVANCED_CONTROL|MAP_RANDOM_HERO|MAP_RANDOM_RACES|MAP_RELOADED|MAP_PLACEMENT_RANDOM|MAP_PLACEMENT_FIXED|MAP_PLACEMENT_USE_MAP_SETTINGS|MAP_PLACEMENT_TEAMS_TOGETHER|MAP_LOC_PRIO_LOW|MAP_LOC_PRIO_HIGH|MAP_LOC_PRIO_NOT|MAP_DENSITY_NONE|MAP_DENSITY_LIGHT|MAP_DENSITY_MEDIUM|MAP_DENSITY_HEAVY|MAP_DIFFICULTY_EASY|MAP_DIFFICULTY_NORMAL|MAP_DIFFICULTY_HARD|MAP_DIFFICULTY_INSANE|MAP_SPEED_SLOWEST|MAP_SPEED_SLOW|MAP_SPEED_NORMAL|MAP_SPEED_FAST|MAP_SPEED_FASTEST|PLAYER_SLOT_STATE_EMPTY|PLAYER_SLOT_STATE_PLAYING|PLAYER_SLOT_STATE_LEFT|SOUND_VOLUMEGROUP_UNITMOVEMENT|SOUND_VOLUMEGROUP_UNITSOUNDS|SOUND_VOLUMEGROUP_COMBAT|SOUND_VOLUMEGROUP_SPELLS|SOUND_VOLUMEGROUP_UI|SOUND_VOLUMEGROUP_MUSIC|SOUND_VOLUMEGROUP_AMBIENTSOUNDS|SOUND_VOLUMEGROUP_FIRE|GAME_STATE_DIVINE_INTERVENTION|GAME_STATE_DISCONNECTED|GAME_STATE_TIME_OF_DAY|PLAYER_STATE_GAME_RESULT|PLAYER_STATE_RESOURCE_GOLD|PLAYER_STATE_RESOURCE_LUMBER|PLAYER_STATE_RESOURCE_HERO_TOKENS|PLAYER_STATE_RESOURCE_FOOD_CAP|PLAYER_STATE_RESOURCE_FOOD_USED|PLAYER_STATE_FOOD_CAP_CEILING|PLAYER_STATE_GIVES_BOUNTY|PLAYER_STATE_ALLIED_VICTORY|PLAYER_STATE_PLACED|PLAYER_STATE_OBSERVER_ON_DEATH|PLAYER_STATE_OBSERVER|PLAYER_STATE_UNFOLLOWABLE|PLAYER_STATE_GOLD_UPKEEP_RATE|PLAYER_STATE_LUMBER_UPKEEP_RATE|PLAYER_STATE_GOLD_GATHERED|PLAYER_STATE_LUMBER_GATHERED|PLAYER_STATE_NO_CREEP_SLEEP|UNIT_STATE_LIFE|UNIT_STATE_MAX_LIFE|UNIT_STATE_MANA|UNIT_STATE_MAX_MANA|AI_DIFFICULTY_NEWBIE|AI_DIFFICULTY_NORMAL|AI_DIFFICULTY_INSANE|PLAYER_SCORE_UNITS_TRAINED|PLAYER_SCORE_UNITS_KILLED|PLAYER_SCORE_STRUCT_BUILT|PLAYER_SCORE_STRUCT_RAZED|PLAYER_SCORE_TECH_PERCENT|PLAYER_SCORE_FOOD_MAXPROD|PLAYER_SCORE_FOOD_MAXUSED|PLAYER_SCORE_HEROES_KILLED|PLAYER_SCORE_ITEMS_GAINED|PLAYER_SCORE_MERCS_HIRED|PLAYER_SCORE_GOLD_MINED_TOTAL|PLAYER_SCORE_GOLD_MINED_UPKEEP|PLAYER_SCORE_GOLD_LOST_UPKEEP|PLAYER_SCORE_GOLD_LOST_TAX|PLAYER_SCORE_GOLD_GIVEN|PLAYER_SCORE_GOLD_RECEIVED|PLAYER_SCORE_LUMBER_TOTAL|PLAYER_SCORE_LUMBER_LOST_UPKEEP|PLAYER_SCORE_LUMBER_LOST_TAX|PLAYER_SCORE_LUMBER_GIVEN|PLAYER_SCORE_LUMBER_RECEIVED|PLAYER_SCORE_UNIT_TOTAL|PLAYER_SCORE_HERO_TOTAL|PLAYER_SCORE_RESOURCE_TOTAL|PLAYER_SCORE_TOTAL|EVENT_GAME_VICTORY|EVENT_GAME_END_LEVEL|EVENT_GAME_VARIABLE_LIMIT|EVENT_GAME_STATE_LIMIT|EVENT_GAME_TIMER_EXPIRED|EVENT_GAME_ENTER_REGION|EVENT_GAME_LEAVE_REGION|EVENT_GAME_TRACKABLE_HIT|EVENT_GAME_TRACKABLE_TRACK|EVENT_GAME_SHOW_SKILL|EVENT_GAME_BUILD_SUBMENU|EVENT_PLAYER_STATE_LIMIT|EVENT_PLAYER_ALLIANCE_CHANGED|EVENT_PLAYER_DEFEAT|EVENT_PLAYER_VICTORY|EVENT_PLAYER_LEAVE|EVENT_PLAYER_CHAT|EVENT_PLAYER_END_CINEMATIC|EVENT_PLAYER_UNIT_ATTACKED|EVENT_PLAYER_UNIT_RESCUED|EVENT_PLAYER_UNIT_DEATH|EVENT_PLAYER_UNIT_DECAY|EVENT_PLAYER_UNIT_DETECTED|EVENT_PLAYER_UNIT_HIDDEN|EVENT_PLAYER_UNIT_SELECTED|EVENT_PLAYER_UNIT_DESELECTED|EVENT_PLAYER_UNIT_CONSTRUCT_START|EVENT_PLAYER_UNIT_CONSTRUCT_CANCEL|EVENT_PLAYER_UNIT_CONSTRUCT_FINISH|EVENT_PLAYER_UNIT_UPGRADE_START|EVENT_PLAYER_UNIT_UPGRADE_CANCEL|EVENT_PLAYER_UNIT_UPGRADE_FINISH|EVENT_PLAYER_UNIT_TRAIN_START|EVENT_PLAYER_UNIT_TRAIN_CANCEL|EVENT_PLAYER_UNIT_TRAIN_FINISH|EVENT_PLAYER_UNIT_RESEARCH_START|EVENT_PLAYER_UNIT_RESEARCH_CANCEL|EVENT_PLAYER_UNIT_RESEARCH_FINISH|EVENT_PLAYER_UNIT_ISSUED_ORDER|EVENT_PLAYER_UNIT_ISSUED_POINT_ORDER|EVENT_PLAYER_UNIT_ISSUED_TARGET_ORDER|EVENT_PLAYER_UNIT_ISSUED_UNIT_ORDER|EVENT_PLAYER_HERO_LEVEL|EVENT_PLAYER_HERO_SKILL|EVENT_PLAYER_HERO_REVIVABLE|EVENT_PLAYER_HERO_REVIVE_START|EVENT_PLAYER_HERO_REVIVE_CANCEL|EVENT_PLAYER_HERO_REVIVE_FINISH|EVENT_PLAYER_UNIT_SUMMON|EVENT_PLAYER_UNIT_DROP_ITEM|EVENT_PLAYER_UNIT_PICKUP_ITEM|EVENT_PLAYER_UNIT_USE_ITEM|EVENT_PLAYER_UNIT_LOADED|EVENT_UNIT_DAMAGED|EVENT_UNIT_DEATH|EVENT_UNIT_DECAY|EVENT_UNIT_DETECTED|EVENT_UNIT_HIDDEN|EVENT_UNIT_SELECTED|EVENT_UNIT_DESELECTED|EVENT_UNIT_STATE_LIMIT|EVENT_UNIT_ACQUIRED_TARGET|EVENT_UNIT_TARGET_IN_RANGE|EVENT_UNIT_ATTACKED|EVENT_UNIT_RESCUED|EVENT_UNIT_CONSTRUCT_CANCEL|EVENT_UNIT_CONSTRUCT_FINISH|EVENT_UNIT_UPGRADE_START|EVENT_UNIT_UPGRADE_CANCEL|EVENT_UNIT_UPGRADE_FINISH|EVENT_UNIT_TRAIN_START|EVENT_UNIT_TRAIN_CANCEL|EVENT_UNIT_TRAIN_FINISH|EVENT_UNIT_RESEARCH_START|EVENT_UNIT_RESEARCH_CANCEL|EVENT_UNIT_RESEARCH_FINISH|EVENT_UNIT_ISSUED_ORDER|EVENT_UNIT_ISSUED_POINT_ORDER|EVENT_UNIT_ISSUED_TARGET_ORDER|EVENT_UNIT_HERO_LEVEL|EVENT_UNIT_HERO_SKILL|EVENT_UNIT_HERO_REVIVABLE|EVENT_UNIT_HERO_REVIVE_START|EVENT_UNIT_HERO_REVIVE_CANCEL|EVENT_UNIT_HERO_REVIVE_FINISH|EVENT_UNIT_SUMMON|EVENT_UNIT_DROP_ITEM|EVENT_UNIT_PICKUP_ITEM|EVENT_UNIT_USE_ITEM|EVENT_UNIT_LOADED|EVENT_WIDGET_DEATH|EVENT_DIALOG_BUTTON_CLICK|EVENT_DIALOG_CLICK|EVENT_GAME_LOADED|EVENT_GAME_TOURNAMENT_FINISH_SOON|EVENT_GAME_TOURNAMENT_FINISH_NOW|EVENT_GAME_SAVE|EVENT_PLAYER_ARROW_LEFT_DOWN|EVENT_PLAYER_ARROW_LEFT_UP|EVENT_PLAYER_ARROW_RIGHT_DOWN|EVENT_PLAYER_ARROW_RIGHT_UP|EVENT_PLAYER_ARROW_DOWN_DOWN|EVENT_PLAYER_ARROW_DOWN_UP|EVENT_PLAYER_ARROW_UP_DOWN|EVENT_PLAYER_ARROW_UP_UP|EVENT_PLAYER_UNIT_SELL|EVENT_PLAYER_UNIT_CHANGE_OWNER|EVENT_PLAYER_UNIT_SELL_ITEM|EVENT_PLAYER_UNIT_SPELL_CHANNEL|EVENT_PLAYER_UNIT_SPELL_CAST|EVENT_PLAYER_UNIT_SPELL_EFFECT|EVENT_PLAYER_UNIT_SPELL_FINISH|EVENT_PLAYER_UNIT_SPELL_ENDCAST|EVENT_PLAYER_UNIT_PAWN_ITEM|EVENT_UNIT_SELL|EVENT_UNIT_CHANGE_OWNER|EVENT_UNIT_SELL_ITEM|EVENT_UNIT_SPELL_CHANNEL|EVENT_UNIT_SPELL_CAST|EVENT_UNIT_SPELL_EFFECT|EVENT_UNIT_SPELL_FINISH|EVENT_UNIT_SPELL_ENDCAST|EVENT_UNIT_PAWN_ITEM|LESS_THAN|LESS_THAN_OR_EQUAL|EQUAL|GREATER_THAN_OR_EQUAL|GREATER_THAN|NOT_EQUAL|UNIT_TYPE_HERO|UNIT_TYPE_DEAD|UNIT_TYPE_STRUCTURE|UNIT_TYPE_FLYING|UNIT_TYPE_GROUND|UNIT_TYPE_ATTACKS_FLYING|UNIT_TYPE_ATTACKS_GROUND|UNIT_TYPE_MELEE_ATTACKER|UNIT_TYPE_RANGED_ATTACKER|UNIT_TYPE_GIANT|UNIT_TYPE_SUMMONED|UNIT_TYPE_STUNNED|UNIT_TYPE_PLAGUED|UNIT_TYPE_SNARED|UNIT_TYPE_UNDEAD|UNIT_TYPE_MECHANICAL|UNIT_TYPE_PEON|UNIT_TYPE_SAPPER|UNIT_TYPE_TOWNHALL|UNIT_TYPE_ANCIENT|UNIT_TYPE_TAUREN|UNIT_TYPE_POISONED|UNIT_TYPE_POLYMORPHED|UNIT_TYPE_SLEEPING|UNIT_TYPE_RESISTANT|UNIT_TYPE_ETHEREAL|UNIT_TYPE_MAGIC_IMMUNE|ITEM_TYPE_PERMANENT|ITEM_TYPE_CHARGED|ITEM_TYPE_POWERUP|ITEM_TYPE_ARTIFACT|ITEM_TYPE_PURCHASABLE|ITEM_TYPE_CAMPAIGN|ITEM_TYPE_MISCELLANEOUS|ITEM_TYPE_UNKNOWN|ITEM_TYPE_ANY|ITEM_TYPE_TOME|CAMERA_FIELD_TARGET_DISTANCE|CAMERA_FIELD_FARZ|CAMERA_FIELD_ANGLE_OF_ATTACK|CAMERA_FIELD_FIELD_OF_VIEW|CAMERA_FIELD_ROLL|CAMERA_FIELD_ROTATION|CAMERA_FIELD_ZOFFSET|BLEND_MODE_NONE|BLEND_MODE_DONT_CARE|BLEND_MODE_KEYALPHA|BLEND_MODE_BLEND|BLEND_MODE_ADDITIVE|BLEND_MODE_MODULATE|BLEND_MODE_MODULATE_2X|RARITY_FREQUENT|RARITY_RARE|TEXMAP_FLAG_NONE|TEXMAP_FLAG_WRAP_U|TEXMAP_FLAG_WRAP_V|TEXMAP_FLAG_WRAP_UV|FOG_OF_WAR_MASKED|FOG_OF_WAR_FOGGED|FOG_OF_WAR_VISIBLE|CAMERA_MARGIN_LEFT|CAMERA_MARGIN_RIGHT|CAMERA_MARGIN_TOP|CAMERA_MARGIN_BOTTOM|EFFECT_TYPE_EFFECT|EFFECT_TYPE_TARGET|EFFECT_TYPE_CASTER|EFFECT_TYPE_SPECIAL|EFFECT_TYPE_AREA_EFFECT|EFFECT_TYPE_MISSILE|EFFECT_TYPE_LIGHTNING|SOUND_TYPE_EFFECT|SOUND_TYPE_EFFECT_LOOPED
)\b</string>
<key>name</key>
<string>support.function.builtin.wurst</string>
</dict>
<key>stl_functions</key>
<dict>
<key>match</key>
<string>(?x)(
\.?\.?abilityFactor|\.?\.?abilityFromIndex|\.?\.?abilityToIndex|\.?\.?abortOrder|\.?\.?abs|\.?\.?acos|\.?\.?add|\.?\.?addAbility|\.?\.?addAction|\.?\.?addAll|\.?\.?addCondition|\.?\.?addEffect|\.?\.?addFx|\.?\.?addGold|\.?\.?addHP|\.?\.?addItem|\.?\.?addLumber|\.?\.?addMana|\.?\.?addOfflinePlayers|\.?\.?addOnDamageFunc|\.?\.?addReals|\.?\.?addRect|\.?\.?addSmall|\.?\.?addSound|\.?\.?addState|\.?\.?addtoStart|\.?\.?addToStock|\.?\.?addUnit|\.?\.?addXp|\.?\.?alloc|\.?\.?allowedTarget|\.?\.?and_|\.?\.?angleBetweenCoords|\.?\.?angleTo|\.?\.?angleTo2d|\.?\.?asAngleDegrees|\.?\.?asAngleRadians|\.?\.?asin|\.?\.?assertEquals|\.?\.?assertFalse|\.?\.?assertNotNull|\.?\.?assertTrue|\.?\.?atan|\.?\.?axiAngle|\.?\.?backiterator|\.?\.?bezier_3|\.?\.?bindSoundToPoint|\.?\.?bindSoundToPointForPlayer|\.?\.?bindSoundToUnit|\.?\.?bindSoundToUnitForPlayer|\.?\.?booleanFromIndex|\.?\.?booleanToIndex|\.?\.?buttonFromIndex|\.?\.?buttonToIndex|\.?\.?callback|\.?\.?callback|\.?\.?callFunctionsWithAnnotation|\.?\.?castImmediate|\.?\.?castInPoint|\.?\.?castOnAOE|\.?\.?castOnGroup|\.?\.?castOnPoint|\.?\.?castOnTarget|\.?\.?castOnWidgetTarget|\.?\.?castPoint|\.?\.?castTarget|\.?\.?changeVisibility|\.?\.?char|\.?\.?charAt|\.?\.?charFromIndex|\.?\.?charToIndex|\.?\.?cinematicModeForPlayer|\.?\.?clean|\.?\.?clear|\.?\.?clearConditions|\.?\.?clearLastOrders|\.?\.?clearRegister|\.?\.?clickHandler|\.?\.?close|\.?\.?contains|\.?\.?convertUnitTypeToInt|\.?\.?copy|\.?\.?copyForce|\.?\.?copyForce|\.?\.?copyRev|\.?\.?cos|\.?\.?countOccurences|\.?\.?createDummyCaster|\.?\.?createImage|\.?\.?createItem|\.?\.?createTrackable|\.?\.?createTTEx|\.?\.?createUnit|\.?\.?createUnitZ|\.?\.?cross|\.?\.?damageAOE|\.?\.?damageAOE_DestructablesEnum|\.?\.?damageAOE_Enum|\.?\.?damageDestructablesAOE|\.?\.?damageGroup|\.?\.?damageTarget|\.?\.?damageTargetForceValue|\.?\.?dealloc|\.?\.?debugPrint|\.?\.?degrees|\.?\.?dequeue|\.?\.?derivBezier_3|\.?\.?derivBezier_4|\.?\.?destr|\.?\.?destroyNow|\.?\.?destructableFromIndex|\.?\.?destructableToIndex|\.?\.?dialogFromIndex|\.?\.?dialogToIndex|\.?\.?direction|\.?\.?disable|\.?\.?display|\.?\.?distanceBetweenCoords|\.?\.?distToSegmentSquared|\.?\.?distToVec|\.?\.?distToVec2d|\.?\.?distToVec2dSquared|\.?\.?distToVecSquared|\.?\.?divSmall|\.?\.?doAfter|\.?\.?doInit|\.?\.?doPeriodically|\.?\.?doPeriodicallyCounted|\.?\.?doPeriodicallyTimed|\.?\.?dot|\.?\.?dump|\.?\.?effectFromIndex|\.?\.?effectToIndex|\.?\.?emptyBitset|\.?\.?enable|\.?\.?enableCollision|\.?\.?endsWith|\.?\.?enqueue|\.?\.?enumUnitsInRange|\.?\.?error|\.?\.?evaluate|\.?\.?execute|\.?\.?expire|\.?\.?expire|\.?\.?factor|\.?\.?fadeOut|\.?\.?fadeOutCallback|\.?\.?fadeOutCallback|\.?\.?filterAOE|\.?\.?filterAOE|\.?\.?finish|\.?\.?finishPreload|\.?\.?firstUpper|\.?\.?flash|\.?\.?flush|\.?\.?flushChild|\.?\.?forceFromIndex|\.?\.?forceToIndex|\.?\.?format|\.?\.?forUnitsInRange|\.?\.?forUnitsInRangeCounted|\.?\.?forUnitsInRect|\.?\.?forUnitsInRectCounted|\.?\.?forUnitsOfPlayer|\.?\.?forUnitsOfType|\.?\.?forUnitsOfTypeCounted|\.?\.?forUnitsSelected|\.?\.?fromHexString|\.?\.?fromPlayer|\.?\.?fromPlayerColor|\.?\.?get|\.?\.?getAbilityLevel|\.?\.?getAlpha|\.?\.?getAngle|\.?\.?getBlue|\.?\.?getCardTan|\.?\.?getCenter|\.?\.?getCenterX|\.?\.?getCenterY|\.?\.?getChar|\.?\.?getColor|\.?\.?getColumnCount|\.?\.?getController|\.?\.?getCurrentSupply|\.?\.?getDamage|\.?\.?getDamageTypeFactor|\.?\.?getData|\.?\.?getDummy|\.?\.?getDuration|\.?\.?getElapsed|\.?\.?getElapsedGameTime|\.?\.?getEnterLeaveUnit|\.?\.?getEntry|\.?\.?getFacing|\.?\.?getFacingAngle|\.?\.?getFlyHeight|\.?\.?getFoodUsed|\.?\.?getGold|\.?\.?getGreen|\.?\.?getHandleId|\.?\.?getHP|\.?\.?getId|\.?\.?getIndex|\.?\.?getItem|\.?\.?getLeftBot|\.?\.?getLeftTop|\.?\.?getLocalFileScriptName|\.?\.?getLumber|\.?\.?getMana|\.?\.?getMaxHP|\.?\.?getMaxSupply|\.?\.?getMaxX|\.?\.?getMaxY|\.?\.?getMinX|\.?\.?getMinY|\.?\.?getMoveSpeed|\.?\.?getName|\.?\.?getNameColored|\.?\.?getOwner|\.?\.?getPastOrders|\.?\.?getPlayer|\.?\.?getPlayerUnitEventTrigger|\.?\.?getPos|\.?\.?getPos2|\.?\.?getPos3|\.?\.?getPos3d|\.?\.?getPos3fake|\.?\.?getRed|\.?\.?getRemaining|\.?\.?getRightBot|\.?\.?getRightTop|\.?\.?getRowCount|\.?\.?getSize|\.?\.?getSlopeAngle|\.?\.?getSlotState|\.?\.?getSound|\.?\.?getSource|\.?\.?getSourceRect|\.?\.?getStackTraceString|\.?\.?getStartLocation|\.?\.?getState|\.?\.?getTargetFactor|\.?\.?getTargetFactorCore|\.?\.?getTerrainNormal|\.?\.?getTerrainZ|\.?\.?getTimer|\.?\.?getTitleText|\.?\.?getTypeId|\.?\.?getUnit|\.?\.?getUnitIndexInstance|\.?\.?getUserData|\.?\.?getValue|\.?\.?getWidth|\.?\.?getX|\.?\.?getXYAngle|\.?\.?getY|\.?\.?getZ|\.?\.?getZAngle|\.?\.?groupFromIndex|\.?\.?groupToIndex|\.?\.?has|\.?\.?hasAbility|\.?\.?hasBoolean|\.?\.?hasHandle|\.?\.?hasInt|\.?\.?hasNext|\.?\.?hasReal|\.?\.?hasString|\.?\.?hermite|\.?\.?hiddenDestroy|\.?\.?hide|\.?\.?hideForPlayer|\.?\.?hypot|\.?\.?imageFromIndex|\.?\.?imageToIndex|\.?\.?inBounds|\.?\.?inCircle|\.?\.?indexOf|\.?\.?initD|\.?\.?inPlayable|\.?\.?inTan|\.?\.?inventorySize|\.?\.?isAlive|\.?\.?isAliveTrick|\.?\.?isAllyOf|\.?\.?isDisplayed|\.?\.?isEnabled|\.?\.?isEnemy|\.?\.?isEnemyOf|\.?\.?isInRange|\.?\.?isInRect|\.?\.?isInRegion|\.?\.?isInUse|\.?\.?isLocked|\.?\.?isMinimized|\.?\.?isPlaying|\.?\.?issue|\.?\.?issueImmediateOrder|\.?\.?issueImmediateOrderById|\.?\.?issuePointOrder|\.?\.?issuePointOrderById|\.?\.?issueRallyPoint|\.?\.?issueTargetOrder|\.?\.?issueTargetOrderById|\.?\.?isSynced|\.?\.?isTerrainDeepWater|\.?\.?isTerrainLand|\.?\.?isTerrainPlatform|\.?\.?isTerrainShallowWater|\.?\.?isTerrainWalkable|\.?\.?isWhitespace|\.?\.?isZero|\.?\.?itemFromIndex|\.?\.?itemInSlot|\.?\.?itemToIndex|\.?\.?iterator|\.?\.?iteratorMut|\.?\.?kill|\.?\.?lastDigit|\.?\.?lastIndexOf|\.?\.?leaderboardFromIndex|\.?\.?leaderboardToIndex|\.?\.?length|\.?\.?lengthSquared|\.?\.?lengthXY|\.?\.?lerp|\.?\.?lightningFromIndex|\.?\.?lightningToIndex|\.?\.?linear|\.?\.?loadAbility|\.?\.?loadAbilityHandle|\.?\.?loadBoolean|\.?\.?loadBooleanExprHandle|\.?\.?loadButton|\.?\.?loadButtonHandle|\.?\.?loadDefeatConditionHandle|\.?\.?loadDestructable|\.?\.?loadDestructableHandle|\.?\.?loadDialog|\.?\.?loadDialogHandle|\.?\.?loadEffect|\.?\.?loadEffectHandle|\.?\.?loadFogModifierHandle|\.?\.?loadFogState|\.?\.?loadFogStateHandle|\.?\.?loadForce|\.?\.?loadForceHandle|\.?\.?loadGroup|\.?\.?loadGroupHandle|\.?\.?loadImage|\.?\.?loadImageHandle|\.?\.?loadInt|\.?\.?loadItem|\.?\.?loadItemHandle|\.?\.?loadItemPoolHandle|\.?\.?loadLeaderboard|\.?\.?loadLeaderboardHandle|\.?\.?loadLightning|\.?\.?loadLightningHandle|\.?\.?loadLine|\.?\.?loadLocation|\.?\.?loadLocationHandle|\.?\.?loadMultiboard|\.?\.?loadMultiboardHandle|\.?\.?loadPlayer|\.?\.?loadPlayerHandle|\.?\.?loadQuest|\.?\.?loadQuestHandle|\.?\.?loadQuestItem|\.?\.?loadQuestItemHandle|\.?\.?loadReal|\.?\.?loadRect|\.?\.?loadRectHandle|\.?\.?loadRegion|\.?\.?loadRegionData|\.?\.?loadRegionHandle|\.?\.?loadSound|\.?\.?loadSoundHandle|\.?\.?loadString|\.?\.?loadTextTagHandle|\.?\.?loadTimer|\.?\.?loadTimerDialogHandle|\.?\.?loadTimerHandle|\.?\.?loadTrackable|\.?\.?loadTrackableHandle|\.?\.?loadTrigger|\.?\.?loadTriggerActionHandle|\.?\.?loadTriggerConditionHandle|\.?\.?loadTriggerEventHandle|\.?\.?loadTriggerHandle|\.?\.?loadUbersplat|\.?\.?loadUbersplatHandle|\.?\.?loadUnit|\.?\.?loadUnitHandle|\.?\.?loadUnitPoolHandle|\.?\.?loadWidget|\.?\.?loadWidgetHandle|\.?\.?locationFromIndex|\.?\.?locationToIndex|\.?\.?lockCallback|\.?\.?lockCallback|\.?\.?lockToUnit|\.?\.?log|\.?\.?makeAbilityPermanent|\.?\.?makeColor|\.?\.?max|\.?\.?min|\.?\.?minimalize|\.?\.?mix|\.?\.?modifyDamage|\.?\.?modifyDamageBy|\.?\.?moduloInt|\.?\.?moveTowards|\.?\.?mulSmall|\.?\.?multiboardFromIndex|\.?\.?multiboardToIndex|\.?\.?next|\.?\.?nextSound|\.?\.?norm|\.?\.?normalize|\.?\.?normalizedPointerTo|\.?\.?nullTimer|\.?\.?of|\.?\.?offset2d|\.?\.?onCast|\.?\.?onClick|\.?\.?onDamage|\.?\.?onDoubleClick|\.?\.?onEnter|\.?\.?onLeave|\.?\.?onPointCast|\.?\.?onTimedLoop|\.?\.?onTrack|\.?\.?onUnitCast|\.?\.?op_div|\.?\.?op_divReal|\.?\.?op_minus|\.?\.?op_mult|\.?\.?op_plus|\.?\.?open|\.?\.?or_|\.?\.?outTan|\.?\.?panCamToTimed|\.?\.?pause|\.?\.?peek|\.?\.?periodic|\.?\.?play|\.?\.?playerFromIndex|\.?\.?playerToIndex|\.?\.?playForPlayer|\.?\.?playOnPoint|\.?\.?playOnUnit|\.?\.?playPosition|\.?\.?playSimulatePoint|\.?\.?playSimulateUnit|\.?\.?playSound|\.?\.?playSound|\.?\.?polarOffset|\.?\.?polarProject|\.?\.?polarProjectionX|\.?\.?polarProjectionY|\.?\.?polarProjectionZ|\.?\.?pop|\.?\.?pow|\.?\.?preloadAbility|\.?\.?preloadUnit|\.?\.?prepare|\.?\.?print|\.?\.?printError|\.?\.?println|\.?\.?printNote|\.?\.?printTimed|\.?\.?printTimedToPlayer|\.?\.?printTimedToPlayerClear|\.?\.?printWarning|\.?\.?project|\.?\.?push|\.?\.?put|\.?\.?questFromIndex|\.?\.?questitemFromIndex|\.?\.?questitemToIndex|\.?\.?questToIndex|\.?\.?queueAnimation|\.?\.?radians|\.?\.?randomPointOnMap|\.?\.?read|\.?\.?realloc|\.?\.?rebuildText|\.?\.?recolor|\.?\.?rectFromIndex|\.?\.?rectToIndex|\.?\.?recycle|\.?\.?recycle|\.?\.?regionFromIndex|\.?\.?regionToIndex|\.?\.?registerAnyUnitEvent|\.?\.?registerCastEvent|\.?\.?registerDeathEvent|\.?\.?registerDialogButtonEvent|\.?\.?registerDialogEvent|\.?\.?registerEnterRegion|\.?\.?registerGameEvent|\.?\.?registerGameStateEvent|\.?\.?registerLeaveRegion|\.?\.?registerPlayerChatEvent|\.?\.?registerPlayerEvent|\.?\.?registerPlayerStateEvent|\.?\.?registerPlayerUnitEvent|\.?\.?registerPlayerUnitEventForPlayer|\.?\.?registerRectEnterEventSource|\.?\.?registerRectLeaveEventSource|\.?\.?registerSpellEffectEvent|\.?\.?registerTimerEvent|\.?\.?registerTimerExpireEvent|\.?\.?registerTrackableHitEvent|\.?\.?registerTrackableTrackEvent|\.?\.?registerUnitEvent|\.?\.?registerUnitInRange|\.?\.?registerUnitInRangeSource|\.?\.?registerUnitStateEvent|\.?\.?release|\.?\.?releaseCameraNoise|\.?\.?remove|\.?\.?removeAbility|\.?\.?removeAll|\.?\.?removeAt|\.?\.?removeBoolean|\.?\.?removeCondition|\.?\.?removeFromStock|\.?\.?removeHandle|\.?\.?removeInt|\.?\.?removeItem|\.?\.?removeReal|\.?\.?removeRegionData|\.?\.?removeString|\.?\.?removeUnit|\.?\.?removeWhen|\.?\.?replace|\.?\.?reset|\.?\.?resume|\.?\.?revive|\.?\.?rotate|\.?\.?round|\.?\.?saveAbility|\.?\.?saveAbilityHandle|\.?\.?saveBoolean|\.?\.?saveBooleanExprHandle|\.?\.?saveButton|\.?\.?saveButtonHandle|\.?\.?saveDefeatConditionHandle|\.?\.?saveDestructable|\.?\.?saveDestructableHandle|\.?\.?saveDialog|\.?\.?saveDialogHandle|\.?\.?saveEffect|\.?\.?saveEffectHandle|\.?\.?saveFogModifierHandle|\.?\.?saveFogState|\.?\.?saveFogStateHandle|\.?\.?saveForce|\.?\.?saveForceHandle|\.?\.?saveGroup|\.?\.?saveGroupHandle|\.?\.?saveImage|\.?\.?saveImageHandle|\.?\.?saveInt|\.?\.?saveItem|\.?\.?saveItemHandle|\.?\.?saveItemPoolHandle|\.?\.?saveLeaderboard|\.?\.?saveLeaderboardHandle|\.?\.?saveLightning|\.?\.?saveLightningHandle|\.?\.?saveLocation|\.?\.?saveLocationHandle|\.?\.?saveMultiboard|\.?\.?saveMultiboardHandle|\.?\.?savePlayer|\.?\.?savePlayerHandle|\.?\.?saveQuest|\.?\.?saveQuestHandle|\.?\.?saveQuestItem|\.?\.?saveQuestItemHandle|\.?\.?saveReal|\.?\.?saveRect|\.?\.?saveRectHandle|\.?\.?saveRegion|\.?\.?saveRegionHandle|\.?\.?saveSound|\.?\.?saveSoundHandle|\.?\.?saveString|\.?\.?saveTextTagHandle|\.?\.?saveTimer|\.?\.?saveTimerDialogHandle|\.?\.?saveTimerHandle|\.?\.?saveTrackable|\.?\.?saveTrackableHandle|\.?\.?saveTrigger|\.?\.?saveTriggerActionHandle|\.?\.?saveTriggerConditionHandle|\.?\.?saveTriggerEventHandle|\.?\.?saveTriggerHandle|\.?\.?saveUbersplat|\.?\.?saveUbersplatHandle|\.?\.?saveUnit|\.?\.?saveUnitHandle|\.?\.?saveUnitPoolHandle|\.?\.?saveWidget|\.?\.?saveWidgetHandle|\.?\.?scaleXY|\.?\.?select|\.?\.?selectSingle|\.?\.?set|\.?\.?setAbilityAvailable|\.?\.?setAbilityLevel|\.?\.?setAbsolutePitch|\.?\.?setAge|\.?\.?setAnimation|\.?\.?setBackground|\.?\.?setCameraNoiseTimed|\.?\.?setChannel|\.?\.?setChar|\.?\.?setColor|\.?\.?setColumnCount|\.?\.?setConeAngles|\.?\.?setCurrent|\.?\.?setCutoff|\.?\.?setData|\.?\.?setDebugLvl|\.?\.?setDebugMsgDuration|\.?\.?setDuration|\.?\.?setException|\.?\.?setFacing|\.?\.?setFadepoint|\.?\.?setFlyHeight|\.?\.?setForeground|\.?\.?setForegroundString|\.?\.?setFx|\.?\.?setHeight|\.?\.?setHP|\.?\.?setIcon|\.?\.?setInvulnerable|\.?\.?setItemsIcon|\.?\.?setItemsStyle|\.?\.?setItemsValue|\.?\.?setItemsValueColor|\.?\.?setItemsWidth|\.?\.?setLength|\.?\.?setLevel|\.?\.?setLifespan|\.?\.?setMana|\.?\.?setMoveSpeed|\.?\.?setOrderId|\.?\.?setOrderString|\.?\.?setOwner|\.?\.?setPathing|\.?\.?setPermanent|\.?\.?setPitch|\.?\.?setPos|\.?\.?setPosXY|\.?\.?setPropWindow|\.?\.?setRegionData|\.?\.?setReq|\.?\.?setRowCount|\.?\.?setScale|\.?\.?setSize|\.?\.?setSoundPosition|\.?\.?setSourcePoint|\.?\.?setState|\.?\.?setStyle|\.?\.?setSuspended|\.?\.?setTargetPitch|\.?\.?setTeamcolor|\.?\.?setText|\.?\.?setTimedLife|\.?\.?setTimeScale|\.?\.?setTitle|\.?\.?setTitleColor|\.?\.?setTurnSpeed|\.?\.?setUseFood|\.?\.?setUserData|\.?\.?setValue|\.?\.?setValueColor|\.?\.?setVelocity|\.?\.?setVertexColor|\.?\.?setVisibility|\.?\.?setVolume|\.?\.?setWidth|\.?\.?setX|\.?\.?setXY|\.?\.?setXYAngle|\.?\.?setXYAngleInstant|\.?\.?setXYheight|\.?\.?setXYZ|\.?\.?setXYZReal|\.?\.?setY|\.?\.?setZ|\.?\.?setZAngle|\.?\.?shakeCameraTimed|\.?\.?show|\.?\.?showForPlayer|\.?\.?sign|\.?\.?sin|\.?\.?soundFromIndex|\.?\.?soundToIndex|\.?\.?squared|\.?\.?start|\.?\.?startPeriodic|\.?\.?startQueue|\.?\.?startsWith|\.?\.?subGold|\.?\.?subHP|\.?\.?subMana|\.?\.?subState|\.?\.?substring|\.?\.?sync|\.?\.?synchronizeThread|\.?\.?syncThread|\.?\.?syncThread|\.?\.?tan|\.?\.?testFail|\.?\.?testPrint|\.?\.?testSuccess|\.?\.?timerFromIndex|\.?\.?timerToIndex|\.?\.?toAbilityId|\.?\.?toChar|\.?\.?toCharList|\.?\.?toCharsetInt|\.?\.?toCharsetString|\.?\.?toColorString|\.?\.?toDec|\.?\.?toHex|\.?\.?toInt|\.?\.?toLines|\.?\.?toLowerCase|\.?\.?toReal|\.?\.?toString|\.?\.?toUnitIndex|\.?\.?toUpperCase|\.?\.?toVec|\.?\.?toVec2|\.?\.?toVec3|\.?\.?trackableFromIndex|\.?\.?trackableToIndex|\.?\.?trackHandler|\.?\.?triggerFromIndex|\.?\.?triggerToIndex|\.?\.?trim|\.?\.?ubersplatFromIndex|\.?\.?ubersplatToIndex|\.?\.?unitFromIndex|\.?\.?unitToIndex|\.?\.?unlock|\.?\.?unpause|\.?\.?unregisterCastEvent|\.?\.?unregisterRectEvent|\.?\.?unselect|\.?\.?updateAll|\.?\.?useSpecialEffect|\.?\.?wait|\.?\.?widgetFromIndex|\.?\.?widgetToIndex|\.?\.?withAlpha|\.?\.?withRealZ|\.?\.?withTerrainZ|\.?\.?withZ
)\b</string>
<key>name</key>
<string>support.function.builtin.stl</string>
</dict>
<key>builtin_modifiers</key>
<dict>
<key>match</key>
<string>(?x)\b(
constant|scope|initializer|takes|nothing|returns|end|endscope|static|public|module|enum|private|new|package|library|endlibrary|native|let|var|castTo|destroy|init|interface|loop
)\b</string>
<key>name</key>
<string>support.type.modifier.wurst</string>
</dict>
<key>builtin_types</key>
<dict>
<key>match</key>
<string>(?x)\b(
int|integer|real|code|boolean|string|bool|agent|event|player|widget|unit|destructable|item|ability|buff|force|group|trigger|triggercondition|triggeraction|timer|location|region|rect|boolexpr|sound|conditionfunc|filterfunc|unitpool|itempool|race|alliancetype|racepreference|gamestate|igamestate|fgamestate|playerstate|playerscore|playergameresult|unitstate|aidifficulty|eventid|gameevent|playerevent|playerunitevent|unitevent|limitop|widgetevent|dialogevent|unittype|gamespeed|gamedifficulty|gametype|mapflag|mapvisibility|mapsetting|mapdensity|mapcontrol|playerslotstate|volumegroup|camerafield|camerasetup|playercolor|placement|startlocprio|raritycontrol|blendmode|texmapflags|effect|effecttype|weathereffect|terraindeformation|fogstate|fogmodifier|dialog|button|quest|questitem|defeatcondition|timerdialog|leaderboard|multiboard|multiboarditem|trackable|gamecache|version|itemtype|texttag|attacktype|damagetype|weapontype|soundtype|lightning|pathingtype|image|ubersplat|hashtable
)\b</string>
<key>name</key>
<string>support.type.wurst</string>
</dict>
<!-- <key>constant_placeholder</key>
<dict>
<key>match</key>
<string>(?i:%(\([a-z_]+\))?#?0?\-?[ ]?\+?([0-9]*|\*)(\.([0-9]*|\*))?[hL]?[a-z%])</string>
<key>name</key>
<string>constant.other.placeholder.wurst</string>
</dict> -->
<key>docstrings</key>
<dict>
<key>patterns</key>
<array>
<dict>
<key>begin</key>
<string>^\s*(?=[uU]?[rR]?""")</string>
<key>end</key>
<string>(?<=""")</string>
<key>name</key>
<string>comment.block.wurst</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#string_quoted_double</string>
</dict>
</array>
</dict>
<dict>
<key>begin</key>
<string>^\s*(?=[uU]?[rR]?''')</string>
<key>end</key>
<string>(?<=''')</string>
<key>name</key>
<string>comment.block.wurst</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#string_quoted_single</string>
</dict>
</array>
</dict>
</array>
</dict>
<key>dotted_name</key>