source: node_modules/highlight.js/lib/languages/autoit.js@ 65b6638

main
Last change on this file since 65b6638 was d24f17c, checked in by Aleksandar Panovski <apano77@…>, 15 months ago

Initial commit

  • Property mode set to 100644
File size: 9.4 KB
Line 
1/*
2Language: AutoIt
3Author: Manh Tuan <junookyo@gmail.com>
4Description: AutoIt language definition
5Category: scripting
6*/
7
8/** @type LanguageFn */
9function autoit(hljs) {
10 const KEYWORDS = 'ByRef Case Const ContinueCase ContinueLoop ' +
11 'Dim Do Else ElseIf EndFunc EndIf EndSelect ' +
12 'EndSwitch EndWith Enum Exit ExitLoop For Func ' +
13 'Global If In Local Next ReDim Return Select Static ' +
14 'Step Switch Then To Until Volatile WEnd While With';
15
16 const DIRECTIVES = [
17 "EndRegion",
18 "forcedef",
19 "forceref",
20 "ignorefunc",
21 "include",
22 "include-once",
23 "NoTrayIcon",
24 "OnAutoItStartRegister",
25 "pragma",
26 "Region",
27 "RequireAdmin",
28 "Tidy_Off",
29 "Tidy_On",
30 "Tidy_Parameters"
31 ];
32
33 const LITERAL = 'True False And Null Not Or Default';
34
35 const BUILT_IN
36 = 'Abs ACos AdlibRegister AdlibUnRegister Asc AscW ASin Assign ATan AutoItSetOption AutoItWinGetTitle AutoItWinSetTitle Beep Binary BinaryLen BinaryMid BinaryToString BitAND BitNOT BitOR BitRotate BitShift BitXOR BlockInput Break Call CDTray Ceiling Chr ChrW ClipGet ClipPut ConsoleRead ConsoleWrite ConsoleWriteError ControlClick ControlCommand ControlDisable ControlEnable ControlFocus ControlGetFocus ControlGetHandle ControlGetPos ControlGetText ControlHide ControlListView ControlMove ControlSend ControlSetText ControlShow ControlTreeView Cos Dec DirCopy DirCreate DirGetSize DirMove DirRemove DllCall DllCallAddress DllCallbackFree DllCallbackGetPtr DllCallbackRegister DllClose DllOpen DllStructCreate DllStructGetData DllStructGetPtr DllStructGetSize DllStructSetData DriveGetDrive DriveGetFileSystem DriveGetLabel DriveGetSerial DriveGetType DriveMapAdd DriveMapDel DriveMapGet DriveSetLabel DriveSpaceFree DriveSpaceTotal DriveStatus EnvGet EnvSet EnvUpdate Eval Execute Exp FileChangeDir FileClose FileCopy FileCreateNTFSLink FileCreateShortcut FileDelete FileExists FileFindFirstFile FileFindNextFile FileFlush FileGetAttrib FileGetEncoding FileGetLongName FileGetPos FileGetShortcut FileGetShortName FileGetSize FileGetTime FileGetVersion FileInstall FileMove FileOpen FileOpenDialog FileRead FileReadLine FileReadToArray FileRecycle FileRecycleEmpty FileSaveDialog FileSelectFolder FileSetAttrib FileSetEnd FileSetPos FileSetTime FileWrite FileWriteLine Floor FtpSetProxy FuncName GUICreate GUICtrlCreateAvi GUICtrlCreateButton GUICtrlCreateCheckbox GUICtrlCreateCombo GUICtrlCreateContextMenu GUICtrlCreateDate GUICtrlCreateDummy GUICtrlCreateEdit GUICtrlCreateGraphic GUICtrlCreateGroup GUICtrlCreateIcon GUICtrlCreateInput GUICtrlCreateLabel GUICtrlCreateList GUICtrlCreateListView GUICtrlCreateListViewItem GUICtrlCreateMenu GUICtrlCreateMenuItem GUICtrlCreateMonthCal GUICtrlCreateObj GUICtrlCreatePic GUICtrlCreateProgress GUICtrlCreateRadio GUICtrlCreateSlider GUICtrlCreateTab GUICtrlCreateTabItem GUICtrlCreateTreeView GUICtrlCreateTreeViewItem GUICtrlCreateUpdown GUICtrlDelete GUICtrlGetHandle GUICtrlGetState GUICtrlRead GUICtrlRecvMsg GUICtrlRegisterListViewSort GUICtrlSendMsg GUICtrlSendToDummy GUICtrlSetBkColor GUICtrlSetColor GUICtrlSetCursor GUICtrlSetData GUICtrlSetDefBkColor GUICtrlSetDefColor GUICtrlSetFont GUICtrlSetGraphic GUICtrlSetImage GUICtrlSetLimit GUICtrlSetOnEvent GUICtrlSetPos GUICtrlSetResizing GUICtrlSetState GUICtrlSetStyle GUICtrlSetTip GUIDelete GUIGetCursorInfo GUIGetMsg GUIGetStyle GUIRegisterMsg GUISetAccelerators GUISetBkColor GUISetCoord GUISetCursor GUISetFont GUISetHelp GUISetIcon GUISetOnEvent GUISetState GUISetStyle GUIStartGroup GUISwitch Hex HotKeySet HttpSetProxy HttpSetUserAgent HWnd InetClose InetGet InetGetInfo InetGetSize InetRead IniDelete IniRead IniReadSection IniReadSectionNames IniRenameSection IniWrite IniWriteSection InputBox Int IsAdmin IsArray IsBinary IsBool IsDeclared IsDllStruct IsFloat IsFunc IsHWnd IsInt IsKeyword IsNumber IsObj IsPtr IsString Log MemGetStats Mod MouseClick MouseClickDrag MouseDown MouseGetCursor MouseGetPos MouseMove MouseUp MouseWheel MsgBox Number ObjCreate ObjCreateInterface ObjEvent ObjGet ObjName OnAutoItExitRegister OnAutoItExitUnRegister Ping PixelChecksum PixelGetColor PixelSearch ProcessClose ProcessExists ProcessGetStats ProcessList ProcessSetPriority ProcessWait ProcessWaitClose ProgressOff ProgressOn ProgressSet Ptr Random RegDelete RegEnumKey RegEnumVal RegRead RegWrite Round Run RunAs RunAsWait RunWait Send SendKeepActive SetError SetExtended ShellExecute ShellExecuteWait Shutdown Sin Sleep SoundPlay SoundSetWaveVolume SplashImageOn SplashOff SplashTextOn Sqrt SRandom StatusbarGetText StderrRead StdinWrite StdioClose StdoutRead String StringAddCR StringCompare StringFormat StringFromASCIIArray StringInStr StringIsAlNum StringIsAlpha StringIsASCII StringIsDigit StringIsFloat StringIsInt StringIsLower StringIsSpace StringIsUpper StringIsXDigit StringLeft StringLen StringLower StringMid StringRegExp StringRegExpReplace StringReplace StringReverse StringRight StringSplit StringStripCR StringStripWS StringToASCIIArray StringToBinary StringTrimLeft StringTrimRight StringUpper Tan TCPAccept TCPCloseSocket TCPConnect TCPListen TCPNameToIP TCPRecv TCPSend TCPShutdown, UDPShutdown TCPStartup, UDPStartup TimerDiff TimerInit ToolTip TrayCreateItem TrayCreateMenu TrayGetMsg TrayItemDelete TrayItemGetHandle TrayItemGetState TrayItemGetText TrayItemSetOnEvent TrayItemSetState TrayItemSetText TraySetClick TraySetIcon TraySetOnEvent TraySetPauseIcon TraySetState TraySetToolTip TrayTip UBound UDPBind UDPCloseSocket UDPOpen UDPRecv UDPSend VarGetType WinActivate WinActive WinClose WinExists WinFlash WinGetCaretPos WinGetClassList WinGetClientSize WinGetHandle WinGetPos WinGetProcess WinGetState WinGetText WinGetTitle WinKill WinList WinMenuSelectItem WinMinimizeAll WinMinimizeAllUndo WinMove WinSetOnTop WinSetState WinSetTitle WinSetTrans WinWait WinWaitActive WinWaitClose WinWaitNotActive';
37
38 const COMMENT = {
39 variants: [
40 hljs.COMMENT(';', '$', {
41 relevance: 0
42 }),
43 hljs.COMMENT('#cs', '#ce'),
44 hljs.COMMENT('#comments-start', '#comments-end')
45 ]
46 };
47
48 const VARIABLE = {
49 begin: '\\$[A-z0-9_]+'
50 };
51
52 const STRING = {
53 className: 'string',
54 variants: [
55 {
56 begin: /"/,
57 end: /"/,
58 contains: [{
59 begin: /""/,
60 relevance: 0
61 }]
62 },
63 {
64 begin: /'/,
65 end: /'/,
66 contains: [{
67 begin: /''/,
68 relevance: 0
69 }]
70 }
71 ]
72 };
73
74 const NUMBER = {
75 variants: [
76 hljs.BINARY_NUMBER_MODE,
77 hljs.C_NUMBER_MODE
78 ]
79 };
80
81 const PREPROCESSOR = {
82 className: 'meta',
83 begin: '#',
84 end: '$',
85 keywords: {
86 'meta-keyword': DIRECTIVES
87 },
88 contains: [
89 {
90 begin: /\\\n/,
91 relevance: 0
92 },
93 {
94 beginKeywords: 'include',
95 keywords: {
96 'meta-keyword': 'include'
97 },
98 end: '$',
99 contains: [
100 STRING,
101 {
102 className: 'meta-string',
103 variants: [
104 {
105 begin: '<',
106 end: '>'
107 },
108 {
109 begin: /"/,
110 end: /"/,
111 contains: [{
112 begin: /""/,
113 relevance: 0
114 }]
115 },
116 {
117 begin: /'/,
118 end: /'/,
119 contains: [{
120 begin: /''/,
121 relevance: 0
122 }]
123 }
124 ]
125 }
126 ]
127 },
128 STRING,
129 COMMENT
130 ]
131 };
132
133 const CONSTANT = {
134 className: 'symbol',
135 // begin: '@',
136 // end: '$',
137 // keywords: 'AppDataCommonDir AppDataDir AutoItExe AutoItPID AutoItVersion AutoItX64 COM_EventObj CommonFilesDir Compiled ComputerName ComSpec CPUArch CR CRLF DesktopCommonDir DesktopDepth DesktopDir DesktopHeight DesktopRefresh DesktopWidth DocumentsCommonDir error exitCode exitMethod extended FavoritesCommonDir FavoritesDir GUI_CtrlHandle GUI_CtrlId GUI_DragFile GUI_DragId GUI_DropId GUI_WinHandle HomeDrive HomePath HomeShare HotKeyPressed HOUR IPAddress1 IPAddress2 IPAddress3 IPAddress4 KBLayout LF LocalAppDataDir LogonDNSDomain LogonDomain LogonServer MDAY MIN MON MSEC MUILang MyDocumentsDir NumParams OSArch OSBuild OSLang OSServicePack OSType OSVersion ProgramFilesDir ProgramsCommonDir ProgramsDir ScriptDir ScriptFullPath ScriptLineNumber ScriptName SEC StartMenuCommonDir StartMenuDir StartupCommonDir StartupDir SW_DISABLE SW_ENABLE SW_HIDE SW_LOCK SW_MAXIMIZE SW_MINIMIZE SW_RESTORE SW_SHOW SW_SHOWDEFAULT SW_SHOWMAXIMIZED SW_SHOWMINIMIZED SW_SHOWMINNOACTIVE SW_SHOWNA SW_SHOWNOACTIVATE SW_SHOWNORMAL SW_UNLOCK SystemDir TAB TempDir TRAY_ID TrayIconFlashing TrayIconVisible UserName UserProfileDir WDAY WindowsDir WorkingDir YDAY YEAR',
138 // relevance: 5
139 begin: '@[A-z0-9_]+'
140 };
141
142 const FUNCTION = {
143 className: 'function',
144 beginKeywords: 'Func',
145 end: '$',
146 illegal: '\\$|\\[|%',
147 contains: [
148 hljs.UNDERSCORE_TITLE_MODE,
149 {
150 className: 'params',
151 begin: '\\(',
152 end: '\\)',
153 contains: [
154 VARIABLE,
155 STRING,
156 NUMBER
157 ]
158 }
159 ]
160 };
161
162 return {
163 name: 'AutoIt',
164 case_insensitive: true,
165 illegal: /\/\*/,
166 keywords: {
167 keyword: KEYWORDS,
168 built_in: BUILT_IN,
169 literal: LITERAL
170 },
171 contains: [
172 COMMENT,
173 VARIABLE,
174 STRING,
175 NUMBER,
176 PREPROCESSOR,
177 CONSTANT,
178 FUNCTION
179 ]
180 };
181}
182
183module.exports = autoit;
Note: See TracBrowser for help on using the repository browser.