1# -*- coding: utf-8 -*- 2""" 3 pygments.lexers.foxpro 4 ~~~~~~~~~~~~~~~~~~~~~~ 5 6 Simple lexer for Microsoft Visual FoxPro source code. 7 8 :copyright: Copyright 2006-2019 by the Pygments team, see AUTHORS. 9 :license: BSD, see LICENSE for details. 10""" 11 12import re 13 14from pygments.lexer import RegexLexer 15from pygments.token import Punctuation, Text, Comment, Operator, Keyword, \ 16 Name, String 17 18__all__ = ['FoxProLexer'] 19 20 21class FoxProLexer(RegexLexer): 22 """Lexer for Microsoft Visual FoxPro language. 23 24 FoxPro syntax allows to shorten all keywords and function names 25 to 4 characters. Shortened forms are not recognized by this lexer. 26 27 .. versionadded:: 1.6 28 """ 29 30 name = 'FoxPro' 31 aliases = ['foxpro', 'vfp', 'clipper', 'xbase'] 32 filenames = ['*.PRG', '*.prg'] 33 mimetype = [] 34 35 flags = re.IGNORECASE | re.MULTILINE 36 37 tokens = { 38 'root': [ 39 (r';\s*\n', Punctuation), # consume newline 40 (r'(^|\n)\s*', Text, 'newline'), 41 42 # Square brackets may be used for array indices 43 # and for string literal. Look for arrays 44 # before matching string literals. 45 (r'(?<=\w)\[[0-9, ]+\]', Text), 46 (r'\'[^\'\n]*\'|"[^"\n]*"|\[[^]*]\]', String), 47 (r'(^\s*\*|&&|&&).*?\n', Comment.Single), 48 49 (r'(ABS|ACLASS|ACOPY|ACOS|ADATABASES|ADBOBJECTS|ADDBS|' 50 r'ADDPROPERTY|ADEL|ADIR|ADLLS|ADOCKSTATE|AELEMENT|AERROR|' 51 r'AEVENTS|AFIELDS|AFONT|AGETCLASS|AGETFILEVERSION|AINS|' 52 r'AINSTANCE|ALANGUAGE|ALEN|ALIAS|ALINES|ALLTRIM|' 53 r'AMEMBERS|AMOUSEOBJ|ANETRESOURCES|APRINTERS|APROCINFO|' 54 r'ASC|ASCAN|ASELOBJ|ASESSIONS|ASIN|ASORT|ASQLHANDLES|' 55 r'ASTACKINFO|ASUBSCRIPT|AT|AT_C|ATAGINFO|ATAN|ATC|ATCC|' 56 r'ATCLINE|ATLINE|ATN2|AUSED|AVCXCLASSES|BAR|BARCOUNT|' 57 r'BARPROMPT|BETWEEN|BINDEVENT|BINTOC|BITAND|BITCLEAR|' 58 r'BITLSHIFT|BITNOT|BITOR|BITRSHIFT|BITSET|BITTEST|BITXOR|' 59 r'BOF|CANDIDATE|CAPSLOCK|CAST|CDOW|CDX|CEILING|CHR|CHRSAW|' 60 r'CHRTRAN|CHRTRANC|CLEARRESULTSET|CMONTH|CNTBAR|CNTPAD|COL|' 61 r'COM|Functions|COMARRAY|COMCLASSINFO|COMPOBJ|COMPROP|' 62 r'COMRETURNERROR|COS|CPCONVERT|CPCURRENT|CPDBF|CREATEBINARY|' 63 r'CREATEOBJECT|CREATEOBJECTEX|CREATEOFFLINE|CTOBIN|CTOD|' 64 r'CTOT|CURDIR|CURSORGETPROP|CURSORSETPROP|CURSORTOXML|' 65 r'CURVAL|DATE|DATETIME|DAY|DBC|DBF|DBGETPROP|DBSETPROP|' 66 r'DBUSED|DDEAbortTrans|DDEAdvise|DDEEnabled|DDEExecute|' 67 r'DDEInitiate|DDELastError|DDEPoke|DDERequest|DDESetOption|' 68 r'DDESetService|DDESetTopic|DDETerminate|DEFAULTEXT|' 69 r'DELETED|DESCENDING|DIFFERENCE|DIRECTORY|DISKSPACE|' 70 r'DisplayPath|DMY|DODEFAULT|DOW|DRIVETYPE|DROPOFFLINE|' 71 r'DTOC|DTOR|DTOS|DTOT|EDITSOURCE|EMPTY|EOF|ERROR|EVAL(UATE)?|' 72 r'EVENTHANDLER|EVL|EXECSCRIPT|EXP|FCHSIZE|FCLOSE|FCOUNT|' 73 r'FCREATE|FDATE|FEOF|FERROR|FFLUSH|FGETS|FIELD|FILE|' 74 r'FILETOSTR|FILTER|FKLABEL|FKMAX|FLDLIST|FLOCK|FLOOR|' 75 r'FONTMETRIC|FOPEN|FOR|FORCEEXT|FORCEPATH|FOUND|FPUTS|' 76 r'FREAD|FSEEK|FSIZE|FTIME|FULLPATH|FV|FWRITE|' 77 r'GETAUTOINCVALUE|GETBAR|GETCOLOR|GETCP|GETDIR|GETENV|' 78 r'GETFILE|GETFLDSTATE|GETFONT|GETINTERFACE|' 79 r'GETNEXTMODIFIED|GETOBJECT|GETPAD|GETPEM|GETPICT|' 80 r'GETPRINTER|GETRESULTSET|GETWORDCOUNT|GETWORDNUM|' 81 r'GETCURSORADAPTER|GOMONTH|HEADER|HOME|HOUR|ICASE|' 82 r'IDXCOLLATE|IIF|IMESTATUS|INDBC|INDEXSEEK|INKEY|INLIST|' 83 r'INPUTBOX|INSMODE|INT|ISALPHA|ISBLANK|ISCOLOR|ISDIGIT|' 84 r'ISEXCLUSIVE|ISFLOCKED|ISLEADBYTE|ISLOWER|ISMEMOFETCHED|' 85 r'ISMOUSE|ISNULL|ISPEN|ISREADONLY|ISRLOCKED|' 86 r'ISTRANSACTABLE|ISUPPER|JUSTDRIVE|JUSTEXT|JUSTFNAME|' 87 r'JUSTPATH|JUSTSTEM|KEY|KEYMATCH|LASTKEY|LEFT|LEFTC|LEN|' 88 r'LENC|LIKE|LIKEC|LINENO|LOADPICTURE|LOCFILE|LOCK|LOG|' 89 r'LOG10|LOOKUP|LOWER|LTRIM|LUPDATE|MAKETRANSACTABLE|MAX|' 90 r'MCOL|MDOWN|MDX|MDY|MEMLINES|MEMORY|MENU|MESSAGE|' 91 r'MESSAGEBOX|MIN|MINUTE|MLINE|MOD|MONTH|MRKBAR|MRKPAD|' 92 r'MROW|MTON|MWINDOW|NDX|NEWOBJECT|NORMALIZE|NTOM|NUMLOCK|' 93 r'NVL|OBJNUM|OBJTOCLIENT|OBJVAR|OCCURS|OEMTOANSI|OLDVAL|' 94 r'ON|ORDER|OS|PAD|PADL|PARAMETERS|PAYMENT|PCOL|PCOUNT|' 95 r'PEMSTATUS|PI|POPUP|PRIMARY|PRINTSTATUS|PRMBAR|PRMPAD|' 96 r'PROGRAM|PROMPT|PROPER|PROW|PRTINFO|PUTFILE|PV|QUARTER|' 97 r'RAISEEVENT|RAND|RAT|RATC|RATLINE|RDLEVEL|READKEY|RECCOUNT|' 98 r'RECNO|RECSIZE|REFRESH|RELATION|REPLICATE|REQUERY|RGB|' 99 r'RGBSCHEME|RIGHT|RIGHTC|RLOCK|ROUND|ROW|RTOD|RTRIM|' 100 r'SAVEPICTURE|SCHEME|SCOLS|SEC|SECONDS|SEEK|SELECT|SET|' 101 r'SETFLDSTATE|SETRESULTSET|SIGN|SIN|SKPBAR|SKPPAD|SOUNDEX|' 102 r'SPACE|SQLCANCEL|SQLCOLUMNS|SQLCOMMIT|SQLCONNECT|' 103 r'SQLDISCONNECT|SQLEXEC|SQLGETPROP|SQLIDLEDISCONNECT|' 104 r'SQLMORERESULTS|SQLPREPARE|SQLROLLBACK|SQLSETPROP|' 105 r'SQLSTRINGCONNECT|SQLTABLES|SQRT|SROWS|STR|STRCONV|' 106 r'STREXTRACT|STRTOFILE|STRTRAN|STUFF|STUFFC|SUBSTR|' 107 r'SUBSTRC|SYS|SYSMETRIC|TABLEREVERT|TABLEUPDATE|TAG|' 108 r'TAGCOUNT|TAGNO|TAN|TARGET|TEXTMERGE|TIME|TRANSFORM|' 109 r'TRIM|TTOC|TTOD|TXNLEVEL|TXTWIDTH|TYPE|UNBINDEVENTS|' 110 r'UNIQUE|UPDATED|UPPER|USED|VAL|VARREAD|VARTYPE|VERSION|' 111 r'WBORDER|WCHILD|WCOLS|WDOCKABLE|WEEK|WEXIST|WFONT|WLAST|' 112 r'WLCOL|WLROW|WMAXIMUM|WMINIMUM|WONTOP|WOUTPUT|WPARENT|' 113 r'WREAD|WROWS|WTITLE|WVISIBLE|XMLTOCURSOR|XMLUPDATEGRAM|' 114 r'YEAR)(?=\s*\()', Name.Function), 115 116 (r'_ALIGNMENT|_ASCIICOLS|_ASCIIROWS|_ASSIST|_BEAUTIFY|_BOX|' 117 r'_BROWSER|_BUILDER|_CALCMEM|_CALCVALUE|_CLIPTEXT|_CONVERTER|' 118 r'_COVERAGE|_CUROBJ|_DBLCLICK|_DIARYDATE|_DOS|_FOXDOC|_FOXREF|' 119 r'_GALLERY|_GENGRAPH|_GENHTML|_GENMENU|_GENPD|_GENSCRN|' 120 r'_GENXTAB|_GETEXPR|_INCLUDE|_INCSEEK|_INDENT|_LMARGIN|_MAC|' 121 r'_MENUDESIGNER|_MLINE|_PADVANCE|_PAGENO|_PAGETOTAL|_PBPAGE|' 122 r'_PCOLNO|_PCOPIES|_PDRIVER|_PDSETUP|_PECODE|_PEJECT|_PEPAGE|' 123 r'_PLENGTH|_PLINENO|_PLOFFSET|_PPITCH|_PQUALITY|_PRETEXT|' 124 r'_PSCODE|_PSPACING|_PWAIT|_RMARGIN|_REPORTBUILDER|' 125 r'_REPORTOUTPUT|_REPORTPREVIEW|_SAMPLES|_SCCTEXT|_SCREEN|' 126 r'_SHELL|_SPELLCHK|_STARTUP|_TABS|_TALLY|_TASKPANE|_TEXT|' 127 r'_THROTTLE|_TOOLBOX|_TOOLTIPTIMEOUT|_TRANSPORT|_TRIGGERLEVEL|' 128 r'_UNIX|_VFP|_WINDOWS|_WIZARD|_WRAP', Keyword.Pseudo), 129 130 (r'THISFORMSET|THISFORM|THIS', Name.Builtin), 131 132 (r'Application|CheckBox|Collection|Column|ComboBox|' 133 r'CommandButton|CommandGroup|Container|Control|CursorAdapter|' 134 r'Cursor|Custom|DataEnvironment|DataObject|EditBox|' 135 r'Empty|Exception|Fields|Files|File|FormSet|Form|FoxCode|' 136 r'Grid|Header|Hyperlink|Image|Label|Line|ListBox|Objects|' 137 r'OptionButton|OptionGroup|PageFrame|Page|ProjectHook|Projects|' 138 r'Project|Relation|ReportListener|Separator|Servers|Server|' 139 r'Session|Shape|Spinner|Tables|TextBox|Timer|ToolBar|' 140 r'XMLAdapter|XMLField|XMLTable', Name.Class), 141 142 (r'm\.[a-z_]\w*', Name.Variable), 143 (r'\.(F|T|AND|OR|NOT|NULL)\.|\b(AND|OR|NOT|NULL)\b', Operator.Word), 144 145 (r'\.(ActiveColumn|ActiveControl|ActiveForm|ActivePage|' 146 r'ActiveProject|ActiveRow|AddLineFeeds|ADOCodePage|Alias|' 147 r'Alignment|Align|AllowAddNew|AllowAutoColumnFit|' 148 r'AllowCellSelection|AllowDelete|AllowHeaderSizing|' 149 r'AllowInsert|AllowModalMessages|AllowOutput|AllowRowSizing|' 150 r'AllowSimultaneousFetch|AllowTabs|AllowUpdate|' 151 r'AlwaysOnBottom|AlwaysOnTop|Anchor|Application|' 152 r'AutoActivate|AutoCenter|AutoCloseTables|AutoComplete|' 153 r'AutoCompSource|AutoCompTable|AutoHideScrollBar|' 154 r'AutoIncrement|AutoOpenTables|AutoRelease|AutoSize|' 155 r'AutoVerbMenu|AutoYield|BackColor|ForeColor|BackStyle|' 156 r'BaseClass|BatchUpdateCount|BindControls|BorderColor|' 157 r'BorderStyle|BorderWidth|BoundColumn|BoundTo|Bound|' 158 r'BreakOnError|BufferModeOverride|BufferMode|' 159 r'BuildDateTime|ButtonCount|Buttons|Cancel|Caption|' 160 r'Centered|Century|ChildAlias|ChildOrder|ChildTable|' 161 r'ClassLibrary|Class|ClipControls|Closable|CLSID|CodePage|' 162 r'ColorScheme|ColorSource|ColumnCount|ColumnLines|' 163 r'ColumnOrder|Columns|ColumnWidths|CommandClauses|' 164 r'Comment|CompareMemo|ConflictCheckCmd|ConflictCheckType|' 165 r'ContinuousScroll|ControlBox|ControlCount|Controls|' 166 r'ControlSource|ConversionFunc|Count|CurrentControl|' 167 r'CurrentDataSession|CurrentPass|CurrentX|CurrentY|' 168 r'CursorSchema|CursorSource|CursorStatus|Curvature|' 169 r'Database|DataSessionID|DataSession|DataSourceType|' 170 r'DataSource|DataType|DateFormat|DateMark|Debug|' 171 r'DeclareXMLPrefix|DEClassLibrary|DEClass|DefaultFilePath|' 172 r'Default|DefOLELCID|DeleteCmdDataSourceType|DeleteCmdDataSource|' 173 r'DeleteCmd|DeleteMark|Description|Desktop|' 174 r'Details|DisabledBackColor|DisabledForeColor|' 175 r'DisabledItemBackColor|DisabledItemForeColor|' 176 r'DisabledPicture|DisableEncode|DisplayCount|' 177 r'DisplayValue|Dockable|Docked|DockPosition|' 178 r'DocumentFile|DownPicture|DragIcon|DragMode|DrawMode|' 179 r'DrawStyle|DrawWidth|DynamicAlignment|DynamicBackColor|' 180 r'DynamicForeColor|DynamicCurrentControl|DynamicFontBold|' 181 r'DynamicFontItalic|DynamicFontStrikethru|' 182 r'DynamicFontUnderline|DynamicFontName|DynamicFontOutline|' 183 r'DynamicFontShadow|DynamicFontSize|DynamicInputMask|' 184 r'DynamicLineHeight|EditorOptions|Enabled|' 185 r'EnableHyperlinks|Encrypted|ErrorNo|Exclude|Exclusive|' 186 r'FetchAsNeeded|FetchMemoCmdList|FetchMemoDataSourceType|' 187 r'FetchMemoDataSource|FetchMemo|FetchSize|' 188 r'FileClassLibrary|FileClass|FillColor|FillStyle|Filter|' 189 r'FirstElement|FirstNestedTable|Flags|FontBold|FontItalic|' 190 r'FontStrikethru|FontUnderline|FontCharSet|FontCondense|' 191 r'FontExtend|FontName|FontOutline|FontShadow|FontSize|' 192 r'ForceCloseTag|Format|FormCount|FormattedOutput|Forms|' 193 r'FractionDigits|FRXDataSession|FullName|GDIPlusGraphics|' 194 r'GridLineColor|GridLines|GridLineWidth|HalfHeightCaption|' 195 r'HeaderClassLibrary|HeaderClass|HeaderHeight|Height|' 196 r'HelpContextID|HideSelection|HighlightBackColor|' 197 r'HighlightForeColor|HighlightStyle|HighlightRowLineWidth|' 198 r'HighlightRow|Highlight|HomeDir|Hours|HostName|' 199 r'HScrollSmallChange|hWnd|Icon|IncrementalSearch|Increment|' 200 r'InitialSelectedAlias|InputMask|InsertCmdDataSourceType|' 201 r'InsertCmdDataSource|InsertCmdRefreshCmd|' 202 r'InsertCmdRefreshFieldList|InsertCmdRefreshKeyFieldList|' 203 r'InsertCmd|Instancing|IntegralHeight|' 204 r'Interval|IMEMode|IsAttribute|IsBase64|IsBinary|IsNull|' 205 r'IsDiffGram|IsLoaded|ItemBackColor,|ItemData|ItemIDData|' 206 r'ItemTips|IXMLDOMElement|KeyboardHighValue|KeyboardLowValue|' 207 r'Keyfield|KeyFieldList|KeyPreview|KeySort|LanguageOptions|' 208 r'LeftColumn|Left|LineContents|LineNo|LineSlant|LinkMaster|' 209 r'ListCount|ListenerType|ListIndex|ListItemID|ListItem|' 210 r'List|LockColumnsLeft|LockColumns|LockScreen|MacDesktop|' 211 r'MainFile|MapN19_4ToCurrency|MapBinary|MapVarchar|Margin|' 212 r'MaxButton|MaxHeight|MaxLeft|MaxLength|MaxRecords|MaxTop|' 213 r'MaxWidth|MDIForm|MemberClassLibrary|MemberClass|' 214 r'MemoWindow|Message|MinButton|MinHeight|MinWidth|' 215 r'MouseIcon|MousePointer|Movable|MoverBars|MultiSelect|' 216 r'Name|NestedInto|NewIndex|NewItemID|NextSiblingTable|' 217 r'NoCpTrans|NoDataOnLoad|NoData|NullDisplay|' 218 r'NumberOfElements|Object|OLEClass|OLEDragMode|' 219 r'OLEDragPicture|OLEDropEffects|OLEDropHasData|' 220 r'OLEDropMode|OLEDropTextInsertion|OLELCID|' 221 r'OLERequestPendingTimeout|OLEServerBusyRaiseError|' 222 r'OLEServerBusyTimeout|OLETypeAllowed|OneToMany|' 223 r'OpenViews|OpenWindow|Optimize|OrderDirection|Order|' 224 r'OutputPageCount|OutputType|PageCount|PageHeight|' 225 r'PageNo|PageOrder|Pages|PageTotal|PageWidth|' 226 r'PanelLink|Panel|ParentAlias|ParentClass|ParentTable|' 227 r'Parent|Partition|PasswordChar|PictureMargin|' 228 r'PicturePosition|PictureSpacing|PictureSelectionDisplay|' 229 r'PictureVal|Picture|Prepared|' 230 r'PolyPoints|PreserveWhiteSpace|PreviewContainer|' 231 r'PrintJobName|Procedure|PROCESSID|ProgID|ProjectHookClass|' 232 r'ProjectHookLibrary|ProjectHook|QuietMode|' 233 r'ReadCycle|ReadLock|ReadMouse|ReadObject|ReadOnly|' 234 r'ReadSave|ReadTimeout|RecordMark|RecordSourceType|' 235 r'RecordSource|RefreshAlias|' 236 r'RefreshCmdDataSourceType|RefreshCmdDataSource|RefreshCmd|' 237 r'RefreshIgnoreFieldList|RefreshTimeStamp|RelationalExpr|' 238 r'RelativeColumn|RelativeRow|ReleaseType|Resizable|' 239 r'RespectCursorCP|RespectNesting|RightToLeft|RotateFlip|' 240 r'Rotation|RowColChange|RowHeight|RowSourceType|' 241 r'RowSource|ScaleMode|SCCProvider|SCCStatus|ScrollBars|' 242 r'Seconds|SelectCmd|SelectedID|' 243 r'SelectedItemBackColor|SelectedItemForeColor|Selected|' 244 r'SelectionNamespaces|SelectOnEntry|SelLength|SelStart|' 245 r'SelText|SendGDIPlusImage|SendUpdates|ServerClassLibrary|' 246 r'ServerClass|ServerHelpFile|ServerName|' 247 r'ServerProject|ShowTips|ShowInTaskbar|ShowWindow|' 248 r'Sizable|SizeBox|SOM|Sorted|Sparse|SpecialEffect|' 249 r'SpinnerHighValue|SpinnerLowValue|SplitBar|StackLevel|' 250 r'StartMode|StatusBarText|StatusBar|Stretch|StrictDateEntry|' 251 r'Style|TabIndex|Tables|TabOrientation|Tabs|TabStop|' 252 r'TabStretch|TabStyle|Tag|TerminateRead|Text|Themes|' 253 r'ThreadID|TimestampFieldList|TitleBar|ToolTipText|' 254 r'TopIndex|TopItemID|Top|TwoPassProcess|TypeLibCLSID|' 255 r'TypeLibDesc|TypeLibName|Type|Unicode|UpdatableFieldList|' 256 r'UpdateCmdDataSourceType|UpdateCmdDataSource|' 257 r'UpdateCmdRefreshCmd|UpdateCmdRefreshFieldList|' 258 r'UpdateCmdRefreshKeyFieldList|UpdateCmd|' 259 r'UpdateGramSchemaLocation|UpdateGram|UpdateNameList|UpdateType|' 260 r'UseCodePage|UseCursorSchema|UseDeDataSource|UseMemoSize|' 261 r'UserValue|UseTransactions|UTF8Encoded|Value|VersionComments|' 262 r'VersionCompany|VersionCopyright|VersionDescription|' 263 r'VersionNumber|VersionProduct|VersionTrademarks|Version|' 264 r'VFPXMLProgID|ViewPortHeight|ViewPortLeft|' 265 r'ViewPortTop|ViewPortWidth|VScrollSmallChange|View|Visible|' 266 r'VisualEffect|WhatsThisButton|WhatsThisHelpID|WhatsThisHelp|' 267 r'WhereType|Width|WindowList|WindowState|WindowType|WordWrap|' 268 r'WrapCharInCDATA|WrapInCDATA|WrapMemoInCDATA|XMLAdapter|' 269 r'XMLConstraints|XMLNameIsXPath|XMLNamespace|XMLName|' 270 r'XMLPrefix|XMLSchemaLocation|XMLTable|XMLType|' 271 r'XSDfractionDigits|XSDmaxLength|XSDtotalDigits|' 272 r'XSDtype|ZoomBox)', Name.Attribute), 273 274 (r'\.(ActivateCell|AddColumn|AddItem|AddListItem|AddObject|' 275 r'AddProperty|AddTableSchema|AddToSCC|Add|' 276 r'ApplyDiffgram|Attach|AutoFit|AutoOpen|Box|Build|' 277 r'CancelReport|ChangesToCursor|CheckIn|CheckOut|Circle|' 278 r'CleanUp|ClearData|ClearStatus|Clear|CloneObject|CloseTables|' 279 r'Close|Cls|CursorAttach|CursorDetach|CursorFill|' 280 r'CursorRefresh|DataToClip|DelayedMemoFetch|DeleteColumn|' 281 r'Dock|DoMessage|DoScroll|DoStatus|DoVerb|Drag|Draw|Eval|' 282 r'GetData|GetDockState|GetFormat|GetKey|GetLatestVersion|' 283 r'GetPageHeight|GetPageWidth|Help|Hide|IncludePageInOutput|' 284 r'IndexToItemID|ItemIDToIndex|Item|LoadXML|Line|Modify|' 285 r'MoveItem|Move|Nest|OLEDrag|OnPreviewClose|OutputPage|' 286 r'Point|Print|PSet|Quit|ReadExpression|ReadMethod|' 287 r'RecordRefresh|Refresh|ReleaseXML|Release|RemoveFromSCC|' 288 r'RemoveItem|RemoveListItem|RemoveObject|Remove|' 289 r'Render|Requery|RequestData|ResetToDefault|Reset|Run|' 290 r'SaveAsClass|SaveAs|SetAll|SetData|SetFocus|SetFormat|' 291 r'SetMain|SetVar|SetViewPort|ShowWhatsThis|Show|' 292 r'SupportsListenerType|TextHeight|TextWidth|ToCursor|' 293 r'ToXML|UndoCheckOut|Unnest|UpdateStatus|WhatsThisMode|' 294 r'WriteExpression|WriteMethod|ZOrder)', Name.Function), 295 296 (r'\.(Activate|AdjustObjectSize|AfterBand|AfterBuild|' 297 r'AfterCloseTables|AfterCursorAttach|AfterCursorClose|' 298 r'AfterCursorDetach|AfterCursorFill|AfterCursorRefresh|' 299 r'AfterCursorUpdate|AfterDelete|AfterInsert|' 300 r'AfterRecordRefresh|AfterUpdate|AfterDock|AfterReport|' 301 r'AfterRowColChange|BeforeBand|BeforeCursorAttach|' 302 r'BeforeCursorClose|BeforeCursorDetach|BeforeCursorFill|' 303 r'BeforeCursorRefresh|BeforeCursorUpdate|BeforeDelete|' 304 r'BeforeInsert|BeforeDock|BeforeOpenTables|' 305 r'BeforeRecordRefresh|BeforeReport|BeforeRowColChange|' 306 r'BeforeUpdate|Click|dbc_Activate|dbc_AfterAddTable|' 307 r'dbc_AfterAppendProc|dbc_AfterCloseTable|dbc_AfterCopyProc|' 308 r'dbc_AfterCreateConnection|dbc_AfterCreateOffline|' 309 r'dbc_AfterCreateTable|dbc_AfterCreateView|dbc_AfterDBGetProp|' 310 r'dbc_AfterDBSetProp|dbc_AfterDeleteConnection|' 311 r'dbc_AfterDropOffline|dbc_AfterDropTable|' 312 r'dbc_AfterModifyConnection|dbc_AfterModifyProc|' 313 r'dbc_AfterModifyTable|dbc_AfterModifyView|dbc_AfterOpenTable|' 314 r'dbc_AfterRemoveTable|dbc_AfterRenameConnection|' 315 r'dbc_AfterRenameTable|dbc_AfterRenameView|' 316 r'dbc_AfterValidateData|dbc_BeforeAddTable|' 317 r'dbc_BeforeAppendProc|dbc_BeforeCloseTable|' 318 r'dbc_BeforeCopyProc|dbc_BeforeCreateConnection|' 319 r'dbc_BeforeCreateOffline|dbc_BeforeCreateTable|' 320 r'dbc_BeforeCreateView|dbc_BeforeDBGetProp|' 321 r'dbc_BeforeDBSetProp|dbc_BeforeDeleteConnection|' 322 r'dbc_BeforeDropOffline|dbc_BeforeDropTable|' 323 r'dbc_BeforeModifyConnection|dbc_BeforeModifyProc|' 324 r'dbc_BeforeModifyTable|dbc_BeforeModifyView|' 325 r'dbc_BeforeOpenTable|dbc_BeforeRemoveTable|' 326 r'dbc_BeforeRenameConnection|dbc_BeforeRenameTable|' 327 r'dbc_BeforeRenameView|dbc_BeforeValidateData|' 328 r'dbc_CloseData|dbc_Deactivate|dbc_ModifyData|dbc_OpenData|' 329 r'dbc_PackData|DblClick|Deactivate|Deleted|Destroy|DoCmd|' 330 r'DownClick|DragDrop|DragOver|DropDown|ErrorMessage|Error|' 331 r'EvaluateContents|GotFocus|Init|InteractiveChange|KeyPress|' 332 r'LoadReport|Load|LostFocus|Message|MiddleClick|MouseDown|' 333 r'MouseEnter|MouseLeave|MouseMove|MouseUp|MouseWheel|Moved|' 334 r'OLECompleteDrag|OLEDragOver|OLEGiveFeedback|OLESetData|' 335 r'OLEStartDrag|OnMoveItem|Paint|ProgrammaticChange|' 336 r'QueryAddFile|QueryModifyFile|QueryNewFile|QueryRemoveFile|' 337 r'QueryRunFile|QueryUnload|RangeHigh|RangeLow|ReadActivate|' 338 r'ReadDeactivate|ReadShow|ReadValid|ReadWhen|Resize|' 339 r'RightClick|SCCInit|SCCDestroy|Scrolled|Timer|UIEnable|' 340 r'UnDock|UnloadReport|Unload|UpClick|Valid|When)', Name.Function), 341 342 (r'\s+', Text), 343 # everything else is not colored 344 (r'.', Text), 345 ], 346 'newline': [ 347 (r'\*.*?$', Comment.Single, '#pop'), 348 (r'(ACCEPT|ACTIVATE\s*MENU|ACTIVATE\s*POPUP|ACTIVATE\s*SCREEN|' 349 r'ACTIVATE\s*WINDOW|APPEND|APPEND\s*FROM|APPEND\s*FROM\s*ARRAY|' 350 r'APPEND\s*GENERAL|APPEND\s*MEMO|ASSIST|AVERAGE|BLANK|BROWSE|' 351 r'BUILD\s*APP|BUILD\s*EXE|BUILD\s*PROJECT|CALCULATE|CALL|' 352 r'CANCEL|CHANGE|CLEAR|CLOSE|CLOSE\s*MEMO|COMPILE|CONTINUE|' 353 r'COPY\s*FILE|COPY\s*INDEXES|COPY\s*MEMO|COPY\s*STRUCTURE|' 354 r'COPY\s*STRUCTURE\s*EXTENDED|COPY\s*TAG|COPY\s*TO|' 355 r'COPY\s*TO\s*ARRAY|COUNT|CREATE|CREATE\s*COLOR\s*SET|' 356 r'CREATE\s*CURSOR|CREATE\s*FROM|CREATE\s*LABEL|CREATE\s*MENU|' 357 r'CREATE\s*PROJECT|CREATE\s*QUERY|CREATE\s*REPORT|' 358 r'CREATE\s*SCREEN|CREATE\s*TABLE|CREATE\s*VIEW|DDE|' 359 r'DEACTIVATE\s*MENU|DEACTIVATE\s*POPUP|DEACTIVATE\s*WINDOW|' 360 r'DECLARE|DEFINE\s*BAR|DEFINE\s*BOX|DEFINE\s*MENU|' 361 r'DEFINE\s*PAD|DEFINE\s*POPUP|DEFINE\s*WINDOW|DELETE|' 362 r'DELETE\s*FILE|DELETE\s*TAG|DIMENSION|DIRECTORY|DISPLAY|' 363 r'DISPLAY\s*FILES|DISPLAY\s*MEMORY|DISPLAY\s*STATUS|' 364 r'DISPLAY\s*STRUCTURE|DO|EDIT|EJECT|EJECT\s*PAGE|ERASE|' 365 r'EXIT|EXPORT|EXTERNAL|FILER|FIND|FLUSH|FUNCTION|GATHER|' 366 r'GETEXPR|GO|GOTO|HELP|HIDE\s*MENU|HIDE\s*POPUP|' 367 r'HIDE\s*WINDOW|IMPORT|INDEX|INPUT|INSERT|JOIN|KEYBOARD|' 368 r'LABEL|LIST|LOAD|LOCATE|LOOP|MENU|MENU\s*TO|MODIFY\s*COMMAND|' 369 r'MODIFY\s*FILE|MODIFY\s*GENERAL|MODIFY\s*LABEL|MODIFY\s*MEMO|' 370 r'MODIFY\s*MENU|MODIFY\s*PROJECT|MODIFY\s*QUERY|' 371 r'MODIFY\s*REPORT|MODIFY\s*SCREEN|MODIFY\s*STRUCTURE|' 372 r'MODIFY\s*WINDOW|MOVE\s*POPUP|MOVE\s*WINDOW|NOTE|' 373 r'ON\s*APLABOUT|ON\s*BAR|ON\s*ERROR|ON\s*ESCAPE|' 374 r'ON\s*EXIT\s*BAR|ON\s*EXIT\s*MENU|ON\s*EXIT\s*PAD|' 375 r'ON\s*EXIT\s*POPUP|ON\s*KEY|ON\s*KEY\s*=|ON\s*KEY\s*LABEL|' 376 r'ON\s*MACHELP|ON\s*PAD|ON\s*PAGE|ON\s*READERROR|' 377 r'ON\s*SELECTION\s*BAR|ON\s*SELECTION\s*MENU|' 378 r'ON\s*SELECTION\s*PAD|ON\s*SELECTION\s*POPUP|ON\s*SHUTDOWN|' 379 r'PACK|PARAMETERS|PLAY\s*MACRO|POP\s*KEY|POP\s*MENU|' 380 r'POP\s*POPUP|PRIVATE|PROCEDURE|PUBLIC|PUSH\s*KEY|' 381 r'PUSH\s*MENU|PUSH\s*POPUP|QUIT|READ|READ\s*MENU|RECALL|' 382 r'REINDEX|RELEASE|RELEASE\s*MODULE|RENAME|REPLACE|' 383 r'REPLACE\s*FROM\s*ARRAY|REPORT|RESTORE\s*FROM|' 384 r'RESTORE\s*MACROS|RESTORE\s*SCREEN|RESTORE\s*WINDOW|' 385 r'RESUME|RETRY|RETURN|RUN|RUN\s*\/N"|RUNSCRIPT|' 386 r'SAVE\s*MACROS|SAVE\s*SCREEN|SAVE\s*TO|SAVE\s*WINDOWS|' 387 r'SCATTER|SCROLL|SEEK|SELECT|SET|SET\s*ALTERNATE|' 388 r'SET\s*ANSI|SET\s*APLABOUT|SET\s*AUTOSAVE|SET\s*BELL|' 389 r'SET\s*BLINK|SET\s*BLOCKSIZE|SET\s*BORDER|SET\s*BRSTATUS|' 390 r'SET\s*CARRY|SET\s*CENTURY|SET\s*CLEAR|SET\s*CLOCK|' 391 r'SET\s*COLLATE|SET\s*COLOR\s*OF|SET\s*COLOR\s*OF\s*SCHEME|' 392 r'SET\s*COLOR\s*SET|SET\s*COLOR\s*TO|SET\s*COMPATIBLE|' 393 r'SET\s*CONFIRM|SET\s*CONSOLE|SET\s*CURRENCY|SET\s*CURSOR|' 394 r'SET\s*DATE|SET\s*DEBUG|SET\s*DECIMALS|SET\s*DEFAULT|' 395 r'SET\s*DELETED|SET\s*DELIMITERS|SET\s*DEVELOPMENT|' 396 r'SET\s*DEVICE|SET\s*DISPLAY|SET\s*DOHISTORY|SET\s*ECHO|' 397 r'SET\s*ESCAPE|SET\s*EXACT|SET\s*EXCLUSIVE|SET\s*FIELDS|' 398 r'SET\s*FILTER|SET\s*FIXED|SET\s*FORMAT|SET\s*FULLPATH|' 399 r'SET\s*FUNCTION|SET\s*HEADINGS|SET\s*HELP|SET\s*HELPFILTER|' 400 r'SET\s*HOURS|SET\s*INDEX|SET\s*INTENSITY|SET\s*KEY|' 401 r'SET\s*KEYCOMP|SET\s*LIBRARY|SET\s*LOCK|SET\s*LOGERRORS|' 402 r'SET\s*MACDESKTOP|SET\s*MACHELP|SET\s*MACKEY|SET\s*MARGIN|' 403 r'SET\s*MARK\s*OF|SET\s*MARK\s*TO|SET\s*MEMOWIDTH|' 404 r'SET\s*MESSAGE|SET\s*MOUSE|SET\s*MULTILOCKS|SET\s*NEAR|' 405 r'SET\s*NOCPTRANS|SET\s*NOTIFY|SET\s*ODOMETER|SET\s*OPTIMIZE|' 406 r'SET\s*ORDER|SET\s*PALETTE|SET\s*PATH|SET\s*PDSETUP|' 407 r'SET\s*POINT|SET\s*PRINTER|SET\s*PROCEDURE|SET\s*READBORDER|' 408 r'SET\s*REFRESH|SET\s*RELATION|SET\s*RELATION\s*OFF|' 409 r'SET\s*REPROCESS|SET\s*RESOURCE|SET\s*SAFETY|SET\s*SCOREBOARD|' 410 r'SET\s*SEPARATOR|SET\s*SHADOWS|SET\s*SKIP|SET\s*SKIP\s*OF|' 411 r'SET\s*SPACE|SET\s*STATUS|SET\s*STATUS\s*BAR|SET\s*STEP|' 412 r'SET\s*STICKY|SET\s*SYSMENU|SET\s*TALK|SET\s*TEXTMERGE|' 413 r'SET\s*TEXTMERGE\s*DELIMITERS|SET\s*TOPIC|SET\s*TRBETWEEN|' 414 r'SET\s*TYPEAHEAD|SET\s*UDFPARMS|SET\s*UNIQUE|SET\s*VIEW|' 415 r'SET\s*VOLUME|SET\s*WINDOW\s*OF\s*MEMO|SET\s*XCMDFILE|' 416 r'SHOW\s*GET|SHOW\s*GETS|SHOW\s*MENU|SHOW\s*OBJECT|' 417 r'SHOW\s*POPUP|SHOW\s*WINDOW|SIZE\s*POPUP|SKIP|SORT|' 418 r'STORE|SUM|SUSPEND|TOTAL|TYPE|UNLOCK|UPDATE|USE|WAIT|' 419 r'ZAP|ZOOM\s*WINDOW|DO\s*CASE|CASE|OTHERWISE|ENDCASE|' 420 r'DO\s*WHILE|ENDDO|FOR|ENDFOR|NEXT|IF|ELSE|ENDIF|PRINTJOB|' 421 r'ENDPRINTJOB|SCAN|ENDSCAN|TEXT|ENDTEXT|=)', 422 Keyword.Reserved, '#pop'), 423 (r'#\s*(IF|ELIF|ELSE|ENDIF|DEFINE|IFDEF|IFNDEF|INCLUDE)', 424 Comment.Preproc, '#pop'), 425 (r'(m\.)?[a-z_]\w*', Name.Variable, '#pop'), 426 (r'.', Text, '#pop'), 427 ], 428 } 429