Kate LSL Mode
Since I can't figure out how upload ordinary files to the wiki, you'll have to copy-and-paste the text below into a file called "lsl.xml". Place this file in $KDEDIR/share/apps/katepart/syntax/. Just so you know, the mode below isn't perfect, its a quick merge between a syntax file for Code-Genie 3.0 and the Java mode for Kate. If you find bugs feel free to improve it.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd">
<language name="LSL" version="1.0" kateversion="2.4" section="Sources" extensions="*.lsl" mimetype="text/x-lsl" license="LGPL" author="Balder Lathrop">
<highlighting>
<list name="functions">
<item> llAbs </item>
<item> llAcos </item>
<item> llAddToLandPassList </item>
<item> llAdjustSoundVolume </item>
<item> llAllowInventoryDrop </item>
<item> llAngleBetween </item>
<item> llApplyImpulse </item>
<item> llApplyRotationalImpulse </item>
<item> llAsin </item>
<item> llAtan2 </item>
<item> llAttachToAvatar </item>
<item> llAvatarOnSitTarget </item>
<item> llAxes2Rot </item>
<item> llAxisAngle2Rot </item>
<item> llBase64ToInteger </item>
<item> llBase64ToString </item>
<item> llBreakAllLinks </item>
<item> llBreakLink </item>
<item> llCSV2List </item>
<item> llCeil </item>
<item> llCloseRemoteDataChannel </item>
<item> llCloud </item>
<item> llCollisionFilter </item>
<item> llCollisionSound </item>
<item> llCollisionSprite </item>
<item> llCos </item>
<item> llCreateLink </item>
<item> llDeleteSubList </item>
<item> llDeleteSubString </item>
<item> llDetachFromAvatar </item>
<item> llDetectedGrab </item>
<item> llDetectedGroup </item>
<item> llDetectedKey </item>
<item> llDetectedLinkNumber </item>
<item> llDetectedName </item>
<item> llDetectedOwner </item>
<item> llDetectedPos </item>
<item> llDetectedRot </item>
<item> llDetectedType </item>
<item> llDetectedVel </item>
<item> llDialog </item>
<item> llDie </item>
<item> llDumpList2String </item>
<item> llEdgeOfWorld </item>
<item> llEjectFromLand </item>
<item> llEmail </item>
<item> llEuler2Rot </item>
<item> llFabs </item>
<item> llFloor </item>
<item> llFrand </item>
<item> llGetAccel </item>
<item> llGetAgentInfo </item>
<item> llGetAgentSize </item>
<item> llGetAlpha </item>
<item> llGetAndResetTime </item>
<item> llGetAnimation </item>
<item> llGetAnimationList </item>
<item> llGetAttached </item>
<item> llGetBoundingBox </item>
<item> llGetCenterOfMass </item>
<item> llGetCreator </item>
<item> llGetColor </item>
<item> llGetDate </item>
<item> llGetEnergy </item>
<item> llGetForce </item>
<item> llGetFreeMemory </item>
<item> llGetGeometricCenter </item>
<item> llGetGMTclock </item>
<item> llGetInventoryKey </item>
<item> llGetInventoryName </item>
<item> llGetInventoryNumber </item>
<item> llGetKey </item>
<item> llGetLandOwnerAt </item>
<item> llGetLinkKey </item>
<item> llGetLinkName </item>
<item> llGetLinkNumber </item>
<item> llGetListEntryType </item>
<item> llGetListLength </item>
<item> llGetLocalPos </item>
<item> llGetLocalRot </item>
<item> llGetMass </item>
<item> llGetNextEmail </item>
<item> llGetNotecardLine </item>
<item> llGetNumberOfNotecardLines </item>
<item> llGetNumberOfPrims </item>
<item> llGetNumberOfSides </item>
<item> llGetObjectDesc </item>
<item> llGetObjectName </item>
<item> llGetOmega </item>
<item> llGetOwner </item>
<item> llGetOwnerKey </item>
<item> llGetPermissions </item>
<item> llGetPermissionsKey </item>
<item> llGetPos </item>
<item> llGetPrimitiveParams </item>
<item> llGetRegionCorner </item>
<item> llGetRegionFPS </item>
<item> llGetRegionName </item>
<item> llGetRegionTimeDilation </item>
<item> llGetRootPosition </item>
<item> llGetRootRotation </item>
<item> llGetRot </item>
<item> llGetScale </item>
<item> llGetScriptName </item>
<item> llGetScriptState </item>
<item> llGetSimulatorHostname </item>
<item> llGetStartParameter </item>
<item> llGetStatus </item>
<item> llGetSubString </item>
<item> llGetSunDirection </item>
<item> llGetTexture </item>
<item> llGetTextureOffset </item>
<item> llGetTextureRot </item>
<item> llGetTextureScale </item>
<item> llGetTime </item>
<item> llGetTimeOfDay </item>
<item> llGetTimestamp </item>
<item> llGetTorque </item>
<item> llGetVel </item>
<item> llGetWallclock </item>
<item> llGiveInventory </item>
<item> llGiveInventoryList </item>
<item> llGiveMoney </item>
<item> llGodLikeRezObject </item>
<item> llGround </item>
<item> llGroundContour </item>
<item> llGroundNormal </item>
<item> llGroundRepel </item>
<item> llGroundSlope </item>
<item> llInsertString </item>
<item> llInstantMessage </item>
<item> llIntegerToBase64 </item>
<item> llKey2Name </item>
<item> llList2CSV </item>
<item> llList2Float </item>
<item> llList2Integer </item>
<item> llList2Key </item>
<item> llList2List </item>
<item> llList2ListStrided </item>
<item> llList2Rot </item>
<item> llList2String </item>
<item> llList2Vector </item>
<item> llListFindList </item>
<item> llListInsertList </item>
<item> llListRandomize </item>
<item> llListSort </item>
<item> llListen </item>
<item> llListenControl </item>
<item> llListenRemove </item>
<item> llLog </item>
<item> llLog10 </item>
<item> llLookAt </item>
<item> llLoopSound </item>
<item> llLoopSoundMaster </item>
<item> llLoopSoundSlave </item>
<item> llMD5String </item>
<item> llMessageLinked </item>
<item> llMinEventDelay </item>
<item> llModifyLand </item>
<item> llMoveToTarget </item>
<item> llOffsetTexture </item>
<item> llOpenRemoteDataChannel </item>
<item> llOverMyLand </item>
<item> llOwnerSay </item>
<item> llParseString2List </item>
<item> llParseStringKeepNulls </item>
<item> llParticleSystem </item>
<item> llPassCollisions </item>
<item> llPassTouches </item>
<item> llPlaySound </item>
<item> llPlaySoundSlave </item>
<item> llPointAt </item>
<item> llPow </item>
<item> llPreloadSound </item>
<item> llPushObject </item>
<item> llReleaseCamera </item>
<item> llReleaseControls </item>
<item> llRemoteDataReply </item>
<item> llRemoteDataSetRegion </item>
<item> llRemoteLoadScript </item>
<item> llRemoteLoadScriptPin </item>
<item> llRemoveInventory </item>
<item> llRemoveVehicleFlags </item>
<item> llRequestAgentData </item>
<item> llRequestInventoryData </item>
<item> llRequestPermissions </item>
<item> llResetOtherScript </item>
<item> llResetScript </item>
<item> llResetTime </item>
<item> llRezAtRoot </item>
<item> llRezObject </item>
<item> llRot2Angle </item>
<item> llRot2Axis </item>
<item> llRot2Euler </item>
<item> llRot2Fwd </item>
<item> llRot2Left </item>
<item> llRot2Up </item>
<item> llRotBetween </item>
<item> llRotLookAt </item>
<item> llRotTarget </item>
<item> llRotTargetRemove </item>
<item> llRotateTexture </item>
<item> llRound </item>
<item> llSameGroup </item>
<item> llSay </item>
<item> llScaleTexture </item>
<item> llScriptDanger </item>
<item> llSendRemoteData </item>
<item> llSensor </item>
<item> llSensorRemove </item>
<item> llSensorRepeat </item>
<item> llSetAlpha </item>
<item> llSetBuoyancy </item>
<item> llSetCameraAtOffset </item>
<item> llSetCameraEyeOffset </item>
<item> llSetColor </item>
<item> llSetDamage </item>
<item> llSetForce </item>
<item> llSetForceAndTorque </item>
<item> llSetHoverHeight </item>
<item> llSetInventoryPermMask </item>
<item> llSetLinkAlpha </item>
<item> llSetLinkColor </item>
<item> llSetLocalRot </item>
<item> llSetObjectDesc </item>
<item> llSetObjectName </item>
<item> llSetObjectPermMask </item>
<item> llSetParcelMusicURL </item>
<item> llSetPos </item>
<item> llSetPrimitiveParams </item>
<item> llSetRemoteScriptAccessPin </item>
<item> llSetRot </item>
<item> llSetScale </item>
<item> llSetScriptState </item>
<item> llSetSitText </item>
<item> llSetSoundQueueing </item>
<item> llSetSoundRadius </item>
<item> llSetStatus </item>
<item> llSetText </item>
<item> llSetTexture </item>
<item> llSetTextureAnim </item>
<item> llSetTimerEvent </item>
<item> llSetTorque </item>
<item> llSetTouchText </item>
<item> llSetVehicleFlags </item>
<item> llSetVehicleFloatParam </item>
<item> llSetVehicleRotationParam </item>
<item> llSetVehicleType </item>
<item> llSetVehicleVectorParam </item>
<item> llShout </item>
<item> llSin </item>
<item> llSitTarget </item>
<item> llSleep </item>
<item> llSqrt </item>
<item> llStartAnimation </item>
<item> llStopAnimation </item>
<item> llStopHover </item>
<item> llStopLookAt </item>
<item> llStopMoveToTarget </item>
<item> llStopPointAt </item>
<item> llStopSound </item>
<item> llStringLength </item>
<item> llStringToBase64 </item>
<item> llSubStringIndex </item>
<item> llTakeCamera </item>
<item> llTakeControls </item>
<item> llTan </item>
<item> llTarget </item>
<item> llTargetOmega </item>
<item> llTargetRemove </item>
<item> llTeleportAgentHome </item>
<item> llToLower </item>
<item> llToUpper </item>
<item> llTriggerSound </item>
<item> llTriggerSoundLimited </item>
<item> llUnSit </item>
<item> llVecDist </item>
<item> llVecMag </item>
<item> llVecNorm </item>
<item> llVolumeDetect </item>
<item> llWater </item>
<item> llWhisper </item>
<item> llWind </item>
<item> llXorBase64Strings </item>
</list>
<list name="events">
<item> at_rot_target </item>
<item> at_target </item>
<item> attach </item>
<item> changed </item>
<item> collision </item>
<item> collision_end </item>
<item> collision_start </item>
<item> control </item>
<item> dataserver </item>
<item> email </item>
<item> land_collision </item>
<item> land_collision_end </item>
<item> land_collision_start </item>
<item> link_message </item>
<item> listen </item>
<item> money </item>
<item> moving_end </item>
<item> moving_start </item>
<item> no_sensor </item>
<item> not_at_rot_target </item>
<item> not_at_target </item>
<item> object_rez </item>
<item> on_rez </item>
<item> remote_data </item>
<item> run_time_permissions </item>
<item> sensor </item>
<item> state_entry </item>
<item> state_exit </item>
<item> timer </item>
<item> touch </item>
<item> touch_end </item>
<item> touch_start </item>
</list>
<list name="avoid">
<item> jump </item>
<item> llSoundPreload </item>
<item> llSound </item>
<item> llMakeExplosion </item>
<item> llMakeFire </item>
<item> llMakeFountain </item>
<item> llMakeSmoke </item>
<item> llRemoteLoadScript </item>
</list>
<list name="constants">
<item> PI </item>
<item> TWO_PI </item>
<item> PI_BY_TWO </item>
<item> DEG_TO_RAD </item>
<item> RAD_TO_DEG </item>
<item> SQRT2 </item>
<item> TRUE </item>
<item> FALSE </item>
<item> NULL_KEY </item>
<item> EOF </item>
<item> ZERO_ROTATION </item>
<item> ZERO_VECTOR </item>
<item> AGENT </item>
<item> ACTIVE </item>
<item> PASSIVE </item>
<item> SCRIPTED </item>
<item> PSYS_PART_BOUNCE_MASK </item>
<item> PSYS_PART_WIND_MASK </item>
<item> PSYS_PART_INTERP_COLOR_MASK </item>
<item> PSYS_PART_INTERP_SCALE_MASK </item>
<item> PSYS_PART_FOLLOW_SRC_MASK </item>
<item> PSYS_PART_FOLLOW_VELOCITY_MASK </item>
<item> PSYS_PART_TARGET_POS_MASK </item>
<item> PSYS_PART_EMISSIVE_MASK </item>
<item> PSYS_PART_TRAIL_MASK </item>
<item> PSYS_SRC_PATTERN </item>
<item> PSYS_SRC_PATTERN_DROP </item>
<item> PSYS_SRC_PATTERN_EXPLODE </item>
<item> PSYS_SRC_PATTERN_ANGLE </item>
<item> PSYS_SRC_PATTERN_ANGLE_CONE </item>
<item> PSYS_SRC_PATTERN_ANGLE_CONE_EMPTY </item>
<item> PSYS_PART_START_COLOR </item>
<item> PSYS_PART_END_COLOR </item>
<item> PSYS_PART_START_ALPHA </item>
<item> PSYS_PART_END_ALPHA </item>
<item> PSYS_PART_START_SCALE </item>
<item> PSYS_PART_END_SCALE </item>
<item> PSYS_PART_MAX_AGE </item>
<item> PSYS_SRC_INNERANGLE </item>
<item> PSYS_SRC_OUTERANGLE </item>
<item> PSYS_SRC_ANGLE_BEGIN </item>
<item> PSYS_SRC_ANGLE_END </item>
<item> PSYS_SRC_BURST_RATE </item>
<item> PSYS_SRC_BURST_PART_COUNT </item>
<item> PSYS_SRC_BURST_RADIUS </item>
<item> PSYS_SRC_BURST_SPEED_MIN </item>
<item> PSYS_SRC_BURST_SPEED_MAX </item>
<item> PSYS_SRC_MAX_AGE </item>
<item> PSYS_SRC_ACCEL </item>
<item> PSYS_SRC_TEXTURE </item>
<item> PSYS_SRC_TARGET_KEY </item>
<item> PSYS_SRC_OMEGA </item>
<item> PSYS_PART_FLAGS </item>
</list>
<list name="keywords">
<item> default </item>
<item> do </item>
<item> else </item>
<item> for </item>
<item> if </item>
<item> state </item>
<item> while </item>
</list>
<list name="types">
<item> list </item>
<item> key </item>
<item> string </item>
<item> float </item>
<item> vector </item>
<item> rotation </item>
<item> float </item>
<item> integer </item>
</list>
<contexts>
<context attribute="Normal Text" lineEndContext="#stay" name="Normal">
<keyword attribute="Keyword" context="#stay" String="keywords"/>
<keyword attribute="Data Type" context="#stay" String="types"/>
<keyword attribute="LL Functions" context="#stay" String="functions"/>
<keyword attribute="LL Constants" context="#stay" String="constants"/>
<Float attribute="Float" context="#stay"/>
<HlCOct attribute="Octal" context="#stay"/>
<HlCHex attribute="Hex" context="#stay"/>
<HlCChar attribute="Char" context="#stay"/>
<RegExpr attribute="Decimal" context="#stay" String="//\s*BEGIN.*$" beginRegion="Region1"/>
<RegExpr attribute="Decimal" context="#stay" String="//\s*END.*$" endRegion="Region1"/>
<DetectChar attribute="String" context="String" char="""/>
<RegExpr attribute="Function" context="Printf" String="\.(format|printf)\b"/>
<Detect2Chars attribute="Comment" context="Commentar 1" char="/" char1="/"/>
<Detect2Chars attribute="Comment" context="Commentar 2" char="/" char1="*" beginRegion="Comment"/>
<DetectChar attribute="Symbol" context="#stay" char="{" beginRegion="Brace1"/>
<DetectChar attribute="Symbol" context="#stay" char="}" endRegion="Brace1"/>
<RegExpr attribute="Keyword" context="#stay" String="\.{3,3}\s+"/>
<RegExpr attribute="Function" context="#stay" String="\b[_\w][_\w\d]*(?=[\s]*(/\*\s*\d+\s*\*/\s*)?[(])"/>
<RegExpr attribute="Symbol" context="Member" String="[.]{1,1}"/>
<AnyChar attribute="Symbol" context="#stay" String=":!%&()+,-/.*<=>?[]|~^;"/>
</context>
<context attribute="String" lineEndContext="#pop" name="String">
<LineContinue attribute="String" context="#stay"/>
<HlCStringChar attribute="String Char" context="#stay"/>
<DetectChar attribute="String" context="#pop" char="""/>
</context>
<context attribute="Printf" lineEndContext="#pop" name="Printf">
<DetectChar attribute="Normal Text" context="#pop" char=";"/>
<DetectChar attribute="String" context="PrintfString" char="""/>
</context>
<context attribute="PrintfString" lineEndContext="#pop" name="PrintfString">
<LineContinue attribute="String" context="#stay"/>
<HlCStringChar attribute="String Char" context="#stay"/>
<DetectChar attribute="String" context="#pop" char="""/>
<RegExpr attribute="String Char" context="#stay" String="%(\d+\$)?(-|#|\+|\ |0|,|\()*\d*(\.\d+)?[a-hosxA-CEGHSX]"/>
<RegExpr attribute="String Char" context="#stay" String="%(\d+\$)?(-|#|\+|\ |0|,|\()*\d*(t|T)(a|A|b|B|c|C|d|D|e|F|h|H|I|j|k|l|L|m|M|N|p|P|Q|r|R|s|S|T|y|Y|z|Z)"/>
<RegExpr attribute="String Char" context="#stay" String="%(%|n)"/>
</context>
<context attribute="Normal Text" lineEndContext="#pop" name="Member" fallthrough="true" fallthroughContext="#pop">
<RegExpr attribute="Function" context="#pop" String="\b[_a-zA-Z]\w*(?=[\s]*)"/>
</context>
<context attribute="Comment" lineEndContext="#pop" name="Commentar 1"/>
<context attribute="Comment" lineEndContext="#stay" name="Commentar 2">
<Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" endRegion="Comment"/>
</context>
</contexts>
<itemDatas>
<itemData name="Normal Text" defStyleNum="dsNormal"/>
<itemData name="Keyword" defStyleNum="dsKeyword"/>
<itemData name="Function" defStyleNum="dsFunction"/>
<itemData name="LL Functions" defStyleNum="dsFunction" color="#CC0000" selColor="#FFFFFF" bold="0" italic="0"/>
<itemData name="LL Constants" defStyleNum="dsKeyword" color="#ED00F0" selColor="#FFFFFF" bold="0" italic="0"/>
<itemData name="Data Type" defStyleNum="dsDataType"/>
<itemData name="Decimal" defStyleNum="dsDecVal"/>
<itemData name="Octal" defStyleNum="dsBaseN"/>
<itemData name="Hex" defStyleNum="dsBaseN"/>
<itemData name="Float" defStyleNum="dsFloat"/>
<itemData name="Char" defStyleNum="dsChar"/>
<itemData name="String" defStyleNum="dsString"/>
<itemData name="String Char" defStyleNum="dsChar"/>
<itemData name="PrintfString" defStyleNum="dsString"/>
<itemData name="Comment" defStyleNum="dsComment"/>
<itemData name="Symbol" defStyleNum="dsNormal"/>
</itemDatas>
</highlighting>
<general>
<comments>
<comment name="singleLine" start="//"/>
<comment name="multiLine" start="/*" end="*/"/>
</comments>
<keywords casesensitive="1"/>
</general>
</language>