<?xml version="1.0"?>

<!DOCTYPE MODE SYSTEM "xmode.dtd">

<!-- Autoit3 mode by David Perez -->
<MODE>
	<PROPS>
		<PROPERTY NAME="lineComment" VALUE=";" />
	</PROPS>

	<RULES IGNORE_CASE="TRUE" HIGHLIGHT_DIGITS="TRUE">
		<SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">
			<BEGIN>"</BEGIN>
			<END>"</END>
		</SPAN>
		<SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">
			<BEGIN>'</BEGIN>
			<END>'</END>
		</SPAN>
		<MARK_FOLLOWING TYPE="KEYWORD3">$</MARK_FOLLOWING>
		
		<EOL_SPAN TYPE="COMMENT1">;</EOL_SPAN>

		<!-- Comparison operators -->
		<SEQ TYPE="OPERATOR">&lt;</SEQ>
		<SEQ TYPE="OPERATOR">&lt;=</SEQ>
		<SEQ TYPE="OPERATOR">&gt;=</SEQ>
		<SEQ TYPE="OPERATOR">&gt;</SEQ>
		<SEQ TYPE="OPERATOR">=</SEQ>
		<SEQ TYPE="OPERATOR">&lt;&gt;</SEQ>
		<SEQ TYPE="OPERATOR">.</SEQ>

		<!-- Arithmetic operators -->
		<SEQ TYPE="OPERATOR">+</SEQ>
		<SEQ TYPE="OPERATOR">-</SEQ>
		<SEQ TYPE="OPERATOR">*</SEQ>
		<SEQ TYPE="OPERATOR">/</SEQ>
		<SEQ TYPE="OPERATOR">^</SEQ>

		<!-- Concatenation operators -->
		<SEQ TYPE="OPERATOR">&amp;</SEQ>
 
		<!-- Logical operators -->
		<!-- See in keywords: and, or, not, xor, eqv -->

		<KEYWORDS>
			<!--Keywords-->
			<KEYWORD1>ByRef</KEYWORD1>
			<KEYWORD1>Case</KEYWORD1>
			<KEYWORD1>ContinueLoop</KEYWORD1>
			<KEYWORD1>Dim</KEYWORD1>
			<KEYWORD1>Do</KEYWORD1>
			<KEYWORD1>Else</KEYWORD1>
			<KEYWORD1>ElseIf</KEYWORD1>
			<KEYWORD1>EndFunc</KEYWORD1>
			<KEYWORD1>EndIf</KEYWORD1>
			<KEYWORD1>EndSelect</KEYWORD1>
			<KEYWORD1>Exit</KEYWORD1>
			<KEYWORD1>ExitLoop</KEYWORD1>
			<KEYWORD1>For</KEYWORD1>
			<KEYWORD1>Func</KEYWORD1>
			<KEYWORD1>Global</KEYWORD1>
			<KEYWORD1>If</KEYWORD1>
			<KEYWORD1>Local</KEYWORD1>
			<KEYWORD1>Next</KEYWORD1>
			<KEYWORD1>Return</KEYWORD1>
			<KEYWORD1>ReDim</KEYWORD1>
			<KEYWORD1>Select</KEYWORD1>
			<KEYWORD1>Step</KEYWORD1>
			<KEYWORD1>Then</KEYWORD1>
			<KEYWORD1>To</KEYWORD1>
			<KEYWORD1>Until</KEYWORD1>
			<KEYWORD1>Wend</KEYWORD1>
			<KEYWORD1>While</KEYWORD1>
			<KEYWORD1>Exit</KEYWORD1>

			<!-- Operators -->
			<OPERATOR>mod</OPERATOR>
			<OPERATOR>and</OPERATOR>
			<OPERATOR>or</OPERATOR>
			<OPERATOR>not</OPERATOR>

			<!-- Macros-->
			<LITERAL2>@AppDataCommonDir</LITERAL2>
			<LITERAL2>@AppDataDir</LITERAL2>
			<LITERAL2>@AutoItVersion</LITERAL2>
			<LITERAL2>@CommonFilesDir</LITERAL2>
			<LITERAL2>@Compiled</LITERAL2>
			<LITERAL2>@ComputerName</LITERAL2>
			<LITERAL2>@ComSpec</LITERAL2>
			<LITERAL2>@CR</LITERAL2>
			<LITERAL2>@CRLF</LITERAL2>
			<LITERAL2>@DesktopCommonDir</LITERAL2>
			<LITERAL2>@DesktopDir</LITERAL2>
			<LITERAL2>@DesktopHeight</LITERAL2>
			<LITERAL2>@DesktopWidth</LITERAL2>
			<LITERAL2>@DesktopDepth</LITERAL2>
			<LITERAL2>@DesktopRefresh</LITERAL2>
			<LITERAL2>@DocumentsCommonDir</LITERAL2>
			<LITERAL2>@error</LITERAL2>
			<LITERAL2>@FavoritesCommonDir</LITERAL2>
			<LITERAL2>@FavoritesDir</LITERAL2>
			<LITERAL2>@HomeDrive</LITERAL2>
			<LITERAL2>@HomePath</LITERAL2>
			<LITERAL2>@HomeShare</LITERAL2>
			<LITERAL2>@HOUR</LITERAL2>
			<LITERAL2>@IPAddress1</LITERAL2>
			<LITERAL2>@IPAddress2</LITERAL2>
			<LITERAL2>@IPAddress3</LITERAL2>
			<LITERAL2>@IPAddress4</LITERAL2>
			<LITERAL2>@LF</LITERAL2>
			<LITERAL2>@LogonDNSDomain</LITERAL2>
			<LITERAL2>@LogonDomain</LITERAL2>
			<LITERAL2>@LogonServer</LITERAL2>
			<LITERAL2>@MDAY</LITERAL2>
			<LITERAL2>@MIN</LITERAL2>
			<LITERAL2>@MON</LITERAL2>
			<LITERAL2>@MyDocumentsDir</LITERAL2>
			<LITERAL2>@OSBuild</LITERAL2>
			<LITERAL2>@OSLang</LITERAL2>
			<LITERAL2>@OSServicePack</LITERAL2>
			<LITERAL2>@OSTYPE</LITERAL2>
			<LITERAL2>@OSVersion</LITERAL2>
			<LITERAL2>@ProgramFilesDir</LITERAL2>
			<LITERAL2>@ProgramsCommonDir</LITERAL2>
			<LITERAL2>@ProgramsDir</LITERAL2>
			<LITERAL2>@ScriptDir</LITERAL2>
			<LITERAL2>@ScriptFullPath</LITERAL2>
			<LITERAL2>@ScriptName</LITERAL2>
			<LITERAL2>@SEC</LITERAL2>
			<LITERAL2>@StartMenuCommonDir</LITERAL2>
			<LITERAL2>@StartMenuDir</LITERAL2>
			<LITERAL2>@StartupCommonDir</LITERAL2>
			<LITERAL2>@StartupDir</LITERAL2>
			<LITERAL2>@SW_HIDE</LITERAL2>
			<LITERAL2>@SW_MAXIMIZE</LITERAL2>
			<LITERAL2>@SW_MINIMIZE</LITERAL2>
			<LITERAL2>@SW_RESTORE</LITERAL2>
			<LITERAL2>@SW_SHOW</LITERAL2>
			<LITERAL2>@SW_SHOWDEFAULT</LITERAL2>
			<LITERAL2>@SW_SHOWMAXIMIZED</LITERAL2>
			<LITERAL2>@SW_SHOWMINIMIZED</LITERAL2>
			<LITERAL2>@SW_SHOWMINNOACTIVE</LITERAL2>
			<LITERAL2>@SW_SHOWNA</LITERAL2>
			<LITERAL2>@SW_SHOWNOACTIVATE</LITERAL2>
			<LITERAL2>@SW_SHOWNORMAL</LITERAL2>
			<LITERAL2>@SystemDir</LITERAL2>
			<LITERAL2>@TAB</LITERAL2>
			<LITERAL2>@TempDir</LITERAL2>
			<LITERAL2>@UserProfileDir</LITERAL2>
			<LITERAL2>@UserName</LITERAL2>
			<LITERAL2>@WDAY</LITERAL2>
			<LITERAL2>@WindowsDir</LITERAL2>
			<LITERAL2>@WorkingDir</LITERAL2>
			<LITERAL2>@YDAY</LITERAL2>
			<LITERAL2>@YEAR</LITERAL2>

			<!--Functions-->
			<LITERAL3>Abs</LITERAL3>
			<LITERAL3>ACos</LITERAL3>
			<LITERAL3>AdlibDisable</LITERAL3>
			<LITERAL3>AdlibEnable</LITERAL3>
			<LITERAL3>Asc</LITERAL3>
			<LITERAL3>ASin</LITERAL3>
			<LITERAL3>ATan</LITERAL3>
			<LITERAL3>AutoItSetOption</LITERAL3>
			<LITERAL3>AutoItWinGetTitle</LITERAL3>
			<LITERAL3>AutoItWinSetTitle</LITERAL3>
			<LITERAL3>BitAND</LITERAL3>
			<LITERAL3>BitNOT</LITERAL3>
			<LITERAL3>BitOR</LITERAL3>
			<LITERAL3>BitShift</LITERAL3>
			<LITERAL3>BitXOR</LITERAL3>
			<LITERAL3>BlockInput</LITERAL3>
			<LITERAL3>Break</LITERAL3>
			<LITERAL3>Call</LITERAL3>
			<LITERAL3>CDTray</LITERAL3>
			<LITERAL3>Chr</LITERAL3>
			<LITERAL3>ClipGet</LITERAL3>
			<LITERAL3>ClipPut</LITERAL3>
			<LITERAL3>ControlClick</LITERAL3>
			<LITERAL3>ControlCommand</LITERAL3>
			<LITERAL3>ControlDisable</LITERAL3>
			<LITERAL3>ControlEnable</LITERAL3>
			<LITERAL3>ControlFocus</LITERAL3>
			<LITERAL3>ControlGetFocus</LITERAL3>
			<LITERAL3>ControlGetPos</LITERAL3>
			<LITERAL3>ControlGetText</LITERAL3>
			<LITERAL3>ControlHide</LITERAL3>
			<LITERAL3>ControlMove</LITERAL3>
			<LITERAL3>ControlSend</LITERAL3>
			<LITERAL3>ControlSetText</LITERAL3>
			<LITERAL3>ControlShow</LITERAL3>
			<LITERAL3>Cos</LITERAL3>
			<LITERAL3>Dec</LITERAL3>
			<LITERAL3>DirCopy</LITERAL3>
			<LITERAL3>DirCreate</LITERAL3>
			<LITERAL3>DirMove</LITERAL3>
			<LITERAL3>DirRemove</LITERAL3>
			<LITERAL3>DriveGetDrive</LITERAL3>
			<LITERAL3>DriveGetFileSystem</LITERAL3>
			<LITERAL3>DriveGetLabel</LITERAL3>
			<LITERAL3>DriveGetSerial</LITERAL3>
			<LITERAL3>DriveGetType</LITERAL3>
			<LITERAL3>DriveMapAdd</LITERAL3>
			<LITERAL3>DriveMapDel</LITERAL3>
			<LITERAL3>DriveMapGet</LITERAL3>
			<LITERAL3>DriveSetLabel</LITERAL3>
			<LITERAL3>DriveSpaceFree</LITERAL3>
			<LITERAL3>DriveSpaceTotal</LITERAL3>
			<LITERAL3>DriveStatus</LITERAL3>
			<LITERAL3>EnvGet</LITERAL3>
			<LITERAL3>EnvSet</LITERAL3>
			<LITERAL3>EnvUpdate</LITERAL3>
			<LITERAL3>Eval</LITERAL3>
			<LITERAL3>Exp</LITERAL3>
			<LITERAL3>FileChangeDir</LITERAL3>
			<LITERAL3>FileClose</LITERAL3>
			<LITERAL3>FileCopy</LITERAL3>
			<LITERAL3>FileCreateShortcut</LITERAL3>
			<LITERAL3>FileDelete</LITERAL3>
			<LITERAL3>FileExists</LITERAL3>
			<LITERAL3>FileFindFirstFile</LITERAL3>
			<LITERAL3>FileFindNextFile</LITERAL3>
			<LITERAL3>FileGetAttrib</LITERAL3>
			<LITERAL3>FileGetLongName</LITERAL3>
			<LITERAL3>FileGetShortcut</LITERAL3>
			<LITERAL3>FileGetShortName</LITERAL3>
			<LITERAL3>FileGetSize</LITERAL3>
			<LITERAL3>FileGetTime</LITERAL3>
			<LITERAL3>FileGetVersion</LITERAL3>
			<LITERAL3>FileInstall</LITERAL3>
			<LITERAL3>FileMove</LITERAL3>
			<LITERAL3>FileOpen</LITERAL3>
			<LITERAL3>FileOpenDialog</LITERAL3>
			<LITERAL3>FileRead</LITERAL3>
			<LITERAL3>FileReadLine</LITERAL3>
			<LITERAL3>FileRecycle</LITERAL3>
			<LITERAL3>FileRecycleEmpty</LITERAL3>
			<LITERAL3>FileSaveDialog</LITERAL3>
			<LITERAL3>FileSelectFolder</LITERAL3>
			<LITERAL3>FileSetAttrib</LITERAL3>
			<LITERAL3>FileSetTime</LITERAL3>
			<LITERAL3>FileWrite</LITERAL3>
			<LITERAL3>FileWriteLine</LITERAL3>
			<LITERAL3>Hex</LITERAL3>
			<LITERAL3>HotKeySet</LITERAL3>
			<LITERAL3>IniDelete</LITERAL3>
			<LITERAL3>IniRead</LITERAL3>
			<LITERAL3>IniWrite</LITERAL3>
			<LITERAL3>InputBox</LITERAL3>
			<LITERAL3>Int</LITERAL3>
			<LITERAL3>IsAdmin</LITERAL3>
			<LITERAL3>IsArray</LITERAL3>
			<LITERAL3>IsDeclared</LITERAL3>
			<LITERAL3>IsFloat</LITERAL3>
			<LITERAL3>IsInt</LITERAL3>
			<LITERAL3>IsNumber</LITERAL3>
			<LITERAL3>IsString</LITERAL3>
			<LITERAL3>Log</LITERAL3>
			<LITERAL3>MemGetStats</LITERAL3>
			<LITERAL3>Mod</LITERAL3>
			<LITERAL3>MouseClick</LITERAL3>
			<LITERAL3>MouseClickDrag</LITERAL3>
			<LITERAL3>MouseDown</LITERAL3>
			<LITERAL3>MouseGetCursor</LITERAL3>
			<LITERAL3>MouseGetPos</LITERAL3>
			<LITERAL3>MouseMove</LITERAL3>
			<LITERAL3>MouseUp</LITERAL3>
			<LITERAL3>MouseWheel</LITERAL3>
			<LITERAL3>MsgBox</LITERAL3>
			<LITERAL3>Number</LITERAL3>
			<LITERAL3>PixelChecksum</LITERAL3>
			<LITERAL3>PixelGetColor</LITERAL3>
			<LITERAL3>PixelSearch</LITERAL3>
			<LITERAL3>ProcessClose</LITERAL3>
			<LITERAL3>ProcessExists</LITERAL3>
			<LITERAL3>ProcessSetPriority</LITERAL3>
			<LITERAL3>ProcessWait</LITERAL3>
			<LITERAL3>ProcessWaitClose</LITERAL3>
			<LITERAL3>ProgressOff</LITERAL3>
			<LITERAL3>ProgressOn</LITERAL3>
			<LITERAL3>ProgressSet</LITERAL3>
			<LITERAL3>Random</LITERAL3>
			<LITERAL3>RegDelete</LITERAL3>
			<LITERAL3>RegEnumKey</LITERAL3>
			<LITERAL3>RegEnumVal</LITERAL3>
			<LITERAL3>RegRead</LITERAL3>
			<LITERAL3>RegWrite</LITERAL3>
			<LITERAL3>Round</LITERAL3>
			<LITERAL3>Run</LITERAL3>
			<LITERAL3>RunAsSet</LITERAL3>
			<LITERAL3>RunWait</LITERAL3>
			<LITERAL3>Send</LITERAL3>
			<LITERAL3>SetError</LITERAL3>
			<LITERAL3>Shutdown</LITERAL3>
			<LITERAL3>Sin</LITERAL3>
			<LITERAL3>Sleep</LITERAL3>
			<LITERAL3>SoundPlay</LITERAL3>
			<LITERAL3>SoundSetWaveVolume</LITERAL3>
			<LITERAL3>SplashImageOn</LITERAL3>
			<LITERAL3>SplashOff</LITERAL3>
			<LITERAL3>SplashTextOn</LITERAL3>
			<LITERAL3>Sqrt</LITERAL3>
			<LITERAL3>StatusbarGetText</LITERAL3>
			<LITERAL3>String</LITERAL3>
			<LITERAL3>StringAddCR</LITERAL3>
			<LITERAL3>StringFormat</LITERAL3>
			<LITERAL3>StringInStr</LITERAL3>
			<LITERAL3>StringIsAlNum</LITERAL3>
			<LITERAL3>StringIsAlpha</LITERAL3>
			<LITERAL3>StringIsASCII</LITERAL3>
			<LITERAL3>StringIsDigit</LITERAL3>
			<LITERAL3>StringIsFloat</LITERAL3>
			<LITERAL3>StringIsInt</LITERAL3>
			<LITERAL3>StringIsLower</LITERAL3>
			<LITERAL3>StringIsSpace</LITERAL3>
			<LITERAL3>StringIsUpper</LITERAL3>
			<LITERAL3>StringIsXDigit</LITERAL3>
			<LITERAL3>StringLeft</LITERAL3>
			<LITERAL3>StringLen</LITERAL3>
			<LITERAL3>StringLower</LITERAL3>
			<LITERAL3>StringMid</LITERAL3>
			<LITERAL3>StringReplace</LITERAL3>
			<LITERAL3>StringRight</LITERAL3>
			<LITERAL3>StringSplit</LITERAL3>
			<LITERAL3>StringStripCR</LITERAL3>
			<LITERAL3>StringStripWS</LITERAL3>
			<LITERAL3>StringTrimLeft</LITERAL3>
			<LITERAL3>StringTrimRight</LITERAL3>
			<LITERAL3>StringUpper</LITERAL3>
			<LITERAL3>Tan</LITERAL3>
			<LITERAL3>TimerDiff</LITERAL3>
			<LITERAL3>TimerInit</LITERAL3>
			<LITERAL3>ToolTip</LITERAL3>
			<LITERAL3>TrayTip</LITERAL3>
			<LITERAL3>UBound</LITERAL3>
			<LITERAL3>URLDownloadToFile</LITERAL3>
			<LITERAL3>WinActivate</LITERAL3>
			<LITERAL3>WinActive</LITERAL3>
			<LITERAL3>WinClose</LITERAL3>
			<LITERAL3>WinExists</LITERAL3>
			<LITERAL3>WinGetCaretPos</LITERAL3>
			<LITERAL3>WinGetClassList</LITERAL3>
			<LITERAL3>WinGetClientSize</LITERAL3>
			<LITERAL3>WinGetHandle</LITERAL3>
			<LITERAL3>WinGetPos</LITERAL3>
			<LITERAL3>WinGetState</LITERAL3>
			<LITERAL3>WinGetText</LITERAL3>
			<LITERAL3>WinGetTitle</LITERAL3>
			<LITERAL3>WinKill</LITERAL3>
			<LITERAL3>WinMenuSelectItem</LITERAL3>
			<LITERAL3>WinMinimizeAll</LITERAL3>
			<LITERAL3>WinMinimizeAllUndo</LITERAL3>
			<LITERAL3>WinMove</LITERAL3>
			<LITERAL3>WinSetOnTop</LITERAL3>
			<LITERAL3>WinSetState</LITERAL3>
			<LITERAL3>WinSetTitle</LITERAL3>
			<LITERAL3>WinWait</LITERAL3>
			<LITERAL3>WinWaitActive</LITERAL3>
			<LITERAL3>WinWaitClose</LITERAL3>
			<LITERAL3>WinWaitNotActive</LITERAL3>
		</KEYWORDS>
	</RULES>
</MODE>

