<?xml version="1.0"?>

<!DOCTYPE MODE SYSTEM "xmode.dtd">

<MODE>
	<PROPS>
		<PROPERTY NAME="indentNextLines"
			VALUE="\s*(if|loop|do|else|select|otherwise|catch|finally|class|method|properties)(.*)"/>
		<!-- set this to 'true' if you want to use GNU coding style -->
		<PROPERTY NAME="commentStart" VALUE="/*" />
		<PROPERTY NAME="commentEnd" VALUE="*/" />
		<PROPERTY NAME="lineComment" VALUE="--" />
		<PROPERTY NAME="wordBreakChars" VALUE=",+-=&lt;&gt;/?^&amp;*" />
	</PROPS>
	<RULES IGNORE_CASE="TRUE"
		HIGHLIGHT_DIGITS="TRUE"
		DIGIT_RE="(0x[\p{XDigit}]+[lL]?|[\p{Digit}]+(e[\p{Digit}]*)?[lLdDfF]?)">

		<!-- C style comment -->
		<SPAN TYPE="COMMENT1">
			<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>

		<!-- preprocessor statements -->
		<EOL_SPAN TYPE="KEYWORD2">#</EOL_SPAN>

		<EOL_SPAN TYPE="COMMENT1">--</EOL_SPAN>
		<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">&gt;</SEQ>
		<SEQ TYPE="OPERATOR">&lt;</SEQ>
		<SEQ TYPE="OPERATOR">%</SEQ>
		<SEQ TYPE="OPERATOR">&amp;</SEQ>
		<SEQ TYPE="OPERATOR">|</SEQ>
		<SEQ TYPE="OPERATOR">^</SEQ>
		<SEQ TYPE="OPERATOR">~</SEQ>
		<SEQ TYPE="OPERATOR">}</SEQ>
		<SEQ TYPE="OPERATOR">{</SEQ>

		<MARK_PREVIOUS TYPE="FUNCTION">::</MARK_PREVIOUS>

		<MARK_PREVIOUS AT_WHITESPACE_END="TRUE"
			MATCH_TYPE="OPERATOR"
			TYPE="LABEL">:</MARK_PREVIOUS>

		<!-- Function calls -->
		<MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="OPERATOR">(</MARK_PREVIOUS>
		<SEQ TYPE="OPERATOR">)</SEQ>

		<KEYWORDS>
			<KEYWORD1>Address</KEYWORD1>
			<KEYWORD1>Arg</KEYWORD1>
			<KEYWORD1>Call</KEYWORD1>
			<KEYWORD1>Do</KEYWORD1>
			<KEYWORD1>Drop</KEYWORD1>
			<KEYWORD1>Exit</KEYWORD1>
			<KEYWORD1>Expose</KEYWORD1>
			<KEYWORD1>Forward</KEYWORD1>
			<KEYWORD1>Guard</KEYWORD1>
			<KEYWORD1>If</KEYWORD1>
			<KEYWORD1>Interpret</KEYWORD1>
			<KEYWORD1>Iterate</KEYWORD1>
			<KEYWORD1>Leave</KEYWORD1>
			<KEYWORD1>Nop</KEYWORD1>
			<KEYWORD1>Numeric</KEYWORD1>
			<KEYWORD1>Parse</KEYWORD1>
			<KEYWORD1>Procedure</KEYWORD1>
			<KEYWORD1>pull</KEYWORD1>
			<KEYWORD1>Push</KEYWORD1>
			<KEYWORD1>Queue</KEYWORD1>
			<KEYWORD1>Raise</KEYWORD1>
			<KEYWORD1>reply</KEYWORD1>
			<KEYWORD1>Return</KEYWORD1>
			<KEYWORD1>Say</KEYWORD1>
			<KEYWORD1>Seleect</KEYWORD1>
			<KEYWORD1>Signal</KEYWORD1>
			<KEYWORD1>Trace</KEYWORD1>
			<KEYWORD1>use</KEYWORD1>
			<KEYWORD1>Class</KEYWORD1>
			<KEYWORD1>Method</KEYWORD1>
			<KEYWORD1>Requires</KEYWORD1>
			<KEYWORD1>Routine</KEYWORD1>
			<KEYWORD1>Result</KEYWORD1>
			<KEYWORD1>RC</KEYWORD1>
			<KEYWORD1>Self</KEYWORD1>
			<KEYWORD1>Sigl</KEYWORD1>
			<KEYWORD1>Super</KEYWORD1>
			<KEYWORD2>Abbrev</KEYWORD2>
			<KEYWORD2>Abs</KEYWORD2>
			<KEYWORD2>Address</KEYWORD2>
			<KEYWORD2>Arg</KEYWORD2>
			<KEYWORD2>Beep</KEYWORD2>
			<KEYWORD2>BitAnd</KEYWORD2>
			<KEYWORD2>BitOr</KEYWORD2>
			<KEYWORD2>BitXor</KEYWORD2>
			<KEYWORD2>B2X</KEYWORD2>
			<KEYWORD2>Center</KEYWORD2>
			<KEYWORD2>ChangeStr</KEYWORD2>
			<KEYWORD2>CharIn</KEYWORD2>
			<KEYWORD2>CharOut</KEYWORD2>
			<KEYWORD2>Chars</KEYWORD2>
			<KEYWORD2>Compare</KEYWORD2>
			<KEYWORD2>Consition</KEYWORD2>
			<KEYWORD2>Copies</KEYWORD2>
			<KEYWORD2>CountStr</KEYWORD2>
			<KEYWORD2>C2D</KEYWORD2>
			<KEYWORD2>C2X</KEYWORD2>
			<KEYWORD2>DataType</KEYWORD2>
			<KEYWORD2>Date</KEYWORD2>
			<KEYWORD2>DelStr</KEYWORD2>
			<KEYWORD2>DelWord</KEYWORD2>
			<KEYWORD2>Digits</KEYWORD2>
			<KEYWORD2>Directory</KEYWORD2>
			<KEYWORD2>D2C</KEYWORD2>
			<KEYWORD2>D2X</KEYWORD2>
			<KEYWORD2>ErrorText</KEYWORD2>
			<KEYWORD2>FileSpec</KEYWORD2>
			<KEYWORD2>Form</KEYWORD2>
			<KEYWORD2>Format</KEYWORD2>
			<KEYWORD2>Fuzz</KEYWORD2>
			<KEYWORD2>Insert</KEYWORD2>
			<KEYWORD2>LastPos</KEYWORD2>
			<KEYWORD2>Left</KEYWORD2>
			<KEYWORD2>Length</KEYWORD2>
			<KEYWORD2>LineIn</KEYWORD2>
			<KEYWORD2>LineOut</KEYWORD2>
			<KEYWORD2>Lines</KEYWORD2>
			<KEYWORD2>Max</KEYWORD2>
			<KEYWORD2>Min</KEYWORD2>
			<KEYWORD2>Overlay</KEYWORD2>
			<KEYWORD2>Pos</KEYWORD2>
			<KEYWORD2>Queued</KEYWORD2>
			<KEYWORD2>Random</KEYWORD2>
			<KEYWORD2>Reverse</KEYWORD2>
			<KEYWORD2>Right</KEYWORD2>
			<KEYWORD2>Sign</KEYWORD2>
			<KEYWORD2>SourceLine</KEYWORD2>
			<KEYWORD2>Space</KEYWORD2>
			<KEYWORD2>Stream</KEYWORD2>
			<KEYWORD2>Strip</KEYWORD2>
			<KEYWORD2>SubStr</KEYWORD2>
			<KEYWORD2>SubWord</KEYWORD2>
			<KEYWORD2>Symbol</KEYWORD2>
			<KEYWORD2>Time</KEYWORD2>
			<KEYWORD2>Trace</KEYWORD2>
			<KEYWORD2>Translate</KEYWORD2>
			<KEYWORD2>Trunc</KEYWORD2>
			<KEYWORD2>Value</KEYWORD2>
			<KEYWORD2>Var</KEYWORD2>
			<KEYWORD2>Verify</KEYWORD2>
			<KEYWORD2>Word</KEYWORD2>
			<KEYWORD2>WordIndex</KEYWORD2>
			<KEYWORD2>WordLength</KEYWORD2>
			<KEYWORD2>WordPos</KEYWORD2>
			<KEYWORD2>Words</KEYWORD2>
			<KEYWORD2>XRange</KEYWORD2>
			<KEYWORD2>X2B</KEYWORD2>
			<KEYWORD2>X2C</KEYWORD2>
			<KEYWORD2>X2D</KEYWORD2>
			<KEYWORD2>RxFuncAdd</KEYWORD2>
			<KEYWORD2>RxFuncDrop</KEYWORD2>
			<KEYWORD2>RxFuncQuery</KEYWORD2>
			<KEYWORD2>RxMessageBox</KEYWORD2>
			<KEYWORD2>RxWinExec</KEYWORD2>
			<KEYWORD2>SysAddRexxMacro</KEYWORD2>
			<KEYWORD2>SysBootDrive</KEYWORD2>
			<KEYWORD2>SysClearRexxMacroSpace</KEYWORD2>
			<KEYWORD2>SysCloseEventSem</KEYWORD2>
			<KEYWORD2>SysCloseMutexSem</KEYWORD2>
			<KEYWORD2>SysCls</KEYWORD2>
			<KEYWORD2>SysCreateEventSem</KEYWORD2>
			<KEYWORD2>SysCreateMutexSem</KEYWORD2>
			<KEYWORD2>SysCurPos</KEYWORD2>
			<KEYWORD2>SysCurState</KEYWORD2>
			<KEYWORD2>SysDriveInfo</KEYWORD2>
			<KEYWORD2>SysDriveMap</KEYWORD2>
			<KEYWORD2>SysDropFuncs</KEYWORD2>
			<KEYWORD2>SysDropRexxMacro</KEYWORD2>
			<KEYWORD2>SysDumpVariables</KEYWORD2>
			<KEYWORD2>SysFileDelete</KEYWORD2>
			<KEYWORD2>SysFileSearch</KEYWORD2>
			<KEYWORD2>SysFileSystemType</KEYWORD2>
			<KEYWORD2>SysFileTree</KEYWORD2>
			<KEYWORD2>SysFromUnicode</KEYWORD2>
			<KEYWORD2>SysToUnicode</KEYWORD2>
			<KEYWORD2>SysGetErrortext</KEYWORD2>
			<KEYWORD2>SysGetFileDateTime</KEYWORD2>
			<KEYWORD2>SysGetKey</KEYWORD2>
			<KEYWORD2>SysIni</KEYWORD2>
			<KEYWORD2>SysLoadFuncs</KEYWORD2>
			<KEYWORD2>SysLoadRexxMacroSpace</KEYWORD2>
			<KEYWORD2>SysMkDir</KEYWORD2>
			<KEYWORD2>SysOpenEventSem</KEYWORD2>
			<KEYWORD2>SysOpenMutexSem</KEYWORD2>
			<KEYWORD2>SysPostEventSem</KEYWORD2>
			<KEYWORD2>SysPulseEventSem</KEYWORD2>
			<KEYWORD2>SysQueryProcess</KEYWORD2>
			<KEYWORD2>SysQueryRexxMacro</KEYWORD2>
			<KEYWORD2>SysReleaseMutexSem</KEYWORD2>
			<KEYWORD2>SysReorderRexxMacro</KEYWORD2>
			<KEYWORD2>SysRequestMutexSem</KEYWORD2>
			<KEYWORD2>SysResetEventSem</KEYWORD2>
			<KEYWORD2>SysRmDir</KEYWORD2>
			<KEYWORD2>SysSaveRexxMacroSpace</KEYWORD2>
			<KEYWORD2>SysSearchPath</KEYWORD2>
			<KEYWORD2>SysSetFileDateTime</KEYWORD2>
			<KEYWORD2>SysSetPriority</KEYWORD2>
			<KEYWORD2>SysSleep</KEYWORD2>
			<KEYWORD2>SysStemCopy</KEYWORD2>
			<KEYWORD2>SysStemDelete</KEYWORD2>
			<KEYWORD2>SysStemInsert</KEYWORD2>
			<KEYWORD2>SysStemSort</KEYWORD2>
			<KEYWORD2>SysSwitchSession</KEYWORD2>
			<KEYWORD2>SysSystemDirectory</KEYWORD2>
			<KEYWORD2>SysTempFileName</KEYWORD2>
			<KEYWORD2>SysTextScreenRead</KEYWORD2>
			<KEYWORD2>SysTextScreenSize</KEYWORD2>
			<KEYWORD2>SysUtilVersion</KEYWORD2>
			<KEYWORD2>SysVersion</KEYWORD2>
			<KEYWORD2>SysVolumeLabel</KEYWORD2>
			<KEYWORD2>SysWaitEventSem</KEYWORD2>
			<KEYWORD2>SysWaitNamedPipe</KEYWORD2>
			<KEYWORD2>SysWinDecryptFile</KEYWORD2>
			<KEYWORD2>SysWinEncryptFile</KEYWORD2>
			<KEYWORD2>SysWinVer</KEYWORD2>
		</KEYWORDS>
	</RULES>
</MODE>
