Notepad++ language template for PureBasic?

For everything that's not in any way related to PureBasic. General chat etc...
User avatar
Tenaja
Addict
Addict
Posts: 1948
Joined: Tue Nov 09, 2010 10:15 pm

Re: Notepad++ language template for PureBasic?

Post by Tenaja »

Oh, well...I broke down and I'm posting it first anyway...

Code: Select all

<NotepadPlus>

    <UserLang name="PureBasic" ext="pb pbi" udlVersion="2.1">
        <Settings>
            <Global caseIgnored="yes" allowFoldOfComments="no" foldCompact="no" forcePureLC="0" decimalSeparator="0" />
            <Prefix Keywords1="no" Keywords2="no" Keywords3="no" Keywords4="yes" Keywords5="yes" Keywords6="no" Keywords7="no" Keywords8="no" />
        </Settings>
        <KeywordLists>
            <Keywords name="Comments">00; 01 02 03 04</Keywords>
            <Keywords name="Numbers, prefix1"></Keywords>
            <Keywords name="Numbers, prefix2">$ 0x %</Keywords>
            <Keywords name="Numbers, extras1"></Keywords>
            <Keywords name="Numbers, extras2">a b c d e f</Keywords>
            <Keywords name="Numbers, suffix1"></Keywords>
            <Keywords name="Numbers, suffix2"></Keywords>
            <Keywords name="Numbers, range"></Keywords>
            <Keywords name="Operators1">&apos; " & ( ) , / @ + < = ></Keywords>
            <Keywords name="Operators2">and or not xor</Keywords>
            <Keywords name="Folders in code1, open"></Keywords>
            <Keywords name="Folders in code1, middle"></Keywords>
            <Keywords name="Folders in code1, close"></Keywords>
            <Keywords name="Folders in code2, open">Procedure procedure.s procedure.l procedure.i procedure.f Structure while select if for repeat macro</Keywords>
            <Keywords name="Folders in code2, middle">Else ElseIf </Keywords>
            <Keywords name="Folders in code2, close">EndProcedure EndStructure wend endselect endif next until endmacro</Keywords>
            <Keywords name="Folders in comment, open">RegionStart</Keywords>
            <Keywords name="Folders in comment, middle"></Keywords>
            <Keywords name="Folders in comment, close">RegionEnd</Keywords>
            <Keywords name="Keywords1">and data data.i data.s data.l data.q data.d data.b data.f datasection declare declarecdll declaredll deftype end enddatasection endenumeration endinterface endstructureunion enumeration extends fakereturn forever global global.i global.s global.q global.l global.f global.d global.b gosub goto includebinary includefile includepath interface newlist or procedurecdll proceduredll protected protected.i protected.s protected.q protected.l static static.s static.i static.q static.l read restore return shared static step structureunion xincludefile</Keywords>
            <Keywords name="Keywords2">OpenConsole compilercase compilerdefault compilerelse compilerendif compilerendselect compilerif compilerselect dim</Keywords>
            <Keywords name="Keywords3">break to else elseif foreach case default continue</Keywords>
            <Keywords name="Keywords4">* \ @</Keywords>
            <Keywords name="Keywords5">#</Keywords>
            <Keywords name="Keywords6"></Keywords>
            <Keywords name="Keywords7"></Keywords>
            <Keywords name="Keywords8"></Keywords>
            <Keywords name="Delimiters">00" 01 02" 03&apos; 04 05&apos; 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23</Keywords>
        </KeywordLists>
        <Styles>
            <WordsStyle name="DEFAULT" fgColor="000000" bgColor="FFFFFF" fontName="Courier New" fontStyle="0" fontSize="10" nesting="0" />
            <WordsStyle name="COMMENTS" fgColor="80FF00" bgColor="FFFFFF" fontName="Courier New" fontStyle="0" fontSize="10" nesting="0" />
            <WordsStyle name="LINE COMMENTS" fgColor="FF0000" bgColor="FFFFFF" fontName="Courier New" fontStyle="0" fontSize="10" nesting="0" />
            <WordsStyle name="NUMBERS" fgColor="400080" bgColor="FFFFFF" fontName="Courier New" fontStyle="1" fontSize="10" nesting="0" />
            <WordsStyle name="KEYWORDS1" fgColor="000000" bgColor="FFFFFF" fontName="Courier New" fontStyle="1" fontSize="10" nesting="0" />
            <WordsStyle name="KEYWORDS2" fgColor="800040" bgColor="FFFFFF" fontName="Courier New" fontStyle="1" fontSize="10" nesting="0" />
            <WordsStyle name="KEYWORDS3" fgColor="004080" bgColor="FFFFFF" fontName="Courier New" fontStyle="1" fontSize="10" nesting="0" />
            <WordsStyle name="KEYWORDS4" fgColor="660066" bgColor="FFFFFF" fontName="Courier New" fontStyle="1" fontSize="10" nesting="0" />
            <WordsStyle name="KEYWORDS5" fgColor="000080" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
            <WordsStyle name="KEYWORDS6" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
            <WordsStyle name="KEYWORDS7" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
            <WordsStyle name="KEYWORDS8" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
            <WordsStyle name="OPERATORS" fgColor="FF0000" bgColor="FFFFFF" fontName="Courier New" fontStyle="0" fontSize="10" nesting="0" />
            <WordsStyle name="FOLDER IN CODE1" fgColor="408080" bgColor="FFFFFF" fontName="Courier New" fontStyle="5" fontSize="10" nesting="0" />
            <WordsStyle name="FOLDER IN CODE2" fgColor="008080" bgColor="FFFFFF" fontName="Courier New" fontStyle="5" nesting="0" />
            <WordsStyle name="FOLDER IN COMMENT" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
            <WordsStyle name="DELIMITERS1" fgColor="008000" bgColor="FFFFFF" fontName="Courier New" fontStyle="0" fontSize="10" nesting="0" />
            <WordsStyle name="DELIMITERS2" fgColor="0000FF" bgColor="FFFFFF" fontName="Courier New" fontStyle="0" fontSize="10" nesting="0" />
            <WordsStyle name="DELIMITERS3" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
            <WordsStyle name="DELIMITERS4" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
            <WordsStyle name="DELIMITERS5" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
            <WordsStyle name="DELIMITERS6" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
            <WordsStyle name="DELIMITERS7" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
            <WordsStyle name="DELIMITERS8" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
        </Styles>
    </UserLang>
    <UserLang name="PureBasic2" ext="pbi" udlVersion="2.1">
        <Settings>
            <Global caseIgnored="yes" allowFoldOfComments="no" foldCompact="no" forcePureLC="0" decimalSeparator="0" />
            <Prefix Keywords1="no" Keywords2="no" Keywords3="no" Keywords4="yes" Keywords5="no" Keywords6="no" Keywords7="no" Keywords8="no" />
        </Settings>
        <KeywordLists>
            <Keywords name="Comments">03 04 00; 01 02</Keywords>
            <Keywords name="Numbers, prefix1"></Keywords>
            <Keywords name="Numbers, prefix2"></Keywords>
            <Keywords name="Numbers, extras1"></Keywords>
            <Keywords name="Numbers, extras2"></Keywords>
            <Keywords name="Numbers, suffix1"></Keywords>
            <Keywords name="Numbers, suffix2"></Keywords>
            <Keywords name="Numbers, range"></Keywords>
            <Keywords name="Operators1">- & ( ) * / : \ | +</Keywords>
            <Keywords name="Operators2"></Keywords>
            <Keywords name="Folders in code1, open"></Keywords>
            <Keywords name="Folders in code1, middle"></Keywords>
            <Keywords name="Folders in code1, close"></Keywords>
            <Keywords name="Folders in code2, open">If Repeat Procedure While MacroProcedure procedure.s procedure.l procedure.i procedure.f Structure while select if for repeat macro</Keywords>
            <Keywords name="Folders in code2, middle"> Elseif</Keywords>
            <Keywords name="Folders in code2, close">EndIf Until ForEver EndProcedure Wend EndProcedure EndStructure wend endselect endif next until endmacro</Keywords>
            <Keywords name="Folders in comment, open"></Keywords>
            <Keywords name="Folders in comment, middle"></Keywords>
            <Keywords name="Folders in comment, close"></Keywords>
            <Keywords name="Keywords1">AbortFTPFile Abs ACos ACosH Add3DArchive AddBillboard AddCipherBuffer AddDate AddElement AddGadgetColumn AddGadgetItem AddGadgetItem3D AddKeyboardShortcut AddMailAttachment AddMailAttachmentData AddMailRecipient AddMapElement AddMaterialLayer AddPackFile AddPackMemory AddStatusBarField AddSysTrayIcon AddWindowTimer AESDecoder AESEncoder AllocateMemory Alpha AlphaBlend AmbientColor AnimateEntity AntialiasingMode ArraySize Asc ASin ASinH ATan ATan2 ATanH AttachNodeObject AudioCDLength AudioCDName AudioCDStatus AudioCDTrackLength AudioCDTracks AudioCDTrackSeconds AvailableProgramOutput AvailableScreenMemory AvailableSerialPortInput AvailableSerialPortOutput BackColor Base64Decoder Base64Encoder BillboardGroupID BillboardGroupLocate BillboardGroupMaterial BillboardGroupX BillboardGroupY BillboardGroupZ BillboardHeight BillboardLocate BillboardWidth BillboardX BillboardY BillboardZ Bin Blue Box BoxedGradient ButtonGadget ButtonGadget3D ButtonImageGadget ButtonImageGadgetNoSkin CalendarGadget CallCFunction CallCFunctionFast CallFunction CallFunctionFast CameraBackColor CameraFOV CameraID CameraLocate CameraLookAt CameraProjectionMode CameraProjectionX CameraProjectionY CameraRange CameraRenderMode CameraX CameraY CameraZ CatchImage CatchModule CatchSound CatchSprite CatchXML ChangeAlphaIntensity ChangeCurrentElement ChangeGamma ChangeSysTrayIcon CheckBoxGadget CheckBoxGadget3D CheckEntityCollision CheckFilename CheckFTPConnection ChildXMLNode Chr Circle CircularGradient ClearBillboards ClearClipboard ClearConsole ClearDebugOutput ClearGadgetItems ClearGadgetItems3D ClearList ClearMap ClearScreen ClearStructure 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 ConicalGradient ConnectionID ConsoleColor ConsoleCursor ConsoleError ConsoleLocate ConsoleTitle ContainerGadget ContainerGadget3D CopyArray CopyDirectory CopyEntity CopyFile CopyImage CopyLight CopyList CopyMap CopyMaterial CopyMemory CopyMemoryString CopyMesh CopySprite CopyStructure CopyXMLNode Cos CosH CountBillboards CountGadgetItems CountGadgetItems3D CountLibraryFunctions CountMaterialLayers CountProgramParameters CountRenderedTriangles CountString CRC32FileFingerprint CRC32Fingerprint CreateBillboardGroup CreateCamera CreateDirectory CreateEntity CreateFile CreateFTPDirectory CreateImage CreateImageMenu CreateLight CreateMail CreateMaterial CreateMenu CreateMesh CreateMutex CreateNetworkServer CreateNode CreatePack CreateParticleEmitter CreatePopupImageMenu CreatePopupMenu CreatePreferences CreateRegularExpression CreateSemaphore CreateSprite CreateSprite3D CreateStatusBar CreateTerrain CreateTexture CreateThread CreateToolBar CreateWater CreateXML CreateXMLNode CryptRandom CryptRandomData CustomFilterCallback CustomGradient DatabaseColumnName DatabaseColumns DatabaseColumnSize DatabaseColumnType DatabaseDriverDescription DatabaseDriverName DatabaseError DatabaseID DatabaseQuery DatabaseUpdate Date DateGadget Day DayOfWeek DayOfYear DefaultPrinter Defined Degree Delay DeleteDirectory DeleteElement DeleteFile DeleteFTPDirectory DeleteFTPFile DeleteMapElement DeleteXMLNode DESFingerprint DesktopDepth DesktopFrequency DesktopHeight DesktopMouseX DesktopMouseY DesktopName DesktopWidth DesktopX DesktopY DetachNodeObject DirectoryEntryAttributes DirectoryEntryDate DirectoryEntryName DirectoryEntrySize DirectoryEntryType DisableGadget DisableGadget3D DisableMaterialLighting DisableMenuItem DisableToolBarButton DisableWindow DisableWindow3D DisplayAlphaSprite DisplayPopupMenu DisplayRGBFilter DisplayShadowSprite DisplaySolidSprite DisplaySprite DisplaySprite3D DisplayTranslucentSprite DisplayTransparentSprite DragFiles DragImage DragOSFormats DragPrivate DragText DrawAlphaImage DrawImage DrawingBuffer DrawingBufferPitch DrawingBufferPixelFormat DrawingFont DrawingMode DrawRotatedText DrawText EditorGadget EditorGadget3D EjectAudioCD ElapsedMilliseconds Ellipse EllipticalGradient EnableGadgetDrop EnableGraphicalConsole EnableWindowDrop EnableWorldCollisions EnableWorldPhysics Engine3DFrameRate EntityAngleX EntityAnimationLength EntityID EntityLocate EntityLookAt EntityMaterial EntityMesh EntityPhysicBody EntityRenderMode EntityX EntityY EntityZ EnvironmentVariableName EnvironmentVariableValue Eof ErrorAddress ErrorCode ErrorFile ErrorLine ErrorMessage ErrorRegister ErrorTargetAddress EventClient 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 ExaminePreferenceGroups ExaminePreferenceKeys ExamineScreenModes ExamineSHA1Fingerprint ExamineWorldCollisions ExamineXMLAttributes Exp ExplorerComboGadget ExplorerListGadget ExplorerTreeGadget ExportXML ExportXMLSize ExtractRegularExpression FileBuffersSize FileID FileSeek FileSize FillArea FillMemory FindMapElement FindString FinishCipher FinishDatabaseQuery FinishDirectory FinishFingerprint FinishFTPDirectory FirstDatabaseRow FirstElement FirstWorldCollisionEntity FlipBuffers FlushFileBuffers Fog FontID FontRequester FormatDate FormatXML Frame3DGadget Frame3DGadget3D FreeArray FreeBillboardGroup FreeCamera FreeEntity FreeFont FreeGadget FreeGadget3D FreeImage FreeLight FreeList FreeMail FreeMap FreeMaterial FreeMemory FreeMenu FreeMesh FreeModule FreeMovie FreeMutex FreeNode FreeParticleEmitter FreeRegularExpression FreeSemaphore FreeSound FreeSound3D FreeSprite FreeSprite3D FreeStatusBar 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 GetEntityAnimationTime GetEntityFriction GetEntityMass 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 GetMailAttribute GetMailBody GetMenuItemState GetMenuItemText GetMenuTitleText GetModulePosition GetModuleRow GetPathPart GetSerialPortStatus GetTemporaryDirectory GetToolBarButtonState GetURLPart GetWindowColor GetWindowState GetWindowTitle GetWindowTitle3D GetXMLAttribute GetXMLEncoding GetXMLNodeName GetXMLNodeOffset GetXMLNodeText GetXMLStandalone GrabDrawingImage GrabImage GrabSprite GradientColor Green Hex HideBillboardGroup HideEntity HideGadget HideGadget3D HideLight HideMenu HideParticleEmitter HideWindow HideWindow3D Hostname Hour HyperLinkGadget ImageDepth ImageGadget ImageGadget3D ImageHeight ImageID ImageOutput ImageWidth Infinity InitAudioCD InitEngine3D InitializeStructure InitJoystick InitKeyboard InitMouse InitMovie InitNetwork InitScintilla InitSound InitSprite InitSprite3D Inkey Input InputEvent3D InputRequester InsertElement InsertString InstructionAddress InstructionString Int IntQ IPAddressField IPAddressGadget IPString IsBillboardGroup IsCamera IsDatabase IsDirectory 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 IsStatusBar IsSysTrayIcon IsTexture IsThread IsToolBar IsWindow IsWindow3D IsXML JoystickAxisX JoystickAxisY JoystickButton KeyboardInkey KeyboardMode KeyboardPushed KeyboardReleased KillProgram KillThread LastElement LCase Left Len LibraryFunctionAddress LibraryFunctionName LibraryID LightColor LightLocate LightSpecularColor 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 MaterialAmbientColor MaterialBlendingMode MaterialDiffuseColor MaterialFilteringMode MaterialID MaterialShadingMode MaterialSpecularColor MD5FileFingerprint MD5Fingerprint MDIGadget MemorySize MemoryStringLength MenuBar MenuHeight MenuID MenuItem MenuTitle MeshID MessageRequester Mid Minute Mod ModuleVolume Month MouseButton MouseDeltaX MouseDeltaY MouseLocate MousePick MouseWheel MouseX MouseY MoveBillboard MoveBillboardGroup MoveCamera MoveEntity MoveLight MoveMemory MoveNode MoveParticleEmitter MoveXMLNode MovieAudio MovieHeight MovieInfo MovieLength MovieSeek MovieStatus MovieWidth NaN NetworkClientEvent NetworkServerEvent NewPrinterPage NextDatabaseDriver NextDatabaseRow NextDirectoryEntry NextElement NextEnvironmentVariable NextFingerprint NextFTPDirectoryEntry NextInstruction NextIPAddress NextLibraryFunction NextMapElement NextPackFile NextPreferenceGroup NextPreferenceKey NextScreenMode NextSelectedFileName NextWorldCollision NextXMLAttribute NextXMLNode NodeID NodeLocate NodeLookAt NodeX NodeY NodeZ OffsetOf 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 PackerCallback PackFileSize PackMemory PanelGadget PanelGadget3D ParentXMLNode Parse3DScripts ParseDate ParticleColorFader ParticleColorRange ParticleEmissionRate ParticleEmitterDirection ParticleEmitterID ParticleEmitterLocate ParticleEmitterX ParticleEmitterY ParticleEmitterZ ParticleMaterial ParticleSize ParticleTimeToLive ParticleVelocity PathRequester PauseAudioCD PauseMovie PauseThread PeekA PeekB PeekC PeekD PeekF PeekI PeekL PeekQ PeekS PeekU PeekW PickX PickY PickZ PlayAudioCD PlayModule PlayMovie PlaySound PlaySound3D Plot Point PointPick PokeA PokeB PokeC PokeD PokeF PokeI PokeL PokeQ PokeS PokeU PokeW Pow PreferenceComment PreferenceGroup PreferenceGroupName PreferenceKeyName PreferenceKeyValue PreviousDatabaseRow PreviousElement PreviousXMLNode Print PrinterOutput PrinterPageHeight PrinterPageWidth PrintN PrintRequester ProgramExitCode ProgramFilename ProgramID ProgramParameter ProgramRunning ProgressBarGadget ProgressBarGadget3D PurifierGranularity Radian RaiseError Random RandomData RandomSeed RawKey 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 ReceiveNetworkFile Red RegularExpressionError ReleaseMouse RemoveBillboard RemoveEnvironmentVariable RemoveGadgetColumn RemoveGadgetItem RemoveGadgetItem3D RemoveKeyboardShortcut RemoveMailRecipient RemoveMaterialLayer RemovePreferenceGroup RemovePreferenceKey RemoveString RemoveSysTrayIcon RemoveWindowTimer RemoveXMLAttribute RenameFile RenameFTPFile RenderMovieFrame RenderWorld ReplaceRegularExpression ReplaceString ResetGradientColors ResetList ResetMap ResetProfiler ResizeBillboard ResizeEntity ResizeGadget ResizeGadget3D ResizeImage ResizeMovie ResizeParticleEmitter ResizeWindow ResizeWindow3D ResolveXMLAttributeName ResolveXMLNodeName ResumeAudioCD ResumeMovie ResumeThread ReverseString RGB RGBA Right RootXMLNode RotateBillboardGroup RotateCamera RotateEntity RotateMaterial RotateNode RotateSprite3D Round RoundBox RSet RTrim RunProgram SaveDebugOutput SaveFileRequester SaveImage SaveSprite SaveXML ScaleEntity ScaleMaterial ScintillaGadget ScintillaSendMessage ScreenID ScreenModeDepth ScreenModeHeight ScreenModeRefreshRate ScreenModeWidth ScreenOutput ScrollAreaGadget ScrollAreaGadget3D ScrollBarGadget ScrollBarGadget3D ScrollMaterial Second SecondWorldCollisionEntity SelectedFilePattern SelectedFontColor SelectedFontName SelectedFontSize SelectedFontStyle SelectElement SendFTPFile SendMail SendNetworkData SendNetworkFile SendNetworkString SerialPortError SerialPortID SerialPortTimeouts ServerID SetActiveGadget SetActiveGadget3D SetActiveWindow SetActiveWindow3D SetClipboardImage SetClipboardText SetCurrentDirectory SetDatabaseBlob SetDragCallback SetDropCallback SetEntityAnimationTime SetEntityFriction SetEntityMass SetEnvironmentVariable SetFileAttributes SetFileDate SetFrameRate SetFTPDirectory SetGadgetAttribute SetGadgetAttribute3D SetGadgetColor SetGadgetData SetGadgetData3D SetGadgetFont SetGadgetItemAttribute SetGadgetItemColor SetGadgetItemData SetGadgetItemData3D SetGadgetItemState SetGadgetItemState3D SetGadgetItemText SetGadgetItemText3D SetGadgetState SetGadgetState3D SetGadgetText SetGadgetText3D SetGUITheme3D SetMailAttribute SetMailBody SetMenuItemState SetMenuItemText SetMenuTitleText SetMeshData SetModulePosition SetSerialPortStatus SetToolBarButtonState 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 SizeOf SkyBox SkyDome SmartWindowRefresh SortArray SortList SortStructuredArray SortStructuredList SoundCone3D SoundFrequency SoundID3D SoundPan SoundRange3D SoundVolume SoundVolume3D Space SpinGadget SpinGadget3D SplitterGadget Sprite3DBlendingMode Sprite3DQuality SpriteCollision SpriteDepth SpriteHeight SpriteID SpriteOutput SpritePixelCollision SpriteWidth Sqr Start3D StartAESCipher StartDrawing StartPrinting StartProfiler StartSpecialFX StatusBarHeight StatusBarID StatusBarImage StatusBarProgress StatusBarText StickyWindow Stop3D StopAudioCD StopDrawing StopModule StopMovie StopPrinting StopProfiler StopSound StopSound3D StopSpecialFX Str StrD StrF StringByteLength StringField StringGadget StringGadget3D StrU Subsystem Sun SwapElements SysTrayIconToolTip Tan TanH TerrainHeight TextGadget TextGadget3D TextHeight TextureHeight TextureID TextureWidth TextWidth ThreadID ThreadPriority ToolBarHeight ToolBarID ToolBarImageButton ToolBarSeparator ToolBarStandardButton ToolBarToolTip TrackBarGadget TransformSprite3D TransparentSpriteColor TreeGadget TreeGadget3D Trim TruncateFile TryLockMutex TrySemaphore UCase UnlockMutex UnpackMemory URLDecoder URLEncoder UseAudioCD UseBuffer UseFLACSoundDecoder UseGadgetList UseJPEG2000ImageDecoder UseJPEG2000ImageEncoder UseJPEGImageDecoder UseJPEGImageEncoder UseODBCDatabase UseOGGSoundDecoder UsePNGImageDecoder UsePNGImageEncoder UsePostgreSQLDatabase UseSQLiteDatabase UseTGAImageDecoder UseTIFFImageDecoder Val ValD ValF WaitProgram WaitSemaphore WaitThread WaitWindowEvent WebGadget WebGadgetPath WindowBounds WindowEvent WindowEvent3D WindowHeight WindowHeight3D WindowID WindowID3D WindowMouseX WindowMouseY WindowOutput WindowWidth WindowWidth3D WindowX WindowX3D WindowY WindowY3D WorldCollisionDirection 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</Keywords>
            <Keywords name="Keywords2">Not And Or True False Global global.i global.s global.l Protected protected.i protected.s protected.l Shared Static Break Continue For Next ForEach Gosub Return Select Case EndSelect Goto End Swap Debug Declare Define Dim ReDim Enumeration EndEnumeration Interface EndInterface NewList NewMap Structure EndStructure With EndWith Import EndImport Prototype Pseudotype Threaded IncludePath IncludeFile XIncludeFile IncludeBinary DataSection EndDataSection Data Read Restore CallDebugger DebugLevel DisableDebugger EnableDebugger CompilerSelect CompilerCase CompilerDefault CompilerEndSelect CompilerIf CompilerElse CompilerEndIf CompilerError EnableExplicit DisableExplicit EnableASM DisableASM StructureUnion EndStructureUnion</Keywords>
            <Keywords name="Keywords3">ElseIf Else ProcedureReturn CreatePalette DisplayPalette FreePalette GetPaletteColor InitPalette IsPalette LoadPalette SetPaletteColor SetRefreshRate Sound3DID</Keywords>
            <Keywords name="Keywords4"># @ *</Keywords>
            <Keywords name="Keywords5"></Keywords>
            <Keywords name="Keywords6"></Keywords>
            <Keywords name="Keywords7"></Keywords>
            <Keywords name="Keywords8"></Keywords>
            <Keywords name="Delimiters">00" 01 02" 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23</Keywords>
        </KeywordLists>
        <Styles>
            <WordsStyle name="DEFAULT" fgColor="000000" bgColor="FFFFFF" fontName="Courier" fontStyle="0" fontSize="8" nesting="0" />
            <WordsStyle name="COMMENTS" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="8" nesting="0" />
            <WordsStyle name="LINE COMMENTS" fgColor="FF0000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
            <WordsStyle name="NUMBERS" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="8" nesting="0" />
            <WordsStyle name="KEYWORDS1" fgColor="006666" bgColor="FFFFFF" fontName="" fontStyle="4" nesting="0" />
            <WordsStyle name="KEYWORDS2" fgColor="007878" bgColor="FFFFFF" fontName="" fontStyle="5" nesting="0" />
            <WordsStyle name="KEYWORDS3" fgColor="408080" bgColor="FFFFFF" fontName="" fontStyle="5" nesting="0" />
            <WordsStyle name="KEYWORDS4" fgColor="922D72" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
            <WordsStyle name="KEYWORDS5" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
            <WordsStyle name="KEYWORDS6" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
            <WordsStyle name="KEYWORDS7" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
            <WordsStyle name="KEYWORDS8" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
            <WordsStyle name="OPERATORS" fgColor="FF0000" bgColor="FFFFFF" fontName="" fontStyle="1" nesting="0" />
            <WordsStyle name="FOLDER IN CODE1" fgColor="006666" bgColor="FFFFFF" fontName="" fontStyle="5" nesting="0" />
            <WordsStyle name="FOLDER IN CODE2" fgColor="008080" bgColor="FFFFFF" fontName="" fontStyle="5" nesting="0" />
            <WordsStyle name="FOLDER IN COMMENT" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
            <WordsStyle name="DELIMITERS1" fgColor="008000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
            <WordsStyle name="DELIMITERS2" fgColor="00FF00" bgColor="FFFFFF" fontName="" fontStyle="0" fontSize="8" nesting="0" />
            <WordsStyle name="DELIMITERS3" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
            <WordsStyle name="DELIMITERS4" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
            <WordsStyle name="DELIMITERS5" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
            <WordsStyle name="DELIMITERS6" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
            <WordsStyle name="DELIMITERS7" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
            <WordsStyle name="DELIMITERS8" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
        </Styles>
    </UserLang></NotepadPlus>
