Commit 61c460e85179d18203ee6e7ab5968351096d4eda

Michael Schmidt 2022-03-13T19:06:50

Autohotkey: Use standard tokens (#3385)

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
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
diff --git a/components/prism-autohotkey.js b/components/prism-autohotkey.js
index 871449d..eb68d15 100644
--- a/components/prism-autohotkey.js
+++ b/components/prism-autohotkey.js
@@ -22,7 +22,10 @@ Prism.languages.autohotkey = {
 	'operator': /\?|\/\/?=?|:=|\|[=|]?|&[=&]?|\+[=+]?|-[=-]?|\*[=*]?|<(?:<=?|>|=)?|>>?=?|[.^!=~]=?|\b(?:AND|NOT|OR)\b/,
 	'boolean': /\b(?:false|true)\b/,
 
-	'selector': /\b(?:AutoTrim|BlockInput|Break|Click|ClipWait|Continue|Control|ControlClick|ControlFocus|ControlGet|ControlGetFocus|ControlGetPos|ControlGetText|ControlMove|ControlSend|ControlSendRaw|ControlSetText|CoordMode|Critical|DetectHiddenText|DetectHiddenWindows|Drive|DriveGet|DriveSpaceFree|EnvAdd|EnvDiv|EnvGet|EnvMult|EnvSet|EnvSub|EnvUpdate|Exit|ExitApp|FileAppend|FileCopy|FileCopyDir|FileCreateDir|FileCreateShortcut|FileDelete|FileEncoding|FileGetAttrib|FileGetShortcut|FileGetSize|FileGetTime|FileGetVersion|FileInstall|FileMove|FileMoveDir|FileRead|FileReadLine|FileRecycle|FileRecycleEmpty|FileRemoveDir|FileSelectFile|FileSelectFolder|FileSetAttrib|FileSetTime|FormatTime|GetKeyState|Gosub|Goto|GroupActivate|GroupAdd|GroupClose|GroupDeactivate|Gui|GuiControl|GuiControlGet|Hotkey|ImageSearch|IniDelete|IniRead|IniWrite|Input|InputBox|KeyWait|ListHotkeys|ListLines|ListVars|Loop|Menu|MouseClick|MouseClickDrag|MouseGetPos|MouseMove|MsgBox|OnExit|OutputDebug|Pause|PixelGetColor|PixelSearch|PostMessage|Process|Progress|Random|RegDelete|RegRead|RegWrite|Reload|Repeat|Return|Run|RunAs|RunWait|Send|SendEvent|SendInput|SendMessage|SendMode|SendPlay|SendRaw|SetBatchLines|SetCapslockState|SetControlDelay|SetDefaultMouseSpeed|SetEnv|SetFormat|SetKeyDelay|SetMouseDelay|SetNumlockState|SetRegView|SetScrollLockState|SetStoreCapslockMode|SetTimer|SetTitleMatchMode|SetWinDelay|SetWorkingDir|Shutdown|Sleep|Sort|SoundBeep|SoundGet|SoundGetWaveVolume|SoundPlay|SoundSet|SoundSetWaveVolume|SplashImage|SplashTextOff|SplashTextOn|SplitPath|StatusBarGetText|StatusBarWait|StringCaseSense|StringGetPos|StringLeft|StringLen|StringLower|StringMid|StringReplace|StringRight|StringSplit|StringTrimLeft|StringTrimRight|StringUpper|Suspend|SysGet|Thread|ToolTip|Transform|TrayTip|URLDownloadToFile|WinActivate|WinActivateBottom|WinClose|WinGet|WinGetActiveStats|WinGetActiveTitle|WinGetClass|WinGetPos|WinGetText|WinGetTitle|WinHide|WinKill|WinMaximize|WinMenuSelectItem|WinMinimize|WinMinimizeAll|WinMinimizeAllUndo|WinMove|WinRestore|WinSet|WinSetTitle|WinShow|WinWait|WinWaitActive|WinWaitClose|WinWaitNotActive)\b/i,
+	'command': {
+		pattern: /\b(?:AutoTrim|BlockInput|Break|Click|ClipWait|Continue|Control|ControlClick|ControlFocus|ControlGet|ControlGetFocus|ControlGetPos|ControlGetText|ControlMove|ControlSend|ControlSendRaw|ControlSetText|CoordMode|Critical|DetectHiddenText|DetectHiddenWindows|Drive|DriveGet|DriveSpaceFree|EnvAdd|EnvDiv|EnvGet|EnvMult|EnvSet|EnvSub|EnvUpdate|Exit|ExitApp|FileAppend|FileCopy|FileCopyDir|FileCreateDir|FileCreateShortcut|FileDelete|FileEncoding|FileGetAttrib|FileGetShortcut|FileGetSize|FileGetTime|FileGetVersion|FileInstall|FileMove|FileMoveDir|FileRead|FileReadLine|FileRecycle|FileRecycleEmpty|FileRemoveDir|FileSelectFile|FileSelectFolder|FileSetAttrib|FileSetTime|FormatTime|GetKeyState|Gosub|Goto|GroupActivate|GroupAdd|GroupClose|GroupDeactivate|Gui|GuiControl|GuiControlGet|Hotkey|ImageSearch|IniDelete|IniRead|IniWrite|Input|InputBox|KeyWait|ListHotkeys|ListLines|ListVars|Loop|Menu|MouseClick|MouseClickDrag|MouseGetPos|MouseMove|MsgBox|OnExit|OutputDebug|Pause|PixelGetColor|PixelSearch|PostMessage|Process|Progress|Random|RegDelete|RegRead|RegWrite|Reload|Repeat|Return|Run|RunAs|RunWait|Send|SendEvent|SendInput|SendMessage|SendMode|SendPlay|SendRaw|SetBatchLines|SetCapslockState|SetControlDelay|SetDefaultMouseSpeed|SetEnv|SetFormat|SetKeyDelay|SetMouseDelay|SetNumlockState|SetRegView|SetScrollLockState|SetStoreCapslockMode|SetTimer|SetTitleMatchMode|SetWinDelay|SetWorkingDir|Shutdown|Sleep|Sort|SoundBeep|SoundGet|SoundGetWaveVolume|SoundPlay|SoundSet|SoundSetWaveVolume|SplashImage|SplashTextOff|SplashTextOn|SplitPath|StatusBarGetText|StatusBarWait|StringCaseSense|StringGetPos|StringLeft|StringLen|StringLower|StringMid|StringReplace|StringRight|StringSplit|StringTrimLeft|StringTrimRight|StringUpper|Suspend|SysGet|Thread|ToolTip|Transform|TrayTip|URLDownloadToFile|WinActivate|WinActivateBottom|WinClose|WinGet|WinGetActiveStats|WinGetActiveTitle|WinGetClass|WinGetPos|WinGetText|WinGetTitle|WinHide|WinKill|WinMaximize|WinMenuSelectItem|WinMinimize|WinMinimizeAll|WinMinimizeAllUndo|WinMove|WinRestore|WinSet|WinSetTitle|WinShow|WinWait|WinWaitActive|WinWaitClose|WinWaitNotActive)\b/i,
+		alias: 'selector'
+	},
 
 	'constant': /\b(?:a_ahkpath|a_ahkversion|a_appdata|a_appdatacommon|a_autotrim|a_batchlines|a_caretx|a_carety|a_computername|a_controldelay|a_cursor|a_dd|a_ddd|a_dddd|a_defaultmousespeed|a_desktop|a_desktopcommon|a_detecthiddentext|a_detecthiddenwindows|a_endchar|a_eventinfo|a_exitreason|a_fileencoding|a_formatfloat|a_formatinteger|a_gui|a_guicontrol|a_guicontrolevent|a_guievent|a_guiheight|a_guiwidth|a_guix|a_guiy|a_hour|a_iconfile|a_iconhidden|a_iconnumber|a_icontip|a_index|a_ipaddress1|a_ipaddress2|a_ipaddress3|a_ipaddress4|a_is64bitos|a_isadmin|a_iscompiled|a_iscritical|a_ispaused|a_issuspended|a_isunicode|a_keydelay|a_language|a_lasterror|a_linefile|a_linenumber|a_loopfield|a_loopfileattrib|a_loopfiledir|a_loopfileext|a_loopfilefullpath|a_loopfilelongpath|a_loopfilename|a_loopfileshortname|a_loopfileshortpath|a_loopfilesize|a_loopfilesizekb|a_loopfilesizemb|a_loopfiletimeaccessed|a_loopfiletimecreated|a_loopfiletimemodified|a_loopreadline|a_loopregkey|a_loopregname|a_loopregsubkey|a_loopregtimemodified|a_loopregtype|a_mday|a_min|a_mm|a_mmm|a_mmmm|a_mon|a_mousedelay|a_msec|a_mydocuments|a_now|a_nowutc|a_numbatchlines|a_ostype|a_osversion|a_priorhotkey|a_priorkey|a_programfiles|a_programs|a_programscommon|a_ptrsize|a_regview|a_screendpi|a_screenheight|a_screenwidth|a_scriptdir|a_scriptfullpath|a_scripthwnd|a_scriptname|a_sec|a_space|a_startmenu|a_startmenucommon|a_startup|a_startupcommon|a_stringcasesense|a_tab|a_temp|a_thisfunc|a_thishotkey|a_thislabel|a_thismenu|a_thismenuitem|a_thismenuitempos|a_tickcount|a_timeidle|a_timeidlephysical|a_timesincepriorhotkey|a_timesincethishotkey|a_titlematchmode|a_titlematchmodespeed|a_username|a_wday|a_windelay|a_windir|a_workingdir|a_yday|a_year|a_yweek|a_yyyy|clipboard|clipboardall|comspec|errorlevel|programfiles)\b/i,
 
@@ -30,7 +33,10 @@ Prism.languages.autohotkey = {
 
 	'symbol': /\b(?:alt|altdown|altup|appskey|backspace|browser_back|browser_favorites|browser_forward|browser_home|browser_refresh|browser_search|browser_stop|bs|capslock|ctrl|ctrlbreak|ctrldown|ctrlup|del|delete|down|end|enter|esc|escape|f1|f10|f11|f12|f13|f14|f15|f16|f17|f18|f19|f2|f20|f21|f22|f23|f24|f3|f4|f5|f6|f7|f8|f9|home|ins|insert|joy1|joy10|joy11|joy12|joy13|joy14|joy15|joy16|joy17|joy18|joy19|joy2|joy20|joy21|joy22|joy23|joy24|joy25|joy26|joy27|joy28|joy29|joy3|joy30|joy31|joy32|joy4|joy5|joy6|joy7|joy8|joy9|joyaxes|joybuttons|joyinfo|joyname|joypov|joyr|joyu|joyv|joyx|joyy|joyz|lalt|launch_app1|launch_app2|launch_mail|launch_media|lbutton|lcontrol|lctrl|left|lshift|lwin|lwindown|lwinup|mbutton|media_next|media_play_pause|media_prev|media_stop|numlock|numpad0|numpad1|numpad2|numpad3|numpad4|numpad5|numpad6|numpad7|numpad8|numpad9|numpadadd|numpadclear|numpaddel|numpaddiv|numpaddot|numpaddown|numpadend|numpadenter|numpadhome|numpadins|numpadleft|numpadmult|numpadpgdn|numpadpgup|numpadright|numpadsub|numpadup|pgdn|pgup|printscreen|ralt|rbutton|rcontrol|rctrl|right|rshift|rwin|rwindown|rwinup|scrolllock|shift|shiftdown|shiftup|space|tab|up|volume_down|volume_mute|volume_up|wheeldown|wheelleft|wheelright|wheelup|xbutton1|xbutton2)\b/i,
 
-	'important': /#[a-z]+\b/i,
+	'directive': {
+		pattern: /#[a-z]+\b/i,
+		alias: 'important'
+	},
 
 	'keyword': /\b(?:Abort|AboveNormal|Add|ahk_class|ahk_exe|ahk_group|ahk_id|ahk_pid|All|Alnum|Alpha|AltSubmit|AltTab|AltTabAndMenu|AltTabMenu|AltTabMenuDismiss|AlwaysOnTop|AutoSize|Background|BackgroundTrans|BelowNormal|between|BitAnd|BitNot|BitOr|BitShiftLeft|BitShiftRight|BitXOr|Bold|Border|Button|ByRef|Catch|Checkbox|Checked|CheckedGray|Choose|ChooseString|Close|Color|ComboBox|Contains|ControlList|Count|Date|DateTime|Days|DDL|Default|DeleteAll|Delimiter|Deref|Destroy|Digit|Disable|Disabled|DropDownList|Edit|Eject|Else|Enable|Enabled|Error|Exist|Expand|ExStyle|FileSystem|Finally|First|Flash|Float|FloatFast|Focus|Font|for|global|Grid|Group|GroupBox|GuiClose|GuiContextMenu|GuiDropFiles|GuiEscape|GuiSize|Hdr|Hidden|Hide|High|HKCC|HKCR|HKCU|HKEY_CLASSES_ROOT|HKEY_CURRENT_CONFIG|HKEY_CURRENT_USER|HKEY_LOCAL_MACHINE|HKEY_USERS|HKLM|HKU|Hours|HScroll|Icon|IconSmall|ID|IDLast|If|IfEqual|IfExist|IfGreater|IfGreaterOrEqual|IfInString|IfLess|IfLessOrEqual|IfMsgBox|IfNotEqual|IfNotExist|IfNotInString|IfWinActive|IfWinExist|IfWinNotActive|IfWinNotExist|Ignore|ImageList|in|Integer|IntegerFast|Interrupt|is|italic|Join|Label|LastFound|LastFoundExist|Limit|Lines|List|ListBox|ListView|local|Lock|Logoff|Low|Lower|Lowercase|MainWindow|Margin|Maximize|MaximizeBox|MaxSize|Minimize|MinimizeBox|MinMax|MinSize|Minutes|MonthCal|Mouse|Move|Multi|NA|No|NoActivate|NoDefault|NoHide|NoIcon|NoMainWindow|norm|Normal|NoSort|NoSortHdr|NoStandard|Not|NoTab|NoTimers|Number|Off|Ok|On|OwnDialogs|Owner|Parse|Password|Picture|Pixel|Pos|Pow|Priority|ProcessName|Radio|Range|Read|ReadOnly|Realtime|Redraw|Region|REG_BINARY|REG_DWORD|REG_EXPAND_SZ|REG_MULTI_SZ|REG_SZ|Relative|Rename|Report|Resize|Restore|Retry|RGB|Screen|Seconds|Section|Serial|SetLabel|ShiftAltTab|Show|Single|Slider|SortDesc|Standard|static|Status|StatusBar|StatusCD|strike|Style|Submit|SysMenu|Tab2|TabStop|Text|Theme|Throw|Tile|ToggleCheck|ToggleEnable|ToolWindow|Top|Topmost|TransColor|Transparent|Tray|TreeView|Try|TryAgain|Type|UnCheck|underline|Unicode|Unlock|Until|UpDown|Upper|Uppercase|UseErrorLevel|Vis|VisFirst|Visible|VScroll|Wait|WaitClose|WantCtrlA|WantF2|WantReturn|While|Wrap|Xdigit|xm|xp|xs|Yes|ym|yp|ys)\b/i,
 	'function': /[^(); \t,\n+*\-=?>:\\\/<&%\[\]]+(?=\()/,
diff --git a/components/prism-autohotkey.min.js b/components/prism-autohotkey.min.js
index fc3fcd8..79e06a1 100644
--- a/components/prism-autohotkey.min.js
+++ b/components/prism-autohotkey.min.js
@@ -1 +1 @@
-Prism.languages.autohotkey={comment:[{pattern:/(^|\s);.*/,lookbehind:!0},{pattern:/(^[\t ]*)\/\*(?:[\r\n](?![ \t]*\*\/)|[^\r\n])*(?:[\r\n][ \t]*\*\/)?/m,lookbehind:!0,greedy:!0}],tag:{pattern:/^([ \t]*)[^\s,`":]+(?=:[ \t]*$)/m,lookbehind:!0},string:/"(?:[^"\n\r]|"")*"/,variable:/%\w+%/,number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee]-?\d+)?/,operator:/\?|\/\/?=?|:=|\|[=|]?|&[=&]?|\+[=+]?|-[=-]?|\*[=*]?|<(?:<=?|>|=)?|>>?=?|[.^!=~]=?|\b(?:AND|NOT|OR)\b/,boolean:/\b(?:false|true)\b/,selector:/\b(?:AutoTrim|BlockInput|Break|Click|ClipWait|Continue|Control|ControlClick|ControlFocus|ControlGet|ControlGetFocus|ControlGetPos|ControlGetText|ControlMove|ControlSend|ControlSendRaw|ControlSetText|CoordMode|Critical|DetectHiddenText|DetectHiddenWindows|Drive|DriveGet|DriveSpaceFree|EnvAdd|EnvDiv|EnvGet|EnvMult|EnvSet|EnvSub|EnvUpdate|Exit|ExitApp|FileAppend|FileCopy|FileCopyDir|FileCreateDir|FileCreateShortcut|FileDelete|FileEncoding|FileGetAttrib|FileGetShortcut|FileGetSize|FileGetTime|FileGetVersion|FileInstall|FileMove|FileMoveDir|FileRead|FileReadLine|FileRecycle|FileRecycleEmpty|FileRemoveDir|FileSelectFile|FileSelectFolder|FileSetAttrib|FileSetTime|FormatTime|GetKeyState|Gosub|Goto|GroupActivate|GroupAdd|GroupClose|GroupDeactivate|Gui|GuiControl|GuiControlGet|Hotkey|ImageSearch|IniDelete|IniRead|IniWrite|Input|InputBox|KeyWait|ListHotkeys|ListLines|ListVars|Loop|Menu|MouseClick|MouseClickDrag|MouseGetPos|MouseMove|MsgBox|OnExit|OutputDebug|Pause|PixelGetColor|PixelSearch|PostMessage|Process|Progress|Random|RegDelete|RegRead|RegWrite|Reload|Repeat|Return|Run|RunAs|RunWait|Send|SendEvent|SendInput|SendMessage|SendMode|SendPlay|SendRaw|SetBatchLines|SetCapslockState|SetControlDelay|SetDefaultMouseSpeed|SetEnv|SetFormat|SetKeyDelay|SetMouseDelay|SetNumlockState|SetRegView|SetScrollLockState|SetStoreCapslockMode|SetTimer|SetTitleMatchMode|SetWinDelay|SetWorkingDir|Shutdown|Sleep|Sort|SoundBeep|SoundGet|SoundGetWaveVolume|SoundPlay|SoundSet|SoundSetWaveVolume|SplashImage|SplashTextOff|SplashTextOn|SplitPath|StatusBarGetText|StatusBarWait|StringCaseSense|StringGetPos|StringLeft|StringLen|StringLower|StringMid|StringReplace|StringRight|StringSplit|StringTrimLeft|StringTrimRight|StringUpper|Suspend|SysGet|Thread|ToolTip|Transform|TrayTip|URLDownloadToFile|WinActivate|WinActivateBottom|WinClose|WinGet|WinGetActiveStats|WinGetActiveTitle|WinGetClass|WinGetPos|WinGetText|WinGetTitle|WinHide|WinKill|WinMaximize|WinMenuSelectItem|WinMinimize|WinMinimizeAll|WinMinimizeAllUndo|WinMove|WinRestore|WinSet|WinSetTitle|WinShow|WinWait|WinWaitActive|WinWaitClose|WinWaitNotActive)\b/i,constant:/\b(?:a_ahkpath|a_ahkversion|a_appdata|a_appdatacommon|a_autotrim|a_batchlines|a_caretx|a_carety|a_computername|a_controldelay|a_cursor|a_dd|a_ddd|a_dddd|a_defaultmousespeed|a_desktop|a_desktopcommon|a_detecthiddentext|a_detecthiddenwindows|a_endchar|a_eventinfo|a_exitreason|a_fileencoding|a_formatfloat|a_formatinteger|a_gui|a_guicontrol|a_guicontrolevent|a_guievent|a_guiheight|a_guiwidth|a_guix|a_guiy|a_hour|a_iconfile|a_iconhidden|a_iconnumber|a_icontip|a_index|a_ipaddress1|a_ipaddress2|a_ipaddress3|a_ipaddress4|a_is64bitos|a_isadmin|a_iscompiled|a_iscritical|a_ispaused|a_issuspended|a_isunicode|a_keydelay|a_language|a_lasterror|a_linefile|a_linenumber|a_loopfield|a_loopfileattrib|a_loopfiledir|a_loopfileext|a_loopfilefullpath|a_loopfilelongpath|a_loopfilename|a_loopfileshortname|a_loopfileshortpath|a_loopfilesize|a_loopfilesizekb|a_loopfilesizemb|a_loopfiletimeaccessed|a_loopfiletimecreated|a_loopfiletimemodified|a_loopreadline|a_loopregkey|a_loopregname|a_loopregsubkey|a_loopregtimemodified|a_loopregtype|a_mday|a_min|a_mm|a_mmm|a_mmmm|a_mon|a_mousedelay|a_msec|a_mydocuments|a_now|a_nowutc|a_numbatchlines|a_ostype|a_osversion|a_priorhotkey|a_priorkey|a_programfiles|a_programs|a_programscommon|a_ptrsize|a_regview|a_screendpi|a_screenheight|a_screenwidth|a_scriptdir|a_scriptfullpath|a_scripthwnd|a_scriptname|a_sec|a_space|a_startmenu|a_startmenucommon|a_startup|a_startupcommon|a_stringcasesense|a_tab|a_temp|a_thisfunc|a_thishotkey|a_thislabel|a_thismenu|a_thismenuitem|a_thismenuitempos|a_tickcount|a_timeidle|a_timeidlephysical|a_timesincepriorhotkey|a_timesincethishotkey|a_titlematchmode|a_titlematchmodespeed|a_username|a_wday|a_windelay|a_windir|a_workingdir|a_yday|a_year|a_yweek|a_yyyy|clipboard|clipboardall|comspec|errorlevel|programfiles)\b/i,builtin:/\b(?:abs|acos|asc|asin|atan|ceil|chr|class|comobjactive|comobjarray|comobjconnect|comobjcreate|comobjerror|comobjflags|comobjget|comobjquery|comobjtype|comobjvalue|cos|dllcall|exp|fileexist|Fileopen|floor|format|il_add|il_create|il_destroy|instr|isfunc|islabel|IsObject|ln|log|ltrim|lv_add|lv_delete|lv_deletecol|lv_getcount|lv_getnext|lv_gettext|lv_insert|lv_insertcol|lv_modify|lv_modifycol|lv_setimagelist|mod|numget|numput|onmessage|regexmatch|regexreplace|registercallback|round|rtrim|sb_seticon|sb_setparts|sb_settext|sin|sqrt|strlen|strreplace|strsplit|substr|tan|tv_add|tv_delete|tv_get|tv_getchild|tv_getcount|tv_getnext|tv_getparent|tv_getprev|tv_getselection|tv_gettext|tv_modify|varsetcapacity|winactive|winexist|__Call|__Get|__New|__Set)\b/i,symbol:/\b(?:alt|altdown|altup|appskey|backspace|browser_back|browser_favorites|browser_forward|browser_home|browser_refresh|browser_search|browser_stop|bs|capslock|ctrl|ctrlbreak|ctrldown|ctrlup|del|delete|down|end|enter|esc|escape|f1|f10|f11|f12|f13|f14|f15|f16|f17|f18|f19|f2|f20|f21|f22|f23|f24|f3|f4|f5|f6|f7|f8|f9|home|ins|insert|joy1|joy10|joy11|joy12|joy13|joy14|joy15|joy16|joy17|joy18|joy19|joy2|joy20|joy21|joy22|joy23|joy24|joy25|joy26|joy27|joy28|joy29|joy3|joy30|joy31|joy32|joy4|joy5|joy6|joy7|joy8|joy9|joyaxes|joybuttons|joyinfo|joyname|joypov|joyr|joyu|joyv|joyx|joyy|joyz|lalt|launch_app1|launch_app2|launch_mail|launch_media|lbutton|lcontrol|lctrl|left|lshift|lwin|lwindown|lwinup|mbutton|media_next|media_play_pause|media_prev|media_stop|numlock|numpad0|numpad1|numpad2|numpad3|numpad4|numpad5|numpad6|numpad7|numpad8|numpad9|numpadadd|numpadclear|numpaddel|numpaddiv|numpaddot|numpaddown|numpadend|numpadenter|numpadhome|numpadins|numpadleft|numpadmult|numpadpgdn|numpadpgup|numpadright|numpadsub|numpadup|pgdn|pgup|printscreen|ralt|rbutton|rcontrol|rctrl|right|rshift|rwin|rwindown|rwinup|scrolllock|shift|shiftdown|shiftup|space|tab|up|volume_down|volume_mute|volume_up|wheeldown|wheelleft|wheelright|wheelup|xbutton1|xbutton2)\b/i,important:/#[a-z]+\b/i,keyword:/\b(?:Abort|AboveNormal|Add|ahk_class|ahk_exe|ahk_group|ahk_id|ahk_pid|All|Alnum|Alpha|AltSubmit|AltTab|AltTabAndMenu|AltTabMenu|AltTabMenuDismiss|AlwaysOnTop|AutoSize|Background|BackgroundTrans|BelowNormal|between|BitAnd|BitNot|BitOr|BitShiftLeft|BitShiftRight|BitXOr|Bold|Border|Button|ByRef|Catch|Checkbox|Checked|CheckedGray|Choose|ChooseString|Close|Color|ComboBox|Contains|ControlList|Count|Date|DateTime|Days|DDL|Default|DeleteAll|Delimiter|Deref|Destroy|Digit|Disable|Disabled|DropDownList|Edit|Eject|Else|Enable|Enabled|Error|Exist|Expand|ExStyle|FileSystem|Finally|First|Flash|Float|FloatFast|Focus|Font|for|global|Grid|Group|GroupBox|GuiClose|GuiContextMenu|GuiDropFiles|GuiEscape|GuiSize|Hdr|Hidden|Hide|High|HKCC|HKCR|HKCU|HKEY_CLASSES_ROOT|HKEY_CURRENT_CONFIG|HKEY_CURRENT_USER|HKEY_LOCAL_MACHINE|HKEY_USERS|HKLM|HKU|Hours|HScroll|Icon|IconSmall|ID|IDLast|If|IfEqual|IfExist|IfGreater|IfGreaterOrEqual|IfInString|IfLess|IfLessOrEqual|IfMsgBox|IfNotEqual|IfNotExist|IfNotInString|IfWinActive|IfWinExist|IfWinNotActive|IfWinNotExist|Ignore|ImageList|in|Integer|IntegerFast|Interrupt|is|italic|Join|Label|LastFound|LastFoundExist|Limit|Lines|List|ListBox|ListView|local|Lock|Logoff|Low|Lower|Lowercase|MainWindow|Margin|Maximize|MaximizeBox|MaxSize|Minimize|MinimizeBox|MinMax|MinSize|Minutes|MonthCal|Mouse|Move|Multi|NA|No|NoActivate|NoDefault|NoHide|NoIcon|NoMainWindow|norm|Normal|NoSort|NoSortHdr|NoStandard|Not|NoTab|NoTimers|Number|Off|Ok|On|OwnDialogs|Owner|Parse|Password|Picture|Pixel|Pos|Pow|Priority|ProcessName|Radio|Range|Read|ReadOnly|Realtime|Redraw|Region|REG_BINARY|REG_DWORD|REG_EXPAND_SZ|REG_MULTI_SZ|REG_SZ|Relative|Rename|Report|Resize|Restore|Retry|RGB|Screen|Seconds|Section|Serial|SetLabel|ShiftAltTab|Show|Single|Slider|SortDesc|Standard|static|Status|StatusBar|StatusCD|strike|Style|Submit|SysMenu|Tab2|TabStop|Text|Theme|Throw|Tile|ToggleCheck|ToggleEnable|ToolWindow|Top|Topmost|TransColor|Transparent|Tray|TreeView|Try|TryAgain|Type|UnCheck|underline|Unicode|Unlock|Until|UpDown|Upper|Uppercase|UseErrorLevel|Vis|VisFirst|Visible|VScroll|Wait|WaitClose|WantCtrlA|WantF2|WantReturn|While|Wrap|Xdigit|xm|xp|xs|Yes|ym|yp|ys)\b/i,function:/[^(); \t,\n+*\-=?>:\\\/<&%\[\]]+(?=\()/,punctuation:/[{}[\]():,]/};
\ No newline at end of file
+Prism.languages.autohotkey={comment:[{pattern:/(^|\s);.*/,lookbehind:!0},{pattern:/(^[\t ]*)\/\*(?:[\r\n](?![ \t]*\*\/)|[^\r\n])*(?:[\r\n][ \t]*\*\/)?/m,lookbehind:!0,greedy:!0}],tag:{pattern:/^([ \t]*)[^\s,`":]+(?=:[ \t]*$)/m,lookbehind:!0},string:/"(?:[^"\n\r]|"")*"/,variable:/%\w+%/,number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee]-?\d+)?/,operator:/\?|\/\/?=?|:=|\|[=|]?|&[=&]?|\+[=+]?|-[=-]?|\*[=*]?|<(?:<=?|>|=)?|>>?=?|[.^!=~]=?|\b(?:AND|NOT|OR)\b/,boolean:/\b(?:false|true)\b/,command:{pattern:/\b(?:AutoTrim|BlockInput|Break|Click|ClipWait|Continue|Control|ControlClick|ControlFocus|ControlGet|ControlGetFocus|ControlGetPos|ControlGetText|ControlMove|ControlSend|ControlSendRaw|ControlSetText|CoordMode|Critical|DetectHiddenText|DetectHiddenWindows|Drive|DriveGet|DriveSpaceFree|EnvAdd|EnvDiv|EnvGet|EnvMult|EnvSet|EnvSub|EnvUpdate|Exit|ExitApp|FileAppend|FileCopy|FileCopyDir|FileCreateDir|FileCreateShortcut|FileDelete|FileEncoding|FileGetAttrib|FileGetShortcut|FileGetSize|FileGetTime|FileGetVersion|FileInstall|FileMove|FileMoveDir|FileRead|FileReadLine|FileRecycle|FileRecycleEmpty|FileRemoveDir|FileSelectFile|FileSelectFolder|FileSetAttrib|FileSetTime|FormatTime|GetKeyState|Gosub|Goto|GroupActivate|GroupAdd|GroupClose|GroupDeactivate|Gui|GuiControl|GuiControlGet|Hotkey|ImageSearch|IniDelete|IniRead|IniWrite|Input|InputBox|KeyWait|ListHotkeys|ListLines|ListVars|Loop|Menu|MouseClick|MouseClickDrag|MouseGetPos|MouseMove|MsgBox|OnExit|OutputDebug|Pause|PixelGetColor|PixelSearch|PostMessage|Process|Progress|Random|RegDelete|RegRead|RegWrite|Reload|Repeat|Return|Run|RunAs|RunWait|Send|SendEvent|SendInput|SendMessage|SendMode|SendPlay|SendRaw|SetBatchLines|SetCapslockState|SetControlDelay|SetDefaultMouseSpeed|SetEnv|SetFormat|SetKeyDelay|SetMouseDelay|SetNumlockState|SetRegView|SetScrollLockState|SetStoreCapslockMode|SetTimer|SetTitleMatchMode|SetWinDelay|SetWorkingDir|Shutdown|Sleep|Sort|SoundBeep|SoundGet|SoundGetWaveVolume|SoundPlay|SoundSet|SoundSetWaveVolume|SplashImage|SplashTextOff|SplashTextOn|SplitPath|StatusBarGetText|StatusBarWait|StringCaseSense|StringGetPos|StringLeft|StringLen|StringLower|StringMid|StringReplace|StringRight|StringSplit|StringTrimLeft|StringTrimRight|StringUpper|Suspend|SysGet|Thread|ToolTip|Transform|TrayTip|URLDownloadToFile|WinActivate|WinActivateBottom|WinClose|WinGet|WinGetActiveStats|WinGetActiveTitle|WinGetClass|WinGetPos|WinGetText|WinGetTitle|WinHide|WinKill|WinMaximize|WinMenuSelectItem|WinMinimize|WinMinimizeAll|WinMinimizeAllUndo|WinMove|WinRestore|WinSet|WinSetTitle|WinShow|WinWait|WinWaitActive|WinWaitClose|WinWaitNotActive)\b/i,alias:"selector"},constant:/\b(?:a_ahkpath|a_ahkversion|a_appdata|a_appdatacommon|a_autotrim|a_batchlines|a_caretx|a_carety|a_computername|a_controldelay|a_cursor|a_dd|a_ddd|a_dddd|a_defaultmousespeed|a_desktop|a_desktopcommon|a_detecthiddentext|a_detecthiddenwindows|a_endchar|a_eventinfo|a_exitreason|a_fileencoding|a_formatfloat|a_formatinteger|a_gui|a_guicontrol|a_guicontrolevent|a_guievent|a_guiheight|a_guiwidth|a_guix|a_guiy|a_hour|a_iconfile|a_iconhidden|a_iconnumber|a_icontip|a_index|a_ipaddress1|a_ipaddress2|a_ipaddress3|a_ipaddress4|a_is64bitos|a_isadmin|a_iscompiled|a_iscritical|a_ispaused|a_issuspended|a_isunicode|a_keydelay|a_language|a_lasterror|a_linefile|a_linenumber|a_loopfield|a_loopfileattrib|a_loopfiledir|a_loopfileext|a_loopfilefullpath|a_loopfilelongpath|a_loopfilename|a_loopfileshortname|a_loopfileshortpath|a_loopfilesize|a_loopfilesizekb|a_loopfilesizemb|a_loopfiletimeaccessed|a_loopfiletimecreated|a_loopfiletimemodified|a_loopreadline|a_loopregkey|a_loopregname|a_loopregsubkey|a_loopregtimemodified|a_loopregtype|a_mday|a_min|a_mm|a_mmm|a_mmmm|a_mon|a_mousedelay|a_msec|a_mydocuments|a_now|a_nowutc|a_numbatchlines|a_ostype|a_osversion|a_priorhotkey|a_priorkey|a_programfiles|a_programs|a_programscommon|a_ptrsize|a_regview|a_screendpi|a_screenheight|a_screenwidth|a_scriptdir|a_scriptfullpath|a_scripthwnd|a_scriptname|a_sec|a_space|a_startmenu|a_startmenucommon|a_startup|a_startupcommon|a_stringcasesense|a_tab|a_temp|a_thisfunc|a_thishotkey|a_thislabel|a_thismenu|a_thismenuitem|a_thismenuitempos|a_tickcount|a_timeidle|a_timeidlephysical|a_timesincepriorhotkey|a_timesincethishotkey|a_titlematchmode|a_titlematchmodespeed|a_username|a_wday|a_windelay|a_windir|a_workingdir|a_yday|a_year|a_yweek|a_yyyy|clipboard|clipboardall|comspec|errorlevel|programfiles)\b/i,builtin:/\b(?:abs|acos|asc|asin|atan|ceil|chr|class|comobjactive|comobjarray|comobjconnect|comobjcreate|comobjerror|comobjflags|comobjget|comobjquery|comobjtype|comobjvalue|cos|dllcall|exp|fileexist|Fileopen|floor|format|il_add|il_create|il_destroy|instr|isfunc|islabel|IsObject|ln|log|ltrim|lv_add|lv_delete|lv_deletecol|lv_getcount|lv_getnext|lv_gettext|lv_insert|lv_insertcol|lv_modify|lv_modifycol|lv_setimagelist|mod|numget|numput|onmessage|regexmatch|regexreplace|registercallback|round|rtrim|sb_seticon|sb_setparts|sb_settext|sin|sqrt|strlen|strreplace|strsplit|substr|tan|tv_add|tv_delete|tv_get|tv_getchild|tv_getcount|tv_getnext|tv_getparent|tv_getprev|tv_getselection|tv_gettext|tv_modify|varsetcapacity|winactive|winexist|__Call|__Get|__New|__Set)\b/i,symbol:/\b(?:alt|altdown|altup|appskey|backspace|browser_back|browser_favorites|browser_forward|browser_home|browser_refresh|browser_search|browser_stop|bs|capslock|ctrl|ctrlbreak|ctrldown|ctrlup|del|delete|down|end|enter|esc|escape|f1|f10|f11|f12|f13|f14|f15|f16|f17|f18|f19|f2|f20|f21|f22|f23|f24|f3|f4|f5|f6|f7|f8|f9|home|ins|insert|joy1|joy10|joy11|joy12|joy13|joy14|joy15|joy16|joy17|joy18|joy19|joy2|joy20|joy21|joy22|joy23|joy24|joy25|joy26|joy27|joy28|joy29|joy3|joy30|joy31|joy32|joy4|joy5|joy6|joy7|joy8|joy9|joyaxes|joybuttons|joyinfo|joyname|joypov|joyr|joyu|joyv|joyx|joyy|joyz|lalt|launch_app1|launch_app2|launch_mail|launch_media|lbutton|lcontrol|lctrl|left|lshift|lwin|lwindown|lwinup|mbutton|media_next|media_play_pause|media_prev|media_stop|numlock|numpad0|numpad1|numpad2|numpad3|numpad4|numpad5|numpad6|numpad7|numpad8|numpad9|numpadadd|numpadclear|numpaddel|numpaddiv|numpaddot|numpaddown|numpadend|numpadenter|numpadhome|numpadins|numpadleft|numpadmult|numpadpgdn|numpadpgup|numpadright|numpadsub|numpadup|pgdn|pgup|printscreen|ralt|rbutton|rcontrol|rctrl|right|rshift|rwin|rwindown|rwinup|scrolllock|shift|shiftdown|shiftup|space|tab|up|volume_down|volume_mute|volume_up|wheeldown|wheelleft|wheelright|wheelup|xbutton1|xbutton2)\b/i,directive:{pattern:/#[a-z]+\b/i,alias:"important"},keyword:/\b(?:Abort|AboveNormal|Add|ahk_class|ahk_exe|ahk_group|ahk_id|ahk_pid|All|Alnum|Alpha|AltSubmit|AltTab|AltTabAndMenu|AltTabMenu|AltTabMenuDismiss|AlwaysOnTop|AutoSize|Background|BackgroundTrans|BelowNormal|between|BitAnd|BitNot|BitOr|BitShiftLeft|BitShiftRight|BitXOr|Bold|Border|Button|ByRef|Catch|Checkbox|Checked|CheckedGray|Choose|ChooseString|Close|Color|ComboBox|Contains|ControlList|Count|Date|DateTime|Days|DDL|Default|DeleteAll|Delimiter|Deref|Destroy|Digit|Disable|Disabled|DropDownList|Edit|Eject|Else|Enable|Enabled|Error|Exist|Expand|ExStyle|FileSystem|Finally|First|Flash|Float|FloatFast|Focus|Font|for|global|Grid|Group|GroupBox|GuiClose|GuiContextMenu|GuiDropFiles|GuiEscape|GuiSize|Hdr|Hidden|Hide|High|HKCC|HKCR|HKCU|HKEY_CLASSES_ROOT|HKEY_CURRENT_CONFIG|HKEY_CURRENT_USER|HKEY_LOCAL_MACHINE|HKEY_USERS|HKLM|HKU|Hours|HScroll|Icon|IconSmall|ID|IDLast|If|IfEqual|IfExist|IfGreater|IfGreaterOrEqual|IfInString|IfLess|IfLessOrEqual|IfMsgBox|IfNotEqual|IfNotExist|IfNotInString|IfWinActive|IfWinExist|IfWinNotActive|IfWinNotExist|Ignore|ImageList|in|Integer|IntegerFast|Interrupt|is|italic|Join|Label|LastFound|LastFoundExist|Limit|Lines|List|ListBox|ListView|local|Lock|Logoff|Low|Lower|Lowercase|MainWindow|Margin|Maximize|MaximizeBox|MaxSize|Minimize|MinimizeBox|MinMax|MinSize|Minutes|MonthCal|Mouse|Move|Multi|NA|No|NoActivate|NoDefault|NoHide|NoIcon|NoMainWindow|norm|Normal|NoSort|NoSortHdr|NoStandard|Not|NoTab|NoTimers|Number|Off|Ok|On|OwnDialogs|Owner|Parse|Password|Picture|Pixel|Pos|Pow|Priority|ProcessName|Radio|Range|Read|ReadOnly|Realtime|Redraw|Region|REG_BINARY|REG_DWORD|REG_EXPAND_SZ|REG_MULTI_SZ|REG_SZ|Relative|Rename|Report|Resize|Restore|Retry|RGB|Screen|Seconds|Section|Serial|SetLabel|ShiftAltTab|Show|Single|Slider|SortDesc|Standard|static|Status|StatusBar|StatusCD|strike|Style|Submit|SysMenu|Tab2|TabStop|Text|Theme|Throw|Tile|ToggleCheck|ToggleEnable|ToolWindow|Top|Topmost|TransColor|Transparent|Tray|TreeView|Try|TryAgain|Type|UnCheck|underline|Unicode|Unlock|Until|UpDown|Upper|Uppercase|UseErrorLevel|Vis|VisFirst|Visible|VScroll|Wait|WaitClose|WantCtrlA|WantF2|WantReturn|While|Wrap|Xdigit|xm|xp|xs|Yes|ym|yp|ys)\b/i,function:/[^(); \t,\n+*\-=?>:\\\/<&%\[\]]+(?=\()/,punctuation:/[{}[\]():,]/};
\ No newline at end of file
diff --git a/tests/languages/autohotkey/builtin_feature.test b/tests/languages/autohotkey/builtin_feature.test
index 976d38a..5a09c48 100644
--- a/tests/languages/autohotkey/builtin_feature.test
+++ b/tests/languages/autohotkey/builtin_feature.test
@@ -1,175 +1,175 @@
-abs
-acos
-asc
-asin
-atan
-ceil
-chr
-class
-cos
-comobjactive
-comobjarray
-comobjconnect
-comobjcreate
-comobjerror
-comobjflags
-comobjget
-comobjquery
-comobjtype
-comobjvalue
-dllcall
-exp
-fileexist
-Fileopen
-floor
-format
-il_add
-il_create
-il_destroy
-instr
-substr
-isfunc
-islabel
-IsObject
-ln
-log
-ltrim
-rtrim
-lv_add
-lv_delete
-lv_deletecol
-lv_getcount
-lv_getnext
-lv_gettext
-lv_insert
-lv_insertcol
-lv_modify
-lv_modifycol
-lv_setimagelist
-mod
-onmessage
-numget
-numput
-registercallback
-regexmatch
-regexreplace
-round
-sin
-tan
-sqrt
-strlen
-strreplace
-sb_seticon
-sb_setparts
-sb_settext
-strsplit
-tv_add
-tv_delete
-tv_getchild
-tv_getcount
-tv_getnext
-tv_get
-tv_getparent
-tv_getprev
-tv_getselection
-tv_gettext
-tv_modify
-varsetcapacity
-winactive
-winexist
-__New
-__Call
-__Get
-__Set
-
-----------------------------------------------------
-
-[
-	["builtin", "abs"],
-	["builtin", "acos"],
-	["builtin", "asc"],
-	["builtin", "asin"],
-	["builtin", "atan"],
-	["builtin", "ceil"],
-	["builtin", "chr"],
-	["builtin", "class"],
-	["builtin", "cos"],
-	["builtin", "comobjactive"],
-	["builtin", "comobjarray"],
-	["builtin", "comobjconnect"],
-	["builtin", "comobjcreate"],
-	["builtin", "comobjerror"],
-	["builtin", "comobjflags"],
-	["builtin", "comobjget"],
-	["builtin", "comobjquery"],
-	["builtin", "comobjtype"],
-	["builtin", "comobjvalue"],
-	["builtin", "dllcall"],
-	["builtin", "exp"],
-	["builtin", "fileexist"],
-	["builtin", "Fileopen"],
-	["builtin", "floor"],
-	["builtin", "format"],
-	["builtin", "il_add"],
-	["builtin", "il_create"],
-	["builtin", "il_destroy"],
-	["builtin", "instr"],
-	["builtin", "substr"],
-	["builtin", "isfunc"],
-	["builtin", "islabel"],
-	["builtin", "IsObject"],
-	["builtin", "ln"],
-	["builtin", "log"],
-	["builtin", "ltrim"],
-	["builtin", "rtrim"],
-	["builtin", "lv_add"],
-	["builtin", "lv_delete"],
-	["builtin", "lv_deletecol"],
-	["builtin", "lv_getcount"],
-	["builtin", "lv_getnext"],
-	["builtin", "lv_gettext"],
-	["builtin", "lv_insert"],
-	["builtin", "lv_insertcol"],
-	["builtin", "lv_modify"],
-	["builtin", "lv_modifycol"],
-	["builtin", "lv_setimagelist"],
-	["builtin", "mod"],
-	["builtin", "onmessage"],
-	["builtin", "numget"],
-	["builtin", "numput"],
-	["builtin", "registercallback"],
-	["builtin", "regexmatch"],
-	["builtin", "regexreplace"],
-	["builtin", "round"],
-	["builtin", "sin"],
-	["builtin", "tan"],
-	["builtin", "sqrt"],
-	["builtin", "strlen"],
-	["builtin", "strreplace"],
-	["builtin", "sb_seticon"],
-	["builtin", "sb_setparts"],
-	["builtin", "sb_settext"],
-	["builtin", "strsplit"],
-	["builtin", "tv_add"],
-	["builtin", "tv_delete"],
-	["builtin", "tv_getchild"],
-	["builtin", "tv_getcount"],
-	["builtin", "tv_getnext"],
-	["builtin", "tv_get"],
-	["builtin", "tv_getparent"],
-	["builtin", "tv_getprev"],
-	["builtin", "tv_getselection"],
-	["builtin", "tv_gettext"],
-	["builtin", "tv_modify"],
-	["builtin", "varsetcapacity"],
-	["builtin", "winactive"],
-	["builtin", "winexist"],
-	["builtin", "__New"],
-	["builtin", "__Call"],
-	["builtin", "__Get"],
-	["builtin", "__Set"]
-]
-
-----------------------------------------------------
-
-Checks for all builtins.
\ No newline at end of file
+abs
+acos
+asc
+asin
+atan
+ceil
+chr
+class
+cos
+comobjactive
+comobjarray
+comobjconnect
+comobjcreate
+comobjerror
+comobjflags
+comobjget
+comobjquery
+comobjtype
+comobjvalue
+dllcall
+exp
+fileexist
+Fileopen
+floor
+format
+il_add
+il_create
+il_destroy
+instr
+substr
+isfunc
+islabel
+IsObject
+ln
+log
+ltrim
+rtrim
+lv_add
+lv_delete
+lv_deletecol
+lv_getcount
+lv_getnext
+lv_gettext
+lv_insert
+lv_insertcol
+lv_modify
+lv_modifycol
+lv_setimagelist
+mod
+onmessage
+numget
+numput
+registercallback
+regexmatch
+regexreplace
+round
+sin
+tan
+sqrt
+strlen
+strreplace
+sb_seticon
+sb_setparts
+sb_settext
+strsplit
+tv_add
+tv_delete
+tv_getchild
+tv_getcount
+tv_getnext
+tv_get
+tv_getparent
+tv_getprev
+tv_getselection
+tv_gettext
+tv_modify
+varsetcapacity
+winactive
+winexist
+__New
+__Call
+__Get
+__Set
+
+----------------------------------------------------
+
+[
+	["builtin", "abs"],
+	["builtin", "acos"],
+	["builtin", "asc"],
+	["builtin", "asin"],
+	["builtin", "atan"],
+	["builtin", "ceil"],
+	["builtin", "chr"],
+	["builtin", "class"],
+	["builtin", "cos"],
+	["builtin", "comobjactive"],
+	["builtin", "comobjarray"],
+	["builtin", "comobjconnect"],
+	["builtin", "comobjcreate"],
+	["builtin", "comobjerror"],
+	["builtin", "comobjflags"],
+	["builtin", "comobjget"],
+	["builtin", "comobjquery"],
+	["builtin", "comobjtype"],
+	["builtin", "comobjvalue"],
+	["builtin", "dllcall"],
+	["builtin", "exp"],
+	["builtin", "fileexist"],
+	["builtin", "Fileopen"],
+	["builtin", "floor"],
+	["builtin", "format"],
+	["builtin", "il_add"],
+	["builtin", "il_create"],
+	["builtin", "il_destroy"],
+	["builtin", "instr"],
+	["builtin", "substr"],
+	["builtin", "isfunc"],
+	["builtin", "islabel"],
+	["builtin", "IsObject"],
+	["builtin", "ln"],
+	["builtin", "log"],
+	["builtin", "ltrim"],
+	["builtin", "rtrim"],
+	["builtin", "lv_add"],
+	["builtin", "lv_delete"],
+	["builtin", "lv_deletecol"],
+	["builtin", "lv_getcount"],
+	["builtin", "lv_getnext"],
+	["builtin", "lv_gettext"],
+	["builtin", "lv_insert"],
+	["builtin", "lv_insertcol"],
+	["builtin", "lv_modify"],
+	["builtin", "lv_modifycol"],
+	["builtin", "lv_setimagelist"],
+	["builtin", "mod"],
+	["builtin", "onmessage"],
+	["builtin", "numget"],
+	["builtin", "numput"],
+	["builtin", "registercallback"],
+	["builtin", "regexmatch"],
+	["builtin", "regexreplace"],
+	["builtin", "round"],
+	["builtin", "sin"],
+	["builtin", "tan"],
+	["builtin", "sqrt"],
+	["builtin", "strlen"],
+	["builtin", "strreplace"],
+	["builtin", "sb_seticon"],
+	["builtin", "sb_setparts"],
+	["builtin", "sb_settext"],
+	["builtin", "strsplit"],
+	["builtin", "tv_add"],
+	["builtin", "tv_delete"],
+	["builtin", "tv_getchild"],
+	["builtin", "tv_getcount"],
+	["builtin", "tv_getnext"],
+	["builtin", "tv_get"],
+	["builtin", "tv_getparent"],
+	["builtin", "tv_getprev"],
+	["builtin", "tv_getselection"],
+	["builtin", "tv_gettext"],
+	["builtin", "tv_modify"],
+	["builtin", "varsetcapacity"],
+	["builtin", "winactive"],
+	["builtin", "winexist"],
+	["builtin", "__New"],
+	["builtin", "__Call"],
+	["builtin", "__Get"],
+	["builtin", "__Set"]
+]
+
+----------------------------------------------------
+
+Checks for all builtins.
diff --git a/tests/languages/autohotkey/command_feature.test b/tests/languages/autohotkey/command_feature.test
new file mode 100644
index 0000000..a5c69dc
--- /dev/null
+++ b/tests/languages/autohotkey/command_feature.test
@@ -0,0 +1,383 @@
+AutoTrim
+BlockInput
+Break
+Click
+ClipWait
+Continue
+Control
+ControlClick
+ControlFocus
+ControlGet
+ControlGetFocus
+ControlGetPos
+ControlGetText
+ControlMove
+ControlSend
+ControlSendRaw
+ControlSetText
+CoordMode
+Critical
+DetectHiddenText
+DetectHiddenWindows
+Drive
+DriveGet
+DriveSpaceFree
+EnvAdd
+EnvDiv
+EnvGet
+EnvMult
+EnvSet
+EnvSub
+EnvUpdate
+Exit
+ExitApp
+FileAppend
+FileCopy
+FileCopyDir
+FileCreateDir
+FileCreateShortcut
+FileDelete
+FileEncoding
+FileGetAttrib
+FileGetShortcut
+FileGetSize
+FileGetTime
+FileGetVersion
+FileInstall
+FileMove
+FileMoveDir
+FileRead
+FileReadLine
+FileRecycle
+FileRecycleEmpty
+FileRemoveDir
+FileSelectFile
+FileSelectFolder
+FileSetAttrib
+FileSetTime
+FormatTime
+GetKeyState
+Gosub
+Goto
+GroupActivate
+GroupAdd
+GroupClose
+GroupDeactivate
+Gui
+GuiControl
+GuiControlGet
+Hotkey
+ImageSearch
+IniDelete
+IniRead
+IniWrite
+Input
+InputBox
+KeyWait
+ListHotkeys
+ListLines
+ListVars
+Loop
+Menu
+MouseClick
+MouseClickDrag
+MouseGetPos
+MouseMove
+MsgBox
+OnExit
+OutputDebug
+Pause
+PixelGetColor
+PixelSearch
+PostMessage
+Process
+Progress
+Random
+RegDelete
+RegRead
+RegWrite
+Reload
+Repeat
+Return
+Run
+RunAs
+RunWait
+Send
+SendEvent
+SendInput
+SendMessage
+SendMode
+SendPlay
+SendRaw
+SetBatchLines
+SetCapslockState
+SetControlDelay
+SetDefaultMouseSpeed
+SetEnv
+SetFormat
+SetKeyDelay
+SetMouseDelay
+SetNumlockState
+SetRegView
+SetScrollLockState
+SetStoreCapslockMode
+SetTimer
+SetTitleMatchMode
+SetWinDelay
+SetWorkingDir
+Shutdown
+Sleep
+Sort
+SoundBeep
+SoundGet
+SoundGetWaveVolume
+SoundPlay
+SoundSet
+SoundSetWaveVolume
+SplashImage
+SplashTextOff
+SplashTextOn
+SplitPath
+StatusBarGetText
+StatusBarWait
+StringCaseSense
+StringGetPos
+StringLeft
+StringLen
+StringLower
+StringMid
+StringReplace
+StringRight
+StringSplit
+StringTrimLeft
+StringTrimRight
+StringUpper
+Suspend
+SysGet
+Thread
+ToolTip
+Transform
+TrayTip
+URLDownloadToFile
+WinActivate
+WinActivateBottom
+WinClose
+WinGet
+WinGetActiveStats
+WinGetActiveTitle
+WinGetClass
+WinGetPos
+WinGetText
+WinGetTitle
+WinHide
+WinKill
+WinMaximize
+WinMenuSelectItem
+WinMinimize
+WinMinimizeAll
+WinMinimizeAllUndo
+WinMove
+WinRestore
+WinSet
+WinSetTitle
+WinShow
+WinWait
+WinWaitActive
+WinWaitClose
+WinWaitNotActive
+
+----------------------------------------------------
+
+[
+	["command", "AutoTrim"],
+	["command", "BlockInput"],
+	["command", "Break"],
+	["command", "Click"],
+	["command", "ClipWait"],
+	["command", "Continue"],
+	["command", "Control"],
+	["command", "ControlClick"],
+	["command", "ControlFocus"],
+	["command", "ControlGet"],
+	["command", "ControlGetFocus"],
+	["command", "ControlGetPos"],
+	["command", "ControlGetText"],
+	["command", "ControlMove"],
+	["command", "ControlSend"],
+	["command", "ControlSendRaw"],
+	["command", "ControlSetText"],
+	["command", "CoordMode"],
+	["command", "Critical"],
+	["command", "DetectHiddenText"],
+	["command", "DetectHiddenWindows"],
+	["command", "Drive"],
+	["command", "DriveGet"],
+	["command", "DriveSpaceFree"],
+	["command", "EnvAdd"],
+	["command", "EnvDiv"],
+	["command", "EnvGet"],
+	["command", "EnvMult"],
+	["command", "EnvSet"],
+	["command", "EnvSub"],
+	["command", "EnvUpdate"],
+	["command", "Exit"],
+	["command", "ExitApp"],
+	["command", "FileAppend"],
+	["command", "FileCopy"],
+	["command", "FileCopyDir"],
+	["command", "FileCreateDir"],
+	["command", "FileCreateShortcut"],
+	["command", "FileDelete"],
+	["command", "FileEncoding"],
+	["command", "FileGetAttrib"],
+	["command", "FileGetShortcut"],
+	["command", "FileGetSize"],
+	["command", "FileGetTime"],
+	["command", "FileGetVersion"],
+	["command", "FileInstall"],
+	["command", "FileMove"],
+	["command", "FileMoveDir"],
+	["command", "FileRead"],
+	["command", "FileReadLine"],
+	["command", "FileRecycle"],
+	["command", "FileRecycleEmpty"],
+	["command", "FileRemoveDir"],
+	["command", "FileSelectFile"],
+	["command", "FileSelectFolder"],
+	["command", "FileSetAttrib"],
+	["command", "FileSetTime"],
+	["command", "FormatTime"],
+	["command", "GetKeyState"],
+	["command", "Gosub"],
+	["command", "Goto"],
+	["command", "GroupActivate"],
+	["command", "GroupAdd"],
+	["command", "GroupClose"],
+	["command", "GroupDeactivate"],
+	["command", "Gui"],
+	["command", "GuiControl"],
+	["command", "GuiControlGet"],
+	["command", "Hotkey"],
+	["command", "ImageSearch"],
+	["command", "IniDelete"],
+	["command", "IniRead"],
+	["command", "IniWrite"],
+	["command", "Input"],
+	["command", "InputBox"],
+	["command", "KeyWait"],
+	["command", "ListHotkeys"],
+	["command", "ListLines"],
+	["command", "ListVars"],
+	["command", "Loop"],
+	["command", "Menu"],
+	["command", "MouseClick"],
+	["command", "MouseClickDrag"],
+	["command", "MouseGetPos"],
+	["command", "MouseMove"],
+	["command", "MsgBox"],
+	["command", "OnExit"],
+	["command", "OutputDebug"],
+	["command", "Pause"],
+	["command", "PixelGetColor"],
+	["command", "PixelSearch"],
+	["command", "PostMessage"],
+	["command", "Process"],
+	["command", "Progress"],
+	["command", "Random"],
+	["command", "RegDelete"],
+	["command", "RegRead"],
+	["command", "RegWrite"],
+	["command", "Reload"],
+	["command", "Repeat"],
+	["command", "Return"],
+	["command", "Run"],
+	["command", "RunAs"],
+	["command", "RunWait"],
+	["command", "Send"],
+	["command", "SendEvent"],
+	["command", "SendInput"],
+	["command", "SendMessage"],
+	["command", "SendMode"],
+	["command", "SendPlay"],
+	["command", "SendRaw"],
+	["command", "SetBatchLines"],
+	["command", "SetCapslockState"],
+	["command", "SetControlDelay"],
+	["command", "SetDefaultMouseSpeed"],
+	["command", "SetEnv"],
+	["command", "SetFormat"],
+	["command", "SetKeyDelay"],
+	["command", "SetMouseDelay"],
+	["command", "SetNumlockState"],
+	["command", "SetRegView"],
+	["command", "SetScrollLockState"],
+	["command", "SetStoreCapslockMode"],
+	["command", "SetTimer"],
+	["command", "SetTitleMatchMode"],
+	["command", "SetWinDelay"],
+	["command", "SetWorkingDir"],
+	["command", "Shutdown"],
+	["command", "Sleep"],
+	["command", "Sort"],
+	["command", "SoundBeep"],
+	["command", "SoundGet"],
+	["command", "SoundGetWaveVolume"],
+	["command", "SoundPlay"],
+	["command", "SoundSet"],
+	["command", "SoundSetWaveVolume"],
+	["command", "SplashImage"],
+	["command", "SplashTextOff"],
+	["command", "SplashTextOn"],
+	["command", "SplitPath"],
+	["command", "StatusBarGetText"],
+	["command", "StatusBarWait"],
+	["command", "StringCaseSense"],
+	["command", "StringGetPos"],
+	["command", "StringLeft"],
+	["command", "StringLen"],
+	["command", "StringLower"],
+	["command", "StringMid"],
+	["command", "StringReplace"],
+	["command", "StringRight"],
+	["command", "StringSplit"],
+	["command", "StringTrimLeft"],
+	["command", "StringTrimRight"],
+	["command", "StringUpper"],
+	["command", "Suspend"],
+	["command", "SysGet"],
+	["command", "Thread"],
+	["command", "ToolTip"],
+	["command", "Transform"],
+	["command", "TrayTip"],
+	["command", "URLDownloadToFile"],
+	["command", "WinActivate"],
+	["command", "WinActivateBottom"],
+	["command", "WinClose"],
+	["command", "WinGet"],
+	["command", "WinGetActiveStats"],
+	["command", "WinGetActiveTitle"],
+	["command", "WinGetClass"],
+	["command", "WinGetPos"],
+	["command", "WinGetText"],
+	["command", "WinGetTitle"],
+	["command", "WinHide"],
+	["command", "WinKill"],
+	["command", "WinMaximize"],
+	["command", "WinMenuSelectItem"],
+	["command", "WinMinimize"],
+	["command", "WinMinimizeAll"],
+	["command", "WinMinimizeAllUndo"],
+	["command", "WinMove"],
+	["command", "WinRestore"],
+	["command", "WinSet"],
+	["command", "WinSetTitle"],
+	["command", "WinShow"],
+	["command", "WinWait"],
+	["command", "WinWaitActive"],
+	["command", "WinWaitClose"],
+	["command", "WinWaitNotActive"]
+]
+
+----------------------------------------------------
+
+Checks for all selectors.
diff --git a/tests/languages/autohotkey/directive_feature.test b/tests/languages/autohotkey/directive_feature.test
new file mode 100644
index 0000000..edeebbe
--- /dev/null
+++ b/tests/languages/autohotkey/directive_feature.test
@@ -0,0 +1,77 @@
+#AllowSameLineComments
+#ClipboardTimeout
+#CommentFlag
+#DerefChar
+#ErrorStdOut
+#EscapeChar
+#HotkeyInterval
+#HotkeyModifierTimeout
+#Hotstring
+#If
+#IfTimeout
+#IfWinActive
+#IfWinExist
+#IfWinNotActive
+#IfWinNotExist
+#Include
+#IncludeAgain
+#InputLevel
+#InstallKeybdHook
+#InstallMouseHook
+#KeyHistory
+#MaxHotkeysPerInterval
+#MaxMem
+#MaxThreads
+#MaxThreadsBuffer
+#MaxThreadsPerHotkey
+#MenuMaskKey
+#NoEnv
+#NoTrayIcon
+#Persistent
+#SingleInstance
+#UseHook
+#WinActivateForce
+#Warn
+
+----------------------------------------------------
+
+[
+	["directive", "#AllowSameLineComments"],
+	["directive", "#ClipboardTimeout"],
+	["directive", "#CommentFlag"],
+	["directive", "#DerefChar"],
+	["directive", "#ErrorStdOut"],
+	["directive", "#EscapeChar"],
+	["directive", "#HotkeyInterval"],
+	["directive", "#HotkeyModifierTimeout"],
+	["directive", "#Hotstring"],
+	["directive", "#If"],
+	["directive", "#IfTimeout"],
+	["directive", "#IfWinActive"],
+	["directive", "#IfWinExist"],
+	["directive", "#IfWinNotActive"],
+	["directive", "#IfWinNotExist"],
+	["directive", "#Include"],
+	["directive", "#IncludeAgain"],
+	["directive", "#InputLevel"],
+	["directive", "#InstallKeybdHook"],
+	["directive", "#InstallMouseHook"],
+	["directive", "#KeyHistory"],
+	["directive", "#MaxHotkeysPerInterval"],
+	["directive", "#MaxMem"],
+	["directive", "#MaxThreads"],
+	["directive", "#MaxThreadsBuffer"],
+	["directive", "#MaxThreadsPerHotkey"],
+	["directive", "#MenuMaskKey"],
+	["directive", "#NoEnv"],
+	["directive", "#NoTrayIcon"],
+	["directive", "#Persistent"],
+	["directive", "#SingleInstance"],
+	["directive", "#UseHook"],
+	["directive", "#WinActivateForce"],
+	["directive", "#Warn"]
+]
+
+----------------------------------------------------
+
+Checks for all important keywords.
diff --git a/tests/languages/autohotkey/important_feature.test b/tests/languages/autohotkey/important_feature.test
deleted file mode 100644
index 910015d..0000000
--- a/tests/languages/autohotkey/important_feature.test
+++ /dev/null
@@ -1,77 +0,0 @@
-#AllowSameLineComments
-#ClipboardTimeout
-#CommentFlag
-#DerefChar
-#ErrorStdOut
-#EscapeChar
-#HotkeyInterval
-#HotkeyModifierTimeout
-#Hotstring
-#If
-#IfTimeout
-#IfWinActive
-#IfWinExist
-#IfWinNotActive
-#IfWinNotExist
-#Include
-#IncludeAgain
-#InputLevel
-#InstallKeybdHook
-#InstallMouseHook
-#KeyHistory
-#MaxHotkeysPerInterval
-#MaxMem
-#MaxThreads
-#MaxThreadsBuffer
-#MaxThreadsPerHotkey
-#MenuMaskKey
-#NoEnv
-#NoTrayIcon
-#Persistent
-#SingleInstance
-#UseHook
-#WinActivateForce
-#Warn
-
-----------------------------------------------------
-
-[
-	["important", "#AllowSameLineComments"],
-	["important", "#ClipboardTimeout"],
-	["important", "#CommentFlag"],
-	["important", "#DerefChar"],
-	["important", "#ErrorStdOut"],
-	["important", "#EscapeChar"],
-	["important", "#HotkeyInterval"],
-	["important", "#HotkeyModifierTimeout"],
-	["important", "#Hotstring"],
-	["important", "#If"],
-	["important", "#IfTimeout"],
-	["important", "#IfWinActive"],
-	["important", "#IfWinExist"],
-	["important", "#IfWinNotActive"],
-	["important", "#IfWinNotExist"],
-	["important", "#Include"],
-	["important", "#IncludeAgain"],
-	["important", "#InputLevel"],
-	["important", "#InstallKeybdHook"],
-	["important", "#InstallMouseHook"],
-	["important", "#KeyHistory"],
-	["important", "#MaxHotkeysPerInterval"],
-	["important", "#MaxMem"],
-	["important", "#MaxThreads"],
-	["important", "#MaxThreadsBuffer"],
-	["important", "#MaxThreadsPerHotkey"],
-	["important", "#MenuMaskKey"],
-	["important", "#NoEnv"],
-	["important", "#NoTrayIcon"],
-	["important", "#Persistent"],
-	["important", "#SingleInstance"],
-	["important", "#UseHook"],
-	["important", "#WinActivateForce"],
-	["important", "#Warn"]
-]
-
-----------------------------------------------------
-
-Checks for all important keywords.
\ No newline at end of file
diff --git a/tests/languages/autohotkey/issue2911.test b/tests/languages/autohotkey/issue2911.test
index fac458c..94d5458 100644
--- a/tests/languages/autohotkey/issue2911.test
+++ b/tests/languages/autohotkey/issue2911.test
@@ -33,11 +33,11 @@ return
 
 	["tag", "NormalLabel"], ["punctuation", ":"],
 	["comment", "; do something"],
-	["selector", "return"],
+	["command", "return"],
 	["tag", "TabbedLabel"], ["punctuation", ":"],
 	["comment", "; do something"],
-	["selector", "return"],
+	["command", "return"],
 	["tag", "Sus{}//[]Label"], ["punctuation", ":"],
 	["comment", "; do something"],
-	["selector", "return"]
+	["command", "return"]
 ]
diff --git a/tests/languages/autohotkey/selector_feature.test b/tests/languages/autohotkey/selector_feature.test
deleted file mode 100644
index 7f84f51..0000000
--- a/tests/languages/autohotkey/selector_feature.test
+++ /dev/null
@@ -1,383 +0,0 @@
-AutoTrim
-BlockInput
-Break
-Click
-ClipWait
-Continue
-Control
-ControlClick
-ControlFocus
-ControlGet
-ControlGetFocus
-ControlGetPos
-ControlGetText
-ControlMove
-ControlSend
-ControlSendRaw
-ControlSetText
-CoordMode
-Critical
-DetectHiddenText
-DetectHiddenWindows
-Drive
-DriveGet
-DriveSpaceFree
-EnvAdd
-EnvDiv
-EnvGet
-EnvMult
-EnvSet
-EnvSub
-EnvUpdate
-Exit
-ExitApp
-FileAppend
-FileCopy
-FileCopyDir
-FileCreateDir
-FileCreateShortcut
-FileDelete
-FileEncoding
-FileGetAttrib
-FileGetShortcut
-FileGetSize
-FileGetTime
-FileGetVersion
-FileInstall
-FileMove
-FileMoveDir
-FileRead
-FileReadLine
-FileRecycle
-FileRecycleEmpty
-FileRemoveDir
-FileSelectFile
-FileSelectFolder
-FileSetAttrib
-FileSetTime
-FormatTime
-GetKeyState
-Gosub
-Goto
-GroupActivate
-GroupAdd
-GroupClose
-GroupDeactivate
-Gui
-GuiControl
-GuiControlGet
-Hotkey
-ImageSearch
-IniDelete
-IniRead
-IniWrite
-Input
-InputBox
-KeyWait
-ListHotkeys
-ListLines
-ListVars
-Loop
-Menu
-MouseClick
-MouseClickDrag
-MouseGetPos
-MouseMove
-MsgBox
-OnExit
-OutputDebug
-Pause
-PixelGetColor
-PixelSearch
-PostMessage
-Process
-Progress
-Random
-RegDelete
-RegRead
-RegWrite
-Reload
-Repeat
-Return
-Run
-RunAs
-RunWait
-Send
-SendEvent
-SendInput
-SendMessage
-SendMode
-SendPlay
-SendRaw
-SetBatchLines
-SetCapslockState
-SetControlDelay
-SetDefaultMouseSpeed
-SetEnv
-SetFormat
-SetKeyDelay
-SetMouseDelay
-SetNumlockState
-SetRegView
-SetScrollLockState
-SetStoreCapslockMode
-SetTimer
-SetTitleMatchMode
-SetWinDelay
-SetWorkingDir
-Shutdown
-Sleep
-Sort
-SoundBeep
-SoundGet
-SoundGetWaveVolume
-SoundPlay
-SoundSet
-SoundSetWaveVolume
-SplashImage
-SplashTextOff
-SplashTextOn
-SplitPath
-StatusBarGetText
-StatusBarWait
-StringCaseSense
-StringGetPos
-StringLeft
-StringLen
-StringLower
-StringMid
-StringReplace
-StringRight
-StringSplit
-StringTrimLeft
-StringTrimRight
-StringUpper
-Suspend
-SysGet
-Thread
-ToolTip
-Transform
-TrayTip
-URLDownloadToFile
-WinActivate
-WinActivateBottom
-WinClose
-WinGet
-WinGetActiveStats
-WinGetActiveTitle
-WinGetClass
-WinGetPos
-WinGetText
-WinGetTitle
-WinHide
-WinKill
-WinMaximize
-WinMenuSelectItem
-WinMinimize
-WinMinimizeAll
-WinMinimizeAllUndo
-WinMove
-WinRestore
-WinSet
-WinSetTitle
-WinShow
-WinWait
-WinWaitActive
-WinWaitClose
-WinWaitNotActive
-
-----------------------------------------------------
-
-[
-	["selector", "AutoTrim"],
-	["selector", "BlockInput"],
-	["selector", "Break"],
-	["selector", "Click"],
-	["selector", "ClipWait"],
-	["selector", "Continue"],
-	["selector", "Control"],
-	["selector", "ControlClick"],
-	["selector", "ControlFocus"],
-	["selector", "ControlGet"],
-	["selector", "ControlGetFocus"],
-	["selector", "ControlGetPos"],
-	["selector", "ControlGetText"],
-	["selector", "ControlMove"],
-	["selector", "ControlSend"],
-	["selector", "ControlSendRaw"],
-	["selector", "ControlSetText"],
-	["selector", "CoordMode"],
-	["selector", "Critical"],
-	["selector", "DetectHiddenText"],
-	["selector", "DetectHiddenWindows"],
-	["selector", "Drive"],
-	["selector", "DriveGet"],
-	["selector", "DriveSpaceFree"],
-	["selector", "EnvAdd"],
-	["selector", "EnvDiv"],
-	["selector", "EnvGet"],
-	["selector", "EnvMult"],
-	["selector", "EnvSet"],
-	["selector", "EnvSub"],
-	["selector", "EnvUpdate"],
-	["selector", "Exit"],
-	["selector", "ExitApp"],
-	["selector", "FileAppend"],
-	["selector", "FileCopy"],
-	["selector", "FileCopyDir"],
-	["selector", "FileCreateDir"],
-	["selector", "FileCreateShortcut"],
-	["selector", "FileDelete"],
-	["selector", "FileEncoding"],
-	["selector", "FileGetAttrib"],
-	["selector", "FileGetShortcut"],
-	["selector", "FileGetSize"],
-	["selector", "FileGetTime"],
-	["selector", "FileGetVersion"],
-	["selector", "FileInstall"],
-	["selector", "FileMove"],
-	["selector", "FileMoveDir"],
-	["selector", "FileRead"],
-	["selector", "FileReadLine"],
-	["selector", "FileRecycle"],
-	["selector", "FileRecycleEmpty"],
-	["selector", "FileRemoveDir"],
-	["selector", "FileSelectFile"],
-	["selector", "FileSelectFolder"],
-	["selector", "FileSetAttrib"],
-	["selector", "FileSetTime"],
-	["selector", "FormatTime"],
-	["selector", "GetKeyState"],
-	["selector", "Gosub"],
-	["selector", "Goto"],
-	["selector", "GroupActivate"],
-	["selector", "GroupAdd"],
-	["selector", "GroupClose"],
-	["selector", "GroupDeactivate"],
-	["selector", "Gui"],
-	["selector", "GuiControl"],
-	["selector", "GuiControlGet"],
-	["selector", "Hotkey"],
-	["selector", "ImageSearch"],
-	["selector", "IniDelete"],
-	["selector", "IniRead"],
-	["selector", "IniWrite"],
-	["selector", "Input"],
-	["selector", "InputBox"],
-	["selector", "KeyWait"],
-	["selector", "ListHotkeys"],
-	["selector", "ListLines"],
-	["selector", "ListVars"],
-	["selector", "Loop"],
-	["selector", "Menu"],
-	["selector", "MouseClick"],
-	["selector", "MouseClickDrag"],
-	["selector", "MouseGetPos"],
-	["selector", "MouseMove"],
-	["selector", "MsgBox"],
-	["selector", "OnExit"],
-	["selector", "OutputDebug"],
-	["selector", "Pause"],
-	["selector", "PixelGetColor"],
-	["selector", "PixelSearch"],
-	["selector", "PostMessage"],
-	["selector", "Process"],
-	["selector", "Progress"],
-	["selector", "Random"],
-	["selector", "RegDelete"],
-	["selector", "RegRead"],
-	["selector", "RegWrite"],
-	["selector", "Reload"],
-	["selector", "Repeat"],
-	["selector", "Return"],
-	["selector", "Run"],
-	["selector", "RunAs"],
-	["selector", "RunWait"],
-	["selector", "Send"],
-	["selector", "SendEvent"],
-	["selector", "SendInput"],
-	["selector", "SendMessage"],
-	["selector", "SendMode"],
-	["selector", "SendPlay"],
-	["selector", "SendRaw"],
-	["selector", "SetBatchLines"],
-	["selector", "SetCapslockState"],
-	["selector", "SetControlDelay"],
-	["selector", "SetDefaultMouseSpeed"],
-	["selector", "SetEnv"],
-	["selector", "SetFormat"],
-	["selector", "SetKeyDelay"],
-	["selector", "SetMouseDelay"],
-	["selector", "SetNumlockState"],
-	["selector", "SetRegView"],
-	["selector", "SetScrollLockState"],
-	["selector", "SetStoreCapslockMode"],
-	["selector", "SetTimer"],
-	["selector", "SetTitleMatchMode"],
-	["selector", "SetWinDelay"],
-	["selector", "SetWorkingDir"],
-	["selector", "Shutdown"],
-	["selector", "Sleep"],
-	["selector", "Sort"],
-	["selector", "SoundBeep"],
-	["selector", "SoundGet"],
-	["selector", "SoundGetWaveVolume"],
-	["selector", "SoundPlay"],
-	["selector", "SoundSet"],
-	["selector", "SoundSetWaveVolume"],
-	["selector", "SplashImage"],
-	["selector", "SplashTextOff"],
-	["selector", "SplashTextOn"],
-	["selector", "SplitPath"],
-	["selector", "StatusBarGetText"],
-	["selector", "StatusBarWait"],
-	["selector", "StringCaseSense"],
-	["selector", "StringGetPos"],
-	["selector", "StringLeft"],
-	["selector", "StringLen"],
-	["selector", "StringLower"],
-	["selector", "StringMid"],
-	["selector", "StringReplace"],
-	["selector", "StringRight"],
-	["selector", "StringSplit"],
-	["selector", "StringTrimLeft"],
-	["selector", "StringTrimRight"],
-	["selector", "StringUpper"],
-	["selector", "Suspend"],
-	["selector", "SysGet"],
-	["selector", "Thread"],
-	["selector", "ToolTip"],
-	["selector", "Transform"],
-	["selector", "TrayTip"],
-	["selector", "URLDownloadToFile"],
-	["selector", "WinActivate"],
-	["selector", "WinActivateBottom"],
-	["selector", "WinClose"],
-	["selector", "WinGet"],
-	["selector", "WinGetActiveStats"],
-	["selector", "WinGetActiveTitle"],
-	["selector", "WinGetClass"],
-	["selector", "WinGetPos"],
-	["selector", "WinGetText"],
-	["selector", "WinGetTitle"],
-	["selector", "WinHide"],
-	["selector", "WinKill"],
-	["selector", "WinMaximize"],
-	["selector", "WinMenuSelectItem"],
-	["selector", "WinMinimize"],
-	["selector", "WinMinimizeAll"],
-	["selector", "WinMinimizeAllUndo"],
-	["selector", "WinMove"],
-	["selector", "WinRestore"],
-	["selector", "WinSet"],
-	["selector", "WinSetTitle"],
-	["selector", "WinShow"],
-	["selector", "WinWait"],
-	["selector", "WinWaitActive"],
-	["selector", "WinWaitClose"],
-	["selector", "WinWaitNotActive"]
-]
-
-----------------------------------------------------
-
-Checks for all selectors.
\ No newline at end of file