{ "fileTypes": [ "ahk" ], "name": "AutoHotkey", "patterns": [ { "captures": { "1": { "name": "comment.line.ahk" }, "2": { "name": "comment.line.ahk" } }, "match": "(^\\s*|\\s+)(;)(.*)$", "name": "comment.line.ahk" }, { "begin": "/\\*", "end": "\\*/", "name": "comment.block.ahk" }, { "captures": { "1": { "name": "entity.name.function.ahk" }, "2": { "name": "punctuation.bracket.parenthesis.ahk" }, "3": { "name": "string.function.arguments.ahk" }, "4": { "name": "punctuation.bracket.parenthesis.ahk" }, "5": { "name": "punctuation.bracket.curly.ahk" }, "6": { "name": "comment.line.semicolon.functionline.ahk" } }, "match": "^\\s*(\\w+)(\\()(.*)(\\))\\s*({)\\s*(;?.*)$", "name": "functionline.ahk" }, { "captures": { "1": { "name": "entity.name.function.label.ahk" }, "2": { "name": "punctuation.colon.ahk" }, "3": { "name": "comment.line.semicolon.label.ahk" } }, "match": "^\\s*(\\w+)(:)\\s*(;.*)?$", "name": "labelline.ahk" }, { "captures": { "1": { "name": "entity.name.function.label.ahk" }, "2": { "name": "punctuation.definition.equals.colon" } }, "match": "^\\s*(.+)(::)", "name": "hotkeyline.ahk" }, { "captures": { "1": { "name": "keyword.control.import.ahk" }, "2": { "name": "keyword.control.import.ahk" }, "3": { "name": "entity.name.section.namespace.ahk" }, "4": { "name": "comment.line.semicolon.label.ahk" } }, "match": "^\\s*(#)((?i:includeagain|include))\\s+(.*?)\\s*(;.*)?$", "name": "importline.ahk" }, { "captures": { "1": { "name": "keyword.control.ahk" }, "2": { "name": "keyword.control.ahk" }, "3": { "name": "string.ahk" }, "4": { "name": "comment.line.semicolon.label.ahk" } }, "match": "^\\s*(#)((?i:allowsamelinecomments|clipboardtimeout|commentflag|errorstdout|escapechar|hotkeyinterval|hotkeymodifiertimeout|hotstring|iftimeout|ifwinactive|ifwinexist|ifwinnotactive|ifwinnotexist|if|inputlevel|installkeybdhook|installmousehook|keyhistory|ltrim|maxhotkeysperinterval|maxmem|maxthreadsbuffer|maxthreadsperhotkey|maxthreads|menumaskkey|noenv|notrayicon|persistent|singleinstance|usehook|warn|winactivateforce)),*?\\s*?(.*?)\\s*(;.*)?$", "name": "preprocessordirective.ahk" }, { "match": "\\b(?i:autotrim|blockinput|click|clipwait|controlclick|controlfocus|controlget|controlgetfocus|controlgetpos|controlgettext|controlmove|controlsend|controlsendraw|controlsettext|control|coordmode|detecthiddentext|detecthiddenwindows|driveget|drivespacefree|drive|edit|envadd|envdiv|envget|envmult|envset|envsub|envupdate|fileappend|filecopydir|filecopy|filecreatedir|filecreateshortcut|filedelete|fileencoding|filegetattrib|filegetshortcut|filegetsize|filegettime|filegetversion|fileinstall|filemovedir|filemove|filereadline|fileread|filerecycleempty|filerecycle|fileremovedir|fileselectfile|fileselectfolder|filesetattrib|filesettime|formattime|getkeystate|groupactivate|groupadd|groupclose|groupdeactivate|guicontrol|guicontrolget|gui|hotkey|ifequal|ifexist|ifgreater|ifgreaterorequal|ifinstring|ifless|iflessorequal|ifmsgbox|ifnotequal|ifnotexist|ifnotinstring|ifwinactive|ifwinexist|ifwinnotactive|ifwinnotexist|imagesearch|inidelete|iniread|iniwrite|inputbox|input|keyhistory|keywait|listhotkeys|listlines|listvars|menu|mouseclickdrag|mouseclick|mousegetpos|mousemove|msgbox|onexit|outputdebug|pause|pixelgetcolor|pixelsearch|postmessage|process|progress|random|regdelete|regread|regwrite|reload|run|runas|runwait|sendevent|sendinput|sendlevel|sendmessage|sendmode|sendplay|sendraw|send|setbatchlines|setcapslockstate|setcontroldelay|setdefaultmousespeed|setenv|setformat|setkeydelay|setmousedelay|setnumlockstate|setscrolllockstate|setstorecapslockmode|setregview|settimer|settitlematchmode|setwindelay|setworkingdir|shutdown|sleep|sort|soundbeep|soundgetwavevolume|soundget|soundplay|soundsetwavevolume|soundset|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|winactivatebottom|winactivate|winclose|wingetactivestats|wingetactivetitle|wingetclass|wingetpos|wingettext|wingettitle|winget|winhide|winkill|winmaximize|winmenuselectitem|winminimizeallundo|winminimizeall|winminimize|winmove|winrestore|winsettitle|winset|winshow|winwaitactive|winwaitclose|winwaitnotactive|winwait)\\b", "name": "support.function.ahk" }, { "match": "\\b(?i:abs|acos|asc|asin|atan|ceil|chr|cos|comobjcreate|comobjactive|comobjarray|comobjconnect|comobjenwrap|comobjerror|comobjflags|comobjget|comobjmissing|comobjparameter|comobjquery|comobjtype|comobjunwrap|comobjvalue|dllcall|exp|fileexist|fileopen|floor|format|func|getkeyname|getkeyvk|getkeysc|getkeystate|il_add|il_create|il_destroy|instr|isbyref|isfunc|islabel|isobject|ln|log|ltrim|lv_add|lv_delete|lv_deletecol|lv_getcount|lv_getnext|lv_gettext|lv_insert|lv_insertcol|lv_modifycol|lv_modify|lv_setimagelist|mod|onmessage|numget|numput|regexmatch|regexreplace|registercallback|round|rtrim|sb_seticon|sb_setparts|sb_settext|sin|sqrt|strget|strlen|strput|strsplit|strreplace|substr|tan|trim|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)(?=\\()\\b", "name": "support.function.ahk" }, { "match": "\\b(?<=\\.)(?i:read|write|readline|writeline|readuint|readint|readint64|readshort|readushort|readchar|readuchar|readdouble|readfloat|writeuint|writeint|writeint64|writeshort|writeushort|writechar|writeuchar|writedouble|writefloat|rawread|rawwrite|seek|tell|close|insert|remove|minindex|maxindex|setcapacity|getcapacity|getaddress|newenum|haskey|clone|isoptional|__new|__call|__get|__set|__delete)(?=\\()\\b", "name": "support.function.ahk" }, { "match": "\\b(?<=\\.)(?i:length|ateof|encoding|__handle|name|isbuiltin|isvariadic|minparams|maxparams|position|pos)(?!\\[|\\(|\\.)\\b", "name": "support.function.ahk" }, { "match": "\\b(?i: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_guievent|a_guicontrol|a_guicontrolevent|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|true|false)\\b", "name": "constant.language.builtin.ahk" }, { "match": "\\b(?|<>|[<>=]=|!=", "name": "punctuation.definition.comparison.ahk" }, { "match": ":|\\?|`|,", "name": "punctuation.ahk" }, { "match": "[\\[\\](){}]", "name": "punctuation.bracket.ahk" }, { "match": "%", "name": "punctuation.definition.variable.percent.ahk" }, { "begin": "(\")", "beginCaptures": { "1": { "name": "punctuation.definition.string.ahk" } }, "end": "(\")(?!\")|^", "endCaptures": { "1": { "name": "punctuation.definition.string.ahk" } }, "name": "string.quoted.double.ahk", "patterns": [ { "match": "\"\"", "name": "constant.character.escape.ahk" } ] } ], "scopeName": "source.ahk", "uuid": "77AC23B6-8A90-11D9-BAA4-000A9584EC8D" }