There are two versions...you could obviously paste the keywords from the second into the first, or edit as you please.
Last edited by Tenaja on Thu May 28, 2015 6:32 pm, edited 2 times in total.
uwekel
Enthusiast
Enthusiast
Posts: 740
Joined: Sat Dec 03, 2011 5:54 pm
Location: Oldenburg (Germany)

Re: Notepad++ language template for PureBasic?

Post by uwekel »

What is the advantage using Notepad++ in comparison to the PureBasic IDE? I have absolutely no idea :?
PB 5.70 LTS (x64) - Debian Testing, Gnome 3.30.2
User avatar
Tenaja
Addict
Addict
Posts: 1948
Joined: Tue Nov 09, 2010 10:15 pm

Re: Notepad++ language template for PureBasic?

Post by Tenaja »

uwekel wrote:What is the advantage using Notepad++ in comparison to the PureBasic IDE? I have absolutely no idea :?
NPP has far more editing features.

Just one example... the Search in the PB IDE is about as simple and basic as it gets. In NPP, you get RegEx, as well as escape characters. And Find in Files.

If you are converting from an annoying language, having both files open at the same time, side by side, with a proper lexer can be handy.

Speaking of which, you cannot view two files at a time in PB's IDE.

And NPP's File Compare plugin is excellent!

