<?xml version="1.0"?>

<!DOCTYPE MODE SYSTEM "xmode.dtd">

<MODE>
	<PROPS>
		<PROPERTY NAME="commentStart" VALUE="/*" />
		<PROPERTY NAME="commentEnd" VALUE="*/" />
		<PROPERTY NAME="lineComment" VALUE="//" />

		<!-- Auto indent -->
		<PROPERTY NAME="indentOpenBrackets" VALUE="{" />
		<PROPERTY NAME="indentCloseBrackets" VALUE="}" />
		<PROPERTY NAME="unalignedOpenBrackets" VALUE="(" />
		<PROPERTY NAME="unalignedCloseBrackets" VALUE=")" />
		<PROPERTY NAME="indentNextLine"
			VALUE="\s*(((if|while)\s*\(|else\s*|else\s+if\s*\(|for\s*\(.*\))[^{;]*)" />
		<PROPERTY NAME="unindentThisLine"
			VALUE="^.*(default:\s*|case.*:.*)$" />
		<PROPERTY NAME="electricKeys" VALUE=":" />
	</PROPS>
	<RULES IGNORE_CASE="FALSE"
		HIGHLIGHT_DIGITS="TRUE"
		DIGIT_RE="(0x[\p{XDigit}]+[lL]?|[\p{Digit}]+(e[\p{Digit}]*)?[lLdDfF]?)">

		<SPAN TYPE="COMMENT1">
			<BEGIN>/*</BEGIN>
			<END>*/</END>
		</SPAN>

		<!-- DocComments may have XML in them -->
		<EOL_SPAN TYPE="COMMENT3" DELEGATE="DOC_COMMENT">///</EOL_SPAN>

		<EOL_SPAN TYPE="COMMENT2">//</EOL_SPAN>

		<EOL_SPAN TYPE="COMMENT4">///</EOL_SPAN>

		<!-- verbatim strings -->
		<SPAN TYPE="LITERAL3" NO_LINE_BREAK="FALSE">
			<BEGIN>@"</BEGIN>
			<END>"</END>
		</SPAN>

		<SPAN TYPE="LITERAL1" ESCAPE="\" NO_LINE_BREAK="TRUE">
			<BEGIN>"</BEGIN>
			<END>"</END>
		</SPAN>

		<SPAN TYPE="LITERAL1" ESCAPE="\" NO_LINE_BREAK="TRUE">
			<BEGIN>'</BEGIN>
			<END>'</END>
		</SPAN>

		<EOL_SPAN TYPE="KEYWORD2">#if</EOL_SPAN>
		<EOL_SPAN TYPE="KEYWORD2">#else</EOL_SPAN>
		<EOL_SPAN TYPE="KEYWORD2">#endif</EOL_SPAN>

		<SEQ TYPE="OPERATOR">~</SEQ>
		<SEQ TYPE="OPERATOR">!</SEQ>
		<SEQ TYPE="OPERATOR">:</SEQ>
		<SEQ TYPE="OPERATOR">;</SEQ>
		<SEQ TYPE="OPERATOR">{</SEQ>
		<SEQ TYPE="OPERATOR">}</SEQ>
		<SEQ TYPE="OPERATOR">,</SEQ>
		<SEQ TYPE="OPERATOR">.</SEQ>
		<SEQ TYPE="OPERATOR">!</SEQ>
		<SEQ TYPE="OPERATOR">[</SEQ>
		<SEQ TYPE="OPERATOR">]</SEQ>
		<SEQ TYPE="OPERATOR">+</SEQ>
		<SEQ TYPE="OPERATOR">-</SEQ>
		<SEQ TYPE="OPERATOR">&gt;</SEQ>
		<SEQ TYPE="OPERATOR">&lt;</SEQ>
		<SEQ TYPE="OPERATOR">=</SEQ>
		<SEQ TYPE="OPERATOR">*</SEQ>
		<SEQ TYPE="OPERATOR">/</SEQ>
		<SEQ TYPE="OPERATOR">\</SEQ>
		<SEQ TYPE="OPERATOR">^</SEQ>
		<SEQ TYPE="OPERATOR">|</SEQ>
		<SEQ TYPE="OPERATOR">&amp;</SEQ>
		<SEQ TYPE="OPERATOR">%</SEQ>
		<SEQ TYPE="OPERATOR">?</SEQ>

		<MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="OPERATOR">(</MARK_PREVIOUS>
		<SEQ TYPE="OPERATOR">)</SEQ>

		<KEYWORDS>

			<KEYWORD1>AddDialogHandler</KEYWORD1>
			<KEYWORD1>AddTrayHandler</KEYWORD1>
			<KEYWORD1>AddTrayIcon</KEYWORD1>
			<KEYWORD1>AppendFile</KEYWORD1>
			<KEYWORD1>ArrayCount</KEYWORD1>
			<KEYWORD1>ArraySort</KEYWORD1>
			<KEYWORD1>Ascii</KEYWORD1>
			<KEYWORD1>Ask</KEYWORD1>
			<KEYWORD1>Assigned</KEYWORD1>
			<KEYWORD1>BlockInput</KEYWORD1>
			<KEYWORD1>CSVFileToArray</KEYWORD1>
			<KEYWORD1>CapsOff</KEYWORD1>
			<KEYWORD1>CapsOn</KEYWORD1>
			<KEYWORD1>ChangeDirectory</KEYWORD1>
			<KEYWORD1>CloseDialog</KEYWORD1>
			<KEYWORD1>CloseWindow</KEYWORD1>
			<KEYWORD1>CompareBitmaps</KEYWORD1>
			<KEYWORD1>ConCat</KEYWORD1>
			<KEYWORD1>CopyFile</KEYWORD1>
			<KEYWORD1>CopyFolder</KEYWORD1>
			<KEYWORD1>CountFiles</KEYWORD1>
			<KEYWORD1>CreateDir</KEYWORD1>
			<KEYWORD1>Crypt</KEYWORD1>
			<KEYWORD1>DBClose</KEYWORD1>
			<KEYWORD1>DBConnect</KEYWORD1>
			<KEYWORD1>DBExec</KEYWORD1>
			<KEYWORD1>DBQuery</KEYWORD1>
			<KEYWORD1>DDEPoke</KEYWORD1>
			<KEYWORD1>DDERequest</KEYWORD1>
			<KEYWORD1>DateStamp</KEYWORD1>
			<KEYWORD1>Day</KEYWORD1>
			<KEYWORD1>DayOfWeek</KEYWORD1>
			<KEYWORD1>DelTrayIcon</KEYWORD1>
			<KEYWORD1>DeleteFile</KEYWORD1>
			<KEYWORD1>DeleteFolder</KEYWORD1>
			<KEYWORD1>Dialog</KEYWORD1>
			<KEYWORD1>EditIniFile</KEYWORD1>
			<KEYWORD1>Else</KEYWORD1>
			<KEYWORD1>End</KEYWORD1>
			<KEYWORD1>EndDialog</KEYWORD1>
			<KEYWORD1>EndIf</KEYWORD1>
			<KEYWORD1>EndWhile</KEYWORD1>
			<KEYWORD1>ExecuteFile</KEYWORD1>
			<KEYWORD1>Exit</KEYWORD1>
			<KEYWORD1>ExportData</KEYWORD1>
			<KEYWORD1>ExtractFileExt</KEYWORD1>
			<KEYWORD1>ExtractFileName</KEYWORD1>
			<KEYWORD1>ExtractFilePath</KEYWORD1>
			<KEYWORD1>FTPDelFile</KEYWORD1>
			<KEYWORD1>FTPGetDirList</KEYWORD1>
			<KEYWORD1>FTPGetFile</KEYWORD1>
			<KEYWORD1>FTPMakeDir</KEYWORD1>
			<KEYWORD1>FTPPutFile</KEYWORD1>
			<KEYWORD1>FTPRemoveDir</KEYWORD1>
			<KEYWORD1>FTPRenameFile</KEYWORD1>
			<KEYWORD1>FileDate</KEYWORD1>
			<KEYWORD1>FileSize</KEYWORD1>
			<KEYWORD1>FileTime</KEYWORD1>
			<KEYWORD1>FindImagePos</KEYWORD1>
			<KEYWORD1>FindWindowWithText</KEYWORD1>
			<KEYWORD1>GetActiveWindow</KEYWORD1>
			<KEYWORD1>GetCaretPos</KEYWORD1>
			<KEYWORD1>GetCheckBox</KEYWORD1>
			<KEYWORD1>GetClipBoard</KEYWORD1>
			<KEYWORD1>GetControlText</KEYWORD1>
			<KEYWORD1>GetCursorPos</KEYWORD1>
			<KEYWORD1>GetDate</KEYWORD1>
			<KEYWORD1>GetDialogAction</KEYWORD1>
			<KEYWORD1>GetDialogProperty</KEYWORD1>
			<KEYWORD1>GetEnvVar</KEYWORD1>
			<KEYWORD1>GetFileList</KEYWORD1>
			<KEYWORD1>GetFocusedObject</KEYWORD1>
			<KEYWORD1>GetListItem</KEYWORD1>
			<KEYWORD1>GetPixelColor</KEYWORD1>
			<KEYWORD1>GetRectCheckSum</KEYWORD1>
			<KEYWORD1>GetScreenRes</KEYWORD1>
			<KEYWORD1>GetTextAtPoint</KEYWORD1>
			<KEYWORD1>GetTextInRect</KEYWORD1>
			<KEYWORD1>GetTextReset</KEYWORD1>
			<KEYWORD1>GetTime</KEYWORD1>
			<KEYWORD1>GetTreeNode</KEYWORD1>
			<KEYWORD1>GetWindowHandle</KEYWORD1>
			<KEYWORD1>GetWindowList</KEYWORD1>
			<KEYWORD1>GetWindowNames</KEYWORD1>
			<KEYWORD1>GetWindowPos</KEYWORD1>
			<KEYWORD1>GetWindowProcess</KEYWORD1>
			<KEYWORD1>GetWindowSize</KEYWORD1>
			<KEYWORD1>GetWindowText</KEYWORD1>
			<KEYWORD1>GetWindowTextEx</KEYWORD1>
			<KEYWORD1>GoSub</KEYWORD1>
			<KEYWORD1>Goto</KEYWORD1>
			<KEYWORD1>HTTPRequest</KEYWORD1>
			<KEYWORD1>Hour</KEYWORD1>
			<KEYWORD1>If</KEYWORD1>
			<KEYWORD1>IfDirExists</KEYWORD1>
			<KEYWORD1>IfFileChanged</KEYWORD1>
			<KEYWORD1>IfFileExists</KEYWORD1>
			<KEYWORD1>IfWindowOpen</KEYWORD1>
			<KEYWORD1>Input</KEYWORD1>
			<KEYWORD1>IsConnectedToInternet</KEYWORD1>
			<KEYWORD1>KillProcess</KEYWORD1>
			<KEYWORD1>LClick</KEYWORD1>
			<KEYWORD1>LDblClick</KEYWORD1>
			<KEYWORD1>LDown</KEYWORD1>
			<KEYWORD1>LTrim</KEYWORD1>
			<KEYWORD1>LUp</KEYWORD1>
			<KEYWORD1>LabelToVar</KEYWORD1>
			<KEYWORD1>Len</KEYWORD1>
			<KEYWORD1>Length</KEYWORD1>
			<KEYWORD1>LibFree</KEYWORD1>
			<KEYWORD1>LibFunc</KEYWORD1>
			<KEYWORD1>LibFuncW</KEYWORD1>
			<KEYWORD1>LibLoad</KEYWORD1>
			<KEYWORD1>LowerCase</KEYWORD1>
			<KEYWORD1>MClick</KEYWORD1>
			<KEYWORD1>MDblClick</KEYWORD1>
			<KEYWORD1>MDown</KEYWORD1>
			<KEYWORD1>MUp</KEYWORD1>
			<KEYWORD1>Macro</KEYWORD1>
			<KEYWORD1>Message</KEYWORD1>
			<KEYWORD1>MessageModal</KEYWORD1>
			<KEYWORD1>MidStr</KEYWORD1>
			<KEYWORD1>Min</KEYWORD1>
			<KEYWORD1>Month</KEYWORD1>
			<KEYWORD1>MouseMove</KEYWORD1>
			<KEYWORD1>MouseMoveRel</KEYWORD1>
			<KEYWORD1>MouseOver</KEYWORD1>
			<KEYWORD1>MoveFile</KEYWORD1>
			<KEYWORD1>MoveWindow</KEYWORD1>
			<KEYWORD1>NumOff</KEYWORD1>
			<KEYWORD1>NumOn</KEYWORD1>
			<KEYWORD1>OnEvent</KEYWORD1>
			<KEYWORD1>PlayWav</KEYWORD1>
			<KEYWORD1>Position</KEYWORD1>
			<KEYWORD1>Press</KEYWORD1>
			<KEYWORD1>ProcessExists</KEYWORD1>
			<KEYWORD1>PushButton</KEYWORD1>
			<KEYWORD1>PutClipBoard</KEYWORD1>
			<KEYWORD1>RClick</KEYWORD1>
			<KEYWORD1>RDblClick</KEYWORD1>
			<KEYWORD1>RDown</KEYWORD1>
			<KEYWORD1>RGB</KEYWORD1>
			<KEYWORD1>RTrim</KEYWORD1>
			<KEYWORD1>RUp</KEYWORD1>
			<KEYWORD1>ReadFile</KEYWORD1>
			<KEYWORD1>ReadIniFile</KEYWORD1>
			<KEYWORD1>ReadLn</KEYWORD1>
			<KEYWORD1>RegEx</KEYWORD1>
			<KEYWORD1>RegistryDelKey</KEYWORD1>
			<KEYWORD1>RegistryDelVal</KEYWORD1>
			<KEYWORD1>RegistryReadKey</KEYWORD1>
			<KEYWORD1>RegistryWriteKey</KEYWORD1>
			<KEYWORD1>Release</KEYWORD1>
			<KEYWORD1>Remark</KEYWORD1>
			<KEYWORD1>RenameFile</KEYWORD1>
			<KEYWORD1>Repeat</KEYWORD1>
			<KEYWORD1>ResetDialogAction</KEYWORD1>
			<KEYWORD1>ResizeWindow</KEYWORD1>
			<KEYWORD1>RetrievePOP3</KEYWORD1>
			<KEYWORD1>RunProgram</KEYWORD1>
			<KEYWORD1>SMTPSendMail</KEYWORD1>
			<KEYWORD1>ScreenCapture</KEYWORD1>
			<KEYWORD1>ScrollOff</KEYWORD1>
			<KEYWORD1>ScrollOn</KEYWORD1>
			<KEYWORD1>Sec</KEYWORD1>
			<KEYWORD1>SelectMenu</KEYWORD1>
			<KEYWORD1>Send</KEYWORD1>
			<KEYWORD1>SendText</KEYWORD1>
			<KEYWORD1>Separate</KEYWORD1>
			<KEYWORD1>SetCheckBox</KEYWORD1>
			<KEYWORD1>SetControlText</KEYWORD1>
			<KEYWORD1>SetDialogObjectColor</KEYWORD1>
			<KEYWORD1>SetDialogObjectFocus</KEYWORD1>
			<KEYWORD1>SetDialogObjectFont</KEYWORD1>
			<KEYWORD1>SetDialogObjectVisible</KEYWORD1>
			<KEYWORD1>SetDialogProperty</KEYWORD1>
			<KEYWORD1>SetEnvVar</KEYWORD1>
			<KEYWORD1>SetFocus</KEYWORD1>
			<KEYWORD1>Show</KEYWORD1>
			<KEYWORD1>ShutDownWindows</KEYWORD1>
			<KEYWORD1>SkipLabel</KEYWORD1>
			<KEYWORD1>SoWrite</KEYWORD1>
			<KEYWORD1>SoWriteLn</KEYWORD1>
			<KEYWORD1>StringReplace</KEYWORD1>
			<KEYWORD1>TelnetClose</KEYWORD1>
			<KEYWORD1>TelnetConnect</KEYWORD1>
			<KEYWORD1>TelnetSend</KEYWORD1>
			<KEYWORD1>TelnetWaitFor</KEYWORD1>
			<KEYWORD1>TimeStamp</KEYWORD1>
			<KEYWORD1>Toolbar</KEYWORD1>
			<KEYWORD1>Trim</KEYWORD1>
			<KEYWORD1>Until</KEYWORD1>
			<KEYWORD1>UpperCase</KEYWORD1>
			<KEYWORD1>Wait</KEYWORD1>
			<KEYWORD1>WaitClipBoard</KEYWORD1>
			<KEYWORD1>WaitCursorChanged</KEYWORD1>
			<KEYWORD1>WaitKeyDown</KEYWORD1>
			<KEYWORD1>WaitPixelColor</KEYWORD1>
			<KEYWORD1>WaitProcessExists</KEYWORD1>
			<KEYWORD1>WaitProcessTerminated</KEYWORD1>
			<KEYWORD1>WaitReady</KEYWORD1>
			<KEYWORD1>WaitRectChanged</KEYWORD1>
			<KEYWORD1>WaitScreenImage</KEYWORD1>
			<KEYWORD1>WaitScreenText</KEYWORD1>
			<KEYWORD1>WaitWindowChanged</KEYWORD1>
			<KEYWORD1>WaitWindowClosed</KEYWORD1>
			<KEYWORD1>WaitWindowOpen</KEYWORD1>
			<KEYWORD1>While</KEYWORD1>
			<KEYWORD1>WindowAction</KEYWORD1>
			<KEYWORD1>WriteLn</KEYWORD1>
			<KEYWORD1>XLAddSheet</KEYWORD1>
			<KEYWORD1>XLCreate</KEYWORD1>
			<KEYWORD1>XLDelCol</KEYWORD1>
			<KEYWORD1>XLDelRow</KEYWORD1>
			<KEYWORD1>XLDelSheet</KEYWORD1>
			<KEYWORD1>XLGetCell</KEYWORD1>
			<KEYWORD1>XLGetSheetDims</KEYWORD1>
			<KEYWORD1>XLOpen</KEYWORD1>
			<KEYWORD1>XLQuit</KEYWORD1>
			<KEYWORD1>XLRun</KEYWORD1>
			<KEYWORD1>XLSave</KEYWORD1>
			<KEYWORD1>XLSetCell</KEYWORD1>
			<KEYWORD1>Year</KEYWORD1>

			<KEYWORD2>Include</KEYWORD2>
			<KEYWORD2>Label</KEYWORD2>
			<KEYWORD2>VBEnd</KEYWORD2>
			<KEYWORD2>VBEval</KEYWORD2>
			<KEYWORD2>VBRun</KEYWORD2>
			<KEYWORD2>VBStart</KEYWORD2>

			<KEYWORD3>Abs</KEYWORD3>
			<KEYWORD3>Add</KEYWORD3>
			<KEYWORD3>ArcTan</KEYWORD3>
			<KEYWORD3>Cos</KEYWORD3>
			<KEYWORD3>Exp</KEYWORD3>
			<KEYWORD3>Frac</KEYWORD3>
			<KEYWORD3>Int</KEYWORD3>
			<KEYWORD3>Let</KEYWORD3>
			<KEYWORD3>Ln</KEYWORD3>
			<KEYWORD3>Pi</KEYWORD3>
			<KEYWORD3>Power</KEYWORD3>
			<KEYWORD3>Random</KEYWORD3>
			<KEYWORD3>Round</KEYWORD3>
			<KEYWORD3>Sin</KEYWORD3>
			<KEYWORD3>Sqr</KEYWORD3>
			<KEYWORD3>Sqrt</KEYWORD3>
			<KEYWORD3>Sub</KEYWORD3>
			<KEYWORD3>Trunc</KEYWORD3>
			<KEYWORD3>Base64</KEYWORD3>

			<LITERAL2>false</LITERAL2>
			<LITERAL2>null</LITERAL2>
			<LITERAL2>this</LITERAL2>
			<LITERAL2>true</LITERAL2>
		</KEYWORDS>
	</RULES>

	<RULES SET="DOC_COMMENT" DEFAULT="COMMENT3" IGNORE_CASE="TRUE">
		<!-- XML comments -->
		<SPAN TYPE="COMMENT1">
			<BEGIN>&lt;--</BEGIN>
			<END>--&gt;</END>
		</SPAN>
		<!-- XML tags -->
		<SPAN TYPE="MARKUP" DELEGATE="xml::TAGS">
			<BEGIN>&lt;</BEGIN>
			<END>&gt;</END>
		</SPAN>
	</RULES>
</MODE>

