]> gitweb.factorcode.org Git - factor.git/blobdiff - basis/xmode/modes/javascript.xml
xmode.modes: updating with recent xmode files
[factor.git] / basis / xmode / modes / javascript.xml
index e898fa1aebd13456ede8a95fbfc694dae28ce9a7..ebf1235073295df80bf9349359c3912ea1e6e85e 100644 (file)
-<?xml version="1.0"?>\r
-<!DOCTYPE MODE SYSTEM "xmode.dtd">\r
-\r
-<!-- JavaScript mode by Andre Kaplan -->\r
-<MODE>\r
-       <PROPS>\r
-               <PROPERTY NAME="commentStart" VALUE="/*" />\r
-               <PROPERTY NAME="commentEnd" VALUE="*/" />\r
-               <PROPERTY NAME="lineComment" VALUE="//" />\r
-               <PROPERTY NAME="wordBreakChars" VALUE=",+-=&lt;&gt;/?^&amp;*" />\r
-\r
-               <!-- Auto indent -->\r
-               <PROPERTY NAME="indentOpenBrackets" VALUE="{" />\r
-               <PROPERTY NAME="indentCloseBrackets" VALUE="}" />\r
-               <PROPERTY NAME="unalignedOpenBrackets" VALUE="(" />\r
-               <PROPERTY NAME="unalignedCloseBrackets" VALUE=")" />\r
-               <PROPERTY NAME="indentNextLine"\r
-                       VALUE="\s*(((if|while)\s*\(|else\s*|else\s+if\s*\(|for\s*\(.*\))[^{;]*)" />\r
-               <PROPERTY NAME="unindentThisLine"\r
-                       VALUE="^.*(default:\s*|case.*:.*)$" />\r
-               <PROPERTY NAME="electricKeys" VALUE=":" />\r
-       </PROPS>\r
-\r
-       <RULES ESCAPE="\"\r
-               IGNORE_CASE="FALSE"\r
-               HIGHLIGHT_DIGITS="TRUE"\r
-               DIGIT_RE="(0x[\p{XDigit}]+[lL]?|[\p{Digit}]+(e[\p{Digit}]*)?[lLdDfF]?)">\r
-\r
-               <!-- The rest of the javascript info -->\r
-\r
-               <SPAN TYPE="COMMENT1">\r
-                       <BEGIN>/*</BEGIN>\r
-                       <END>*/</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>"</BEGIN>\r
-                       <END>"</END>\r
-               </SPAN>\r
-\r
-               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE">\r
-                       <BEGIN>'</BEGIN>\r
-                       <END>'</END>\r
-               </SPAN>\r
-\r
-               <SPAN_REGEXP HASH_CHARS="ABCDEFGHIJKLMNOPQRSTUVWXYZ_" TYPE="FUNCTION" DELEGATE="FUNCTION_PARAMS">\r
-                       <BEGIN>[A-Za-z_][\w_-]*\s*\(</BEGIN>\r
-                       <END>)</END>\r
-               </SPAN_REGEXP>\r
-\r
-               <!-- Keep brackets together: -->\r
-               <SPAN TYPE="OPERATOR" DELEGATE="MAIN">\r
-                       <BEGIN>(</BEGIN>\r
-                       <END>)</END>\r
-               </SPAN>\r
-\r
-               <SEQ TYPE="COMMENT2">//--&gt;</SEQ>\r
-               <EOL_SPAN TYPE="COMMENT2">//</EOL_SPAN>\r
-\r
-               <SEQ TYPE="COMMENT1">&lt;!--</SEQ>\r
-\r
-               <SEQ TYPE="OPERATOR">=</SEQ>\r
-               <SEQ TYPE="OPERATOR">!</SEQ>\r
-               <SEQ TYPE="OPERATOR">&gt;=</SEQ>\r
-               <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
-               <SEQ TYPE="OPERATOR">+</SEQ>\r
-               <SEQ TYPE="OPERATOR">-</SEQ>\r
-               <SEQ TYPE="OPERATOR">/</SEQ>\r
-               <SEQ TYPE="OPERATOR">*</SEQ>\r
-               <SEQ TYPE="OPERATOR">&gt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
-               <SEQ TYPE="OPERATOR">%</SEQ>\r
-               <SEQ TYPE="OPERATOR">&amp;</SEQ>\r
-               <SEQ TYPE="OPERATOR">|</SEQ>\r
-               <SEQ TYPE="OPERATOR">^</SEQ>\r
-               <SEQ TYPE="OPERATOR">~</SEQ>\r
-               <SEQ TYPE="OPERATOR">.</SEQ>\r
-               <SEQ TYPE="OPERATOR">}</SEQ>\r
-               <SEQ TYPE="OPERATOR">{</SEQ>\r
-               <SEQ TYPE="OPERATOR">,</SEQ>\r
-               <SEQ TYPE="OPERATOR">;</SEQ>\r
-               <SEQ TYPE="OPERATOR">]</SEQ>\r
-               <SEQ TYPE="OPERATOR">[</SEQ>\r
-               <SEQ TYPE="OPERATOR">?</SEQ>\r
-               <MARK_PREVIOUS AT_WHITESPACE_END="TRUE"\r
-                       MATCH_TYPE="OPERATOR"\r
-                       TYPE="LABEL">:</MARK_PREVIOUS>\r
-               <SEQ TYPE="OPERATOR">:</SEQ>\r
-\r
-               <KEYWORDS>\r
-                       <!-- ECMAScript keywords -->\r
-                       <KEYWORD1>break</KEYWORD1>\r
-                       <KEYWORD1>continue</KEYWORD1>\r
-                       <KEYWORD1>delete</KEYWORD1>\r
-                       <KEYWORD1>else</KEYWORD1>\r
-                       <KEYWORD1>for</KEYWORD1>\r
-                       <KEYWORD1>function</KEYWORD1>\r
-                       <KEYWORD1>if</KEYWORD1>\r
-                       <KEYWORD1>in</KEYWORD1>\r
-                       <KEYWORD1>new</KEYWORD1>\r
-                       <KEYWORD1>return</KEYWORD1>\r
-                       <LITERAL2>this</LITERAL2>\r
-                       <KEYWORD1>typeof</KEYWORD1>\r
-                       <KEYWORD1>var</KEYWORD1>\r
-                       <KEYWORD3>void</KEYWORD3>\r
-                       <KEYWORD1>while</KEYWORD1>\r
-                       <KEYWORD1>with</KEYWORD1>\r
-\r
-                       <!--ECMAScript keywords-->\r
-                       <!-- Reserved for future use\r
-                               (some are already used in some Javascript Engines)\r
-                       -->\r
-                       <KEYWORD1>abstract</KEYWORD1>\r
-                       <KEYWORD3>boolean</KEYWORD3>\r
-                       <KEYWORD3>byte</KEYWORD3>\r
-                       <KEYWORD1>case</KEYWORD1>\r
-                       <KEYWORD1>catch</KEYWORD1>\r
-                       <KEYWORD3>char</KEYWORD3>\r
-                       <KEYWORD1>class</KEYWORD1>\r
-                       <KEYWORD1>const</KEYWORD1>\r
-                       <KEYWORD1>debugger</KEYWORD1>\r
-                       <KEYWORD1>default</KEYWORD1>\r
-\r
-                       <KEYWORD1>do</KEYWORD1>\r
-                       <KEYWORD3>double</KEYWORD3>\r
-                       <KEYWORD1>enum</KEYWORD1>\r
-                       <KEYWORD2>export</KEYWORD2>\r
-                       <KEYWORD1>extends</KEYWORD1>\r
-                       <KEYWORD1>final</KEYWORD1>\r
-                       <KEYWORD1>finally</KEYWORD1>\r
-                       <KEYWORD3>float</KEYWORD3>\r
-                       <KEYWORD1>goto</KEYWORD1>\r
-                       <KEYWORD1>implements</KEYWORD1>\r
-\r
-                       <KEYWORD2>import</KEYWORD2>\r
-                       <KEYWORD1>instanceof</KEYWORD1>\r
-                       <KEYWORD3>int</KEYWORD3>\r
-                       <KEYWORD1>interface</KEYWORD1>\r
-                       <KEYWORD3>long</KEYWORD3>\r
-                       <KEYWORD1>native</KEYWORD1>\r
-                       <KEYWORD2>package</KEYWORD2>\r
-                       <KEYWORD1>private</KEYWORD1>\r
-                       <KEYWORD1>protected</KEYWORD1>\r
-                       <KEYWORD1>public</KEYWORD1>\r
-\r
-                       <KEYWORD3>short</KEYWORD3>\r
-                       <KEYWORD1>static</KEYWORD1>\r
-                       <LITERAL2>super</LITERAL2>\r
-                       <KEYWORD1>switch</KEYWORD1>\r
-                       <KEYWORD1>synchronized</KEYWORD1>\r
-                       <KEYWORD1>throw</KEYWORD1>\r
-                       <KEYWORD1>throws</KEYWORD1>\r
-                       <KEYWORD1>transient</KEYWORD1>\r
-                       <KEYWORD1>try</KEYWORD1>\r
-                       <KEYWORD1>volatile</KEYWORD1>\r
-\r
-                       <!-- Intrinsic Objects (Good idea not to use these names!!)-->\r
-                       <KEYWORD3>Array</KEYWORD3>\r
-                       <KEYWORD3>Boolean</KEYWORD3>\r
-                       <KEYWORD3>Date</KEYWORD3>\r
-                       <KEYWORD3>Function</KEYWORD3>\r
-                       <KEYWORD3>Global</KEYWORD3>\r
-                       <KEYWORD3>Math</KEYWORD3>\r
-                       <KEYWORD3>Number</KEYWORD3>\r
-                       <KEYWORD3>Object</KEYWORD3>\r
-                       <KEYWORD3>RegExp</KEYWORD3><!-- Not ECMA -->\r
-                       <KEYWORD3>String</KEYWORD3>\r
-\r
-                       <!-- Literals -->\r
-                       <LITERAL2>false</LITERAL2>\r
-                       <LITERAL2>null</LITERAL2>\r
-                       <LITERAL2>true</LITERAL2>\r
-\r
-                       <LITERAL2>NaN</LITERAL2>\r
-                       <LITERAL2>Infinity</LITERAL2>\r
-\r
-                       <!-- Global functions -->\r
-                       <LITERAL2>eval</LITERAL2>\r
-                       <LITERAL2>parseInt</LITERAL2>\r
-                       <LITERAL2>parseFloat</LITERAL2>\r
-                       <LITERAL2>escape</LITERAL2>\r
-                       <LITERAL2>unescape</LITERAL2>\r
-                       <LITERAL2>isNaN</LITERAL2>\r
-                       <LITERAL2>isFinite</LITERAL2>\r
-\r
-                       <!-- Comment/Uncomment your favorite ADO Constants-->\r
-\r
-                       <!-- ADO Constants-->\r
-\r
-                       <!-- CursorTypeEnum Values -->\r
-                       <LITERAL2>adOpenForwardOnly</LITERAL2>\r
-                       <LITERAL2>adOpenKeyset</LITERAL2>\r
-                       <LITERAL2>adOpenDynamic</LITERAL2>\r
-                       <LITERAL2>adOpenStatic</LITERAL2>\r
-\r
-                       <!-- CursorOptionEnum Values -->\r
-<!--           <LITERAL2>adHoldRecords</LITERAL2>\r
-                       <LITERAL2>adMovePrevious</LITERAL2>\r
-                       <LITERAL2>adAddNew</LITERAL2>\r
-                       <LITERAL2>adDelete</LITERAL2>\r
-                       <LITERAL2>adUpdate</LITERAL2>\r
-                       <LITERAL2>adBookmark</LITERAL2>\r
-                       <LITERAL2>adApproxPosition</LITERAL2>\r
-                       <LITERAL2>adUpdateBatch</LITERAL2>\r
-                       <LITERAL2>adResync</LITERAL2>\r
-                       <LITERAL2>adNotify</LITERAL2>\r
-                       <LITERAL2>adFind</LITERAL2>\r
-                       <LITERAL2>adSeek</LITERAL2>\r
-                       <LITERAL2>adIndex</LITERAL2>\r
--->\r
-                       <!-- LockTypeEnum Values -->\r
-                       <LITERAL2>adLockReadOnly</LITERAL2>\r
-                       <LITERAL2>adLockPessimistic</LITERAL2>\r
-                       <LITERAL2>adLockOptimistic</LITERAL2>\r
-                       <LITERAL2>adLockBatchOptimistic</LITERAL2>\r
-\r
-                       <!-- ExecuteOptionEnum Values -->\r
-                       <LITERAL2>adRunAsync</LITERAL2>\r
-                       <LITERAL2>adAsyncExecute</LITERAL2>\r
-                       <LITERAL2>adAsyncFetch</LITERAL2>\r
-                       <LITERAL2>adAsyncFetchNonBlocking</LITERAL2>\r
-                       <LITERAL2>adExecuteNoRecords</LITERAL2>\r
-\r
-                       <!-- ConnectOptionEnum Values -->\r
-<!--                   <LITERAL2>adAsyncConnect</LITERAL2>\r
--->\r
-                       <!-- ObjectStateEnum Values -->\r
-                       <LITERAL2>adStateClosed</LITERAL2>\r
-                       <LITERAL2>adStateOpen</LITERAL2>\r
-                       <LITERAL2>adStateConnecting</LITERAL2>\r
-                       <LITERAL2>adStateExecuting</LITERAL2>\r
-                       <LITERAL2>adStateFetching</LITERAL2>\r
-\r
-                       <!-- CursorLocationEnum Values -->\r
-                       <LITERAL2>adUseServer</LITERAL2>\r
-                       <LITERAL2>adUseClient</LITERAL2>\r
-\r
-                       <!-- DataTypeEnum Values -->\r
-                       <LITERAL2>adEmpty</LITERAL2>\r
-                       <LITERAL2>adTinyInt</LITERAL2>\r
-                       <LITERAL2>adSmallInt</LITERAL2>\r
-                       <LITERAL2>adInteger</LITERAL2>\r
-                       <LITERAL2>adBigInt</LITERAL2>\r
-                       <LITERAL2>adUnsignedTinyInt</LITERAL2>\r
-                       <LITERAL2>adUnsignedSmallInt</LITERAL2>\r
-                       <LITERAL2>adUnsignedInt</LITERAL2>\r
-                       <LITERAL2>adUnsignedBigInt</LITERAL2>\r
-                       <LITERAL2>adSingle</LITERAL2>\r
-                       <LITERAL2>adDouble</LITERAL2>\r
-                       <LITERAL2>adCurrency</LITERAL2>\r
-                       <LITERAL2>adDecimal</LITERAL2>\r
-                       <LITERAL2>adNumeric</LITERAL2>\r
-                       <LITERAL2>adBoolean</LITERAL2>\r
-                       <LITERAL2>adError</LITERAL2>\r
-                       <LITERAL2>adUserDefined</LITERAL2>\r
-                       <LITERAL2>adVariant</LITERAL2>\r
-                       <LITERAL2>adIDispatch</LITERAL2>\r
-                       <LITERAL2>adIUnknown</LITERAL2>\r
-                       <LITERAL2>adGUID</LITERAL2>\r
-                       <LITERAL2>adDate</LITERAL2>\r
-                       <LITERAL2>adDBDate</LITERAL2>\r
-                       <LITERAL2>adDBTime</LITERAL2>\r
-                       <LITERAL2>adDBTimeStamp</LITERAL2>\r
-                       <LITERAL2>adBSTR</LITERAL2>\r
-                       <LITERAL2>adChar</LITERAL2>\r
-                       <LITERAL2>adVarChar</LITERAL2>\r
-                       <LITERAL2>adLongVarChar</LITERAL2>\r
-                       <LITERAL2>adWChar</LITERAL2>\r
-                       <LITERAL2>adVarWChar</LITERAL2>\r
-                       <LITERAL2>adLongVarWChar</LITERAL2>\r
-                       <LITERAL2>adBinary</LITERAL2>\r
-                       <LITERAL2>adVarBinary</LITERAL2>\r
-                       <LITERAL2>adLongVarBinary</LITERAL2>\r
-                       <LITERAL2>adChapter</LITERAL2>\r
-                       <LITERAL2>adFileTime</LITERAL2>\r
-                       <LITERAL2>adDBFileTime</LITERAL2>\r
-                       <LITERAL2>adPropVariant</LITERAL2>\r
-                       <LITERAL2>adVarNumeric</LITERAL2>\r
-\r
-                       <!-- FieldAttributeEnum Values -->\r
-<!--                   <LITERAL2>adFldMayDefer</LITERAL2>\r
-                       <LITERAL2>adFldUpdatable</LITERAL2>\r
-                       <LITERAL2>adFldUnknownUpdatable</LITERAL2>\r
-                       <LITERAL2>adFldFixed</LITERAL2>\r
-                       <LITERAL2>adFldIsNullable</LITERAL2>\r
-                       <LITERAL2>adFldMayBeNull</LITERAL2>\r
-                       <LITERAL2>adFldLong</LITERAL2>\r
-                       <LITERAL2>adFldRowID</LITERAL2>\r
-                       <LITERAL2>adFldRowVersion</LITERAL2>\r
-                       <LITERAL2>adFldCacheDeferred</LITERAL2>\r
-                       <LITERAL2>adFldKeyColumn</LITERAL2>\r
--->\r
-\r
-                       <!-- EditModeEnum Values -->\r
-<!--                   <LITERAL2>adEditNone</LITERAL2>\r
-                       <LITERAL2>adEditInProgress</LITERAL2>\r
-                       <LITERAL2>adEditAdd</LITERAL2>\r
-                       <LITERAL2>adEditDelete</LITERAL2>\r
--->\r
-                       <!-- RecordStatusEnum Values -->\r
-<!--                   <LITERAL2>adRecOK</LITERAL2>\r
-                       <LITERAL2>adRecNew</LITERAL2>\r
-                       <LITERAL2>adRecModified</LITERAL2>\r
-                       <LITERAL2>adRecDeleted</LITERAL2>\r
-                       <LITERAL2>adRecUnmodified</LITERAL2>\r
-                       <LITERAL2>adRecInvalid</LITERAL2>\r
-                       <LITERAL2>adRecMultipleChanges</LITERAL2>\r
-                       <LITERAL2>adRecPendingChanges</LITERAL2>\r
-                       <LITERAL2>adRecCanceled</LITERAL2>\r
-                       <LITERAL2>adRecCantRelease</LITERAL2>\r
-                       <LITERAL2>adRecConcurrencyViolation</LITERAL2>\r
-                       <LITERAL2>adRecIntegrityViolation</LITERAL2>\r
-                       <LITERAL2>adRecMaxChangesExceeded</LITERAL2>\r
-                       <LITERAL2>adRecObjectOpen</LITERAL2>\r
-                       <LITERAL2>adRecOutOfMemory</LITERAL2>\r
-                       <LITERAL2>adRecPermissionDenied</LITERAL2>\r
-                       <LITERAL2>adRecSchemaViolation</LITERAL2>\r
-                       <LITERAL2>adRecDBDeleted</LITERAL2>\r
--->\r
-                       <!-- GetRowsOptionEnum Values -->\r
-<!--                   <LITERAL2>adGetRowsRest</LITERAL2>\r
--->\r
-\r
-                       <!-- PositionEnum Values -->\r
-<!--                   <LITERAL2>adPosUnknown</LITERAL2>\r
-                       <LITERAL2>adPosBOF</LITERAL2>\r
-                       <LITERAL2>adPosEOF</LITERAL2>\r
--->\r
-\r
-                       <!-- enum Values -->\r
-<!--                   <LITERAL2>adBookmarkCurrent</LITERAL2>\r
-                       <LITERAL2>adBookmarkFirst</LITERAL2>\r
-                       <LITERAL2>adBookmarkLast</LITERAL2>\r
--->\r
-                       <!-- MarshalOptionsEnum Values -->\r
-<!--                   <LITERAL2>adMarshalAll</LITERAL2>\r
-                       <LITERAL2>adMarshalModifiedOnly</LITERAL2>\r
--->\r
-                       <!-- AffectEnum Values -->\r
-<!--                   <LITERAL2>adAffectCurrent</LITERAL2>\r
-                       <LITERAL2>adAffectGroup</LITERAL2>\r
-                       <LITERAL2>adAffectAll</LITERAL2>\r
-                       <LITERAL2>adAffectAllChapters</LITERAL2>\r
--->\r
-\r
-                       <!-- ResyncEnum Values -->\r
-<!--                   <LITERAL2>adResyncUnderlyingValues</LITERAL2>\r
-                       <LITERAL2>adResyncAllValues</LITERAL2>\r
--->\r
-                       <!-- CompareEnum Values -->\r
-<!--                   <LITERAL2>adCompareLessThan</LITERAL2>\r
-                       <LITERAL2>adCompareEqual</LITERAL2>\r
-                       <LITERAL2>adCompareGreaterThan</LITERAL2>\r
-                       <LITERAL2>adCompareNotEqual</LITERAL2>\r
-                       <LITERAL2>adCompareNotComparable</LITERAL2>\r
--->\r
-                       <!-- FilterGroupEnum Values -->\r
-<!--                   <LITERAL2>adFilterNone</LITERAL2>\r
-                       <LITERAL2>adFilterPendingRecords</LITERAL2>\r
-                       <LITERAL2>adFilterAffectedRecords</LITERAL2>\r
-                       <LITERAL2>adFilterFetchedRecords</LITERAL2>\r
-                       <LITERAL2>adFilterPredicate</LITERAL2>\r
-                       <LITERAL2>adFilterConflictingRecords</LITERAL2>\r
--->\r
-                       <!-- SearchDirectionEnum Values -->\r
-<!--                   <LITERAL2>adSearchForward</LITERAL2>\r
-                       <LITERAL2>adSearchBackward</LITERAL2>\r
--->\r
-\r
-                       <!-- PersistFormatEnum Values -->\r
-                       <LITERAL2>adPersistADTG</LITERAL2>\r
-                       <LITERAL2>adPersistXML</LITERAL2>\r
-\r
-                       <!-- StringFormatEnum Values -->\r
-<!--                   <LITERAL2>adStringXML</LITERAL2>\r
-                       <LITERAL2>adStringHTML</LITERAL2>\r
-                       <LITERAL2>adClipString</LITERAL2>\r
--->\r
-                       <!-- ConnectPromptEnum Values -->\r
-<!--                   <LITERAL2>adPromptAlways</LITERAL2>\r
-                       <LITERAL2>adPromptComplete</LITERAL2>\r
-                       <LITERAL2>adPromptCompleteRequired</LITERAL2>\r
-                       <LITERAL2>adPromptNever</LITERAL2>\r
--->\r
-                       <!-- ConnectModeEnum Values -->\r
-<!--                   <LITERAL2>adModeUnknown</LITERAL2>\r
-                       <LITERAL2>adModeRead</LITERAL2>\r
-                       <LITERAL2>adModeWrite</LITERAL2>\r
-                       <LITERAL2>adModeReadWrite</LITERAL2>\r
-                       <LITERAL2>adModeShareDenyRead</LITERAL2>\r
-                       <LITERAL2>adModeShareDenyWrite</LITERAL2>\r
-                       <LITERAL2>adModeShareExclusive</LITERAL2>\r
-                       <LITERAL2>adModeShareDenyNone</LITERAL2>\r
--->\r
-                       <!-- IsolationLevelEnum Values -->\r
-<!--                   <LITERAL2>adXactUnspecified</LITERAL2>\r
-                       <LITERAL2>adXactChaos</LITERAL2>\r
-                       <LITERAL2>adXactReadUncommitted</LITERAL2>\r
-                       <LITERAL2>adXactBrowse</LITERAL2>\r
-                       <LITERAL2>adXactCursorStability</LITERAL2>\r
-                       <LITERAL2>adXactReadCommitted</LITERAL2>\r
-                       <LITERAL2>adXactRepeatableRead</LITERAL2>\r
-                       <LITERAL2>adXactSerializable</LITERAL2>\r
-                       <LITERAL2>adXactIsolated</LITERAL2>\r
--->\r
-                       <!-- XactAttributeEnum Values -->\r
-<!--                   <LITERAL2>adXactCommitRetaining</LITERAL2>\r
-                       <LITERAL2>adXactAbortRetaining</LITERAL2>\r
--->\r
-                       <!-- PropertyAttributesEnum Values -->\r
-<!--                   <LITERAL2>adPropNotSupported</LITERAL2>\r
-                       <LITERAL2>adPropRequired</LITERAL2>\r
-                       <LITERAL2>adPropOptional</LITERAL2>\r
-                       <LITERAL2>adPropRead</LITERAL2>\r
-                       <LITERAL2>adPropWrite</LITERAL2>\r
--->\r
-                       <!-- ErrorValueEnum Values -->\r
-<!--                   <LITERAL2>adErrInvalidArgument</LITERAL2>\r
-                       <LITERAL2>adErrNoCurrentRecord</LITERAL2>\r
-                       <LITERAL2>adErrIllegalOperation</LITERAL2>\r
-                       <LITERAL2>adErrInTransaction</LITERAL2>\r
-                       <LITERAL2>adErrFeatureNotAvailable</LITERAL2>\r
-                       <LITERAL2>adErrItemNotFound</LITERAL2>\r
-                       <LITERAL2>adErrObjectInCollection</LITERAL2>\r
-                       <LITERAL2>adErrObjectNotSet</LITERAL2>\r
-                       <LITERAL2>adErrDataConversion</LITERAL2>\r
-                       <LITERAL2>adErrObjectClosed</LITERAL2>\r
-                       <LITERAL2>adErrObjectOpen</LITERAL2>\r
-                       <LITERAL2>adErrProviderNotFound</LITERAL2>\r
-                       <LITERAL2>adErrBoundToCommand</LITERAL2>\r
-                       <LITERAL2>adErrInvalidParamInfo</LITERAL2>\r
-                       <LITERAL2>adErrInvalidConnection</LITERAL2>\r
-                       <LITERAL2>adErrNotReentrant</LITERAL2>\r
-                       <LITERAL2>adErrStillExecuting</LITERAL2>\r
-                       <LITERAL2>adErrOperationCancelled</LITERAL2>\r
-                       <LITERAL2>adErrStillConnecting</LITERAL2>\r
-                       <LITERAL2>adErrNotExecuting</LITERAL2>\r
-                       <LITERAL2>adErrUnsafeOperation</LITERAL2>\r
--->\r
-                       <!-- ParameterAttributesEnum Values -->\r
-                       <LITERAL2>adParamSigned</LITERAL2>\r
-                       <LITERAL2>adParamNullable</LITERAL2>\r
-                       <LITERAL2>adParamLong</LITERAL2>\r
-\r
-                       <!-- ParameterDirectionEnum Values -->\r
-                       <LITERAL2>adParamUnknown</LITERAL2>\r
-                       <LITERAL2>adParamInput</LITERAL2>\r
-                       <LITERAL2>adParamOutput</LITERAL2>\r
-                       <LITERAL2>adParamInputOutput</LITERAL2>\r
-                       <LITERAL2>adParamReturnValue</LITERAL2>\r
-\r
-                       <!-- CommandTypeEnum Values -->\r
-                       <LITERAL2>adCmdUnknown</LITERAL2>\r
-                       <LITERAL2>adCmdText</LITERAL2>\r
-                       <LITERAL2>adCmdTable</LITERAL2>\r
-                       <LITERAL2>adCmdStoredProc</LITERAL2>\r
-                       <LITERAL2>adCmdFile</LITERAL2>\r
-                       <LITERAL2>adCmdTableDirect</LITERAL2>\r
-\r
-                       <!-- EventStatusEnum Values -->\r
-<!--                   <LITERAL2>adStatusOK</LITERAL2>\r
-                       <LITERAL2>adStatusErrorsOccurred</LITERAL2>\r
-                       <LITERAL2>adStatusCantDeny</LITERAL2>\r
-                       <LITERAL2>adStatusCancel</LITERAL2>\r
-                       <LITERAL2>adStatusUnwantedEvent</LITERAL2>\r
--->\r
-                       <!-- EventReasonEnum Values -->\r
-<!--                   <LITERAL2>adRsnAddNew</LITERAL2>\r
-                       <LITERAL2>adRsnDelete</LITERAL2>\r
-                       <LITERAL2>adRsnUpdate</LITERAL2>\r
-                       <LITERAL2>adRsnUndoUpdate</LITERAL2>\r
-                       <LITERAL2>adRsnUndoAddNew</LITERAL2>\r
-                       <LITERAL2>adRsnUndoDelete</LITERAL2>\r
-                       <LITERAL2>adRsnRequery</LITERAL2>\r
-                       <LITERAL2>adRsnResynch</LITERAL2>\r
-                       <LITERAL2>adRsnClose</LITERAL2>\r
-                       <LITERAL2>adRsnMove</LITERAL2>\r
-                       <LITERAL2>adRsnFirstChange</LITERAL2>\r
-                       <LITERAL2>adRsnMoveFirst</LITERAL2>\r
-                       <LITERAL2>adRsnMoveNext</LITERAL2>\r
-                       <LITERAL2>adRsnMovePrevious</LITERAL2>\r
-                       <LITERAL2>adRsnMoveLast</LITERAL2>\r
--->\r
-                       <!-- SchemaEnum Values -->\r
-<!--                   <LITERAL2>adSchemaProviderSpecific</LITERAL2>\r
-                       <LITERAL2>adSchemaAsserts</LITERAL2>\r
-                       <LITERAL2>adSchemaCatalogs</LITERAL2>\r
-                       <LITERAL2>adSchemaCharacterSets</LITERAL2>\r
-                       <LITERAL2>adSchemaCollations</LITERAL2>\r
-                       <LITERAL2>adSchemaColumns</LITERAL2>\r
-                       <LITERAL2>adSchemaCheckConstraints</LITERAL2>\r
-                       <LITERAL2>adSchemaConstraintColumnUsage</LITERAL2>\r
-                       <LITERAL2>adSchemaConstraintTableUsage</LITERAL2>\r
-                       <LITERAL2>adSchemaKeyColumnUsage</LITERAL2>\r
-                       <LITERAL2>adSchemaReferentialConstraints</LITERAL2>\r
-                       <LITERAL2>adSchemaTableConstraints</LITERAL2>\r
-                       <LITERAL2>adSchemaColumnsDomainUsage</LITERAL2>\r
-                       <LITERAL2>adSchemaIndexes</LITERAL2>\r
-                       <LITERAL2>adSchemaColumnPrivileges</LITERAL2>\r
-                       <LITERAL2>adSchemaTablePrivileges</LITERAL2>\r
-                       <LITERAL2>adSchemaUsagePrivileges</LITERAL2>\r
-                       <LITERAL2>adSchemaProcedures</LITERAL2>\r
-                       <LITERAL2>adSchemaSchemata</LITERAL2>\r
-                       <LITERAL2>adSchemaSQLLanguages</LITERAL2>\r
-                       <LITERAL2>adSchemaStatistics</LITERAL2>\r
-                       <LITERAL2>adSchemaTables</LITERAL2>\r
-                       <LITERAL2>adSchemaTranslations</LITERAL2>\r
-                       <LITERAL2>adSchemaProviderTypes</LITERAL2>\r
-                       <LITERAL2>adSchemaViews</LITERAL2>\r
-                       <LITERAL2>adSchemaViewColumnUsage</LITERAL2>\r
-                       <LITERAL2>adSchemaViewTableUsage</LITERAL2>\r
-                       <LITERAL2>adSchemaProcedureParameters</LITERAL2>\r
-                       <LITERAL2>adSchemaForeignKeys</LITERAL2>\r
-                       <LITERAL2>adSchemaPrimaryKeys</LITERAL2>\r
-                       <LITERAL2>adSchemaProcedureColumns</LITERAL2>\r
-                       <LITERAL2>adSchemaDBInfoKeywords</LITERAL2>\r
-                       <LITERAL2>adSchemaDBInfoLiterals</LITERAL2>\r
-                       <LITERAL2>adSchemaCubes</LITERAL2>\r
-                       <LITERAL2>adSchemaDimensions</LITERAL2>\r
-                       <LITERAL2>adSchemaHierarchies</LITERAL2>\r
-                       <LITERAL2>adSchemaLevels</LITERAL2>\r
-                       <LITERAL2>adSchemaMeasures</LITERAL2>\r
-                       <LITERAL2>adSchemaProperties</LITERAL2>\r
-                       <LITERAL2>adSchemaMembers</LITERAL2>\r
--->\r
-                       <!-- SeekEnum Values -->\r
-<!--                   <LITERAL2>adSeekFirstEQ</LITERAL2>\r
-                       <LITERAL2>adSeekLastEQ</LITERAL2>\r
-                       <LITERAL2>adSeekAfterEQ</LITERAL2>\r
-                       <LITERAL2>adSeekAfter</LITERAL2>\r
-                       <LITERAL2>adSeekBeforeEQ</LITERAL2>\r
-                       <LITERAL2>adSeekBefore</LITERAL2>\r
--->\r
-                       <!-- ADCPROP_UPDATECRITERIA_ENUM Values -->\r
-<!--                   <LITERAL2>adCriteriaKey</LITERAL2>\r
-                       <LITERAL2>adCriteriaAllCols</LITERAL2>\r
-                       <LITERAL2>adCriteriaUpdCols</LITERAL2>\r
-                       <LITERAL2>adCriteriaTimeStamp</LITERAL2>\r
--->\r
-                       <!-- ADCPROP_ASYNCTHREADPRIORITY_ENUM Values -->\r
-<!--                   <LITERAL2>adPriorityLowest</LITERAL2>\r
-                       <LITERAL2>adPriorityBelowNormal</LITERAL2>\r
-                       <LITERAL2>adPriorityNormal</LITERAL2>\r
-                       <LITERAL2>adPriorityAboveNormal</LITERAL2>\r
-                       <LITERAL2>adPriorityHighest</LITERAL2>\r
--->\r
-                       <!-- CEResyncEnum Values -->\r
-<!--                   <LITERAL2>adResyncNone</LITERAL2>\r
-                       <LITERAL2>adResyncAutoIncrement</LITERAL2>\r
-                       <LITERAL2>adResyncConflicts</LITERAL2>\r
-                       <LITERAL2>adResyncUpdates</LITERAL2>\r
-                       <LITERAL2>adResyncInserts</LITERAL2>\r
-                       <LITERAL2>adResyncAll</LITERAL2>\r
--->\r
-                       <!-- ADCPROP_AUTORECALC_ENUM Values -->\r
-<!--                   <LITERAL2>adRecalcUpFront</LITERAL2>\r
-                       <LITERAL2>adRecalcAlways</LITERAL2>\r
--->\r
-               </KEYWORDS>\r
-       </RULES>\r
-\r
-       <RULES SET="FUNCTION_PARAMS">\r
-               <!-- Keep brackets together: -->\r
-               <SPAN TYPE="OPERATOR" DELEGATE="MAIN">\r
-                       <BEGIN>(</BEGIN>\r
-                       <END>)</END>\r
-               </SPAN>\r
-\r
-               <IMPORT DELEGATE="MAIN" />\r
-               <!-- <SEQ TYPE="OPERATOR">)</SEQ> -->\r
-       </RULES>\r
-</MODE>\r
+<?xml version="1.0"?>
+<!DOCTYPE MODE SYSTEM "xmode.dtd">
+
+<!-- JavaScript mode by Andre Kaplan -->
+<MODE>
+       <PROPS>
+               <PROPERTY NAME="commentStart" VALUE="/*" />
+               <PROPERTY NAME="commentEnd" VALUE="*/" />
+               <PROPERTY NAME="lineComment" VALUE="//" />
+               <PROPERTY NAME="wordBreakChars" VALUE=",+-=&lt;&gt;/?^&amp;*" />
+
+               <!-- 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>
+
+       <!--{{{ rule MAIN -->
+       <RULES
+               IGNORE_CASE="FALSE"
+               HIGHLIGHT_DIGITS="TRUE"
+               DIGIT_RE="((0x|0b|0o)[\p{XDigit}]+[lL]?|[\p{Digit}]+(e[\p{Digit}]*)?[lLdDfF]?)">
+
+               <!-- The rest of the javascript info -->
+
+               <SPAN TYPE="COMMENT3">
+                       <BEGIN>/**</BEGIN>
+                       <END>*/</END>
+               </SPAN>
+
+               <SPAN TYPE="COMMENT1">
+                       <BEGIN>/*</BEGIN>
+                       <END>*/</END>
+               </SPAN>
+
+
+               <IMPORT DELEGATE="STRING_LITERAL"/>
+               
+
+               <MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="OPERATOR">(</MARK_PREVIOUS>
+               <MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="OPERATOR"> (</MARK_PREVIOUS>
+               <SEQ TYPE="OPERATOR">)</SEQ>
+
+               <SEQ TYPE="KEYWORD1">=&gt;</SEQ>
+               
+               <SEQ TYPE="COMMENT2">//--&gt;</SEQ>
+               <EOL_SPAN TYPE="COMMENT2">//</EOL_SPAN>
+               <SEQ_REGEXP TYPE="MARKUP" HASH_CHAR="/" AT_WORD_START="TRUE">/[^\p{Blank}]*?/</SEQ_REGEXP>
+
+               <SEQ TYPE="COMMENT1">&lt;!--</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">&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>
+               <SEQ TYPE="OPERATOR">{</SEQ>
+               <SEQ TYPE="OPERATOR">,</SEQ>
+               <SEQ TYPE="OPERATOR">;</SEQ>
+               <SEQ TYPE="OPERATOR">]</SEQ>
+               <SEQ TYPE="OPERATOR">[</SEQ>
+               <SEQ TYPE="OPERATOR">?</SEQ>
+               <MARK_PREVIOUS AT_WHITESPACE_END="TRUE" MATCH_TYPE="OPERATOR" TYPE="LABEL">:</MARK_PREVIOUS>
+               <SEQ TYPE="OPERATOR">:</SEQ>
+
+               <IMPORT DELEGATE="KEYWORDS"/>
+       </RULES>
+       <!--}}}-->
+       
+       <!--{{{ rule KEYWORDS -->
+       <RULES SET="KEYWORDS">
+               <IMPORT DELEGATE="ES_KEYWORDS"/>
+               <IMPORT DELEGATE="ADO_KEYWORDS"/>
+       </RULES>
+       <!--}}}-->
+       
+       <!--{{{ rule ES_KEYWORDS -->
+       <RULES SET="ES_KEYWORDS">
+               <KEYWORDS>
+                       <KEYWORD1>abstract</KEYWORD1>
+                       <KEYWORD1>async</KEYWORD1>
+                       <KEYWORD1>await</KEYWORD1>
+                       <KEYWORD1>break</KEYWORD1>
+                       <KEYWORD1>case</KEYWORD1>
+                       <KEYWORD1>catch</KEYWORD1>
+                       <KEYWORD1>class</KEYWORD1>
+                       <KEYWORD1>const</KEYWORD1>
+                       <KEYWORD1>continue</KEYWORD1>
+                       <KEYWORD1>debugger</KEYWORD1>
+                       <KEYWORD1>default</KEYWORD1>
+                       <KEYWORD1>delete</KEYWORD1>
+                       <KEYWORD1>do</KEYWORD1>
+                       <KEYWORD1>else</KEYWORD1>
+                       <KEYWORD1>enum</KEYWORD1>
+                       <KEYWORD1>extends</KEYWORD1>
+                       <KEYWORD1>final</KEYWORD1>
+                       <KEYWORD1>finally</KEYWORD1>
+                       <KEYWORD1>for</KEYWORD1>
+                       <KEYWORD1>function</KEYWORD1>
+                       <KEYWORD1>get</KEYWORD1>
+                       <KEYWORD1>goto</KEYWORD1>
+                       <KEYWORD1>if</KEYWORD1>
+                       <KEYWORD1>implements</KEYWORD1>
+                       <KEYWORD1>in</KEYWORD1>
+                       <KEYWORD1>instanceof</KEYWORD1>
+                       <KEYWORD1>interface</KEYWORD1>
+                       <KEYWORD1>let</KEYWORD1>
+                       <KEYWORD1>native</KEYWORD1>
+                       <KEYWORD1>new</KEYWORD1>
+                       <KEYWORD1>of</KEYWORD1>
+                       <KEYWORD1>private</KEYWORD1>
+                       <KEYWORD1>protected</KEYWORD1>
+                       <KEYWORD1>public</KEYWORD1>
+                       <KEYWORD1>return</KEYWORD1>
+                       <KEYWORD1>set</KEYWORD1>
+                       <KEYWORD1>static</KEYWORD1>
+                       <KEYWORD1>switch</KEYWORD1>
+                       <KEYWORD1>synchronized</KEYWORD1>
+                       <KEYWORD1>throw</KEYWORD1>
+                       <KEYWORD1>throws</KEYWORD1>
+                       <KEYWORD1>transient</KEYWORD1>
+                       <KEYWORD1>try</KEYWORD1>
+                       <KEYWORD1>typeof</KEYWORD1>
+                       <KEYWORD1>var</KEYWORD1>
+                       <KEYWORD1>volatile</KEYWORD1>
+                       <KEYWORD1>while</KEYWORD1>
+                       <KEYWORD1>with</KEYWORD1>
+                       <KEYWORD1>yield</KEYWORD1>
+       
+                       <KEYWORD2>export</KEYWORD2>
+                       <KEYWORD2>import</KEYWORD2>
+                       <KEYWORD2>package</KEYWORD2>
+                       
+                       <KEYWORD3>boolean</KEYWORD3>
+                       <KEYWORD3>byte</KEYWORD3>
+                       <KEYWORD3>char</KEYWORD3>
+                       <KEYWORD3>double</KEYWORD3>
+                       <KEYWORD3>float</KEYWORD3>
+                       <KEYWORD3>int</KEYWORD3>
+                       <KEYWORD3>long</KEYWORD3>
+                       <KEYWORD3>short</KEYWORD3>
+                       <KEYWORD3>void</KEYWORD3>
+       
+                       <LITERAL2>super</LITERAL2>
+                       <LITERAL2>this</LITERAL2>
+                       
+                       <!-- Literals -->
+                       <LITERAL2>false</LITERAL2>
+                       <LITERAL2>null</LITERAL2>
+                       <LITERAL2>true</LITERAL2>
+                       <LITERAL2>NaN</LITERAL2>
+                       <LITERAL2>Infinity</LITERAL2>
+                       
+                       <!-- Value properties -->
+                       <LITERAL2>undefined</LITERAL2>
+                       
+                       <!-- Function properties -->
+                       <LITERAL2>decodeURI</LITERAL2>
+                       <LITERAL2>decodeURIComponent</LITERAL2>
+                       <LITERAL2>encodeURI</LITERAL2>
+                       <LITERAL2>encodeURIComponent</LITERAL2>
+       
+                       <!-- Global functions -->
+                       <LITERAL2>eval</LITERAL2>
+                       <LITERAL2>isFinite</LITERAL2>
+                       <LITERAL2>isNaN</LITERAL2>
+                       <LITERAL2>parseFloat</LITERAL2>
+                       <LITERAL2>parseInt</LITERAL2>
+       
+                       <!-- Fundamental objects -->
+                       <KEYWORD3>Array</KEYWORD3> 
+                       <KEYWORD3>Boolean</KEYWORD3> 
+                       <KEYWORD3>Date</KEYWORD3> 
+                       <KEYWORD3>Error</KEYWORD3>
+                       <KEYWORD3>EvalError</KEYWORD3>
+                       <KEYWORD3>Function</KEYWORD3> 
+                       <KEYWORD3>Global</KEYWORD3> 
+                       <KEYWORD3>InternalError</KEYWORD3>
+                       <KEYWORD3>Math</KEYWORD3>
+                       <KEYWORD3>Number</KEYWORD3>
+                       <KEYWORD3>Object</KEYWORD3>
+                       <KEYWORD3>RangeError</KEYWORD3>
+                       <KEYWORD3>ReferenceError</KEYWORD3>
+                       <KEYWORD3>RegExp</KEYWORD3>
+                       <KEYWORD3>String</KEYWORD3>
+                       <KEYWORD3>Symbol</KEYWORD3>
+                       <KEYWORD3>SyntaxError</KEYWORD3>
+                       <KEYWORD3>TypeError</KEYWORD3>
+                       <KEYWORD3>URIError</KEYWORD3>
+                       
+                       <!-- Indexed collections -->
+                       <KEYWORD3>Float32Array</KEYWORD3>
+                       <KEYWORD3>Float64Array</KEYWORD3>
+                       <KEYWORD3>Int8Array</KEYWORD3>
+                       <KEYWORD3>Int16Array</KEYWORD3>
+                       <KEYWORD3>Int32Array</KEYWORD3>
+                       <KEYWORD3>Uint8Array</KEYWORD3>
+                       <KEYWORD3>Uint8ClampedArray</KEYWORD3>
+                       <KEYWORD3>Uint16Array</KEYWORD3>
+                       <KEYWORD3>Uint32Array</KEYWORD3>
+                       
+                       <!-- Keyed collections -->
+                       <KEYWORD3>Map</KEYWORD3>
+                       <KEYWORD3>Set</KEYWORD3>
+                       <KEYWORD3>WeakMap</KEYWORD3>
+                       <KEYWORD3>WeakSet</KEYWORD3>
+                       
+                       <!-- Structured data -->
+                       <KEYWORD3>ArrayBuffer</KEYWORD3>
+                       <KEYWORD3>DataView</KEYWORD3>
+                       <KEYWORD3>JSON</KEYWORD3>
+                       
+                       <!-- Control abstraction objects -->
+                       <KEYWORD3>Generator</KEYWORD3>
+                       <KEYWORD3>GeneratorFunction</KEYWORD3>
+                       <KEYWORD3>Promise</KEYWORD3>
+                       
+                       <!-- Reflection -->                           
+                       <KEYWORD3>Proxy</KEYWORD3>
+                       <KEYWORD3>Reflect</KEYWORD3>
+                       
+                       <!-- Internationalization -->
+                       <KEYWORD3>Intl</KEYWORD3>
+                       <KEYWORD3>Intl.Collator</KEYWORD3>
+                       <KEYWORD3>Intl.DateTimeFormat</KEYWORD3>
+                       <KEYWORD3>Intl.NumberFormat</KEYWORD3>
+                       
+                       <!-- WebAssembly -->
+                       <KEYWORD3>WebAssembly</KEYWORD3>
+                       <KEYWORD3>WebAssembly.CompileError</KEYWORD3>
+                       <KEYWORD3>WebAssembly.Instance</KEYWORD3>
+                       <KEYWORD3>WebAssembly.LinkError</KEYWORD3>
+                       <KEYWORD3>WebAssembly.Memory</KEYWORD3>
+                       <KEYWORD3>WebAssembly.Module</KEYWORD3>
+                       <KEYWORD3>WebAssembly.RuntimeError</KEYWORD3>
+                       <KEYWORD3>WebAssembly.Table</KEYWORD3>
+                       
+                       <!-- Other -->
+                       <KEYWORD3>arguments</KEYWORD3>
+               </KEYWORDS>
+       </RULES>
+       <!--}}}-->
+       
+       <!--{{{ rule ADO_KEYWORDS -->
+       <RULES SET="ADO_KEYWORDS">
+               <KEYWORDS>
+                       <!-- Comment/Uncomment your favorite ADO Constants-->
+
+                       <!-- ADO Constants-->
+
+                       <!-- CursorTypeEnum Values -->
+                       <LITERAL2>adOpenForwardOnly</LITERAL2>
+                       <LITERAL2>adOpenKeyset</LITERAL2>
+                       <LITERAL2>adOpenDynamic</LITERAL2>
+                       <LITERAL2>adOpenStatic</LITERAL2>
+
+                       <!-- CursorOptionEnum Values -->
+<!--           <LITERAL2>adHoldRecords</LITERAL2>
+                       <LITERAL2>adMovePrevious</LITERAL2>
+                       <LITERAL2>adAddNew</LITERAL2>
+                       <LITERAL2>adDelete</LITERAL2>
+                       <LITERAL2>adUpdate</LITERAL2>
+                       <LITERAL2>adBookmark</LITERAL2>
+                       <LITERAL2>adApproxPosition</LITERAL2>
+                       <LITERAL2>adUpdateBatch</LITERAL2>
+                       <LITERAL2>adResync</LITERAL2>
+                       <LITERAL2>adNotify</LITERAL2>
+                       <LITERAL2>adFind</LITERAL2>
+                       <LITERAL2>adSeek</LITERAL2>
+                       <LITERAL2>adIndex</LITERAL2>
+-->
+                       <!-- LockTypeEnum Values -->
+                       <LITERAL2>adLockReadOnly</LITERAL2>
+                       <LITERAL2>adLockPessimistic</LITERAL2>
+                       <LITERAL2>adLockOptimistic</LITERAL2>
+                       <LITERAL2>adLockBatchOptimistic</LITERAL2>
+
+                       <!-- ExecuteOptionEnum Values -->
+                       <LITERAL2>adRunAsync</LITERAL2>
+                       <LITERAL2>adAsyncExecute</LITERAL2>
+                       <LITERAL2>adAsyncFetch</LITERAL2>
+                       <LITERAL2>adAsyncFetchNonBlocking</LITERAL2>
+                       <LITERAL2>adExecuteNoRecords</LITERAL2>
+
+                       <!-- ConnectOptionEnum Values -->
+<!--                   <LITERAL2>adAsyncConnect</LITERAL2>
+-->
+                       <!-- ObjectStateEnum Values -->
+                       <LITERAL2>adStateClosed</LITERAL2>
+                       <LITERAL2>adStateOpen</LITERAL2>
+                       <LITERAL2>adStateConnecting</LITERAL2>
+                       <LITERAL2>adStateExecuting</LITERAL2>
+                       <LITERAL2>adStateFetching</LITERAL2>
+
+                       <!-- CursorLocationEnum Values -->
+                       <LITERAL2>adUseServer</LITERAL2>
+                       <LITERAL2>adUseClient</LITERAL2>
+
+                       <!-- DataTypeEnum Values -->
+                       <LITERAL2>adEmpty</LITERAL2>
+                       <LITERAL2>adTinyInt</LITERAL2>
+                       <LITERAL2>adSmallInt</LITERAL2>
+                       <LITERAL2>adInteger</LITERAL2>
+                       <LITERAL2>adBigInt</LITERAL2>
+                       <LITERAL2>adUnsignedTinyInt</LITERAL2>
+                       <LITERAL2>adUnsignedSmallInt</LITERAL2>
+                       <LITERAL2>adUnsignedInt</LITERAL2>
+                       <LITERAL2>adUnsignedBigInt</LITERAL2>
+                       <LITERAL2>adSingle</LITERAL2>
+                       <LITERAL2>adDouble</LITERAL2>
+                       <LITERAL2>adCurrency</LITERAL2>
+                       <LITERAL2>adDecimal</LITERAL2>
+                       <LITERAL2>adNumeric</LITERAL2>
+                       <LITERAL2>adBoolean</LITERAL2>
+                       <LITERAL2>adError</LITERAL2>
+                       <LITERAL2>adUserDefined</LITERAL2>
+                       <LITERAL2>adVariant</LITERAL2>
+                       <LITERAL2>adIDispatch</LITERAL2>
+                       <LITERAL2>adIUnknown</LITERAL2>
+                       <LITERAL2>adGUID</LITERAL2>
+                       <LITERAL2>adDate</LITERAL2>
+                       <LITERAL2>adDBDate</LITERAL2>
+                       <LITERAL2>adDBTime</LITERAL2>
+                       <LITERAL2>adDBTimeStamp</LITERAL2>
+                       <LITERAL2>adBSTR</LITERAL2>
+                       <LITERAL2>adChar</LITERAL2>
+                       <LITERAL2>adVarChar</LITERAL2>
+                       <LITERAL2>adLongVarChar</LITERAL2>
+                       <LITERAL2>adWChar</LITERAL2>
+                       <LITERAL2>adVarWChar</LITERAL2>
+                       <LITERAL2>adLongVarWChar</LITERAL2>
+                       <LITERAL2>adBinary</LITERAL2>
+                       <LITERAL2>adVarBinary</LITERAL2>
+                       <LITERAL2>adLongVarBinary</LITERAL2>
+                       <LITERAL2>adChapter</LITERAL2>
+                       <LITERAL2>adFileTime</LITERAL2>
+                       <LITERAL2>adDBFileTime</LITERAL2>
+                       <LITERAL2>adPropVariant</LITERAL2>
+                       <LITERAL2>adVarNumeric</LITERAL2>
+
+                       <!-- FieldAttributeEnum Values -->
+<!--                   <LITERAL2>adFldMayDefer</LITERAL2>
+                       <LITERAL2>adFldUpdatable</LITERAL2>
+                       <LITERAL2>adFldUnknownUpdatable</LITERAL2>
+                       <LITERAL2>adFldFixed</LITERAL2>
+                       <LITERAL2>adFldIsNullable</LITERAL2>
+                       <LITERAL2>adFldMayBeNull</LITERAL2>
+                       <LITERAL2>adFldLong</LITERAL2>
+                       <LITERAL2>adFldRowID</LITERAL2>
+                       <LITERAL2>adFldRowVersion</LITERAL2>
+                       <LITERAL2>adFldCacheDeferred</LITERAL2>
+                       <LITERAL2>adFldKeyColumn</LITERAL2>
+-->
+
+                       <!-- EditModeEnum Values -->
+<!--                   <LITERAL2>adEditNone</LITERAL2>
+                       <LITERAL2>adEditInProgress</LITERAL2>
+                       <LITERAL2>adEditAdd</LITERAL2>
+                       <LITERAL2>adEditDelete</LITERAL2>
+-->
+                       <!-- RecordStatusEnum Values -->
+<!--                   <LITERAL2>adRecOK</LITERAL2>
+                       <LITERAL2>adRecNew</LITERAL2>
+                       <LITERAL2>adRecModified</LITERAL2>
+                       <LITERAL2>adRecDeleted</LITERAL2>
+                       <LITERAL2>adRecUnmodified</LITERAL2>
+                       <LITERAL2>adRecInvalid</LITERAL2>
+                       <LITERAL2>adRecMultipleChanges</LITERAL2>
+                       <LITERAL2>adRecPendingChanges</LITERAL2>
+                       <LITERAL2>adRecCanceled</LITERAL2>
+                       <LITERAL2>adRecCantRelease</LITERAL2>
+                       <LITERAL2>adRecConcurrencyViolation</LITERAL2>
+                       <LITERAL2>adRecIntegrityViolation</LITERAL2>
+                       <LITERAL2>adRecMaxChangesExceeded</LITERAL2>
+                       <LITERAL2>adRecObjectOpen</LITERAL2>
+                       <LITERAL2>adRecOutOfMemory</LITERAL2>
+                       <LITERAL2>adRecPermissionDenied</LITERAL2>
+                       <LITERAL2>adRecSchemaViolation</LITERAL2>
+                       <LITERAL2>adRecDBDeleted</LITERAL2>
+-->
+                       <!-- GetRowsOptionEnum Values -->
+<!--                   <LITERAL2>adGetRowsRest</LITERAL2>
+-->
+
+                       <!-- PositionEnum Values -->
+<!--                   <LITERAL2>adPosUnknown</LITERAL2>
+                       <LITERAL2>adPosBOF</LITERAL2>
+                       <LITERAL2>adPosEOF</LITERAL2>
+-->
+
+                       <!-- enum Values -->
+<!--                   <LITERAL2>adBookmarkCurrent</LITERAL2>
+                       <LITERAL2>adBookmarkFirst</LITERAL2>
+                       <LITERAL2>adBookmarkLast</LITERAL2>
+-->
+                       <!-- MarshalOptionsEnum Values -->
+<!--                   <LITERAL2>adMarshalAll</LITERAL2>
+                       <LITERAL2>adMarshalModifiedOnly</LITERAL2>
+-->
+                       <!-- AffectEnum Values -->
+<!--                   <LITERAL2>adAffectCurrent</LITERAL2>
+                       <LITERAL2>adAffectGroup</LITERAL2>
+                       <LITERAL2>adAffectAll</LITERAL2>
+                       <LITERAL2>adAffectAllChapters</LITERAL2>
+-->
+
+                       <!-- ResyncEnum Values -->
+<!--                   <LITERAL2>adResyncUnderlyingValues</LITERAL2>
+                       <LITERAL2>adResyncAllValues</LITERAL2>
+-->
+                       <!-- CompareEnum Values -->
+<!--                   <LITERAL2>adCompareLessThan</LITERAL2>
+                       <LITERAL2>adCompareEqual</LITERAL2>
+                       <LITERAL2>adCompareGreaterThan</LITERAL2>
+                       <LITERAL2>adCompareNotEqual</LITERAL2>
+                       <LITERAL2>adCompareNotComparable</LITERAL2>
+-->
+                       <!-- FilterGroupEnum Values -->
+<!--                   <LITERAL2>adFilterNone</LITERAL2>
+                       <LITERAL2>adFilterPendingRecords</LITERAL2>
+                       <LITERAL2>adFilterAffectedRecords</LITERAL2>
+                       <LITERAL2>adFilterFetchedRecords</LITERAL2>
+                       <LITERAL2>adFilterPredicate</LITERAL2>
+                       <LITERAL2>adFilterConflictingRecords</LITERAL2>
+-->
+                       <!-- SearchDirectionEnum Values -->
+<!--                   <LITERAL2>adSearchForward</LITERAL2>
+                       <LITERAL2>adSearchBackward</LITERAL2>
+-->
+
+                       <!-- PersistFormatEnum Values -->
+                       <LITERAL2>adPersistADTG</LITERAL2>
+                       <LITERAL2>adPersistXML</LITERAL2>
+
+                       <!-- StringFormatEnum Values -->
+<!--                   <LITERAL2>adStringXML</LITERAL2>
+                       <LITERAL2>adStringHTML</LITERAL2>
+                       <LITERAL2>adClipString</LITERAL2>
+-->
+                       <!-- ConnectPromptEnum Values -->
+<!--                   <LITERAL2>adPromptAlways</LITERAL2>
+                       <LITERAL2>adPromptComplete</LITERAL2>
+                       <LITERAL2>adPromptCompleteRequired</LITERAL2>
+                       <LITERAL2>adPromptNever</LITERAL2>
+-->
+                       <!-- ConnectModeEnum Values -->
+<!--                   <LITERAL2>adModeUnknown</LITERAL2>
+                       <LITERAL2>adModeRead</LITERAL2>
+                       <LITERAL2>adModeWrite</LITERAL2>
+                       <LITERAL2>adModeReadWrite</LITERAL2>
+                       <LITERAL2>adModeShareDenyRead</LITERAL2>
+                       <LITERAL2>adModeShareDenyWrite</LITERAL2>
+                       <LITERAL2>adModeShareExclusive</LITERAL2>
+                       <LITERAL2>adModeShareDenyNone</LITERAL2>
+-->
+                       <!-- IsolationLevelEnum Values -->
+<!--                   <LITERAL2>adXactUnspecified</LITERAL2>
+                       <LITERAL2>adXactChaos</LITERAL2>
+                       <LITERAL2>adXactReadUncommitted</LITERAL2>
+                       <LITERAL2>adXactBrowse</LITERAL2>
+                       <LITERAL2>adXactCursorStability</LITERAL2>
+                       <LITERAL2>adXactReadCommitted</LITERAL2>
+                       <LITERAL2>adXactRepeatableRead</LITERAL2>
+                       <LITERAL2>adXactSerializable</LITERAL2>
+                       <LITERAL2>adXactIsolated</LITERAL2>
+-->
+                       <!-- XactAttributeEnum Values -->
+<!--                   <LITERAL2>adXactCommitRetaining</LITERAL2>
+                       <LITERAL2>adXactAbortRetaining</LITERAL2>
+-->
+                       <!-- PropertyAttributesEnum Values -->
+<!--                   <LITERAL2>adPropNotSupported</LITERAL2>
+                       <LITERAL2>adPropRequired</LITERAL2>
+                       <LITERAL2>adPropOptional</LITERAL2>
+                       <LITERAL2>adPropRead</LITERAL2>
+                       <LITERAL2>adPropWrite</LITERAL2>
+-->
+                       <!-- ErrorValueEnum Values -->
+<!--                   <LITERAL2>adErrInvalidArgument</LITERAL2>
+                       <LITERAL2>adErrNoCurrentRecord</LITERAL2>
+                       <LITERAL2>adErrIllegalOperation</LITERAL2>
+                       <LITERAL2>adErrInTransaction</LITERAL2>
+                       <LITERAL2>adErrFeatureNotAvailable</LITERAL2>
+                       <LITERAL2>adErrItemNotFound</LITERAL2>
+                       <LITERAL2>adErrObjectInCollection</LITERAL2>
+                       <LITERAL2>adErrObjectNotSet</LITERAL2>
+                       <LITERAL2>adErrDataConversion</LITERAL2>
+                       <LITERAL2>adErrObjectClosed</LITERAL2>
+                       <LITERAL2>adErrObjectOpen</LITERAL2>
+                       <LITERAL2>adErrProviderNotFound</LITERAL2>
+                       <LITERAL2>adErrBoundToCommand</LITERAL2>
+                       <LITERAL2>adErrInvalidParamInfo</LITERAL2>
+                       <LITERAL2>adErrInvalidConnection</LITERAL2>
+                       <LITERAL2>adErrNotReentrant</LITERAL2>
+                       <LITERAL2>adErrStillExecuting</LITERAL2>
+                       <LITERAL2>adErrOperationCancelled</LITERAL2>
+                       <LITERAL2>adErrStillConnecting</LITERAL2>
+                       <LITERAL2>adErrNotExecuting</LITERAL2>
+                       <LITERAL2>adErrUnsafeOperation</LITERAL2>
+-->
+                       <!-- ParameterAttributesEnum Values -->
+                       <LITERAL2>adParamSigned</LITERAL2>
+                       <LITERAL2>adParamNullable</LITERAL2>
+                       <LITERAL2>adParamLong</LITERAL2>
+
+                       <!-- ParameterDirectionEnum Values -->
+                       <LITERAL2>adParamUnknown</LITERAL2>
+                       <LITERAL2>adParamInput</LITERAL2>
+                       <LITERAL2>adParamOutput</LITERAL2>
+                       <LITERAL2>adParamInputOutput</LITERAL2>
+                       <LITERAL2>adParamReturnValue</LITERAL2>
+
+                       <!-- CommandTypeEnum Values -->
+                       <LITERAL2>adCmdUnknown</LITERAL2>
+                       <LITERAL2>adCmdText</LITERAL2>
+                       <LITERAL2>adCmdTable</LITERAL2>
+                       <LITERAL2>adCmdStoredProc</LITERAL2>
+                       <LITERAL2>adCmdFile</LITERAL2>
+                       <LITERAL2>adCmdTableDirect</LITERAL2>
+
+                       <!-- EventStatusEnum Values -->
+<!--                   <LITERAL2>adStatusOK</LITERAL2>
+                       <LITERAL2>adStatusErrorsOccurred</LITERAL2>
+                       <LITERAL2>adStatusCantDeny</LITERAL2>
+                       <LITERAL2>adStatusCancel</LITERAL2>
+                       <LITERAL2>adStatusUnwantedEvent</LITERAL2>
+-->
+                       <!-- EventReasonEnum Values -->
+<!--                   <LITERAL2>adRsnAddNew</LITERAL2>
+                       <LITERAL2>adRsnDelete</LITERAL2>
+                       <LITERAL2>adRsnUpdate</LITERAL2>
+                       <LITERAL2>adRsnUndoUpdate</LITERAL2>
+                       <LITERAL2>adRsnUndoAddNew</LITERAL2>
+                       <LITERAL2>adRsnUndoDelete</LITERAL2>
+                       <LITERAL2>adRsnRequery</LITERAL2>
+                       <LITERAL2>adRsnResynch</LITERAL2>
+                       <LITERAL2>adRsnClose</LITERAL2>
+                       <LITERAL2>adRsnMove</LITERAL2>
+                       <LITERAL2>adRsnFirstChange</LITERAL2>
+                       <LITERAL2>adRsnMoveFirst</LITERAL2>
+                       <LITERAL2>adRsnMoveNext</LITERAL2>
+                       <LITERAL2>adRsnMovePrevious</LITERAL2>
+                       <LITERAL2>adRsnMoveLast</LITERAL2>
+-->
+                       <!-- SchemaEnum Values -->
+<!--                   <LITERAL2>adSchemaProviderSpecific</LITERAL2>
+                       <LITERAL2>adSchemaAsserts</LITERAL2>
+                       <LITERAL2>adSchemaCatalogs</LITERAL2>
+                       <LITERAL2>adSchemaCharacterSets</LITERAL2>
+                       <LITERAL2>adSchemaCollations</LITERAL2>
+                       <LITERAL2>adSchemaColumns</LITERAL2>
+                       <LITERAL2>adSchemaCheckConstraints</LITERAL2>
+                       <LITERAL2>adSchemaConstraintColumnUsage</LITERAL2>
+                       <LITERAL2>adSchemaConstraintTableUsage</LITERAL2>
+                       <LITERAL2>adSchemaKeyColumnUsage</LITERAL2>
+                       <LITERAL2>adSchemaReferentialConstraints</LITERAL2>
+                       <LITERAL2>adSchemaTableConstraints</LITERAL2>
+                       <LITERAL2>adSchemaColumnsDomainUsage</LITERAL2>
+                       <LITERAL2>adSchemaIndexes</LITERAL2>
+                       <LITERAL2>adSchemaColumnPrivileges</LITERAL2>
+                       <LITERAL2>adSchemaTablePrivileges</LITERAL2>
+                       <LITERAL2>adSchemaUsagePrivileges</LITERAL2>
+                       <LITERAL2>adSchemaProcedures</LITERAL2>
+                       <LITERAL2>adSchemaSchemata</LITERAL2>
+                       <LITERAL2>adSchemaSQLLanguages</LITERAL2>
+                       <LITERAL2>adSchemaStatistics</LITERAL2>
+                       <LITERAL2>adSchemaTables</LITERAL2>
+                       <LITERAL2>adSchemaTranslations</LITERAL2>
+                       <LITERAL2>adSchemaProviderTypes</LITERAL2>
+                       <LITERAL2>adSchemaViews</LITERAL2>
+                       <LITERAL2>adSchemaViewColumnUsage</LITERAL2>
+                       <LITERAL2>adSchemaViewTableUsage</LITERAL2>
+                       <LITERAL2>adSchemaProcedureParameters</LITERAL2>
+                       <LITERAL2>adSchemaForeignKeys</LITERAL2>
+                       <LITERAL2>adSchemaPrimaryKeys</LITERAL2>
+                       <LITERAL2>adSchemaProcedureColumns</LITERAL2>
+                       <LITERAL2>adSchemaDBInfoKeywords</LITERAL2>
+                       <LITERAL2>adSchemaDBInfoLiterals</LITERAL2>
+                       <LITERAL2>adSchemaCubes</LITERAL2>
+                       <LITERAL2>adSchemaDimensions</LITERAL2>
+                       <LITERAL2>adSchemaHierarchies</LITERAL2>
+                       <LITERAL2>adSchemaLevels</LITERAL2>
+                       <LITERAL2>adSchemaMeasures</LITERAL2>
+                       <LITERAL2>adSchemaProperties</LITERAL2>
+                       <LITERAL2>adSchemaMembers</LITERAL2>
+-->
+                       <!-- SeekEnum Values -->
+<!--                   <LITERAL2>adSeekFirstEQ</LITERAL2>
+                       <LITERAL2>adSeekLastEQ</LITERAL2>
+                       <LITERAL2>adSeekAfterEQ</LITERAL2>
+                       <LITERAL2>adSeekAfter</LITERAL2>
+                       <LITERAL2>adSeekBeforeEQ</LITERAL2>
+                       <LITERAL2>adSeekBefore</LITERAL2>
+-->
+                       <!-- ADCPROP_UPDATECRITERIA_ENUM Values -->
+<!--                   <LITERAL2>adCriteriaKey</LITERAL2>
+                       <LITERAL2>adCriteriaAllCols</LITERAL2>
+                       <LITERAL2>adCriteriaUpdCols</LITERAL2>
+                       <LITERAL2>adCriteriaTimeStamp</LITERAL2>
+-->
+                       <!-- ADCPROP_ASYNCTHREADPRIORITY_ENUM Values -->
+<!--                   <LITERAL2>adPriorityLowest</LITERAL2>
+                       <LITERAL2>adPriorityBelowNormal</LITERAL2>
+                       <LITERAL2>adPriorityNormal</LITERAL2>
+                       <LITERAL2>adPriorityAboveNormal</LITERAL2>
+                       <LITERAL2>adPriorityHighest</LITERAL2>
+-->
+                       <!-- CEResyncEnum Values -->
+<!--                   <LITERAL2>adResyncNone</LITERAL2>
+                       <LITERAL2>adResyncAutoIncrement</LITERAL2>
+                       <LITERAL2>adResyncConflicts</LITERAL2>
+                       <LITERAL2>adResyncUpdates</LITERAL2>
+                       <LITERAL2>adResyncInserts</LITERAL2>
+                       <LITERAL2>adResyncAll</LITERAL2>
+-->
+                       <!-- ADCPROP_AUTORECALC_ENUM Values -->
+<!--                   <LITERAL2>adRecalcUpFront</LITERAL2>
+                       <LITERAL2>adRecalcAlways</LITERAL2>
+-->
+               </KEYWORDS>
+       </RULES>        
+       
+       <!--{{{ rule STRING_LITERAL -->
+       <RULES SET="STRING_LITERAL">
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE" ESCAPE="\">
+                       <BEGIN>"</BEGIN>
+                       <END>"</END>
+               </SPAN>
+
+               <SPAN TYPE="LITERAL1" NO_LINE_BREAK="TRUE" ESCAPE="\">
+                       <BEGIN>'</BEGIN>
+                       <END>'</END>
+               </SPAN>
+
+               
+               <IMPORT DELEGATE="TEMPLATE_LITERAL"/>
+       </RULES>
+       <!--}}}-->
+               
+       <!--{{{ rule TEMPLATE_LITERAL_PLACEHOLDER -->
+       <RULES SET="TEMPLATE_LITERAL_PLACEHOLDER" DEFAULT="LITERAL1" ESCAPE="\">
+               <SPAN TYPE="LITERAL2" ESCAPE="\" DELEGATE="EXPRESSION">
+                       <BEGIN>${</BEGIN>
+                       <END>}</END>
+               </SPAN>
+       </RULES>
+       <!--}}}-->
+       
+       <!--{{{ rule TEMPLATE_LITERAL -->
+       <RULES SET="TEMPLATE_LITERAL">
+               <SPAN TYPE="LITERAL1" ESCAPE="\" DELEGATE="TEMPLATE_LITERAL_PLACEHOLDER">
+                       <BEGIN>`</BEGIN>
+                       <END>`</END>
+               </SPAN>
+       </RULES>
+       <!--}}}-->
+
+       <!--{{{ rule EXPRESSION -->
+       <RULES SET="EXPRESSION" ESCAPE="\" HIGHLIGHT_DIGITS="TRUE" 
+               DIGIT_RE="((0x|0b|0o)[\p{XDigit}]+[lL]?|[\p{Digit}]+(e[\p{Digit}]*)?[lLdDfF]?)">
+
+               <IMPORT DELEGATE="MAIN" />
+       </RULES>
+       <!--}}}-->
+       
+</MODE>