And many more. Sure, most of the time PB's IDE is great. It's just very basic, and sometimes a more powerful editor is very handy.
User avatar
Tenaja
Addict
Addict
Posts: 1948
Joined: Tue Nov 09, 2010 10:15 pm

Re: Notepad++ language template for PureBasic?

Post by Tenaja »

I had an error in my previous xml settings, ProcedureReturn should not be a Middle folding keyword. Delete it from that list (on the first tab) and add it to a list on the second tab. I removed it in the xml above, but did not replace it in the proper location.

With one of those languages selected, the keywords are now auto-completed.
Jan2004
Enthusiast
Enthusiast
Posts: 154
Joined: Fri Jan 07, 2005 7:17 pm

Re: Notepad++ language template for PureBasic?

Post by Jan2004 »

I have made the upgrade userDefineLang-PB450.xml to version PB542.
PB542.xml:

Code: Select all

<NotepadPlus>
  <UserLang name="PureBasic" ext="pb pbi">
    <Settings>
      <Global caseIgnored="yes" />
      <TreatAsSymbol comment="no" commentLine="yes" />
      <Prefix words1="no" words2="no" words3="no" words4="yes" />
    </Settings>
    <KeywordLists>
      <Keywords name="Delimiters">"00"00</Keywords>
      <Keywords name="Folder+">If Repeat Procedure While Macro</Keywords>
      <Keywords name="Folder-">EndIf Until ForEver EndProcedure Wend EndMacro</Keywords>
      <Keywords name="Operators">- " $ & ( ) * / : \ | + < = ></Keywords>
      <Keywords name="Comment">1 2 0;</Keywords>
      <Keywords name="Words1">AbortFTPFile Abs ACos ACosH Add3DArchive AddBillboard AddCipherBuffer AddDate AddElement AddGadgetColumn AddGadgetItem AddGadgetItem3D AddKeyboardShortcut AddMailAttachment AddMailAttachmentData AddMailRecipient AddMapElement AddMaterialLayer AddPackFile AddPackMemory AddStatusBarField AddSysTrayIcon AddWindowTimer AESDecoder AESEncoder AllocateMemory Alpha AlphaBlend AmbientColor AnimateEntity AntialiasingMode ArraySize Asc ASin ASinH ATan ATan2 ATanH AttachNodeObject AudioCDLength AudioCDName AudioCDStatus AudioCDTrackLength AudioCDTracks AudioCDTrackSeconds AvailableProgramOutput AvailableScreenMemory AvailableSerialPortInput AvailableSerialPortOutput BackColor Base64Decoder Base64Encoder BillboardGroupID BillboardGroupLocate BillboardGroupMaterial BillboardGroupX BillboardGroupY BillboardGroupZ BillboardHeight BillboardLocate BillboardWidth BillboardX BillboardY BillboardZ Bin Blue Box BoxedGradient ButtonGadget ButtonGadget3D ButtonImageGadget ButtonImageGadgetNoSkin CalendarGadget CallCFunction CallCFunctionFast CallFunction CallFunctionFast CameraBackColor CameraFOV CameraID CameraLocate CameraLookAt CameraProjectionMode CameraProjectionX CameraProjectionY CameraRange CameraRenderMode CameraX CameraY CameraZ CatchImage CatchModule CatchSound CatchSprite CatchXML ChangeAlphaIntensity ChangeCurrentElement ChangeGamma ChangeSysTrayIcon CheckBoxGadget CheckBoxGadget3D CheckEntityCollision CheckFilename CheckFTPConnection ChildXMLNode Chr Circle CircularGradient ClearBillboards ClearClipboard ClearConsole ClearDebugOutput ClearGadgetItems ClearGadgetItems3D ClearList ClearMap ClearScreen ClearStructure 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 ConicalGradient ConnectionID ConsoleColor ConsoleCursor ConsoleError ConsoleLocate ConsoleTitle ContainerGadget ContainerGadget3D CopyArray CopyDirectory CopyEntity CopyFile CopyImage CopyLight CopyList CopyMap CopyMaterial CopyMemory CopyMemoryString CopyMesh CopySprite CopyStructure CopyXMLNode Cos CosH CountBillboards CountGadgetItems CountGadgetItems3D CountLibraryFunctions CountMaterialLayers CountProgramParameters CountRenderedTriangles CountString CRC32FileFingerprint CRC32Fingerprint CreateBillboardGroup CreateCamera CreateDirectory CreateEntity CreateFile CreateFTPDirectory CreateImage CreateImageMenu CreateLight CreateMail CreateMaterial CreateMenu CreateMesh CreateMutex CreateNetworkServer CreateNode CreatePack CreateParticleEmitter CreatePopupImageMenu CreatePopupMenu CreatePreferences CreateRegularExpression CreateSemaphore CreateSprite CreateSprite3D CreateStatusBar CreateTerrain CreateTexture CreateThread CreateToolBar CreateWater CreateXML CreateXMLNode CryptRandom CryptRandomData CustomFilterCallback CustomGradient DatabaseColumnName DatabaseColumns DatabaseColumnSize DatabaseColumnType DatabaseDriverDescription DatabaseDriverName DatabaseError DatabaseID DatabaseQuery DatabaseUpdate Date DateGadget Day DayOfWeek DayOfYear DefaultPrinter Defined Degree Delay DeleteDirectory DeleteElement DeleteFile DeleteFTPDirectory DeleteFTPFile DeleteMapElement DeleteXMLNode DESFingerprint DesktopDepth DesktopFrequency DesktopHeight DesktopMouseX DesktopMouseY DesktopName DesktopWidth DesktopX DesktopY DetachNodeObject DirectoryEntryAttributes DirectoryEntryDate DirectoryEntryName DirectoryEntrySize DirectoryEntryType DisableGadget DisableGadget3D DisableMaterialLighting DisableMenuItem DisableToolBarButton DisableWindow DisableWindow3D DisplayAlphaSprite DisplayPopupMenu DisplayRGBFilter DisplayShadowSprite DisplaySolidSprite DisplaySprite DisplaySprite3D DisplayTranslucentSprite DisplayTransparentSprite DragFiles DragImage DragOSFormats DragPrivate DragText DrawAlphaImage DrawImage DrawingBuffer DrawingBufferPitch DrawingBufferPixelFormat DrawingFont DrawingMode DrawRotatedText DrawText EditorGadget EditorGadget3D EjectAudioCD ElapsedMilliseconds Ellipse EllipticalGradient EnableGadgetDrop EnableGraphicalConsole EnableWindowDrop EnableWorldCollisions EnableWorldPhysics Engine3DFrameRate EntityAngleX EntityAnimationLength EntityID EntityLocate EntityLookAt EntityMaterial EntityMesh EntityPhysicBody EntityRenderMode EntityX EntityY EntityZ EnvironmentVariableName EnvironmentVariableValue Eof ErrorAddress ErrorCode ErrorFile ErrorLine ErrorMessage ErrorRegister ErrorTargetAddress EventClient 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 ExaminePreferenceGroups ExaminePreferenceKeys ExamineScreenModes ExamineSHA1Fingerprint ExamineWorldCollisions ExamineXMLAttributes Exp ExplorerComboGadget ExplorerListGadget ExplorerTreeGadget ExportXML ExportXMLSize ExtractRegularExpression FileBuffersSize FileID FileSeek FileSize FillArea FillMemory FindMapElement FindString FinishCipher FinishDatabaseQuery FinishDirectory FinishFingerprint FinishFTPDirectory FirstDatabaseRow FirstElement FirstWorldCollisionEntity FlipBuffers FlushFileBuffers Fog FontID FontRequester FormatDate FormatXML Frame3DGadget Frame3DGadget3D FreeArray FreeBillboardGroup FreeCamera FreeEntity FreeFont FreeGadget FreeGadget3D FreeImage FreeLight FreeList FreeMail FreeMap FreeMaterial FreeMemory FreeMenu FreeMesh FreeModule FreeMovie FreeMutex FreeNode FreeParticleEmitter FreeRegularExpression FreeSemaphore FreeSound FreeSound3D FreeSprite FreeSprite3D FreeStatusBar 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 GetEntityAnimationTime GetEntityFriction GetEntityMass 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 GetMailAttribute GetMailBody GetMenuItemState GetMenuItemText GetMenuTitleText GetModulePosition GetModuleRow GetPathPart GetSerialPortStatus GetTemporaryDirectory GetToolBarButtonState GetURLPart GetWindowColor GetWindowState GetWindowTitle GetWindowTitle3D GetXMLAttribute GetXMLEncoding GetXMLNodeName GetXMLNodeOffset GetXMLNodeText GetXMLStandalone GrabDrawingImage GrabImage GrabSprite GradientColor Green Hex HideBillboardGroup HideEntity HideGadget HideGadget3D HideLight HideMenu HideParticleEmitter HideWindow HideWindow3D Hostname Hour HyperLinkGadget ImageDepth ImageGadget ImageGadget3D ImageHeight ImageID ImageOutput ImageWidth Infinity InitAudioCD InitEngine3D InitializeStructure InitJoystick InitKeyboard InitMouse InitMovie InitNetwork InitScintilla InitSound InitSprite InitSprite3D Inkey Input InputEvent3D InputRequester InsertElement InsertString InstructionAddress InstructionString Int IntQ IPAddressField IPAddressGadget IPString IsBillboardGroup IsCamera IsDatabase IsDirectory 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 IsStatusBar IsSysTrayIcon IsTexture IsThread IsToolBar IsWindow IsWindow3D IsXML JoystickAxisX JoystickAxisY JoystickButton KeyboardInkey KeyboardMode KeyboardPushed KeyboardReleased KillProgram KillThread LastElement LCase Left Len LibraryFunctionAddress LibraryFunctionName LibraryID LightColor LightLocate LightSpecularColor 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 MaterialAmbientColor MaterialBlendingMode MaterialDiffuseColor MaterialFilteringMode MaterialID MaterialShadingMode MaterialSpecularColor MD5FileFingerprint MD5Fingerprint MDIGadget MemorySize MemoryStringLength MenuBar MenuHeight MenuID MenuItem MenuTitle MeshID MessageRequester Mid Minute Mod ModuleVolume Month MouseButton MouseDeltaX MouseDeltaY MouseLocate MousePick MouseWheel MouseX MouseY MoveBillboard MoveBillboardGroup MoveCamera MoveEntity MoveLight MoveMemory MoveNode MoveParticleEmitter MoveXMLNode MovieAudio MovieHeight MovieInfo MovieLength MovieSeek MovieStatus MovieWidth NaN NetworkClientEvent NetworkServerEvent NewPrinterPage NextDatabaseDriver NextDatabaseRow NextDirectoryEntry NextElement NextEnvironmentVariable NextFingerprint NextFTPDirectoryEntry NextInstruction NextIPAddress NextLibraryFunction NextMapElement NextPackFile NextPreferenceGroup NextPreferenceKey NextScreenMode NextSelectedFileName NextWorldCollision NextXMLAttribute NextXMLNode NodeID NodeLocate NodeLookAt NodeX NodeY NodeZ OffsetOf 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 PackerCallback PackFileSize PackMemory PanelGadget PanelGadget3D ParentXMLNode Parse3DScripts ParseDate ParticleColorFader ParticleColorRange ParticleEmissionRate ParticleEmitterDirection ParticleEmitterID ParticleEmitterLocate ParticleEmitterX ParticleEmitterY ParticleEmitterZ ParticleMaterial ParticleSize ParticleTimeToLive ParticleVelocity PathRequester PauseAudioCD PauseMovie PauseThread PeekA PeekB PeekC PeekD PeekF PeekI PeekL PeekQ PeekS PeekU PeekW PickX PickY PickZ PlayAudioCD PlayModule PlayMovie PlaySound PlaySound3D Plot Point PointPick PokeA PokeB PokeC PokeD PokeF PokeI PokeL PokeQ PokeS PokeU PokeW Pow PreferenceComment PreferenceGroup PreferenceGroupName PreferenceKeyName PreferenceKeyValue PreviousDatabaseRow PreviousElement PreviousXMLNode Print PrinterOutput PrinterPageHeight PrinterPageWidth PrintN PrintRequester ProgramExitCode ProgramFilename ProgramID ProgramParameter ProgramRunning ProgressBarGadget ProgressBarGadget3D PurifierGranularity Radian RaiseError Random RandomData RandomSeed RawKey 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 ReceiveNetworkFile Red RegularExpressionError ReleaseMouse RemoveBillboard RemoveEnvironmentVariable RemoveGadgetColumn RemoveGadgetItem RemoveGadgetItem3D RemoveKeyboardShortcut RemoveMailRecipient RemoveMaterialLayer RemovePreferenceGroup RemovePreferenceKey RemoveString RemoveSysTrayIcon RemoveWindowTimer RemoveXMLAttribute RenameFile RenameFTPFile RenderMovieFrame RenderWorld ReplaceRegularExpression ReplaceString ResetGradientColors ResetList ResetMap ResetProfiler ResizeBillboard ResizeEntity ResizeGadget ResizeGadget3D ResizeImage ResizeMovie ResizeParticleEmitter ResizeWindow ResizeWindow3D ResolveXMLAttributeName ResolveXMLNodeName ResumeAudioCD ResumeMovie ResumeThread ReverseString RGB RGBA Right RootXMLNode RotateBillboardGroup RotateCamera RotateEntity RotateMaterial RotateNode RotateSprite3D Round RoundBox RSet RTrim RunProgram SaveDebugOutput SaveFileRequester SaveImage SaveSprite SaveXML ScaleEntity ScaleMaterial ScintillaGadget ScintillaSendMessage ScreenID ScreenModeDepth ScreenModeHeight ScreenModeRefreshRate ScreenModeWidth ScreenOutput ScrollAreaGadget ScrollAreaGadget3D ScrollBarGadget ScrollBarGadget3D ScrollMaterial Second SecondWorldCollisionEntity SelectedFilePattern SelectedFontColor SelectedFontName SelectedFontSize SelectedFontStyle SelectElement SendFTPFile SendMail SendNetworkData SendNetworkFile SendNetworkString SerialPortError SerialPortID SerialPortTimeouts ServerID SetActiveGadget SetActiveGadget3D SetActiveWindow SetActiveWindow3D SetClipboardImage SetClipboardText SetCurrentDirectory SetDatabaseBlob SetDragCallback SetDropCallback SetEntityAnimationTime SetEntityFriction SetEntityMass SetEnvironmentVariable SetFileAttributes SetFileDate SetFrameRate SetFTPDirectory SetGadgetAttribute SetGadgetAttribute3D SetGadgetColor SetGadgetData SetGadgetData3D SetGadgetFont SetGadgetItemAttribute SetGadgetItemColor SetGadgetItemData SetGadgetItemData3D SetGadgetItemState SetGadgetItemState3D SetGadgetItemText SetGadgetItemText3D SetGadgetState SetGadgetState3D SetGadgetText SetGadgetText3D SetGUITheme3D SetMailAttribute SetMailBody SetMenuItemState SetMenuItemText SetMenuTitleText SetMeshData SetModulePosition SetSerialPortStatus SetToolBarButtonState 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 SizeOf SkyBox SkyDome SmartWindowRefresh SortArray SortList SortStructuredArray SortStructuredList SoundCone3D SoundFrequency SoundID3D SoundPan SoundRange3D SoundVolume SoundVolume3D Space SpinGadget SpinGadget3D SplitterGadget Sprite3DBlendingMode Sprite3DQuality SpriteCollision SpriteDepth SpriteHeight SpriteID SpriteOutput SpritePixelCollision SpriteWidth Sqr Start3D StartAESCipher StartDrawing StartPrinting StartProfiler StartSpecialFX StatusBarHeight StatusBarID StatusBarImage StatusBarProgress StatusBarText StickyWindow Stop3D StopAudioCD StopDrawing StopModule StopMovie StopPrinting StopProfiler StopSound StopSound3D StopSpecialFX Str StrD StrF StringByteLength StringField StringGadget StringGadget3D StrU Subsystem Sun SwapElements SysTrayIconToolTip Tan TanH TerrainHeight TextGadget TextGadget3D TextHeight TextureHeight TextureID TextureWidth TextWidth ThreadID ThreadPriority ToolBarHeight ToolBarID ToolBarImageButton ToolBarSeparator ToolBarStandardButton ToolBarToolTip TrackBarGadget TransformSprite3D TransparentSpriteColor TreeGadget TreeGadget3D Trim TruncateFile TryLockMutex TrySemaphore UCase UnlockMutex UnpackMemory URLDecoder URLEncoder UseAudioCD UseBuffer UseFLACSoundDecoder UseGadgetList UseJPEG2000ImageDecoder UseJPEG2000ImageEncoder UseJPEGImageDecoder UseJPEGImageEncoder UseODBCDatabase UseOGGSoundDecoder UsePNGImageDecoder UsePNGImageEncoder UsePostgreSQLDatabase UseSQLiteDatabase UseTGAImageDecoder UseTIFFImageDecoder Val ValD ValF WaitProgram WaitSemaphore WaitThread WaitWindowEvent WebGadget WebGadgetPath WindowBounds WindowEvent WindowEvent3D WindowHeight WindowHeight3D WindowID WindowID3D WindowMouseX WindowMouseY WindowOutput WindowWidth WindowWidth3D WindowX WindowX3D WindowY WindowY3D WorldCollisionDirection 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 CGIBuffer CGICookieName CGICookieValue CGIParameterData CGIParameterDataSize CGIParameterName CGIParameterType CGIParameterValue CGIVariable CountCGICookies CountCGIParameters FinishFastCGIRequest InitCGI InitFastCGI ReadCGI WaitFastCGIRequest WriteCGIData WriteCGIFile WriteCGIHeader WriteCGIString WriteCGIStringN CreateCone CameraCustomParameter ResizeCamera HTTPProgress AbortHTTP FinishHTTP FlushPreferenceBuffers CopyDebugOutput StringFingerprint StartFingerprint ReceiveHTTPMemory IsJoint RefreshDialog GetHTTPHeaders EscapeString UnescapeString EnumerationBinary SetDatabaseFloat SetDatabaseDouble SetDatabaseLong SetDatabaseQuad SetDatabaseString SetDatabaseNull ClipOutput GetOriginX GetOriginY SetOrigin UnclipOutput AddPathArc AddPathBox AddPathCircle AddPathCurve AddPathEllipse AddPathLine AddPathText BeginVectorLayer ClipPath ClosePath ConvertCoordinateX ConvertCoordinateY CustomDashPath DashPath DotPath DrawVectorImage DrawVectorParagraph DrawVectorText EndVectorLayer FillPath FillVectorOutput FlipCoordinatesX FlipCoordinatesY IsInsidePath IsInsideStroke IsPathEmpty MovePathCursor NewVectorPage PathCursorX PathCursorY PdfVectorOutput ResetCoordinates ResetPath RestoreVectorState RotateCoordinates SaveVectorState ScaleCoordinates SkewCoordinates StartVectorDrawing StopVectorDrawing StrokePath SvgVectorOutput TranslateCoordinates VectorFont VectorOutputHeight VectorOutputWidth VectorParagraphHeight VectorResolutionX VectorResolutionY VectorSourceCircularGradient VectorSourceColor VectorSourceGradientColor VectorSourceImage VectorSourceLinearGradient VectorTextHeight VectorTextWidth VectorUnit ExaminePack NextPackEntry CompressMemory PackEntryName PackEntrySize PackEntryType UncompressMemory UncompressPackFile UncompressPackMemory UseBriefLZPacker UseJCALG1Packer UseLZMAPacker UseTarPacker UseZipPacker AddJSONElement AddJSONMember CatchJSON ClearJSONElements ClearJSONMembers ComposeJSON CreateJSON ExamineJSONMembers ExportJSON ExportJSONSize ExtractJSONArray ExtractJSONList ExtractJSONMap ExtractJSONStructure FreeJSON GetJSONBoolean GetJSONDouble GetJSONElement GetJSONFloat GetJSONInteger GetJSONMember GetJSONQuad GetJSONString InsertJSONArray InsertJSONList InsertJSONMap InsertJSONStructure IsJSON JSONArraySize JSONErrorLine JSONErrorMessage JSONErrorPosition JSONMemberKey JSONMemberValue JSONObjectSize JSONType JSONValue LoadJSON NextJSONMember ParseJSON RemoveJSONElement RemoveJSONMember ResizeJSONElements SaveJSON SetJSONArray SetJSONBoolean SetJSONDouble SetJSONFloat SetJSONInteger SetJSONNull SetJSONObject SetJSONQuad SetJSONString </Keywords>
      <Keywords name="Words2">Not And Or True False Global Protected Shared Static Break Continue For Next ForEach Gosub Return Select Case EndSelect Goto End Swap Debug Declare Define Dim ReDim Enumeration EndEnumeration Interface EndInterface NewList NewMap Structure EndStructure With EndWith Import EndImport Prototype Pseudotype Threaded IncludePath IncludeFile XIncludeFile IncludeBinary DataSection EndDataSection Data Read Restore CallDebugger DebugLevel DisableDebugger EnableDebugger CompilerSelect CompilerCase CompilerDefault CompilerEndSelect CompilerIf CompilerElse CompilerEndIf CompilerError EnableExplicit DisableExplicit EnableASM DisableASM StructureUnion EndStructureUnion protected.i protected.s protected.l lobal.i global.s global.l</Keywords>
      <Keywords name="Words3">ElseIf Else ProcedureReturn CreatePalette DisplayPalette FreePalette GetPaletteColor InitPalette IsPalette LoadPalette SetPaletteColor SetRefreshRate Sound3DID</Keywords>
      <Keywords name="Words4"># @ *</Keywords>
    </KeywordLists>
    <Styles>
      <WordsStyle name="DEFAULT" styleID="11" fgColor="E0E2E4" bgColor="1E1E1E" fontName="" fontStyle="0" fontSize="8" />
      <WordsStyle name="FOLDEROPEN" styleID="12" fgColor="006666" bgColor="1E1E1E" fontName="" fontStyle="1" />
      <WordsStyle name="FOLDERCLOSE" styleID="13" fgColor="006666" bgColor="1E1E1E" fontName="" fontStyle="1" />
      <WordsStyle name="KEYWORD1" styleID="5" fgColor="FF8409" bgColor="1E1E1E" fontName="" fontStyle="0" />
      <WordsStyle name="KEYWORD2" styleID="6" fgColor="93C763" bgColor="1E1E1E" fontName="" fontStyle="1" />
      <WordsStyle name="KEYWORD3" styleID="7" fgColor="800000" bgColor="1E1E1E" fontName="" fontStyle="1" />
      <WordsStyle name="KEYWORD4" styleID="8" fgColor="922D72" bgColor="1E1E1E" fontName="" fontStyle="0" />
      <WordsStyle name="COMMENT" styleID="1" fgColor="66747B" bgColor="1E1E1E" fontName="" fontStyle="0" />
      <WordsStyle name="COMMENT LINE" styleID="2" fgColor="66747B" bgColor="1E1E1E" fontName="" fontStyle="0" />
      <WordsStyle name="NUMBER" styleID="4" fgColor="C0FFFF" bgColor="1E1E1E" fontName="" fontStyle="0" />>
      <WordsStyle name="OPERATOR" styleID="10" fgColor="E8E2B7" bgColor="1E1E1E" fontName="" fontStyle="0" />
      <WordsStyle name="DELIMINER1" styleID="14" fgColor="008000" bgColor="1E1E1E" fontName="" fontStyle="0" />
      <WordsStyle name="DELIMINER2" styleID="15" fgColor="00FF00" bgColor="1E1E1E" fontName="" fontStyle="0" />
      <WordsStyle name="DELIMINER3" styleID="16" fgColor="000000" bgColor="1E1E1E" fontName="" fontStyle="0" />
    </Styles>
  </UserLang>
