'*******************************************************************************
' EverEdit Syntax File
' Author:		Morler <morler@163.com>
' Language:		PureBasic v5.11
' Maintainer:	moofly.net/blog  
' History:
'   2013/07/28	First Version
'   2013/07/29  Updated

'*******************************************************************************

Include( ".\const.mac" )

Set purebasic=CreateParser()

'定义行注释
Set LineComment=purebasic.CreateRegion(COLOR_COMMENT1, "+;+", "$", True)

'标明文本字符串
Set regionString1=purebasic.CreateStringRegion( COLOR_STRING2, """", "\", False )
Set regionString2=purebasic.CreateStringRegion( COLOR_STRING1, "''", "\", False )

'Operators
purebasic.AddItem( purebasic.CreateItem(COLOR_OPERATOR, "[-\!%#\(\)\*,\.\/@\|\+\<=\>]",False ) )

'Functions
purebasic.AddItem( purebasic.CreateItem(COLOR_FUNCTION, "[\w_][\w\d_]*(?=\()", False) )


'Keywords
Set pub_words1=purebasic.CreateWord( COLOR_WORD1, "And Break Case CallDebugger CompilerCase CompilerDefault CompilerElse CompilerEndIf CompilerEndSelect CompilerError CompilerIf CompilerSelect Continue Data Debug DebugLevel Declare Define Dim DisableASM DisableDebugger DisableExplicit Else ElseIf EnableASM EnableDebugger EnableExplicit End EndIf EndSelect EndStructureUnion EndWith For ForEach ForEver Global Gosub Goto If IncludeBinary IncludeFile IncludePath NewList NewMap Next Not Or ProcedureReturn Protected Prototype PrototypeC Read ReDim Repeat Restore Return Select Shared Static StructureUnion Swap Threaded Until Wend While With XIncludeFile DataSection Enumeration Import ImportC Interface Macro Procedure ProcedureC ProcedureCDLL ProcedureDLL Structure EndDataSection EndEnumeration EndImport EndInterface EndMacro EndProcedure EndStructure", False )
pub_words1.AutoCase=True

'Functions
Set pub_words2=purebasic.CreateWord( COLOR_WORD2, "AbortFTPFile Abs ACos ACosH Add3DArchive AddBillboard AddCipherBuffer AddDate AddElement AddEntityAnimationTime AddGadgetColumn AddGadgetItem AddGadgetItem3D AddKeyboardShortcut AddMailAttachment AddMailAttachmentData AddMailRecipient AddMapElement AddMaterialLayer AddNodeAnimationTime AddPackFile AddPackMemory AddSplinePoint AddStaticGeometryEntity AddStatusBarField AddSubMesh AddSysTrayIcon AddTerrainTexture AddVertexPoseReference AddWindowTimer AESDecoder AESEncoder AffectedDatabaseRows AllocateMemory Alpha AlphaBlend AmbientColor AntialiasingMode ApplyEntityForce ApplyEntityImpulse ArraySize Asc ASin ASinH ATan ATan2 ATanH AttachEntityObject AttachNodeObject AttachRibbonEffect AudioCDLength AudioCDName AudioCDStatus AudioCDTrackLength AudioCDTracks AudioCDTrackSeconds AvailableProgramOutput AvailableScreenMemory AvailableSerialPortInput AvailableSerialPortOutput BackColor Base64Decoder Base64Encoder BillboardGroupID BillboardGroupMaterial BillboardGroupX BillboardGroupY BillboardGroupZ BillboardHeight BillboardLocate BillboardWidth BillboardX BillboardY BillboardZ Bin Blue Box BoxedGradient BuildMeshShadowVolume BuildStaticGeometry BuildTerrain ButtonGadget ButtonGadget3D ButtonImageGadget ButtonImageGadgetNoSkin CalendarGadget CallCFunction CallCFunctionFast CallFunction CallFunctionFast CameraBackColor CameraDirection CameraDirectionX CameraDirectionY CameraDirectionZ CameraFixedYawAxis CameraFOV CameraID CameraLookAt CameraPitch CameraProjectionMode CameraProjectionX CameraProjectionY CameraRange CameraRenderMode CameraRoll CameraViewHeight CameraViewWidth CameraViewX CameraViewY CameraX CameraY CameraYaw CameraZ CanvasGadget CanvasOutput CatchImage CatchModule CatchSound CatchSprite CatchXML ChangeAlphaIntensity ChangeCurrentElement ChangeGamma ChangeSysTrayIcon CheckBoxGadget CheckBoxGadget3D CheckDatabaseNull CheckFilename CheckFTPConnection CheckObjectVisibility ChildXMLNode Chr Circle CircularGradient ClearBillboards ClearClipboard ClearConsole ClearDebugOutput ClearGadgetItems ClearGadgetItems3D ClearList ClearMap ClearScreen ClearSpline ClipSprite CloseConsole CloseCryptRandom CloseDatabase CloseFile CloseFTP CloseGadgetList CloseGadgetList3D CloseHelp CloseLibrary CloseNetworkConnection CloseNetworkServer ClosePack ClosePreferences CloseProgram CloseScreen CloseSerialPort CloseSubMenu CloseWindow CloseWindow3D ColorRequester ComboBoxGadget ComboBoxGadget3D CompareMemory CompareMemoryString CompositorEffectParameter CompressMemory ComputerName ComputeSpline ConeTwistJoint ConicalGradient ConnectionID ConsoleColor ConsoleCursor ConsoleError ConsoleLocate ConsoleTitle ContainerGadget ContainerGadget3D ConvertLocalToWorldPosition ConvertWorldToLocalPosition CopyArray CopyDirectory CopyEntity CopyFile CopyImage CopyLight CopyList CopyMap CopyMaterial CopyMemory CopyMemoryString CopyMesh CopySprite CopyXMLNode Cos CosH CountBillboards CountCPUs CountGadgetItems CountGadgetItems3D CountLibraryFunctions CountMaterialLayers CountProgramParameters CountRenderedTriangles CountSplinePoints CountString CRC32FileFingerprint CRC32Fingerprint CreateBillboardGroup CreateCamera CreateCompositorEffect CreateCube CreateCubeMapTexture CreateCylinder CreateDirectory CreateEntity CreateFile CreateFTPDirectory CreateImage CreateImageMenu CreateLensFlareEffect CreateLight CreateLine3D CreateMail CreateMaterial CreateMenu CreateMesh CreateMutex CreateNetworkServer CreateNode CreateNodeAnimation CreateNodeAnimationKeyFrame CreatePack CreateParticleEmitter CreatePlane CreatePopupImageMenu CreatePopupMenu CreatePreferences CreateRegularExpression CreateRenderTexture CreateRibbonEffect CreateSemaphore CreateSphere CreateSpline CreateSprite CreateSprite3D CreateStaticGeometry CreateStatusBar CreateTerrain CreateText3D CreateTexture CreateThread CreateToolBar CreateVertexAnimation CreateVertexPoseKeyFrame CreateVertexTrack CreateWater CreateXML CreateXMLNode CryptRandom CryptRandomData CustomFilterCallback CustomGradient DatabaseColumnIndex DatabaseColumnName DatabaseColumns DatabaseColumnSize DatabaseColumnType DatabaseDriverDescription DatabaseDriverName DatabaseError DatabaseID DatabaseQuery DatabaseUpdate Date DateGadget Day DayOfWeek DayOfYear DefaultPrinter DefineTerrainTile Degree Delay DeleteDirectory DeleteElement DeleteFile DeleteFTPDirectory DeleteFTPFile DeleteMapElement DeleteXMLNode DESFingerprint DesktopDepth DesktopFrequency DesktopHeight DesktopMouseX DesktopMouseY DesktopName DesktopWidth DesktopX DesktopY DetachEntityObject DetachNodeObject DetachRibbonEffect DirectoryEntryAttributes DirectoryEntryDate DirectoryEntryName DirectoryEntrySize DirectoryEntryType DisableEntityBody DisableGadget DisableGadget3D DisableLightShadows DisableMaterialLighting DisableMenuItem DisableToolBarButton DisableWindow DisableWindow3D DisplayAlphaSprite DisplayPopupMenu DisplayRGBFilter DisplayShadowSprite DisplaySolidSprite DisplaySprite DisplaySprite3D DisplayTranslucentSprite DisplayTransparentSprite DoubleClickTime DragFiles DragImage DragOSFormats DragPrivate DragText DrawAlphaImage DrawImage DrawingBuffer DrawingBufferPitch DrawingBufferPixelFormat DrawingFont DrawingMode DrawRotatedText DrawText EditorGadget EditorGadget3D EjectAudioCD ElapsedMilliseconds Ellipse EllipticalGradient EnableGadgetDrop EnableGraphicalConsole EnableHingeJointAngularMotor EnableManualEntityBoneControl EnableWindowDrop EnableWorldCollisions EnableWorldPhysics EncodeImage Engine3DFrameRate EntityAngularFactor EntityAnimationBlendMode EntityAnimationStatus EntityBonePitch EntityBoneRoll EntityBoneX EntityBoneY EntityBoneYaw EntityBoneZ EntityBoundingBox EntityCollide EntityCubeMapTexture EntityCustomParameter EntityFixedYawAxis EntityID EntityLinearFactor EntityLookAt EntityMesh EntityParentNode EntityPhysicBody EntityPitch EntityRenderMode EntityRoll EntityVelocity EntityX EntityY EntityYaw EntityZ EnvironmentVariableName EnvironmentVariableValue Eof ErrorAddress ErrorCode ErrorFile ErrorLine ErrorMessage ErrorRegister ErrorTargetAddress EventClient EventData EventDropAction EventDropBuffer EventDropFiles EventDropImage EventDropPrivate EventDropSize EventDropText EventDropType EventDropX EventDropY EventGadget EventGadget3D EventlParam EventMenu EventServer EventTimer EventType EventType3D EventWindow EventWindow3D EventwParam ExamineAssembly ExamineDatabaseDrivers ExamineDesktops ExamineDirectory ExamineEnvironmentVariables ExamineFTPDirectory ExamineIPAddresses ExamineJoystick ExamineKeyboard ExamineLibraryFunctions ExamineMD5Fingerprint ExamineMouse ExaminePack ExaminePreferenceGroups ExaminePreferenceKeys ExamineScreenModes ExamineSHA1Fingerprint ExamineXMLAttributes Exp ExplorerComboGadget ExplorerListGadget ExplorerTreeGadget ExportXML ExportXMLSize ExtractRegularExpression FetchOrientation FileBuffersSize FileID FileSeek FileSize FillArea FillMemory FindMapElement FindString FinishCipher FinishDatabaseQuery FinishDirectory FinishFingerprint FinishFTPDirectory FinishMesh FirstDatabaseRow FirstElement FlipBuffers FlushFileBuffers Fog FontID FontRequester FormatDate FormatXML Frame3DGadget Frame3DGadget3D FreeArray FreeBillboardGroup FreeCamera FreeEffect FreeEntity FreeEntityJoints FreeFont FreeGadget FreeGadget3D FreeImage FreeIP FreeJoint FreeLight FreeList FreeMail FreeMap FreeMaterial FreeMemory FreeMenu FreeMesh FreeModule FreeMovie FreeMutex FreeNode FreeNodeAnimation FreeParticleEmitter FreeRegularExpression FreeSemaphore FreeSound FreeSound3D FreeSpline FreeSprite FreeSprite3D FreeStaticGeometry FreeStatusBar FreeTerrain FreeText3D FreeTexture FreeToolBar FreeXML FrontColor FTPDirectoryEntryAttributes FTPDirectoryEntryDate FTPDirectoryEntryName FTPDirectoryEntryRaw FTPDirectoryEntrySize FTPDirectoryEntryType FTPProgress GadgetHeight GadgetHeight3D GadgetID GadgetID3D GadgetItemID GadgetToolTip GadgetToolTip3D GadgetType GadgetType3D GadgetWidth GadgetWidth3D GadgetX GadgetX3D GadgetY GadgetY3D GetActiveGadget GetActiveGadget3D GetActiveWindow GetActiveWindow3D GetClientIP GetClientPort GetClipboardImage GetClipboardText GetCurrentDirectory GetDatabaseBlob GetDatabaseDouble GetDatabaseFloat GetDatabaseLong GetDatabaseQuad GetDatabaseString GetEntityAnimationLength GetEntityAnimationTime GetEntityAnimationWeight GetEntityAttribute GetEntityMaterial GetEnvironmentVariable GetExtensionPart GetFileAttributes GetFileDate GetFilePart GetFTPDirectory GetFunction GetFunctionEntry GetGadgetAttribute GetGadgetAttribute3D GetGadgetColor GetGadgetData GetGadgetData3D GetGadgetFont GetGadgetItemAttribute GetGadgetItemColor GetGadgetItemData GetGadgetItemData3D GetGadgetItemState GetGadgetItemState3D GetGadgetItemText GetGadgetItemText3D GetGadgetState GetGadgetState3D GetGadgetText GetGadgetText3D GetHomeDirectory GetHTTPHeader GetJointAttribute GetLightColor GetMailAttribute GetMailBody GetMaterialAttribute GetMaterialColor GetMenuItemState GetMenuItemText GetMenuTitleText GetModulePosition GetModuleRow GetNodeAnimationKeyFramePitch GetNodeAnimationKeyFrameRoll GetNodeAnimationKeyFrameTime GetNodeAnimationKeyFrameX GetNodeAnimationKeyFrameY GetNodeAnimationKeyFrameYaw GetNodeAnimationKeyFrameZ GetNodeAnimationLength GetNodeAnimationTime GetNodeAnimationWeight GetPathPart GetScriptMaterial GetScriptParticleEmitter GetScriptTexture GetSerialPortStatus GetSoundFrequency GetSoundPosition GetTemporaryDirectory GetTerrainTileHeightAtPoint GetTerrainTileLayerBlend GetToolBarButtonState GetURLPart GetW GetWindowColor GetWindowState GetWindowTitle GetWindowTitle3D GetX GetXMLAttribute GetXMLEncoding GetXMLNodeName GetXMLNodeOffset GetXMLNodeText GetXMLStandalone GetY GetZ GrabDrawingImage GrabImage GrabSprite GradientColor Green Hex HideBillboardGroup HideEffect HideEntity HideGadget HideGadget3D HideLight HideMenu HideParticleEmitter HideWindow HideWindow3D HingeJoint HingeJointMotorTarget Hostname Hour HyperLinkGadget ImageDepth ImageFormat ImageGadget ImageGadget3D ImageHeight ImageID ImageOutput ImageWidth Infinity InitAudioCD InitEngine3D InitJoystick InitKeyboard InitMouse InitMovie InitNetwork InitScintilla InitSound InitSprite InitSprite3D Inkey Input InputEvent3D InputRequester InsertElement InsertString InstructionAddress InstructionString Int IntQ IPAddressField IPAddressGadget IPString IsBillboardGroup IsCamera IsCipher IsDatabase IsDirectory IsEffect IsEntity IsFile IsFingerprint IsFont IsFTP IsGadget IsGadget3D IsImage IsInfinity IsLibrary IsLight IsMail IsMaterial IsMenu IsMesh IsModule IsMovie IsNAN IsNode IsParticleEmitter IsProgram IsRegularExpression IsScreenActive IsSerialPort IsSound IsSound3D IsSprite IsSprite3D IsStaticGeometry IsStatusBar IsSysTrayIcon IsText3D IsTexture IsThread IsToolBar IsWindow IsWindow3D IsXML JoystickAxisX JoystickAxisY JoystickButton KeyboardInkey KeyboardMode KeyboardPushed KeyboardReleased KillProgram KillThread LastElement LCase Left Len LensFlareEffectColor LibraryFunctionAddress LibraryFunctionName LibraryID LightAttenuation LightDirection LightDirectionX LightDirectionY LightDirectionZ LightID LightLookAt LightPitch LightRoll LightX LightY LightYaw LightZ Line LinearGradient LineXY ListIconGadget ListIndex ListSize ListViewGadget ListViewGadget3D LoadFont LoadImage LoadMesh LoadModule LoadMovie LoadSound LoadSound3D LoadSprite LoadTexture LoadWorld LoadXML Loc LockMutex Lof Log Log10 LSet LTrim MailProgress MainXMLNode MakeIPAddress MapKey MapSize MatchRegularExpression MaterialBlendingMode MaterialCullingMode MaterialDepthWrite MaterialFilteringMode MaterialFog MaterialID MaterialShadingMode MaterialShininess MD5FileFingerprint MD5Fingerprint MDIGadget MemorySize MemoryStatus MemoryStringLength MenuBar MenuHeight MenuID MenuItem MenuTitle MergeLists MeshFace MeshID MeshIndex MeshPoseCount MeshPoseName MeshRadius MeshVertexColor MeshVertexCount MeshVertexNormal MeshVertexPosition MeshVertexTextureCoordinate MessageRequester Mid Minute Mod ModuleVolume Month MouseButton MouseDeltaX MouseDeltaY MouseLocate MousePick MouseRayCast MouseWheel MouseX MouseY MoveBillboard MoveBillboardGroup MoveCamera MoveElement MoveEntity MoveEntityBone MoveLight MoveMemory MoveNode MoveParticleEmitter MoveText3D MoveXMLNode MovieAudio MovieHeight MovieInfo MovieLength MovieSeek MovieStatus MovieWidth NaN NetworkClientEvent NetworkServerEvent NewPrinterPage NextDatabaseDriver NextDatabaseRow NextDirectoryEntry NextElement NextEnvironmentVariable NextFingerprint NextFTPDirectoryEntry NextInstruction NextIPAddress NextLibraryFunction NextMapElement NextPackEntry NextPreferenceGroup NextPreferenceKey NextScreenMode NextSelectedFileName NextXMLAttribute NextXMLNode NodeAnimationStatus NodeFixedYawAxis NodeID NodeLookAt NodePitch NodeRoll NodeX NodeY NodeYaw NodeZ NormalizeMesh NormalX NormalY NormalZ OnErrorCall OnErrorDefault OnErrorExit OnErrorGoto OpenConsole OpenCryptRandom OpenDatabase OpenDatabaseRequester OpenFile OpenFileRequester OpenFTP OpenGadgetList OpenGadgetList3D OpenHelp OpenLibrary OpenNetworkConnection OpenPack OpenPreferences OpenScreen OpenSerialPort OpenSubMenu OpenWindow OpenWindow3D OpenWindowedScreen OptionGadget OptionGadget3D OSVersion OutputDepth OutputHeight OutputWidth PackEntryName PackEntrySize PackEntryType PanelGadget PanelGadget3D ParentXMLNode Parse3DScripts ParseDate ParticleColorFader ParticleColorRange ParticleEmissionRate ParticleEmitterDirection ParticleEmitterID ParticleEmitterX ParticleEmitterY ParticleEmitterZ ParticleMaterial ParticleSize ParticleTimeToLive ParticleVelocity PathRequester PauseAudioCD PauseMovie PauseSound PauseThread PeekA PeekB PeekC PeekD PeekF PeekI PeekL PeekQ PeekS PeekU PeekW PickX PickY PickZ PlayAudioCD PlayModule PlayMovie PlaySound PlaySound3D Plot Point PointJoint PointPick PokeA PokeB PokeC PokeD PokeF PokeI PokeL PokeQ PokeS PokeU PokeW PopListPosition PopMapPosition PostEvent Pow PreferenceComment PreferenceGroup PreferenceGroupName PreferenceKeyName PreferenceKeyValue PreviousDatabaseRow PreviousElement PreviousXMLNode Print PrinterOutput PrinterPageHeight PrinterPageWidth PrintN PrintRequester ProgramExitCode ProgramFilename ProgramID ProgramParameter ProgramRunning ProgressBarGadget ProgressBarGadget3D PurifierGranularity PushListPosition PushMapPosition Radian RaiseError Random RandomData RandomizeArray RandomizeList RandomSeed RawKey RayCast RayCollide RayPick ReadAsciiCharacter ReadByte ReadCharacter ReadConsoleData ReadData ReadDouble ReadFile ReadFloat ReadInteger ReadLong ReadPreferenceDouble ReadPreferenceFloat ReadPreferenceInteger ReadPreferenceLong ReadPreferenceQuad ReadPreferenceString ReadProgramData ReadProgramError ReadProgramString ReadQuad ReadSerialPortData ReadString ReadStringFormat ReadUnicodeCharacter ReadWord ReAllocateMemory ReceiveFTPFile ReceiveHTTPFile ReceiveNetworkData Red RegularExpressionError ReleaseMouse ReloadMaterial RemoveBillboard RemoveEnvironmentVariable RemoveGadgetColumn RemoveGadgetItem RemoveGadgetItem3D RemoveKeyboardShortcut RemoveMailRecipient RemoveMaterialLayer RemovePackFile RemovePreferenceGroup RemovePreferenceKey RemoveString RemoveSysTrayIcon RemoveWindowTimer RemoveXMLAttribute RenameFile RenameFTPFile RenderMovieFrame RenderWorld ReplaceRegularExpression ReplaceString ResetGradientColors ResetList ResetMap ResetMaterial ResetProfiler ResizeBillboard ResizeGadget ResizeGadget3D ResizeImage ResizeMovie ResizeParticleEmitter ResizeWindow ResizeWindow3D ResolveXMLAttributeName ResolveXMLNodeName ResumeAudioCD ResumeMovie ResumeSound ResumeThread ReverseString RGB RGBA RibbonEffectColor RibbonEffectWidth Right RootXMLNode RotateBillboardGroup RotateCamera RotateEntity RotateEntityBone RotateLight RotateMaterial RotateNode RotateSprite3D Round RoundBox RSet RTrim RunProgram SaveDebugOutput SaveFileRequester SaveImage SaveMesh SaveRenderTexture SaveSprite SaveTerrain SaveXML ScaleEntity ScaleMaterial ScaleNode ScaleText3D ScintillaGadget ScintillaSendMessage ScreenDepth ScreenHeight ScreenID ScreenModeDepth ScreenModeHeight ScreenModeRefreshRate ScreenModeWidth ScreenOutput ScreenWidth ScrollAreaGadget ScrollAreaGadget3D ScrollBarGadget ScrollBarGadget3D ScrollMaterial Second SelectedFilePattern SelectedFontColor SelectedFontName SelectedFontSize SelectedFontStyle SelectElement SendFTPFile SendMail SendNetworkData SendNetworkString SerialPortError SerialPortID SerialPortTimeouts ServerID SetActiveGadget SetActiveGadget3D SetActiveWindow SetActiveWindow3D SetClipboardImage SetClipboardText SetCurrentDirectory SetDatabaseBlob SetDragCallback SetDropCallback SetEntityAnimationLength SetEntityAnimationTime SetEntityAnimationWeight SetEntityAttribute SetEntityMaterial SetEnvironmentVariable SetFileAttributes SetFileDate SetFrameRate SetFTPDirectory SetGadgetAttribute SetGadgetAttribute3D SetGadgetColor SetGadgetData SetGadgetData3D SetGadgetFont SetGadgetItemAttribute SetGadgetItemColor SetGadgetItemData SetGadgetItemData3D SetGadgetItemImage SetGadgetItemState SetGadgetItemState3D SetGadgetItemText SetGadgetItemText3D SetGadgetState SetGadgetState3D SetGadgetText SetGadgetText3D SetGUITheme3D SetJointAttribute SetLightColor SetMailAttribute SetMailBody SetMaterialColor SetMenuItemState SetMenuItemText SetMenuTitleText SetMeshMaterial SetModulePosition SetNodeAnimationKeyFramePosition SetNodeAnimationKeyFrameRotation SetNodeAnimationKeyFrameScale SetNodeAnimationLength SetNodeAnimationTime SetNodeAnimationWeight SetOrientation SetSerialPortStatus SetSoundFrequency SetSoundPosition SetTerrainTileHeightAtPoint SetTerrainTileLayerBlend SetToolBarButtonState SetupTerrains SetURLPart SetWindowCallback SetWindowColor SetWindowState SetWindowTitle SetWindowTitle3D SetXMLAttribute SetXMLEncoding SetXMLNodeName SetXMLNodeOffset SetXMLNodeText SetXMLStandalone SHA1FileFingerprint SHA1Fingerprint ShortcutGadget ShowAssemblyViewer ShowCallstack ShowDebugOutput ShowGUI ShowLibraryViewer ShowMemoryViewer ShowProfiler ShowVariableViewer ShowWatchlist Sign SignalSemaphore Sin SinH SkyBox SkyDome SliderJoint SmartWindowRefresh SortArray SortList SortStructuredArray SortStructuredList SoundCone3D SoundID3D SoundLength SoundListenerLocate SoundPan SoundRange3D SoundStatus SoundVolume SoundVolume3D Space SpinGadget SpinGadget3D SplinePointX SplinePointY SplinePointZ SplineX SplineY SplineZ SplitList SplitterGadget SpotLightRange Sprite3DBlendingMode Sprite3DQuality SpriteCollision SpriteDepth SpriteHeight SpriteID SpriteOutput SpritePixelCollision SpriteWidth Sqr Start3D StartAESCipher StartDrawing StartEntityAnimation StartNodeAnimation StartPrinting StartProfiler StartSpecialFX StatusBarHeight StatusBarID StatusBarImage StatusBarProgress StatusBarText StickyWindow Stop3D StopAudioCD StopDrawing StopEntityAnimation StopModule StopMovie StopNodeAnimation StopPrinting StopProfiler StopSound StopSound3D StopSpecialFX Str StrD StrF StringByteLength StringField StringGadget StringGadget3D StrU SubMeshCount Sun SwapElements SwitchCamera SysTrayIconToolTip Tan Bool ClearStructure CopyStructure Defined InitializeStructure OffsetOf SizeOf TanH TerrainHeight TerrainLocate TerrainMousePick TerrainPhysicBody TerrainRenderMode TerrainTileHeightAtPosition TerrainTileLayerMapSize TerrainTilePointX TerrainTilePointY TerrainTileSize Text3DAlignment Text3DCaption Text3DColor Text3DID Text3DX Text3DY Text3DZ TextGadget TextGadget3D TextHeight TextureHeight TextureID TextureOutput TextureWidth TextWidth ThreadID ThreadPriority ToolBarHeight ToolBarID ToolBarImageButton ToolBarSeparator ToolBarStandardButton ToolBarToolTip TrackBarGadget TransformMesh TransformSprite3D TransparentSpriteColor TreeGadget TreeGadget3D Trim TruncateFile TryLockMutex TrySemaphore TypeOf Subsystem UCase UncompressMemory UncompressPackFile UncompressPackMemory UnlockMutex UpdateEntityAnimation UpdateMesh UpdateMeshBoundingBox UpdateRenderTexture UpdateSplinePoint UpdateTerrain UpdateTerrainTileLayerBlend UpdateVertexPoseReference URLDecoder URLEncoder UseAudioCD UseBriefLZPacker UseBuffer UseFLACSoundDecoder UseGadgetList UseJCALG1Packer UseJPEG2000ImageDecoder UseJPEG2000ImageEncoder UseJPEGImageDecoder UseJPEGImageEncoder UseLZMAPacker UseODBCDatabase UseOGGSoundDecoder UsePNGImageDecoder UsePNGImageEncoder UsePostgreSQLDatabase UserName UseSQLiteDatabase UseTGAImageDecoder UseTIFFImageDecoder UseZipPacker Val ValD ValF VertexPoseReferenceCount WaitProgram WaitSemaphore WaitThread WaitWindowEvent WaterColor WebGadget WindowBounds WindowEvent WindowEvent3D WindowHeight WindowHeight3D WindowID WindowID3D WindowMouseX WindowMouseY WindowOutput WindowWidth WindowWidth3D WindowX WindowX3D WindowY WindowY3D WorldDebug WorldGravity WorldShadows WriteAsciiCharacter WriteByte WriteCharacter WriteConsoleData WriteData WriteDouble WriteFloat WriteInteger WriteLong WritePreferenceDouble WritePreferenceFloat WritePreferenceInteger WritePreferenceLong WritePreferenceQuad WritePreferenceString WriteProgramData WriteProgramString WriteProgramStringN WriteQuad WriteSerialPortData WriteSerialPortString WriteString WriteStringFormat WriteStringN WriteUnicodeCharacter WriteWord XMLAttributeName XMLAttributeValue XMLChildCount XMLError XMLErrorLine XMLErrorPosition XMLNodeFromID XMLNodeFromPath XMLNodePath XMLNodeType XMLStatus Year ZoomSprite3D", False, "" )
pub_words2.AutoCase=True

'Numbers
Set pub_words3=purebasic.CreateItem( COLOR_NUMBER, "(?<!\w)[+-]?[0-9_]+\.?[0-9_]*(?!\w)", False )

'Constants
Set pub_words4=purebasic.CreateItem( COLOR_VAR, "#[^# ]+", False )


'Predefined Constants
Set pub_words5=purebasic.CreateWord( COLOR_WORD4, "#PB_2DDrawing_AllChannels #PB_2DDrawing_AlphaBlend #PB_2DDrawing_AlphaChannel #PB_2DDrawing_AlphaClip #PB_2DDrawing_CustomFilter #PB_2DDrawing_Default #PB_2DDrawing_Gradient #PB_2DDrawing_Outlined #PB_2DDrawing_Transparent #PB_2DDrawing_XOr #PB_3DArchive_FileSystem #PB_3DArchive_Zip #PB_Absolute #PB_All #PB_AntialiasingMode_None #PB_AntialiasingMode_x2 #PB_AntialiasingMode_x4 #PB_AntialiasingMode_x6 #PB_Any #PB_Array #PB_Ascii #PB_BillboardGroup #PB_Button_Default #PB_Button_Image #PB_Button_Left #PB_Button_MultiLine #PB_Button_PressedImage #PB_Button_Right #PB_Button_Toggle #PB_Byte #PB_Calendar_Bold #PB_Calendar_Borderless #PB_Calendar_Maximum #PB_Calendar_Minimum #PB_Calendar_Normal #PB_Camera_Orthographic #PB_Camera_Perspective #PB_Camera_Plot #PB_Camera_Textured #PB_Camera_Wireframe #PB_Canvas_Alt #PB_Canvas_Border #PB_Canvas_Buttons #PB_Canvas_Clip #PB_Canvas_ClipMouse #PB_Canvas_Command #PB_Canvas_Control #PB_Canvas_Cursor #PB_Canvas_CustomCursor #PB_Canvas_DrawFocus #PB_Canvas_Image #PB_Canvas_Input #PB_Canvas_Key #PB_Canvas_Keyboard #PB_Canvas_LeftButton #PB_Canvas_MiddleButton #PB_Canvas_Modifiers #PB_Canvas_MouseX #PB_Canvas_MouseY #PB_Canvas_RightButton #PB_Canvas_Shift #PB_Canvas_WheelDelta #PB_Character #PB_CheckBox_Center #PB_CheckBox_Checked #PB_CheckBox_Inbetween #PB_CheckBox_Right #PB_CheckBox_ThreeState #PB_CheckBox_Unchecked #PB_Cipher_CBC #PB_Cipher_Decode #PB_Cipher_ECB #PB_Cipher_Encode #PB_Cipher_NoPadding #PB_Cipher_URL #PB_ComboBox3D_Editable #PB_ComboBox_Editable #PB_ComboBox_Image #PB_ComboBox_LowerCase #PB_ComboBox_UpperCase #PB_Compiler_Console #PB_Compiler_DLL #PB_Compiler_Date #PB_Compiler_Debugger #PB_Compiler_EnableExplicit #PB_Compiler_EnumerationValue #PB_Compiler_Executable #PB_Compiler_ExecutableFormat #PB_Compiler_File #PB_Compiler_FilePath #PB_Compiler_Filename #PB_Compiler_Home #PB_Compiler_InlineAssembly #PB_Compiler_IsIncludeFile #PB_Compiler_IsMainFile #PB_Compiler_Line #PB_Compiler_LineNumbering #PB_Compiler_OS #PB_Compiler_Procedure #PB_Compiler_Processor #PB_Compiler_Thread #PB_Compiler_Unicode #PB_Compiler_Version #PB_ConeTwistJoint_SwingSpan #PB_ConeTwistJoint_SwingSpan2 #PB_ConeTwistJoint_TwistSpan #PB_Constant #PB_Container_BorderLess #PB_Container_Double #PB_Container_Flat #PB_Container_Raised #PB_Container_Single #PB_Cursor_Arrows #PB_Cursor_Busy #PB_Cursor_Cross #PB_Cursor_Default #PB_Cursor_Denied #PB_Cursor_Hand #PB_Cursor_IBeam #PB_Cursor_Invisible #PB_Cursor_LeftDownRightUp #PB_Cursor_LeftRight #PB_Cursor_LeftUpRightDown #PB_Cursor_UpDown #PB_Database_Blob #PB_Database_Double #PB_Database_Float #PB_Database_Long #PB_Database_ODBC #PB_Database_PostgreSQL #PB_Database_Quad #PB_Database_SQLite #PB_Database_String #PB_Date_Accessed #PB_Date_CheckBox #PB_Date_Created #PB_Date_Day #PB_Date_Hour #PB_Date_Maximum #PB_Date_Minimum #PB_Date_Minute #PB_Date_Modified #PB_Date_Month #PB_Date_Second #PB_Date_UpDown #PB_Date_Week #PB_Date_Year #PB_Default #PB_DirectoryEntry_Directory #PB_DirectoryEntry_File #PB_Double #PB_Drag_Copy #PB_Drag_Enter #PB_Drag_Finish #PB_Drag_Leave #PB_Drag_Link #PB_Drag_Move #PB_Drag_None #PB_Drag_Update #PB_Drop_Files #PB_Drop_Image #PB_Drop_Private #PB_Drop_Text #PB_Editor3D_ReadOnly #PB_Editor_ReadOnly #PB_Editor_WordWrap #PB_Engine3D_Average #PB_Engine3D_Current #PB_Engine3D_DebugLog #PB_Engine3D_DebugOutput #PB_Engine3D_EnableCG #PB_Engine3D_Maximum #PB_Engine3D_Minimum #PB_Engine3D_NoLog #PB_Engine3D_Reset #PB_Entity #PB_EntityAnimation_Average #PB_EntityAnimation_Cumulative #PB_EntityAnimation_Manual #PB_EntityAnimation_Once #PB_EntityAnimation_Started #PB_EntityAnimation_Stopped #PB_EntityAnimation_Unknown #PB_Entity_BoxBody #PB_Entity_CapsuleBody #PB_Entity_CastShadow #PB_Entity_ConvexHullBody #PB_Entity_CylinderBody #PB_Entity_DisplaySkeleton #PB_Entity_Friction #PB_Entity_LocalBoundingBox #PB_Entity_MassCenterX #PB_Entity_MassCenterY #PB_Entity_MassCenterZ #PB_Entity_MaxBoundingBoxX #PB_Entity_MaxBoundingBoxY #PB_Entity_MaxBoundingBoxZ #PB_Entity_MaxVelocity #PB_Entity_MinBoundingBoxX #PB_Entity_MinBoundingBoxY #PB_Entity_MinBoundingBoxZ #PB_Entity_None #PB_Entity_Restitution #PB_Entity_SphereBody #PB_Entity_StaticBody #PB_Entity_Velocity #PB_Entity_VelocityX #PB_Entity_VelocityY #PB_Entity_VelocityZ #PB_Entity_WorldBoundingBox #PB_Event3D_ActivateWindow #PB_Event3D_CloseWindow #PB_Event3D_Gadget #PB_Event3D_MoveWindow #PB_Event3D_SizeWindow #PB_EventType3D_Change #PB_EventType3D_Focus #PB_EventType3D_LostFocus #PB_EventType_Change #PB_EventType_DownloadEnd #PB_EventType_DownloadProgress #PB_EventType_DownloadStart #PB_EventType_DragStart #PB_EventType_Focus #PB_EventType_Input #PB_EventType_KeyDown #PB_EventType_KeyUp #PB_EventType_LeftButtonDown #PB_EventType_LeftButtonUp #PB_EventType_LeftClick #PB_EventType_LeftDoubleClick #PB_EventType_LostFocus #PB_EventType_MiddleButtonDown #PB_EventType_MiddleButtonUp #PB_EventType_MouseEnter #PB_EventType_MouseLeave #PB_EventType_MouseMove #PB_EventType_MouseWheel #PB_EventType_PopupMenu #PB_EventType_PopupWindow #PB_EventType_RightButtonDown #PB_EventType_RightButtonUp #PB_EventType_RightClick #PB_EventType_RightDoubleClick #PB_EventType_StatusChange #PB_EventType_TitleChange #PB_Event_ActivateWindow #PB_Event_CloseWindow #PB_Event_DeactivateWindow #PB_Event_FirstCustomValue #PB_Event_Gadget #PB_Event_GadgetDrop #PB_Event_LeftClick #PB_Event_LeftDoubleClick #PB_Event_MaximizeWindow #PB_Event_Menu #PB_Event_MinimizeWindow #PB_Event_MoveWindow #PB_Event_Repaint #PB_Event_RestoreWindow #PB_Event_RightClick #PB_Event_SizeWindow #PB_Event_SysTray #PB_Event_Timer #PB_Event_WindowDrop #PB_Explorer_Accessed #PB_Explorer_AlwaysShowSelection #PB_Explorer_Attributes #PB_Explorer_AutoSort #PB_Explorer_BorderLess #PB_Explorer_ColumnWidth #PB_Explorer_Created #PB_Explorer_Directory #PB_Explorer_DisplayMode #PB_Explorer_DrivesOnly #PB_Explorer_Editable #PB_Explorer_File #PB_Explorer_FullRowSelect #PB_Explorer_GridLines #PB_Explorer_HeaderDragDrop #PB_Explorer_LargeIcon #PB_Explorer_List #PB_Explorer_Modified #PB_Explorer_MultiSelect #PB_Explorer_Name #PB_Explorer_NoButtons #PB_Explorer_NoDirectoryChange #PB_Explorer_NoDriveRequester #PB_Explorer_NoFiles #PB_Explorer_NoFolders #PB_Explorer_NoLines #PB_Explorer_NoMyDocuments #PB_Explorer_NoParentFolder #PB_Explorer_NoSort #PB_Explorer_Report #PB_Explorer_Selected #PB_Explorer_Size #PB_Explorer_SmallIcon #PB_Explorer_Type #PB_FTP_Directory #PB_FTP_Error #PB_FTP_ExecuteAll #PB_FTP_ExecuteGroup #PB_FTP_ExecuteUser #PB_FTP_File #PB_FTP_Finished #PB_FTP_ReadAll #PB_FTP_ReadGroup #PB_FTP_ReadUser #PB_FTP_Started #PB_FTP_WriteAll #PB_FTP_WriteGroup #PB_FTP_WriteUser #PB_FileSystem_Archive #PB_FileSystem_Compressed #PB_FileSystem_ExecAll #PB_FileSystem_ExecGroup #PB_FileSystem_ExecUser #PB_FileSystem_Force #PB_FileSystem_Hidden #PB_FileSystem_Link #PB_FileSystem_Normal #PB_FileSystem_ReadAll #PB_FileSystem_ReadGroup #PB_FileSystem_ReadOnly #PB_FileSystem_ReadUser #PB_FileSystem_Recursive #PB_FileSystem_System #PB_FileSystem_WriteAll #PB_FileSystem_WriteGroup #PB_FileSystem_WriteUser #PB_File_Append #PB_File_IgnoreEOL #PB_File_NoBuffering #PB_File_SharedRead #PB_File_SharedWrite #PB_Float #PB_FontRequester_Effects #PB_Font_Bold #PB_Font_HighQuality #PB_Font_Italic #PB_Font_StrikeOut #PB_Font_Underline #PB_Frame3D_Double #PB_Frame3D_Flat #PB_Frame3D_Single #PB_Function #PB_GadgetType3D_Button #PB_GadgetType3D_CheckBox #PB_GadgetType3D_ComboBox #PB_GadgetType3D_Container #PB_GadgetType3D_Editor #PB_GadgetType3D_Frame3D #PB_GadgetType3D_Image #PB_GadgetType3D_ListView #PB_GadgetType3D_Option #PB_GadgetType3D_Panel #PB_GadgetType3D_ProgressBar #PB_GadgetType3D_ScrollArea #PB_GadgetType3D_ScrollBar #PB_GadgetType3D_Spin #PB_GadgetType3D_String #PB_GadgetType3D_Text #PB_GadgetType3D_Unknown #PB_GadgetType_Button #PB_GadgetType_ButtonImage #PB_GadgetType_Calendar #PB_GadgetType_Canvas #PB_GadgetType_CheckBox #PB_GadgetType_ComboBox #PB_GadgetType_Container #PB_GadgetType_Date #PB_GadgetType_Editor #PB_GadgetType_ExplorerCombo #PB_GadgetType_ExplorerList #PB_GadgetType_ExplorerTree #PB_GadgetType_Frame3D #PB_GadgetType_HyperLink #PB_GadgetType_IPAddress #PB_GadgetType_Image #PB_GadgetType_ListIcon #PB_GadgetType_ListView #PB_GadgetType_MDI #PB_GadgetType_Option #PB_GadgetType_Panel #PB_GadgetType_ProgressBar #PB_GadgetType_Scintilla #PB_GadgetType_ScrollArea #PB_GadgetType_ScrollBar #PB_GadgetType_Shortcut #PB_GadgetType_Spin #PB_GadgetType_Splitter #PB_GadgetType_String #PB_GadgetType_Text #PB_GadgetType_TrackBar #PB_GadgetType_Tree #PB_GadgetType_Unknown #PB_GadgetType_Web #PB_Gadget_BackColor #PB_Gadget_ContainerCoordinate #PB_Gadget_FrontColor #PB_Gadget_GrayTextColor #PB_Gadget_LineColor #PB_Gadget_ScreenCoordinate #PB_Gadget_TitleBackColor #PB_Gadget_TitleFrontColor #PB_Gadget_WindowCoordinate #PB_HingeJoint_LowerLimit #PB_HingeJoint_UpperLimit #PB_Hyperlink_Underline #PB_Ignore #PB_Image3D_Border #PB_ImagePlugin_BMP #PB_ImagePlugin_ICON #PB_ImagePlugin_JPEG #PB_ImagePlugin_JPEG2000 #PB_ImagePlugin_PNG #PB_ImagePlugin_TGA #PB_ImagePlugin_TIFF #PB_Image_Border #PB_Image_FloydSteinberg #PB_Image_InternalDepth #PB_Image_OriginalDepth #PB_Image_Raised #PB_Image_Raw #PB_Image_Smooth #PB_Image_Transparent #PB_InputRequester_Password #PB_Input_Eof #PB_Integer #PB_Interface #PB_Key_0 #PB_Key_1 #PB_Key_2 #PB_Key_3 #PB_Key_4 #PB_Key_5 #PB_Key_6 #PB_Key_7 #PB_Key_8 #PB_Key_9 #PB_Key_A #PB_Key_Add #PB_Key_All #PB_Key_Apostrophe #PB_Key_B #PB_Key_Back #PB_Key_BackSlash #PB_Key_C #PB_Key_Capital #PB_Key_Comma #PB_Key_D #PB_Key_Decimal #PB_Key_Delete #PB_Key_Divide #PB_Key_Down #PB_Key_E #PB_Key_End #PB_Key_Equals #PB_Key_Escape #PB_Key_F #PB_Key_F1 #PB_Key_F10 #PB_Key_F11 #PB_Key_F12 #PB_Key_F2 #PB_Key_F3 #PB_Key_F4 #PB_Key_F5 #PB_Key_F6 #PB_Key_F7 #PB_Key_F8 #PB_Key_F9 #PB_Key_G #PB_Key_Grave #PB_Key_H #PB_Key_Home #PB_Key_I #PB_Key_Insert #PB_Key_J #PB_Key_K #PB_Key_L #PB_Key_Left #PB_Key_LeftAlt #PB_Key_LeftBracket #PB_Key_LeftControl #PB_Key_LeftShift #PB_Key_M #PB_Key_Minus #PB_Key_Multiply #PB_Key_N #PB_Key_NumLock #PB_Key_O #PB_Key_P #PB_Key_Pad0 #PB_Key_Pad1 #PB_Key_Pad2 #PB_Key_Pad3 #PB_Key_Pad4 #PB_Key_Pad5 #PB_Key_Pad6 #PB_Key_Pad7 #PB_Key_Pad8 #PB_Key_Pad9 #PB_Key_PadComma #PB_Key_PadEnter #PB_Key_PageDown #PB_Key_PageUp #PB_Key_Pause #PB_Key_Period #PB_Key_Q #PB_Key_R #PB_Key_Return #PB_Key_Right #PB_Key_RightAlt #PB_Key_RightBracket #PB_Key_RightControl #PB_Key_RightShift #PB_Key_S #PB_Key_Scroll #PB_Key_SemiColon #PB_Key_Slash #PB_Key_Space #PB_Key_Subtract #PB_Key_T #PB_Key_Tab #PB_Key_U #PB_Key_Up #PB_Key_V #PB_Key_W #PB_Key_X #PB_Key_Y #PB_Key_Z #PB_Keyboard_AllowSystemKeys #PB_Keyboard_International #PB_Keyboard_Qwerty #PB_Label #PB_LensFlare_BurstColor #PB_LensFlare_CircleColor #PB_LensFlare_HaloColor #PB_Light_DiffuseColor #PB_Light_Directional #PB_Light_Point #PB_Light_SpecularColor #PB_Light_Spot #PB_LinkedList #PB_ListIcon_AlwaysShowSelection #PB_ListIcon_CheckBoxes #PB_ListIcon_Checked #PB_ListIcon_ColumnWidth #PB_ListIcon_DisplayMode #PB_ListIcon_FullRowSelect #PB_ListIcon_GridLines #PB_ListIcon_HeaderDragDrop #PB_ListIcon_Inbetween #PB_ListIcon_LargeIcon #PB_ListIcon_List #PB_ListIcon_MultiSelect #PB_ListIcon_Report #PB_ListIcon_Selected #PB_ListIcon_SmallIcon #PB_ListIcon_ThreeState #PB_ListView_ClickSelect #PB_ListView_Multiselect #PB_List_After #PB_List_Before #PB_List_First #PB_List_Last #PB_Local #PB_Long #PB_MDI_Arrange #PB_MDI_AutoSize #PB_MDI_BorderLess #PB_MDI_Cascade #PB_MDI_Image #PB_MDI_Next #PB_MDI_NoScrollBars #PB_MDI_Previous #PB_MDI_TileHorizontally #PB_MDI_TileImage #PB_MDI_TileVertically #PB_Mail_Bcc #PB_Mail_Cc #PB_Mail_Connected #PB_Mail_Custom #PB_Mail_Date #PB_Mail_Error #PB_Mail_Finished #PB_Mail_From #PB_Mail_Subject #PB_Mail_To #PB_Mail_XMailer #PB_Map #PB_Map_ElementCheck #PB_Map_NoElementCheck #PB_Material_Add #PB_Material_AlphaBlend #PB_Material_AmbientColor #PB_Material_Animated #PB_Material_Anisotropic #PB_Material_AntiClockWiseCull #PB_Material_Bilinear #PB_Material_ClockWiseCull #PB_Material_Color #PB_Material_DepthWrite #PB_Material_DiffuseColor #PB_Material_Fixed #PB_Material_Flat #PB_Material_Gouraud #PB_Material_Lighting #PB_Material_Modulate #PB_Material_NoCulling #PB_Material_None #PB_Material_Phong #PB_Material_Point #PB_Material_Replace #PB_Material_SelfIlluminationColor #PB_Material_ShadingMode #PB_Material_Shininess #PB_Material_Solid #PB_Material_SpecularColor #PB_Material_TextureRotate #PB_Material_TextureUScale #PB_Material_TextureUScroll #PB_Material_TextureVScale #PB_Material_TextureVScroll #PB_Material_Trilinear #PB_Material_Wireframe #PB_Memory_NoClear #PB_Menu_About #PB_Menu_ModernLook #PB_Menu_Preferences #PB_Menu_Quit #PB_Mesh_Dynamic #PB_Mesh_LineList #PB_Mesh_LineStrip #PB_Mesh_PointList #PB_Mesh_Static #PB_Mesh_TriangleFan #PB_Mesh_TriangleList #PB_Mesh_TriangleStrip #PB_MessageRequester_Cancel #PB_MessageRequester_No #PB_MessageRequester_Ok #PB_MessageRequester_Yes #PB_MessageRequester_YesNo #PB_MessageRequester_YesNoCancel #PB_MouseButton_Left #PB_MouseButton_Middle #PB_MouseButton_Right #PB_Movie_Rendered #PB_NetworkEvent_Connect #PB_NetworkEvent_Data #PB_NetworkEvent_Disconnect #PB_NetworkEvent_None #PB_Network_IPv4 #PB_Network_IPv6 #PB_Network_TCP #PB_Network_UDP #PB_NodeAnimation_Linear #PB_NodeAnimation_LinearRotation #PB_NodeAnimation_Once #PB_NodeAnimation_SphericalRotation #PB_NodeAnimation_Spline #PB_NodeAnimation_Started #PB_NodeAnimation_Stopped #PB_OSFunction #PB_OS_AmigaOS #PB_OS_Linux #PB_OS_Linux_2_2 #PB_OS_Linux_2_4 #PB_OS_Linux_2_6 #PB_OS_Linux_Future #PB_OS_MacOS #PB_OS_MacOSX_10_0 #PB_OS_MacOSX_10_1 #PB_OS_MacOSX_10_2 #PB_OS_MacOSX_10_3 #PB_OS_MacOSX_10_4 #PB_OS_MacOSX_10_5 #PB_OS_MacOSX_10_6 #PB_OS_MacOSX_10_7 #PB_OS_MacOSX_10_8 #PB_OS_MacOSX_Future #PB_OS_Windows #PB_OS_Windows_2000 #PB_OS_Windows_7 #PB_OS_Windows_8 #PB_OS_Windows_95 #PB_OS_Windows_98 #PB_OS_Windows_Future #PB_OS_Windows_ME #PB_OS_Windows_NT3_51 #PB_OS_Windows_NT_4 #PB_OS_Windows_Server_2003 #PB_OS_Windows_Server_2008 #PB_OS_Windows_Server_2008_R2 #PB_OS_Windows_Server_2012 #PB_OS_Windows_Vista #PB_OS_Windows_XP #PB_OnError_Breakpoint #PB_OnError_DivideByZero #PB_OnError_EAX #PB_OnError_EBP #PB_OnError_EBX #PB_OnError_ECX #PB_OnError_EDI #PB_OnError_EDX #PB_OnError_ESI #PB_OnError_ESP #PB_OnError_Flags #PB_OnError_Floatingpoint #PB_OnError_IllegalInstruction #PB_OnError_InvalidMemory #PB_OnError_PriviledgedInstruction #PB_OnError_R15 #PB_OnError_R8 #PB_OnError_R9 #PB_OnError_RAX #PB_OnError_RBP #PB_OnError_RBX #PB_OnError_RCX #PB_OnError_RDI #PB_OnError_RDX #PB_OnError_RSI #PB_OnError_RSP #PB_OnError_cr #PB_OnError_ctx #PB_OnError_lr #PB_OnError_r0 #PB_OnError_r1 #PB_OnError_r2 #PB_OnError_r31 #PB_OnError_xer #PB_Packer_BriefLZ #PB_Packer_CompressedSize #PB_Packer_Directory #PB_Packer_File #PB_Packer_JCALG1 #PB_Packer_LZMA #PB_Packer_UncompressedSize #PB_Packer_Zip #PB_Panel3D_ItemHeight #PB_Panel3D_ItemWidth #PB_Panel3D_TabHeight #PB_Panel_ItemHeight #PB_Panel_ItemWidth #PB_Panel_TabHeight #PB_Parent #PB_ParticleEmitter #PB_PixelFormat_15Bits #PB_PixelFormat_16Bits #PB_PixelFormat_24Bits_BGR #PB_PixelFormat_24Bits_RGB #PB_PixelFormat_32Bits_BGR #PB_PixelFormat_32Bits_RGB #PB_PixelFormat_8Bits #PB_PixelFormat_ReversedY #PB_PointJoint_Damping #PB_PointJoint_Tau #PB_Preference_GroupSeparator #PB_Preference_NoSpace #PB_Procedure #PB_Processor_PowerPC #PB_Processor_mc68000 #PB_Processor_x64 #PB_Processor_x86 #PB_Program_Connect #PB_Program_Eof #PB_Program_Error #PB_Program_Hide #PB_Program_Open #PB_Program_Read #PB_Program_Wait #PB_Program_Write #PB_ProgressBar3D_Maximum #PB_ProgressBar3D_Minimum #PB_ProgressBar_Maximum #PB_ProgressBar_Minimum #PB_ProgressBar_Smooth #PB_ProgressBar_Vertical #PB_Quad #PB_RegularExpression_AnyNewLine #PB_RegularExpression_DotAll #PB_RegularExpression_Extended #PB_RegularExpression_MultiLine #PB_RegularExpression_NoCase #PB_Relative #PB_Requester_MultiSelection #PB_Round_Down #PB_Round_Nearest #PB_Round_Up #PB_Screen_NoSynchronization #PB_Screen_SmartSynchronization #PB_Screen_WaitSynchronization #PB_ScrollArea3D_InnerHeight #PB_ScrollArea3D_InnerWidth #PB_ScrollArea3D_X #PB_ScrollArea3D_Y #PB_ScrollArea_BorderLess #PB_ScrollArea_Center #PB_ScrollArea_Flat #PB_ScrollArea_InnerHeight #PB_ScrollArea_InnerWidth #PB_ScrollArea_Raised #PB_ScrollArea_ScrollStep #PB_ScrollArea_Single #PB_ScrollArea_X #PB_ScrollArea_Y #PB_ScrollBar3D_Maximum #PB_ScrollBar3D_Minimum #PB_ScrollBar3D_PageLength #PB_ScrollBar3D_Vertical #PB_ScrollBar_Maximum #PB_ScrollBar_Minimum #PB_ScrollBar_PageLength #PB_ScrollBar_Vertical #PB_SerialPort_Break #PB_SerialPort_CTS #PB_SerialPort_DCD #PB_SerialPort_DSR #PB_SerialPort_DTR #PB_SerialPort_EOFSent #PB_SerialPort_EvenParity #PB_SerialPort_Frame #PB_SerialPort_IOE #PB_SerialPort_MarkParity #PB_SerialPort_NoHandshake #PB_SerialPort_NoParity #PB_SerialPort_OddParity #PB_SerialPort_OverRun #PB_SerialPort_RI #PB_SerialPort_RTS #PB_SerialPort_RtsCtsHandshake #PB_SerialPort_RtsHandshake #PB_SerialPort_RxOver #PB_SerialPort_RxParity #PB_SerialPort_SpaceParity #PB_SerialPort_TXD #PB_SerialPort_TxFull #PB_SerialPort_WaitingCTS #PB_SerialPort_WaitingDSR #PB_SerialPort_WaitingRLSD #PB_SerialPort_XoffCharacter #PB_SerialPort_XoffReceived #PB_SerialPort_XoffSent #PB_SerialPort_XonCharacter #PB_SerialPort_XonXoffHandshake #PB_Shadow_Additive #PB_Shadow_Modulative #PB_Shadow_None #PB_Shadow_TextureAdditive #PB_Shortcut_ #PB_Shortcut_0 #PB_Shortcut_1 #PB_Shortcut_2 #PB_Shortcut_3 #PB_Shortcut_4 #PB_Shortcut_5 #PB_Shortcut_6 #PB_Shortcut_7 #PB_Shortcut_8 #PB_Shortcut_9 #PB_Shortcut_A #PB_Shortcut_Add #PB_Shortcut_All #PB_Shortcut_Alt #PB_Shortcut_Apps #PB_Shortcut_B #PB_Shortcut_Back #PB_Shortcut_C #PB_Shortcut_Capital #PB_Shortcut_Clear #PB_Shortcut_Command #PB_Shortcut_Control #PB_Shortcut_D #PB_Shortcut_Decimal #PB_Shortcut_Delete #PB_Shortcut_Divide #PB_Shortcut_Down #PB_Shortcut_E #PB_Shortcut_End #PB_Shortcut_Escape #PB_Shortcut_Execute #PB_Shortcut_F #PB_Shortcut_F1 #PB_Shortcut_F10 #PB_Shortcut_F11 #PB_Shortcut_F12 #PB_Shortcut_F13 #PB_Shortcut_F14 #PB_Shortcut_F15 #PB_Shortcut_F16 #PB_Shortcut_F17 #PB_Shortcut_F18 #PB_Shortcut_F19 #PB_Shortcut_F2 #PB_Shortcut_F20 #PB_Shortcut_F21 #PB_Shortcut_F22 #PB_Shortcut_F23 #PB_Shortcut_F24 #PB_Shortcut_F3 #PB_Shortcut_F4 #PB_Shortcut_F5 #PB_Shortcut_F6 #PB_Shortcut_F7 #PB_Shortcut_F8 #PB_Shortcut_F9 #PB_Shortcut_G #PB_Shortcut_H #PB_Shortcut_Help #PB_Shortcut_Home #PB_Shortcut_I #PB_Shortcut_Insert #PB_Shortcut_J #PB_Shortcut_K #PB_Shortcut_L #PB_Shortcut_Left #PB_Shortcut_LeftWindows #PB_Shortcut_M #PB_Shortcut_Menu #PB_Shortcut_Multiply #PB_Shortcut_N #PB_Shortcut_Next #PB_Shortcut_Numlock #PB_Shortcut_O #PB_Shortcut_P #PB_Shortcut_Pad0 #PB_Shortcut_Pad1 #PB_Shortcut_Pad2 #PB_Shortcut_Pad3 #PB_Shortcut_Pad4 #PB_Shortcut_Pad5 #PB_Shortcut_Pad6 #PB_Shortcut_Pad7 #PB_Shortcut_Pad8 #PB_Shortcut_Pad9 #PB_Shortcut_Pause #PB_Shortcut_Print #PB_Shortcut_Prior #PB_Shortcut_Q #PB_Shortcut_R #PB_Shortcut_Return #PB_Shortcut_Right #PB_Shortcut_RightWindows #PB_Shortcut_S #PB_Shortcut_Scroll #PB_Shortcut_Select #PB_Shortcut_Separator #PB_Shortcut_Shift #PB_Shortcut_Snapshot #PB_Shortcut_Space #PB_Shortcut_Subtract #PB_Shortcut_T #PB_Shortcut_Tab #PB_Shortcut_U #PB_Shortcut_Up #PB_Shortcut_V #PB_Shortcut_W #PB_Shortcut_X #PB_Shortcut_Y #PB_Shortcut_Z #PB_SliderJoint_LowerLimit #PB_SliderJoint_UpperLimit #PB_Sort_Ascending #PB_Sort_Descending #PB_Sort_NoCase #PB_Sound3D_Loop #PB_Sound3D_Streaming #PB_Sound_Frame #PB_Sound_Loop #PB_Sound_Millisecond #PB_Sound_MultiChannel #PB_Sound_Paused #PB_Sound_Playing #PB_Sound_Stopped #PB_Sound_Streaming #PB_Sound_Unknown #PB_Spin3D_Maximum #PB_Spin3D_Minimum #PB_Spin_Maximum #PB_Spin_Minimum #PB_Spin_Numeric #PB_Spin_ReadOnly #PB_Splitter_FirstFixed #PB_Splitter_FirstGadget #PB_Splitter_FirstMinimumSize #PB_Splitter_SecondFixed #PB_Splitter_SecondGadget #PB_Splitter_SecondMinimumSize #PB_Splitter_Separator #PB_Splitter_Vertical #PB_Sprite3D_BilinearFiltering #PB_Sprite3D_NoFiltering #PB_Sprite_Alpha #PB_Sprite_AlphaBlending #PB_Sprite_Memory #PB_Sprite_Texture #PB_StatusBar_BorderLess #PB_StatusBar_Center #PB_StatusBar_Raised #PB_StatusBar_Right #PB_String #PB_String3D_Numeric #PB_String3D_Password #PB_String3D_ReadOnly #PB_String_BorderLess #PB_String_CaseSensitive #PB_String_Equal #PB_String_Greater #PB_String_InPlace #PB_String_Lower #PB_String_LowerCase #PB_String_MaximumLength #PB_String_NoCase #PB_String_Numeric #PB_String_Password #PB_String_ReadOnly #PB_String_UpperCase #PB_Structure #PB_Structure_AlignC #PB_System_CPUs #PB_System_FreePhysical #PB_System_FreeSwap #PB_System_FreeVirtual #PB_System_PageSize #PB_System_ProcessCPUs #PB_System_TotalPhysical #PB_System_TotalSwap #PB_System_TotalVirtual #PB_Terrain_CastShadows #PB_Terrain_Lightmap #PB_Terrain_LowLODShadows #PB_Terrain_NormalMapping #PB_Text3D_Bottom #PB_Text3D_HorizontallyCentered #PB_Text3D_Left #PB_Text3D_Top #PB_Text3D_VerticallyCentered #PB_Text_Border #PB_Text_Center #PB_Text_Right #PB_Texture_AutomaticUpdate #PB_Texture_CameraViewPort #PB_Texture_ManualUpdate #PB_ToolBar_Normal #PB_ToolBar_Toggle #PB_TrackBar_Maximum #PB_TrackBar_Minimum #PB_TrackBar_Ticks #PB_TrackBar_Vertical #PB_Tree_AlwaysShowSelection #PB_Tree_CheckBoxes #PB_Tree_Checked #PB_Tree_Collapsed #PB_Tree_Expanded #PB_Tree_Inbetween #PB_Tree_NoButtons #PB_Tree_NoLines #PB_Tree_Selected #PB_Tree_SubLevel #PB_Tree_ThreeState #PB_URL_Parameters #PB_URL_Password #PB_URL_Path #PB_URL_Port #PB_URL_Protocol #PB_URL_Site #PB_URL_User #PB_UTF16 #PB_UTF16BE #PB_UTF32 #PB_UTF32BE #PB_UTF8 #PB_Unicode #PB_Variable #PB_Web_Back #PB_Web_BlockPopupMenu #PB_Web_BlockPopups #PB_Web_Busy #PB_Web_Forward #PB_Web_HtmlCode #PB_Web_Mozilla #PB_Web_NavigationCallback #PB_Web_PageTitle #PB_Web_Progress #PB_Web_ProgressMax #PB_Web_Refresh #PB_Web_ScrollX #PB_Web_ScrollY #PB_Web_SelectedText #PB_Web_StatusMessage #PB_Web_Stop #PB_Window3D_BorderLess #PB_Window3D_Invisible #PB_Window3D_SizeGadget #PB_Window_BorderLess #PB_Window_Borderless #PB_Window_FrameCoordinate #PB_Window_InnerCoordinate #PB_Window_Invisible #PB_Window_Maximize #PB_Window_MaximizeGadget #PB_Window_Minimize #PB_Window_MinimizeGadget #PB_Window_NoActivate #PB_Window_NoGadgets #PB_Window_Normal #PB_Window_ScreenCentered #PB_Window_Screencentered #PB_Window_SizeGadget #PB_Window_SystemMenu #PB_Window_TitleBar #PB_Window_Tool #PB_Window_WindowCentered #PB_Word #PB_World #PB_World_DebugBody #PB_World_DebugEntity #PB_World_DebugNone #PB_World_TerrainPick #PB_World_UnderWater #PB_World_WaterCaustics #PB_World_WaterFoam #PB_World_WaterGodRays #PB_World_WaterHighQuality #PB_World_WaterLowQuality #PB_World_WaterMediumQuality #PB_World_WaterPick #PB_World_WaterSmooth #PB_World_WaterSun #PB_XML_Aborted #PB_XML_AsyncEntity #PB_XML_AttributeExternalEntityRef #PB_XML_BadCharacterRef #PB_XML_BinaryEntityRef #PB_XML_CData #PB_XML_CantChangeFeatures #PB_XML_Comment #PB_XML_CutNewline #PB_XML_CutSpace #PB_XML_DTD #PB_XML_DublicateAttribute #PB_XML_EntityDeclaredInPE #PB_XML_ExternalEntityHandling #PB_XML_FeatureRequiresDTD #PB_XML_Finished #PB_XML_IncompletePE #PB_XML_IncorrectEncoding #PB_XML_Instruction #PB_XML_InvalidToken #PB_XML_JunkAfterDocElement #PB_XML_LinuxNewline #PB_XML_MacNewline #PB_XML_MisplacedXML #PB_XML_NoDeclaration #PB_XML_NoElements #PB_XML_NoMemory #PB_XML_Normal #PB_XML_NotStandalone #PB_XML_NotSuspended #PB_XML_ParamEntityRef #PB_XML_PartialCharacter #PB_XML_PublicID #PB_XML_ReFormat #PB_XML_ReIndent #PB_XML_RecursiveEntityRef #PB_XML_ReduceNewline #PB_XML_ReduceSpace #PB_XML_ReservedNamespaceURI #PB_XML_ReservedPrefixXML #PB_XML_ReservedPrefixXMLNS #PB_XML_Root #PB_XML_StandaloneNo #PB_XML_StandaloneUnset #PB_XML_StandaloneYes #PB_XML_StreamEnd #PB_XML_StreamNext #PB_XML_StreamStart #PB_XML_StringFormat #PB_XML_Success #PB_XML_Suspended #PB_XML_SuspendedPE #PB_XML_Syntax #PB_XML_TagMismatch #PB_XML_TextDeclaration #PB_XML_UnboundPrefix #PB_XML_UnclosedCDataSection #PB_XML_UnclosedToken #PB_XML_UndeclaringPrefix #PB_XML_UndefinedEntity #PB_XML_UnexpectedState #PB_XML_UnknownEncoding #PB_XML_WindowsNewline #PB_XML_XMLDeclaration #PB_Xml_Normal #PB_Xml_Root", False, "#_" )
pub_words5.AutoCase=True

'Labels
Set pub_words6=purebasic.CreateItem( COLOR_FUNCTION, "[A-Za-z0-9_]+\:$", False )

'Types
Set pub_words7=purebasic.CreateItem( COLOR_OPERATOR, "\.(a|b|c|d|f|i|l|q|s|u|w)\b", False )

'TODO\BUG\FIX\DONE注释格式支持
Set todo=purebasic.CreateItem(COLOR_COMMENT1, "^;(todo|bug|fix|done)\s*(.+)$", False)
todo.Capture 1, COLOR_WORD2
todo.Capture 2, COLOR_WORD3

'括号匹配
Call purebasic.SetPairs("[](){}""""''")

