Team Ai
Datasetpublic

codekingpro/portable-devtools

sourceHugging Faceupdated 5mo agoView on Hugging Face
1likes14kdownloads
automation.py380 linesDownload Raw Back to lexers
1"""2    pygments.lexers.automation3    ~~~~~~~~~~~~~~~~~~~~~~~~~~4 5    Lexers for automation scripting languages.6 7    :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS.8    :license: BSD, see LICENSE for details.9"""10 11from pygments.lexer import RegexLexer, include, bygroups, combined12from pygments.token import Text, Comment, Operator, Name, String, \13    Number, Punctuation, Generic14 15__all__ = ['AutohotkeyLexer', 'AutoItLexer']16 17 18class AutohotkeyLexer(RegexLexer):19    """20    For autohotkey source code.21    """22    name = 'autohotkey'23    url = 'http://www.autohotkey.com/'24    aliases = ['autohotkey', 'ahk']25    filenames = ['*.ahk', '*.ahkl']26    mimetypes = ['text/x-autohotkey']27    version_added = '1.4'28 29    tokens = {30        'root': [31            (r'^(\s*)(/\*)', bygroups(Text, Comment.Multiline), 'incomment'),32            (r'^(\s*)(\()', bygroups(Text, Generic), 'incontinuation'),33            (r'\s+;.*?$', Comment.Single),34            (r'^;.*?$', Comment.Single),35            (r'[]{}(),;[]', Punctuation),36            (r'(in|is|and|or|not)\b', Operator.Word),37            (r'\%[a-zA-Z_#@$][\w#@$]*\%', Name.Variable),38            (r'!=|==|:=|\.=|<<|>>|[-~+/*%=<>&^|?:!.]', Operator),39            include('commands'),40            include('labels'),41            include('builtInFunctions'),42            include('builtInVariables'),43            (r'"', String, combined('stringescape', 'dqs')),44            include('numbers'),45            (r'[a-zA-Z_#@$][\w#@$]*', Name),46            (r'\\|\'', Text),47            (r'\`([,%`abfnrtv\-+;])', String.Escape),48            include('garbage'),49        ],50        'incomment': [51            (r'^\s*\*/', Comment.Multiline, '#pop'),52            (r'[^*]+', Comment.Multiline),53            (r'\*', Comment.Multiline)54        ],55        'incontinuation': [56            (r'^\s*\)', Generic, '#pop'),57            (r'[^)]', Generic),58            (r'[)]', Generic),59        ],60        'commands': [61            (r'(?i)^(\s*)(global|local|static|'62             r'#AllowSameLineComments|#ClipboardTimeout|#CommentFlag|'63             r'#ErrorStdOut|#EscapeChar|#HotkeyInterval|#HotkeyModifierTimeout|'64             r'#Hotstring|#IfWinActive|#IfWinExist|#IfWinNotActive|'65             r'#IfWinNotExist|#IncludeAgain|#Include|#InstallKeybdHook|'66             r'#InstallMouseHook|#KeyHistory|#LTrim|#MaxHotkeysPerInterval|'67             r'#MaxMem|#MaxThreads|#MaxThreadsBuffer|#MaxThreadsPerHotkey|'68             r'#NoEnv|#NoTrayIcon|#Persistent|#SingleInstance|#UseHook|'69             r'#WinActivateForce|AutoTrim|BlockInput|Break|Click|ClipWait|'70             r'Continue|Control|ControlClick|ControlFocus|ControlGetFocus|'71             r'ControlGetPos|ControlGetText|ControlGet|ControlMove|ControlSend|'72             r'ControlSendRaw|ControlSetText|CoordMode|Critical|'73             r'DetectHiddenText|DetectHiddenWindows|Drive|DriveGet|'74             r'DriveSpaceFree|Edit|Else|EnvAdd|EnvDiv|EnvGet|EnvMult|EnvSet|'75             r'EnvSub|EnvUpdate|Exit|ExitApp|FileAppend|'76             r'FileCopy|FileCopyDir|FileCreateDir|FileCreateShortcut|'77             r'FileDelete|FileGetAttrib|FileGetShortcut|FileGetSize|'78             r'FileGetTime|FileGetVersion|FileInstall|FileMove|FileMoveDir|'79             r'FileRead|FileReadLine|FileRecycle|FileRecycleEmpty|'80             r'FileRemoveDir|FileSelectFile|FileSelectFolder|FileSetAttrib|'81             r'FileSetTime|FormatTime|GetKeyState|Gosub|Goto|GroupActivate|'82             r'GroupAdd|GroupClose|GroupDeactivate|Gui|GuiControl|'83             r'GuiControlGet|Hotkey|IfEqual|IfExist|IfGreaterOrEqual|IfGreater|'84             r'IfInString|IfLess|IfLessOrEqual|IfMsgBox|IfNotEqual|IfNotExist|'85             r'IfNotInString|IfWinActive|IfWinExist|IfWinNotActive|'86             r'IfWinNotExist|If |ImageSearch|IniDelete|IniRead|IniWrite|'87             r'InputBox|Input|KeyHistory|KeyWait|ListHotkeys|ListLines|'88             r'ListVars|Loop|Menu|MouseClickDrag|MouseClick|MouseGetPos|'89             r'MouseMove|MsgBox|OnExit|OutputDebug|Pause|PixelGetColor|'90             r'PixelSearch|PostMessage|Process|Progress|Random|RegDelete|'91             r'RegRead|RegWrite|Reload|Repeat|Return|RunAs|RunWait|Run|'92             r'SendEvent|SendInput|SendMessage|SendMode|SendPlay|SendRaw|Send|'93             r'SetBatchLines|SetCapslockState|SetControlDelay|'94             r'SetDefaultMouseSpeed|SetEnv|SetFormat|SetKeyDelay|'95             r'SetMouseDelay|SetNumlockState|SetScrollLockState|'96             r'SetStoreCapslockMode|SetTimer|SetTitleMatchMode|'97             r'SetWinDelay|SetWorkingDir|Shutdown|Sleep|Sort|SoundBeep|'98             r'SoundGet|SoundGetWaveVolume|SoundPlay|SoundSet|'99             r'SoundSetWaveVolume|SplashImage|SplashTextOff|SplashTextOn|'100             r'SplitPath|StatusBarGetText|StatusBarWait|StringCaseSense|'101             r'StringGetPos|StringLeft|StringLen|StringLower|StringMid|'102             r'StringReplace|StringRight|StringSplit|StringTrimLeft|'103             r'StringTrimRight|StringUpper|Suspend|SysGet|Thread|ToolTip|'104             r'Transform|TrayTip|URLDownloadToFile|While|WinActivate|'105             r'WinActivateBottom|WinClose|WinGetActiveStats|WinGetActiveTitle|'106             r'WinGetClass|WinGetPos|WinGetText|WinGetTitle|WinGet|WinHide|'107             r'WinKill|WinMaximize|WinMenuSelectItem|WinMinimizeAllUndo|'108             r'WinMinimizeAll|WinMinimize|WinMove|WinRestore|WinSetTitle|'109             r'WinSet|WinShow|WinWaitActive|WinWaitClose|WinWaitNotActive|'110             r'WinWait)\b', bygroups(Text, Name.Builtin)),111        ],112        'builtInFunctions': [113            (r'(?i)(Abs|ACos|Asc|ASin|ATan|Ceil|Chr|Cos|DllCall|Exp|FileExist|'114             r'Floor|GetKeyState|IL_Add|IL_Create|IL_Destroy|InStr|IsFunc|'115             r'IsLabel|Ln|Log|LV_Add|LV_Delete|LV_DeleteCol|LV_GetCount|'116             r'LV_GetNext|LV_GetText|LV_Insert|LV_InsertCol|LV_Modify|'117             r'LV_ModifyCol|LV_SetImageList|Mod|NumGet|NumPut|OnMessage|'118             r'RegExMatch|RegExReplace|RegisterCallback|Round|SB_SetIcon|'119             r'SB_SetParts|SB_SetText|Sin|Sqrt|StrLen|SubStr|Tan|TV_Add|'120             r'TV_Delete|TV_GetChild|TV_GetCount|TV_GetNext|TV_Get|'121             r'TV_GetParent|TV_GetPrev|TV_GetSelection|TV_GetText|TV_Modify|'122             r'VarSetCapacity|WinActive|WinExist|Object|ComObjActive|'123             r'ComObjArray|ComObjEnwrap|ComObjUnwrap|ComObjParameter|'124             r'ComObjType|ComObjConnect|ComObjCreate|ComObjGet|ComObjError|'125             r'ComObjValue|Insert|MinIndex|MaxIndex|Remove|SetCapacity|'126             r'GetCapacity|GetAddress|_NewEnum|FileOpen|Read|Write|ReadLine|'127             r'WriteLine|ReadNumType|WriteNumType|RawRead|RawWrite|Seek|Tell|'128             r'Close|Next|IsObject|StrPut|StrGet|Trim|LTrim|RTrim)\b',129             Name.Function),130        ],131        'builtInVariables': [132            (r'(?i)(A_AhkPath|A_AhkVersion|A_AppData|A_AppDataCommon|'133             r'A_AutoTrim|A_BatchLines|A_CaretX|A_CaretY|A_ComputerName|'134             r'A_ControlDelay|A_Cursor|A_DDDD|A_DDD|A_DD|A_DefaultMouseSpeed|'135             r'A_Desktop|A_DesktopCommon|A_DetectHiddenText|'136             r'A_DetectHiddenWindows|A_EndChar|A_EventInfo|A_ExitReason|'137             r'A_FormatFloat|A_FormatInteger|A_Gui|A_GuiEvent|A_GuiControl|'138             r'A_GuiControlEvent|A_GuiHeight|A_GuiWidth|A_GuiX|A_GuiY|A_Hour|'139             r'A_IconFile|A_IconHidden|A_IconNumber|A_IconTip|A_Index|'140             r'A_IPAddress1|A_IPAddress2|A_IPAddress3|A_IPAddress4|A_ISAdmin|'141             r'A_IsCompiled|A_IsCritical|A_IsPaused|A_IsSuspended|A_KeyDelay|'142             r'A_Language|A_LastError|A_LineFile|A_LineNumber|A_LoopField|'143             r'A_LoopFileAttrib|A_LoopFileDir|A_LoopFileExt|A_LoopFileFullPath|'144             r'A_LoopFileLongPath|A_LoopFileName|A_LoopFileShortName|'145             r'A_LoopFileShortPath|A_LoopFileSize|A_LoopFileSizeKB|'146             r'A_LoopFileSizeMB|A_LoopFileTimeAccessed|A_LoopFileTimeCreated|'147             r'A_LoopFileTimeModified|A_LoopReadLine|A_LoopRegKey|'148             r'A_LoopRegName|A_LoopRegSubkey|A_LoopRegTimeModified|'149             r'A_LoopRegType|A_MDAY|A_Min|A_MM|A_MMM|A_MMMM|A_Mon|A_MouseDelay|'150             r'A_MSec|A_MyDocuments|A_Now|A_NowUTC|A_NumBatchLines|A_OSType|'151             r'A_OSVersion|A_PriorHotkey|A_ProgramFiles|A_Programs|'152             r'A_ProgramsCommon|A_ScreenHeight|A_ScreenWidth|A_ScriptDir|'153             r'A_ScriptFullPath|A_ScriptName|A_Sec|A_Space|A_StartMenu|'154             r'A_StartMenuCommon|A_Startup|A_StartupCommon|A_StringCaseSense|'155             r'A_Tab|A_Temp|A_ThisFunc|A_ThisHotkey|A_ThisLabel|A_ThisMenu|'156             r'A_ThisMenuItem|A_ThisMenuItemPos|A_TickCount|A_TimeIdle|'157             r'A_TimeIdlePhysical|A_TimeSincePriorHotkey|A_TimeSinceThisHotkey|'158             r'A_TitleMatchMode|A_TitleMatchModeSpeed|A_UserName|A_WDay|'159             r'A_WinDelay|A_WinDir|A_WorkingDir|A_YDay|A_YEAR|A_YWeek|A_YYYY|'160             r'Clipboard|ClipboardAll|ComSpec|ErrorLevel|ProgramFiles|True|'161             r'False|A_IsUnicode|A_FileEncoding|A_OSVersion|A_PtrSize)\b',162             Name.Variable),163        ],164        'labels': [165            # hotkeys and labels166            # technically, hotkey names are limited to named keys and buttons167            (r'(^\s*)([^:\s("]+?:{1,2})', bygroups(Text, Name.Label)),168            (r'(^\s*)(::[^:\s]+?::)', bygroups(Text, Name.Label)),169        ],170        'numbers': [171            (r'(\d+\.\d*|\d*\.\d+)([eE][+-]?[0-9]+)?', Number.Float),172            (r'\d+[eE][+-]?[0-9]+', Number.Float),173            (r'0\d+', Number.Oct),174            (r'0[xX][a-fA-F0-9]+', Number.Hex),175            (r'\d+L', Number.Integer.Long),176            (r'\d+', Number.Integer)177        ],178        'stringescape': [179            (r'\"\"|\`([,%`abfnrtv])', String.Escape),180        ],181        'strings': [182            (r'[^"\n]+', String),183        ],184        'dqs': [185            (r'"', String, '#pop'),186            include('strings')187        ],188        'garbage': [189            (r'[^\S\n]', Text),190            # (r'.', Text),      # no cheating191        ],192    }193 194 195class AutoItLexer(RegexLexer):196    """197    For AutoIt files.198 199    AutoIt is a freeware BASIC-like scripting language200    designed for automating the Windows GUI and general scripting201    """202    name = 'AutoIt'203    url = 'http://www.autoitscript.com/site/autoit/'204    aliases = ['autoit']205    filenames = ['*.au3']206    mimetypes = ['text/x-autoit']207    version_added = '1.6'208 209    # Keywords, functions, macros from au3.keywords.properties210    # which can be found in AutoIt installed directory, e.g.211    # c:\Program Files (x86)\AutoIt3\SciTE\au3.keywords.properties212 213    keywords = """\214    #include-once #include #endregion #forcedef #forceref #region215    and byref case continueloop dim do else elseif endfunc endif216    endselect exit exitloop for func global217    if local next not or return select step218    then to until wend while exit""".split()219 220    functions = """\221    abs acos adlibregister adlibunregister asc ascw asin assign atan222    autoitsetoption autoitwingettitle autoitwinsettitle beep binary binarylen223    binarymid binarytostring bitand bitnot bitor bitrotate bitshift bitxor224    blockinput break call cdtray ceiling chr chrw clipget clipput consoleread225    consolewrite consolewriteerror controlclick controlcommand controldisable226    controlenable controlfocus controlgetfocus controlgethandle controlgetpos227    controlgettext controlhide controllistview controlmove controlsend228    controlsettext controlshow controltreeview cos dec dircopy dircreate229    dirgetsize dirmove dirremove dllcall dllcalladdress dllcallbackfree230    dllcallbackgetptr dllcallbackregister dllclose dllopen dllstructcreate231    dllstructgetdata dllstructgetptr dllstructgetsize dllstructsetdata232    drivegetdrive drivegetfilesystem drivegetlabel drivegetserial drivegettype233    drivemapadd drivemapdel drivemapget drivesetlabel drivespacefree234    drivespacetotal drivestatus envget envset envupdate eval execute exp235    filechangedir fileclose filecopy filecreatentfslink filecreateshortcut236    filedelete fileexists filefindfirstfile filefindnextfile fileflush237    filegetattrib filegetencoding filegetlongname filegetpos filegetshortcut238    filegetshortname filegetsize filegettime filegetversion fileinstall filemove239    fileopen fileopendialog fileread filereadline filerecycle filerecycleempty240    filesavedialog fileselectfolder filesetattrib filesetpos filesettime241    filewrite filewriteline floor ftpsetproxy guicreate guictrlcreateavi242    guictrlcreatebutton guictrlcreatecheckbox guictrlcreatecombo243    guictrlcreatecontextmenu guictrlcreatedate guictrlcreatedummy244    guictrlcreateedit guictrlcreategraphic guictrlcreategroup guictrlcreateicon245    guictrlcreateinput guictrlcreatelabel guictrlcreatelist246    guictrlcreatelistview guictrlcreatelistviewitem guictrlcreatemenu247    guictrlcreatemenuitem guictrlcreatemonthcal guictrlcreateobj248    guictrlcreatepic guictrlcreateprogress guictrlcreateradio249    guictrlcreateslider guictrlcreatetab guictrlcreatetabitem250    guictrlcreatetreeview guictrlcreatetreeviewitem guictrlcreateupdown251    guictrldelete guictrlgethandle guictrlgetstate guictrlread guictrlrecvmsg252    guictrlregisterlistviewsort guictrlsendmsg guictrlsendtodummy253    guictrlsetbkcolor guictrlsetcolor guictrlsetcursor guictrlsetdata254    guictrlsetdefbkcolor guictrlsetdefcolor guictrlsetfont guictrlsetgraphic255    guictrlsetimage guictrlsetlimit guictrlsetonevent guictrlsetpos256    guictrlsetresizing guictrlsetstate guictrlsetstyle guictrlsettip guidelete257    guigetcursorinfo guigetmsg guigetstyle guiregistermsg guisetaccelerators258    guisetbkcolor guisetcoord guisetcursor guisetfont guisethelp guiseticon259    guisetonevent guisetstate guisetstyle guistartgroup guiswitch hex hotkeyset260    httpsetproxy httpsetuseragent hwnd inetclose inetget inetgetinfo inetgetsize261    inetread inidelete iniread inireadsection inireadsectionnames262    inirenamesection iniwrite iniwritesection inputbox int isadmin isarray263    isbinary isbool isdeclared isdllstruct isfloat ishwnd isint iskeyword264    isnumber isobj isptr isstring log memgetstats mod mouseclick mouseclickdrag265    mousedown mousegetcursor mousegetpos mousemove mouseup mousewheel msgbox266    number objcreate objcreateinterface objevent objevent objget objname267    onautoitexitregister onautoitexitunregister opt ping pixelchecksum268    pixelgetcolor pixelsearch pluginclose pluginopen processclose processexists269    processgetstats processlist processsetpriority processwait processwaitclose270    progressoff progresson progressset ptr random regdelete regenumkey271    regenumval regread regwrite round run runas runaswait runwait send272    sendkeepactive seterror setextended shellexecute shellexecutewait shutdown273    sin sleep soundplay soundsetwavevolume splashimageon splashoff splashtexton274    sqrt srandom statusbargettext stderrread stdinwrite stdioclose stdoutread275    string stringaddcr stringcompare stringformat stringfromasciiarray276    stringinstr stringisalnum stringisalpha stringisascii stringisdigit277    stringisfloat stringisint stringislower stringisspace stringisupper278    stringisxdigit stringleft stringlen stringlower stringmid stringregexp279    stringregexpreplace stringreplace stringright stringsplit stringstripcr280    stringstripws stringtoasciiarray stringtobinary stringtrimleft281    stringtrimright stringupper tan tcpaccept tcpclosesocket tcpconnect282    tcplisten tcpnametoip tcprecv tcpsend tcpshutdown tcpstartup timerdiff283    timerinit tooltip traycreateitem traycreatemenu traygetmsg trayitemdelete284    trayitemgethandle trayitemgetstate trayitemgettext trayitemsetonevent285    trayitemsetstate trayitemsettext traysetclick trayseticon traysetonevent286    traysetpauseicon traysetstate traysettooltip traytip ubound udpbind287    udpclosesocket udpopen udprecv udpsend udpshutdown udpstartup vargettype288    winactivate winactive winclose winexists winflash wingetcaretpos289    wingetclasslist wingetclientsize wingethandle wingetpos wingetprocess290    wingetstate wingettext wingettitle winkill winlist winmenuselectitem291    winminimizeall winminimizeallundo winmove winsetontop winsetstate292    winsettitle winsettrans winwait winwaitactive winwaitclose293    winwaitnotactive""".split()294 295    macros = """\296    @appdatacommondir @appdatadir @autoitexe @autoitpid @autoitversion297    @autoitx64 @com_eventobj @commonfilesdir @compiled @computername @comspec298    @cpuarch @cr @crlf @desktopcommondir @desktopdepth @desktopdir299    @desktopheight @desktoprefresh @desktopwidth @documentscommondir @error300    @exitcode @exitmethod @extended @favoritescommondir @favoritesdir301    @gui_ctrlhandle @gui_ctrlid @gui_dragfile @gui_dragid @gui_dropid302    @gui_winhandle @homedrive @homepath @homeshare @hotkeypressed @hour303    @ipaddress1 @ipaddress2 @ipaddress3 @ipaddress4 @kblayout @lf304    @logondnsdomain @logondomain @logonserver @mday @min @mon @msec @muilang305    @mydocumentsdir @numparams @osarch @osbuild @oslang @osservicepack @ostype306    @osversion @programfilesdir @programscommondir @programsdir @scriptdir307    @scriptfullpath @scriptlinenumber @scriptname @sec @startmenucommondir308    @startmenudir @startupcommondir @startupdir @sw_disable @sw_enable @sw_hide309    @sw_lock @sw_maximize @sw_minimize @sw_restore @sw_show @sw_showdefault310    @sw_showmaximized @sw_showminimized @sw_showminnoactive @sw_showna311    @sw_shownoactivate @sw_shownormal @sw_unlock @systemdir @tab @tempdir312    @tray_id @trayiconflashing @trayiconvisible @username @userprofiledir @wday313    @windowsdir @workingdir @yday @year""".split()314 315    tokens = {316        'root': [317            (r';.*\n', Comment.Single),318            (r'(#comments-start|#cs)(.|\n)*?(#comments-end|#ce)',319             Comment.Multiline),320            (r'[\[\]{}(),;]', Punctuation),321            (r'(and|or|not)\b', Operator.Word),322            (r'[$|@][a-zA-Z_]\w*', Name.Variable),323            (r'!=|==|:=|\.=|<<|>>|[-~+/*%=<>&^|?:!.]', Operator),324            include('commands'),325            include('labels'),326            include('builtInFunctions'),327            include('builtInMarcros'),328            (r'"', String, combined('stringescape', 'dqs')),329            (r"'", String, 'sqs'),330            include('numbers'),331            (r'[a-zA-Z_#@$][\w#@$]*', Name),332            (r'\\|\'', Text),333            (r'\`([,%`abfnrtv\-+;])', String.Escape),334            (r'_\n', Text),  # Line continuation335            include('garbage'),336        ],337        'commands': [338            (r'(?i)(\s*)({})\b'.format('|'.join(keywords)),339             bygroups(Text, Name.Builtin)),340        ],341        'builtInFunctions': [342            (r'(?i)({})\b'.format('|'.join(functions)),343             Name.Function),344        ],345        'builtInMarcros': [346            (r'(?i)({})\b'.format('|'.join(macros)),347             Name.Variable.Global),348        ],349        'labels': [350            # sendkeys351            (r'(^\s*)(\{\S+?\})', bygroups(Text, Name.Label)),352        ],353        'numbers': [354            (r'(\d+\.\d*|\d*\.\d+)([eE][+-]?[0-9]+)?', Number.Float),355            (r'\d+[eE][+-]?[0-9]+', Number.Float),356            (r'0\d+', Number.Oct),357            (r'0[xX][a-fA-F0-9]+', Number.Hex),358            (r'\d+L', Number.Integer.Long),359            (r'\d+', Number.Integer)360        ],361        'stringescape': [362            (r'\"\"|\`([,%`abfnrtv])', String.Escape),363        ],364        'strings': [365            (r'[^"\n]+', String),366        ],367        'dqs': [368            (r'"', String, '#pop'),369            include('strings')370        ],371        'sqs': [372            (r'\'\'|\`([,%`abfnrtv])', String.Escape),373            (r"'", String, '#pop'),374            (r"[^'\n]+", String)375        ],376        'garbage': [377            (r'[^\S\n]', Text),378        ],379    }380 
codekingpro/portable-devtools · Team Ai