</NotepadPlus>
I have changed the colors to fit into my favorite theme Obsidian. Please download the latest version of Obsidian and place in Notepad ++ \themes\ under a new name, eg. Better_Obsidian. https://github.com/soelinn/Npp-Obsidian ... master.zip
In the menu Settings => Style Configurator => Select theme Better_Obsidian; font styles Source Code Pro 11 is the best for me. Put PB542.xml in any place. Import PB542.xml by menu Languge => Define your language => Import. Exit from Notepad ++. Run Notepad ++ again. Select in the menu Language PureBasic.
IdeasVacuum
Always Here
Always Here
Posts: 6425
Joined: Fri Oct 23, 2009 2:33 am
Location: Wales, UK
Contact:

Re: Notepad++ language template for PureBasic?

Post by IdeasVacuum »

NotePad++ v6.9 - I'm getting "Fail to Import" :(
IdeasVacuum
If it sounds simple, you have not grasped the complexity.
Jan2004
Enthusiast
Enthusiast
Posts: 154
Joined: Fri Jan 07, 2005 7:17 pm

Re: Notepad++ language template for PureBasic?

Post by Jan2004 »

User avatar
tj1010
Enthusiast
Enthusiast
Posts: 621
Joined: Mon Feb 25, 2013 5:51 pm
Location: US or Estonia
Contact:

