It isn't as complete as the SciTE-ez version in that is doesn't provide function information, but it does allow for autocompletion and formatting of code. (BTW, completion happens by pressing the esc button)
You can also use the excellent lslint tool as the Compile definition in the LSL bundle.
Please provide updates to the TextMate configuration if you can. Maybe someone will be so kind as to add it to the LSL Wiki?

Regards
Leon
Copy and paste everything below to a Language definition in a new Bundle
// language definition for LSL - Linden Scripting Language by Leon Ash
// version 1.2
// Modified constant.numeric.lsl - removed the suffixes ...
// Added entity.name.function.lsl & variable.other.lsl ...
// Made all the alternates word delimited
// Fixed a problem with touch, touch_start, & touch_end not recognised properly
{
/* The name as it will appear in the Syntax Highlight List */
name = 'LSL';
keyEquivalent = '~^u';
/* Scope name used sometimes for styling or limiting the activation
of snippets, commands, and macros to files using this syntax
*/
scopeName = 'source.lsl';
/* So that we can always recognize this syntax */
uuid = 'D334CE18-DA07-475C-BFFD-74702BCF2D16';
/* Which filetypes this highlighting should be applied to automatically */
fileTypes = ( 'esl', 'lsl');
/* Folding, this will start folds at comments (/*) and at {
Stop folding at their counterparts.
*/
foldingStartMarker = '\{\s*$';
foldingStopMarker = '^\s*\}';
/* This is where the actual highlighting is defined. */
patterns = (
{ name = 'comment.line.double-slash.lsl';
begin = '//';
end = '$';
swallow = '\\\s*\n';
},
{ name = 'keyword.control.lsl';
comment = 'LSL Flow-control keywords';
match = '\b(default|state|for|do|while|if|else|jump|return)\b';
},
{ name = 'storage.type.lsl';
comment = 'LSL Types';
match = '\b(integer|float|string|key|vector|rotation|list|function)\b';
},
{ name = 'constant.language.lsl';
comment = 'LSL Constants';
match = '\b(PI|TWO_PI|PI_BY_TWO|DEG_TO_RAD|RAD_TO_DEG|SQRT2|TRUE|FALSE|NULL_KEY|EOF|ZERO_ROTATION|ZERO_VECTOR|AGENT|ACTIVE|PASSIVE|SCRIPTED)\b';
},
{ name = 'constant.language.lsl.events';
comment = 'LSL Events';
match = '\b(at_rot_target|at_target|attach|changed|collision|collision_end|collision_start|control|dataserver|email|land_collision|land_collision_end|land_collision_start|link_message|listen|money|moving_end|moving_start|no_sensor|not_at_rot_target|not_at_target|object_rez|on_rez|remote_data|run_time_permissions|sensor|state_entry|state_exit|timer|(touch|touch_start|touch_end))\b';
},
{ name = 'support.function.lsl';
comment = 'LSL Functions ll*';
match = '\b(llAbs|llAcos|llAddToLandBanList|llAddToLandPassList|llAdjustSoundVolume|llAllowInventoryDrop|llAngleBetween|llApplyImpulse|llApplyRotationalImpulse|llAsin|llAtan2|llAttachToAvatar|llAvatarOnSitTarget|llAxes2Rot|llAxisAngle2Rot|llBase64ToInteger|llBase64ToString|llBreakAllLinks|llBreakLink|llCSV2List|llCeil|llCloseRemoteDataChannel|llCloud|llCollisionFilter|llCollisionSound|llCollisionSprite|llCos|llCreateLink|llDeleteSubList|llDeleteSubString|llDetachFromAvatar|llDetectedGrab|llDetectedGroup|llDetectedKey|llDetectedLinkNumber|llDetectedName|llDetectedOwner|llDetectedPos|llDetectedRot|llDetectedType|llDetectedVel|llDialog|llDie|llDumpList2String|llEdgeOfWorld|llEjectFromLand|llEmail|llEscapeURL|llEuler2Rot|llFabs|llFloor|llForceMouselook|llFrand|llGetAccel|llGetAgentInfo|llGetAgentSize|llGetAlpha|llGetAndResetTime|llGetAnimation|llGetAnimationList|llGetAttached|llGetBoundingBox|llGetCameraPos|llGetCameraRot|llGetCenterOfMass|llGetCreator|llGetColor|llGetDate|llGetEnergy|llGetForce|llGetFreeMemory|llGetGeometricCenter|llGetGMTclock|llGetInventoryCreator|llGetInventoryKey|llGetInventoryName|llGetInventoryNumber|llGetInventoryPermMask|llGetInventoryType|llGetKey|llGetLandOwnerAt|llGetLinkKey|llGetLinkName|llGetLinkNumber|llGetListEntryType|llGetListLength|llGetLocalPos|llGetLocalRot|llGetMass|llGetNextEmail|llGetNotecardLine|llGetNumberOfNotecardLines|llGetNumberOfPrims|llGetNumberOfSides|llGetObjectDesc|llGetObjectMass|llGetObjectName|llGetObjectPermMask|llGetOmega|llGetOwner|llGetOwnerKey|llGetPermissions|llGetPermissionsKey|llGetPos|llGetPrimitiveParams|llGetRegionCorner|llGetRegionFPS|llGetRegionName|llGetRegionTimeDilation|llGetRootPosition|llGetRootRotation|llGetRot|llGetScale|llGetScriptName|llGetScriptState|llGetSimulatorHostname|llGetStartParameter|llGetStatus|llGetSubString|llGetSunDirection|llGetTexture|llGetTextureOffset|llGetTextureRot|llGetTextureScale|llGetTime|llGetTimeOfDay|llGetTimestamp|llGetTorque|llGetVel|llGetWallclock|llGiveInventory|llGiveInventoryList|llGiveMoney|llGodLikeRezObject|llGround|llGroundContour|llGroundNormal|llGroundRepel|llGroundSlope|llInsertString|llInstantMessage|llIntegerToBase64|llKey2Name|llList2CSV|llList2Float|llList2Integer|llList2Key|llList2List|llList2ListStrided|llList2Rot|llList2String|llList2Vector|llListFindList|llListInsertList|llListRandomize|llListReplaceList|llListSort|llListen|llListenControl|llListenRemove|llLoadURL|llLog|llLog10|llLookAt|llLoopSound|llLoopSoundMaster|llLoopSoundSlave|llMapDestination|llMD5String|llMessageLinked|llMinEventDelay|llModifyLand|llModPow|llMoveToTarget|llOffsetTexture|llOpenRemoteDataChannel|llOverMyLand|llOwnerSay|llParcelMediaCommandList|llParcelMediaQuery|llParseString2List|llParseStringKeepNulls|llParticleSystem|llPassCollisions|llPassTouches|llPlaySound|llPlaySoundSlave|llPointAt|llPow|llPreloadSound|llPushObject|llRefreshPrimURL|llReleaseCamera|llReleaseControls|llRemoteDataReply|llRemoteDataSetRegion|llRemoteLoadScriptPin|llRemoveFromLandBanList|llRemoveFromLandPassList|llRemoveInventory|llRemoveVehicleFlags|llRequestAgentData|llRequestInventoryData|llRequestPermissions|llRequestSimulatorData|llResetOtherScript|llResetScript|llResetTime|llRezAtRoot|llRezObject|llRot2Angle|llRot2Axis|llRot2Euler|llRot2Fwd|llRot2Left|llRot2Up|llRotBetween|llRotLookAt|llRotTarget|llRotTargetRemove|llRotateTexture|llRound|llSameGroup|llSay|llScaleTexture|llScriptDanger|llSendRemoteData|llSensor|llSensorRemove|llSensorRepeat|llSetAlpha|llSetBuoyancy|llSetCameraAtOffset|llSetCameraEyeOffset|llSetColor|llSetDamage|llSetForce|llSetForceAndTorque|llSetHoverHeight|llSetLinkAlpha|llSetLinkColor|llSetLocalRot|llSetObjectDesc|llSetObjectName|llSetParcelMusicURL|llSetPos|llSetPrimURL|llSetPrimitiveParams|llSetPayPrice|llSetRemoteScriptAccessPin|llSetRot|llSetScale|llSetScriptState|llSetSitText|llSetSoundQueueing|llSetSoundRadius|llSetStatus|llSetText|llSetTexture|llSetTextureAnim|llSetTimerEvent|llSetTorque|llSetTouchText|llSetVehicleFlags|llSetVehicleFloatParam|llSetVehicleRotationParam|llSetVehicleType|llSetVehicleVectorParam|llShout|llSin|llSitTarget|llSleep|llSqrt|llStartAnimation|llStopAnimation|llStopHover|llStopLookAt|llStopMoveToTarget|llStopPointAt|llStopSound|llStringLength|llStringToBase64|llSubStringIndex|llTakeCamera|llTakeControls|llTan|llTarget|llTargetOmega|llTargetRemove|llTeleportAgent|llTeleportAgentHome|llToLower|llToUpper|llTriggerSound|llTriggerSoundLimited|llUnescapeURL|llUnSit|llVecDist|llVecMag|llVecNorm|llVolumeDetect|llWater|llWhisper|llWind|llXorBase64Strings)\b';
},
{ name = 'support.constant.lsl';
comment = 'LSL Function Constants';
match = '\b(STATUS_PHYSICS|STATUS_PHANTOM|STATUS_ROTATE_X|STATUS_ROTATE_Y|STATUS_ROTATE_Z|STATUS_SANDBOX|STATUS_BLOCK_GRAB|STATUS_DIE_AT_EDGE|STATUS_RETURN_AT_EDGE|AGENT|ACTIVE|PASSIVE|SCRIPTED|CONTROL_FWD|CONTROL_BACK|CONTROL_LEFT|CONTROL_RIGHT|CONTROL_ROT_LEFT|CONTROL_ROT_RIGHT|CONTROL_UP|CONTROL_DOWN|CONTROL_LBUTTON|CONTROL_ML_LBUTTON|PERMISSION_DEBIT|PERMISSION_TAKE_CONTROLS|PERMISSION_TRIGGER_ANIMATION|PERMISSION_ATTACH|PERMISSION_CHANGE_LINKS|AGENT_FLYING|AGENT_ATTACHMENTS|AGENT_SCRIPTED|AGENT_SITTING|AGENT_ON_OBJECT|AGENT_MOUSELOOK|AGENT_AWAY|AGENT_WALKING|AGENT_IN_AIR|AGENT_TYPING|AGENT_CROUCHING|AGENT_BUSY|AGENT_ALWAYS_RUN|PSYS_PART_FLAGS|PSYS_PART_START_COLOR|PSYS_PART_START_ALPHA|PSYS_PART_START_SCALE|PSYS_PART_END_COLOR|PSYS_PART_END_ALPHA|PSYS_PART_END_SCALE|PSYS_PART_MAX_AGE|PSYS_PART_BOUNCE_MASK|PSYS_PART_WIND_MASK|PSYS_PART_INTERP_COLOR_MASK|PSYS_PART_INTERP_SCALE_MASK|PSYS_PART_FOLLOW_SRC_MASK|PSYS_PART_FOLLOW_VELOCITY_MASK|PSYS_PART_TARGET_POS_MASK|PSYS_PART_EMISSIVE_MASK|PSYS_PART_TARGET_LINEAR_MASK|PSYS_SRC_PATTERN|PSYS_SRC_INNERANGLE|PSYS_SRC_OUTERANGLE|PSYS_SRC_ANGLE_BEGIN|PSYS_SRC_ANGLE_END|PSYS_SRC_BURST_RATE|PSYS_SRC_BURST_PART_COUNT|PSYS_SRC_BURST_RADIUS|PSYS_SRC_BURST_SPEED_MIN|PSYS_SRC_BURST_SPEED_MAX|PSYS_SRC_MAX_AGE|PSYS_SRC_ACCEL|PSYS_SRC_TEXTURE|PSYS_SRC_TARGET_KEY|PSYS_SRC_OMEGA|PSYS_SRC_PATTERN_DROP|PSYS_SRC_PATTERN_EXPLODE|PSYS_SRC_PATTERN_ANGLE|PSYS_SRC_PATTERN_ANGLE_CONE|PSYS_SRC_PATTERN_ANGLE_CONE_EMPTY|VEHICLE_TYPE_NONE|VEHICLE_TYPE_SLED|VEHICLE_TYPE_CAR|VEHICLE_TYPE_BOAT|VEHICLE_TYPE_AIRPLANE|VEHICLE_TYPE_BALLOON|VEHICLE_REFERENCE_FRAME|VEHICLE_LINEAR_FRICTION_TIMESCALE|VEHICLE_ANGULAR_FRICTION_TIMESCALE|VEHICLE_LINEAR_MOTOR_DIRECTION|VEHICLE_LINEAR_MOTOR_OFFSET|VEHICLE_ANGULAR_MOTOR_DIRECTION|VEHICLE_HOVER_HEIGHT|VEHICLE_HOVER_EFFICIENCY|VEHICLE_HOVER_TIMESCALE|VEHICLE_BUOYANCY|VEHICLE_LINEAR_DEFLECTION_EFFICIENCY|VEHICLE_LINEAR_DEFLECTION_TIMESCALE|VEHICLE_LINEAR_MOTOR_TIMESCALE|VEHICLE_LINEAR_MOTOR_DECAY_TIMESCALE|VEHICLE_ANGULAR_DEFLECTION_EFFICIENCY|VEHICLE_ANGULAR_DEFLECTION_TIMESCALE|VEHICLE_ANGULAR_MOTOR_TIMESCALE|VEHICLE_ANGULAR_MOTOR_DECAY_TIMESCALE|VEHICLE_VERTICAL_ATTRACTION_EFFICIENCY|VEHICLE_VERTICAL_ATTRACTION_TIMESCALE|VEHICLE_BANKING_EFFICIENCY|VEHICLE_BANKING_MIX|VEHICLE_BANKING_TIMESCALE|VEHICLE_FLAG_NO_DEFLECTION_UP|VEHICLE_FLAG_LIMIT_ROLL_ONLY|VEHICLE_FLAG_HOVER_WATER_ONLY|VEHICLE_FLAG_HOVER_TERRAIN_ONLY|VEHICLE_FLAG_HOVER_GLOBAL_HEIGHT|VEHICLE_FLAG_HOVER_UP_ONLY|VEHICLE_FLAG_LIMIT_MOTOR_UP|VEHICLE_FLAG_MOUSELOOK_STEER|VEHICLE_FLAG_MOUSELOOK_BANK|VEHICLE_FLAG_CAMERA_DECOUPLED|INVENTORY_TEXTURE|INVENTORY_SOUND|INVENTORY_OBJECT|INVENTORY_SCRIPT|INVENTORY_LANDMARK|INVENTORY_CLOTHING|INVENTORY_NOTECARD|INVENTORY_BODYPART|INVENTORY_ANIMATION|INVENTORY_GESTURE|INVENTORY_ALL|ATTACH_CHEST|ATTACH_HEAD|ATTACH_LSHOULDER|ATTACH_RSHOULDER|ATTACH_LHAND|ATTACH_RHAND|ATTACH_LFOOT|ATTACH_RFOOT|ATTACH_BACK|ATTACH_PELVIS|ATTACH_MOUTH|ATTACH_CHIN|ATTACH_LEAR|ATTACH_REAR|ATTACH_LEYE|ATTACH_REYE|ATTACH_NOSE|ATTACH_RUARM|ATTACH_RLARM|ATTACH_LUARM|ATTACH_LLARM|ATTACH_RHIP|ATTACH_RULEG|ATTACH_RLLEG|ATTACH_LHIP|ATTACH_LULEG|ATTACH_LLLEG|ATTACH_BELLY|ATTACH_RPEC|ATTACH_LPEC|LAND_LEVEL|LAND_RAISE|LAND_LOWER|LAND_SMOOTH|LAND_NOISE|LAND_REVERT|LAND_SMALL_BRUSH|LAND_MEDIUM_BRUSH|LAND_LARGE_BRUSH|DATA_ONLINE|DATA_NAME|DATA_BORN|DATA_RATING|DATA_SIM_POS|DATA_SIM_STATUS|ANIM_ON|LOOP|REVERSE|PING_PONG|SMOOTH|ROTATE|SCALE|ALL_SIDES|LINK_SET|LINK_ROOT|LINK_ALL_OTHERS|LINK_ALL_CHILDREN|LINK_THIS|CHANGED_INVENTORY|CHANGED_COLOR|CHANGED_SHAPE|CHANGED_SCALE|CHANGED_TEXTURE|CHANGED_LINK|CHANGED_ALLOWED_DROP|TYPE_INTEGER|TYPE_FLOAT|TYPE_STRING|TYPE_KEY|TYPE_VECTOR|TYPE_ROTATION|TYPE_INVALID|REMOTE_DATA_CHANNEL|REMOTE_DATA_REQUEST|REMOTE_DATA_REPLY|PRIM_TYPE|PRIM_MATERIAL|PRIM_PHYSICS|PRIM_TEMP_ON_REZ|PRIM_PHANTOM|PRIM_POSITION|PRIM_SIZE|PRIM_ROTATION|PRIM_TEXTURE|PRIM_COLOR|PRIM_BUMP_SHINY|PRIM_TYPE_BOX|PRIM_TYPE_CYLINDER|PRIM_TYPE_PRISM|PRIM_TYPE_SPHERE|PRIM_TYPE_TORUS|PRIM_TYPE_TUBE|PRIM_TYPE_RING|PRIM_HOLE_DEFAULT|PRIM_HOLE_SQUARE|PRIM_HOLE_CIRCLE|PRIM_HOLE_TRIANGLE|PRIM_MATERIAL_STONE|PRIM_MATERIAL_METAL|PRIM_MATERIAL_GLASS|PRIM_MATERIAL_WOOD|PRIM_MATERIAL_FLESH|PRIM_MATERIAL_PLASTIC|PRIM_MATERIAL_RUBBER|PRIM_MATERIAL_LIGHT|PRIM_SHINY_NONE|PRIM_SHINY_LOW|PRIM_SHINY_MEDIUM|PRIM_SHINY_HIGH|PRIM_BUMP_NONE|PRIM_BUMP_BRIGHT|PRIM_BUMP_DARK|PRIM_BUMP_WOOD|PRIM_BUMP_BARK|PRIM_BUMP_BRICKS|PRIM_BUMP_CHECKER|PRIM_BUMP_CONCRETE|PRIM_BUMP_TILE|PRIM_BUMP_STONE|PRIM_BUMP_DISKS|PRIM_BUMP_GRAVEL|PRIM_BUMP_BLOBS|PRIM_BUMP_SIDING|PRIM_BUMP_LARGETILE|PRIM_BUMP_STUCCO|PRIM_BUMP_SUCTION|PRIM_BUMP_WEAVE|MASK_BASE|MASK_OWNER|MASK_GROUP|MASK_EVERYONE|MASK_NEXT|PERM_TRANSFER|PERM_MODIFY|PERM_COPY|PERM_MOVE|PERM_ALL|PARCEL_MEDIA_COMMAND_STOP|PARCEL_MEDIA_COMMAND_PAUSE|PARCEL_MEDIA_COMMAND_PLAY|PARCEL_MEDIA_COMMAND_LOOP|PARCEL_MEDIA_COMMAND_TEXTURE|PARCEL_MEDIA_COMMAND_URL|PARCEL_MEDIA_COMMAND_TIME|PARCEL_MEDIA_COMMAND_AGENT|PARCEL_MEDIA_COMMAND_UNLOAD|PARCEL_MEDIA_COMMAND_AUTO_ALIGN)\b';
},
{
name = 'entity.name.function.lsl';
match = '\b\w+ *(?=\()';
},
{
name = 'variable.other.lsl';
match = '\b\w+\b';
},
{ name = 'string.double-quoted.lsl';
begin = '"'; end = '"'; swallow = '\\\\.';
/* Patterns with begin and end can contain other patterns (nested as far as you want) */
patterns = (
{ name = 'constant.character.untitled';
match = '\\\\[a-zA-Z]';
}
);
},
{ name = 'constant.numeric.lsl';
match = '\b((0(x|X)[0-9a-fA-F]*)|(([0-9]+\.?[0-9]*)|(\.[0-9]+))((e|E)(\+|-)?[0-9]+)?)\b';
},
);
}