'快捷键行注释
Call purebasic.CommentLine(";")

'代码折叠
Call purebasic.FoldText( "^\s*(DataSection|Enumeration|Import|ImportC|Interface|Macro|Procedure|ProcedureC|ProcedureCDLL|ProcedureDLL|Structure)\s", False )
Call purebasic.UnfoldText( "^\s*(EndDataSection|EndEnumeration|EndImport|EndInterface|EndMacro|EndProcedure|EndStructure)$", False )

'代码自动缩进
Call purebasic.IndentText( "^\s*(Break|For|ForEach|Gosub|If|Else|Repeat|Select|While|DataSection|Enumeration|Import|ImportC|Interface|Macro|Procedure|ProcedureC|ProcedureCDLL|ProcedureDLL|Structure)\s", False )
Call purebasic.UnindentText( "^\s*(Continue|Next|Return|Endif|Until|EndSelect|Wend|EndDataSection|EndEnumeration|EndImport|EndInterface|EndMacro|EndProcedure|EndStructure)$", False )

'
'创建的匹配加入主区域
purebasic.AddRegion(LineComment)
purebasic.AddRegion(regionString1)
purebasic.AddRegion(regionString2)
purebasic.AddWord(pub_words1)
purebasic.AddWord(pub_words2)
purebasic.AddWord(pub_words3)
purebasic.AddWord(pub_words4)
purebasic.AddWord(pub_words5)
purebasic.AddWord(pub_words6)
purebasic.AddWord(pub_words7)
LineComment.AddItem(todo)