Re: Notepad++ language template for PureBasic?

Post by tj1010 »

Hit F5 to set the CLI PB string so you can run. You just can't configure debugger.

I also don't get the point of this. I'm a long time Notepad++ user but it has no parameter or structure tips or drop-downs. I only use it for PHP,Python,HTML,JS because the good editors are all bulky and expensive. I like to just quickly launch something with highlighting and powerful format options and be done with it. I've thought about getting one for Python but only because of OOP.
The truth hurts.
IdeasVacuum
Always Here
Always Here
Posts: 6425
Joined: Fri Oct 23, 2009 2:33 am
Location: Wales, UK
Contact:

Re: Notepad++ language template for PureBasic?

Post by IdeasVacuum »

Thank you Jan2004, that worked nicely 8)
IdeasVacuum
If it sounds simple, you have not grasped the complexity.
Bo Marchais
User
User
Posts: 61
Joined: Sun Apr 03, 2016 12:03 am

Re: Notepad++ language template for PureBasic?

Post by Bo Marchais »

I think notepad++ accepts plugins and extensions.

I don't have time now, but I think you can alter the menu/buttons through the api.
Notepad++ is not a cross-platform solution (it is my favorite non-ncurses app)
but imagine how nice it would be! I believe the api is well documented...

My goals:
* sensible project management, version history, etc.
* compile straight from np++
* get debugger info back to editor for highlighting errs, or just display in dockable window
* docs... oh god... docs.

