Jump to content

[TUT] Function Syntax Highlighting for N++


Dealman

Recommended Posts

Posted

I recently decided to sit down and define my own language for Notepad++ based on Lua, but I wanted each MTA function to be highlighted according to their availability(whether it's client-only, server-only or shared). So I came up with this little script which compares the functions available on the Wiki and splits them into text files.

Now I'm only sharing this script in case it might help someone for some reason, skip ahead if you're not interested in this and just want to get the syntax highlighting going.

Client Code;

local clientFunctions = { 
    [1] = "getRadioChannel",
    [2] = "getRadioChannelName",
    [3] = "getSFXStatus",
    [4] = "getSoundBPM",
    [5] = "getSoundEffects",
    [6] = "getSoundFFTData",
    [7] = "getSoundLength",
    [8] = "getSoundLevelData",
    [9] = "getSoundMaxDistance",
    [10] = "getSoundMetaTags",
    [11] = "getSoundMinDistance",
    [12] = "getSoundPan",
    [13] = "getSoundPosition",
    [14] = "getSoundProperties",
    [15] = "getSoundSpeed",
    [16] = "getSoundVolume",
    [17] = "getSoundWaveData",
    [18] = "isSoundPanningEnabled",
    [19] = "isSoundPaused",
    [20] = "playSFX",
    [21] = "playSFX3D",
    [22] = "playSound",
    [23] = "playSound3D",
    [24] = "playSoundFrontEnd",
    [25] = "setRadioChannel",
    [26] = "setSoundEffectEnabled",
    [27] = "setSoundMaxDistance",
    [28] = "setSoundMinDistance",
    [29] = "setSoundPan",
    [30] = "setSoundPanningEnabled",
    [31] = "setSoundPaused",
    [32] = "setSoundPosition",
    [33] = "setSoundProperties",
    [34] = "setSoundSpeed",
    [35] = "setSoundVolume",
    [36] = "stopSound",
    [37] = "createBlip",
    [38] = "createBlipAttachedTo",
    [39] = "getBlipColor",
    [40] = "getBlipIcon",
    [41] = "getBlipSize",
    [42] = "setBlipColor",
    [43] = "setBlipIcon",
    [44] = "setBlipSize",
    [45] = "getBlipOrdering",
    [46] = "setBlipOrdering",
    [47] = "getBlipVisibleDistance",
    [48] = "setBlipVisibleDistance",
    [49] = "fadeCamera",
    [50] = "getCamera",
    [51] = "getCameraClip",
    [52] = "getCameraGoggleEffect",
    [53] = "getCameraInterior",
    [54] = "getCameraMatrix",
    [55] = "getCameraTarget",
    [56] = "getCameraViewMode",
    [57] = "setCameraClip",
    [58] = "setCameraGoggleEffect",
    [59] = "setCameraInterior",
    [60] = "setCameraMatrix",
    [61] = "setCameraTarget",
    [62] = "setCameraViewMode",
    [63] = "addPedClothes",
    [64] = "getBodyPartName",
    [65] = "getClothesByTypeIndex",
    [66] = "getClothesTypeName",
    [67] = "getPedClothes",
    [68] = "getTypeIndexFromClothes",
    [69] = "removePedClothes",
    [70] = "createColCircle",
    [71] = "createColCuboid",
    [72] = "createColRectangle",
    [73] = "createColSphere",
    [74] = "createColTube",
    [75] = "createColPolygon",
    [76] = "isElementWithinColShape",
    [77] = "getElementsWithinColShape",
    [78] = "getElementColShape",
    [79] = "getCursorPosition",
    [80] = "setCursorPosition",
    [81] = "isCursorShowing",
    [82] = "showCursor",
    [83] = "setCursorAlpha",
    [84] = "getCursorAlpha",
    [85] = "dxDrawImage",
    [86] = "dxDrawImageSection",
    [87] = "dxDrawLine",
    [88] = "dxDrawLine3D",
    [89] = "dxDrawRectangle",
    [90] = "dxDrawText",
    [91] = "dxGetFontHeight",
    [92] = "dxGetTextWidth",
    [93] = "dxCreateFont",
    [94] = "dxCreateTexture",
    [95] = "dxCreateShader",
    [96] = "dxCreateRenderTarget",
    [97] = "dxCreateScreenSource",
    [98] = "dxGetMaterialSize",
    [99] = "dxSetShaderValue",
    [100] = "dxSetShaderTessellation",
    [101] = "dxSetShaderTransform",
    [102] = "dxSetRenderTarget",
    [103] = "dxUpdateScreenSource",
    [104] = "dxGetStatus",
    [105] = "dxSetTestMode",
    [106] = "dxGetTexturePixels",
    [107] = "dxSetTexturePixels",
    [108] = "dxGetPixelsSize",
    [109] = "dxGetPixelsFormat",
    [110] = "dxConvertPixels",
    [111] = "dxGetPixelColor",
    [112] = "dxSetPixelColor",
    [113] = "dxSetBlendMode",
    [114] = "dxGetBlendMode",
    [115] = "dxDrawMaterialLine3D",
    [116] = "dxDrawMaterialSectionLine3D",
    [117] = "dxSetAspectRatioAdjustmentEnabled",
    [118] = "dxSetTextureEdge",
    [119] = "createEffect",
    [120] = "fxAddBlood",
    [121] = "fxAddBulletImpact",
    [122] = "fxAddBulletSplash",
    [123] = "fxAddDebris",
    [124] = "fxAddFootSplash",
    [125] = "fxAddGlass",
    [126] = "fxAddGunshot",
    [127] = "fxAddPunchImpact",
    [128] = "fxAddSparks",
    [129] = "fxAddTankFire",
    [130] = "fxAddTyreBurst",
    [131] = "fxAddWaterHydrant",
    [132] = "fxAddWaterSplash",
    [133] = "fxAddWood",
    [134] = "getEffectDensity",
    [135] = "getEffectSpeed",
    [136] = "setEffectDensity",
    [137] = "setEffectSpeed",
    [138] = "attachElements",
    [139] = "createElement",
    [140] = "destroyElement",
    [141] = "detachElements",
    [142] = "getAttachedElements",
    [143] = "getElementAttachedOffsets",
    [144] = "getElementAlpha",
    [145] = "getElementCollisionsEnabled",
    [146] = "getElementAttachedTo",
    [147] = "getElementBoundingBox",
    [148] = "getElementByID",
    [149] = "getElementChild",
    [150] = "getElementChildren",
    [151] = "getElementChildrenCount",
    [152] = "getElementColShape",
    [153] = "getElementData",
    [154] = "getElementDimension",
    [155] = "getElementDistanceFromCentreOfMassToBaseOfModel",
    [156] = "getElementHealth",
    [157] = "getElementID",
    [158] = "getElementInterior",
    [159] = "getElementMatrix",
    [160] = "getElementModel",
    [161] = "getElementParent",
    [162] = "getElementPosition",
    [163] = "getElementRotation",
    [164] = "getElementRadius",
    [165] = "getElementsByType",
    [166] = "getElementsWithinColShape",
    [167] = "getElementType",
    [168] = "getElementVelocity",
    [169] = "getLowLODElement",
    [170] = "getRootElement",
    [171] = "isElement",
    [172] = "isElementAttached",
    [173] = "isElementCallPropagationEnabled",
    [174] = "isElementCollidableWith",
    [175] = "isElementDoubleSided",
    [176] = "isElementFrozen",
    [177] = "isElementLocal",
    [178] = "isElementLowLOD",
    [179] = "isElementInWater",
    [180] = "isElementOnScreen",
    [181] = "isElementStreamable",
    [182] = "isElementStreamedIn",
    [183] = "isElementSyncer",
    [184] = "isElementWaitingForGroundToLoad",
    [185] = "isElementWithinColShape",
    [186] = "setElementAlpha",
    [187] = "setElementAttachedOffsets",
    [188] = "setElementCallPropagationEnabled",
    [189] = "setElementCollidableWith",
    [190] = "setElementCollisionsEnabled",
    [191] = "setElementData",
    [192] = "setElementDimension",
    [193] = "setElementDoubleSided",
    [194] = "setElementFrozen",
    [195] = "setElementHealth",
    [196] = "setElementID",
    [197] = "setElementInterior",
    [198] = "setElementMatrix",
    [199] = "setElementModel",
    [200] = "setElementParent",
    [201] = "setElementPosition",
    [202] = "setElementRotation",
    [203] = "setElementStreamable",
    [204] = "setElementVelocity",
    [205] = "setLowLODElement",
    [206] = "engineImportTXD",
    [207] = "engineLoadCOL",
    [208] = "engineLoadDFF",
    [209] = "engineLoadTXD",
    [210] = "engineReplaceCOL",
    [211] = "engineReplaceModel",
    [212] = "engineRestoreCOL",
    [213] = "engineRestoreModel",
    [214] = "engineSetAsynchronousLoading",
    [215] = "engineSetModelLODDistance",
    [216] = "engineGetModelLODDistance",
    [217] = "engineApplyShaderToWorldTexture",
    [218] = "engineRemoveShaderFromWorldTexture",
    [219] = "engineGetModelNameFromID",
    [220] = "engineGetModelIDFromName",
    [221] = "engineGetVisibleTextureNames",
    [222] = "engineGetModelTextureNames",
    [223] = "addEvent",
    [224] = "addEventHandler",
    [225] = "getEventHandlers",
    [226] = "cancelEvent",
    [227] = "removeEventHandler",
    [228] = "triggerEvent",
    [229] = "triggerServerEvent",
    [230] = "wasEventCancelled",
    [231] = "triggerLatentServerEvent",
    [232] = "getLatentEventHandles",
    [233] = "getLatentEventStatus",
    [234] = "cancelLatentEvent",
    [235] = "createExplosion",
    [236] = "fileClose",
    [237] = "fileCreate",
    [238] = "fileDelete",
    [239] = "fileExists",
    [240] = "fileFlush",
    [241] = "fileGetPos",
    [242] = "fileGetSize",
    [243] = "fileIsEOF",
    [244] = "fileOpen",
    [245] = "fileRead",
    [246] = "fileRename",
    [247] = "fileSetPos",
    [248] = "fileWrite",
   

If I help you in a thread and you need further assistance, please don't PM me - use the thread you created instead. This way everyone on the forum can take advantage of it.

Posted

This project is discontinued until Notepad++ updates UDL to better support Lua. I might still do some minor edits to the GitHub repository if I find something.

If I help you in a thread and you need further assistance, please don't PM me - use the thread you created instead. This way everyone on the forum can take advantage of it.

  • 2 months later...
Posted

Anyway good work dude that's real hard work

"When i'll grow older, i'll be stronger, they'll call me freedom, just like a waving flag"

"Have confidence in yourself, no problem is impossible in life"

  • 7 months later...
Posted

Awesome job. Why I didn't knew about this before? :(

I stopped scripting in lua and now I am working with wordpress but still this is useful for me if I ever work with lua again. Will install it ^^

Thank you.

  • 2 weeks later...
Posted

Good job, Dealman, thanks.

I am messing with it and trying to separate --[[ ]] comment with [[ ]] message string but no luck.

Do you have any idea? :?

  • 2 weeks later...
Posted
Good job, Dealman, thanks.

I am messing with it and trying to separate --[[ ]] comment with [[ ]] message string but no luck.

Do you have any idea? :?

Unfortunately not. I made a thread on their SourceForge forum while I was developing it asking that very question, weren't able to fix it because their system was kinda shite.

They might have updated it so it's possible now, not sure.

If I help you in a thread and you need further assistance, please don't PM me - use the thread you created instead. This way everyone on the forum can take advantage of it.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...