I'd pay $100 for a really decent ide/debugger based on notepad++ integration,
especially if it had a few features we take for granted elsewhere.
User avatar
skywalk
Addict
Addict
Posts: 3972
Joined: Wed Dec 23, 2009 10:14 pm
Location: Boston, MA

Re: Notepad++ language template for PureBasic?

Post by skywalk »

This is built-in with latest v7.5.
But, you must do a clean install and merge your own customizations later.
And, functionlist.xml does not have a PureBasic entry.
The nice thing about standards is there are so many to choose from. ~ Andrew Tanenbaum
AZJIO
Addict
Addict
Posts: 1315
Joined: Sun May 14, 2017 1:48 am

Re: Notepad++ language template for PureBasic?

Post by AZJIO »

I improve the file PB542.xml
pastebin.com
To prevent a built-in theme from interfering, you must remove the extension in the langs.model.xml, langs.xml (AppData)
User avatar
skywalk
Addict
Addict
Posts: 3972
Joined: Wed Dec 23, 2009 10:14 pm
Location: Boston, MA

Re: Notepad++ language template for PureBasic?

Post by skywalk »

EDIT:
Read lower in the thread for how this more optimized version came about with neat REGEX wizardry from AZJIO and my brute forces.

Got a chance to add Notepad++ functionList.xml entry for PureBasic.
Could not get it to work with the built-in PureBasic language, so I had to create a userDefineLang.xml entry for PureBasic_Dark or whatever you like.
After you create the new PureBasic_Dark userDefineLang.xml entry and reboot Notepad++,
Make the following additions to your functionList.xml.
The changes don't take effect until reloading Notepad++.

Add this <associationMap> entry...

Code: Select all

			<!-- ======================================================================== -->
			<association id= "purebasic_function"    userDefinedLangName="PureBasic_Dark" />
			<association id= "purebasic_function"    ext=".pb"                           />
			<association id= "purebasic_function"    ext=".pbi"                          />
Then add this <parsers> entry...

Code: Select all

			<!-- ============================================== [ PureBasic_Dark ] -->
			<!-- Function List SHOWS:
			|    o MacroName
			|    e.i ProcedureName
			|    eDLL.i ProcedureDLLName
			\-->
			<parser
				displayName="PureBasic_Dark"
				id         ="purebasic_function"
				commentExpr="(?x)(?m-s:^\h*;.*?$)  # !Single line comment"
			>
				<function
          mainExpr="(?x)(?mi)^\h*(?:Procedur\Ke[CDL$]{0,5}?(?:\.[abcdfilqsuw])?|Macr\Ko)\s+[A-Za-z_]\w*\s*\([^()]*?\)"
				>
					<functionName>
						<nameExpr 
              expr="[\w\s\$.]+"
            />
					</functionName>
				</function>
			</parser>
I kept the Macro and Procedure.? prefix to differentiate between each and I get to see the return type of the Procedure. :wink:
Also, while browsing your code, the Function List table updates your location by highlighting that entry.
Last edited by skywalk on Sat Apr 20, 2019 2:32 am, edited 2 times in total.
The nice thing about standards is there are so many to choose from. ~ Andrew Tanenbaum
AZJIO
Addict
Addict
Posts: 1315
Joined: Sun May 14, 2017 1:48 am

Re: Notepad++ language template for PureBasic?

Post by AZJIO »

skywalk
I used regular expressions from the AutoIt3 section as an example. Your version did not capture all Macro.

Code: Select all

         <parser
            displayName="PureBasic"
            id         ="purebasic_function"
            commentExpr="(?x)(?m-s:^\h*;.*?$)  # !Single line comment"
         >
            <function
					mainExpr="(?x)(?mi)^\h*   (?:Procedure(?:\.[abcdifqwsu])?|Macro)    \s+   \K   [A-Za-z_]\w*     \s*\([^()]*?\)"
            >
               <functionName>
                  <nameExpr
			  expr="[A-Za-z_]\w*"
            />
               </functionName>
            </function>
         </parser>
I added identification by file extension

Code: Select all

<association id=    "purebasic_function"      ext=".pb"                           />
User avatar
skywalk
Addict
Addict
Posts: 3972
Joined: Wed Dec 23, 2009 10:14 pm
Location: Boston, MA

Re: Notepad++ language template for PureBasic?

Post by skywalk »

Yes, I forgot about Macro's without ()'s.
Macro x
;Do something
EndMacro

What version of Notepad++ are you running?
I am using v766 x86.
It is VERY slow with large pb source files and the FunctionList parser. :(
I was debugging with small snippets, but reading my larger files is unacceptable!
The nice thing about standards is there are so many to choose from. ~ Andrew Tanenbaum
Post Reply