1" Vim syntax file 2" Language: Linden Scripting Language 3" Maintainer: Timo Frenay <timo@frenay.net> 4" Last Change: 2008 Mar 29 5 6" Quit when a syntax file was already loaded 7if exists("b:current_syntax") 8 finish 9endif 10 11" Initializations 12syn case match 13 14" Keywords 15syn keyword lslKeyword default do else for if jump return state while 16 17" Types 18syn keyword lslType float integer key list quaternion rotation string vector 19 20" Labels 21syn match lslLabel +@\h\w*+ display 22 23" Constants 24syn keyword lslConstant 25\ ACTIVE AGENT AGENT_ALWAYS_RUN AGENT_ATTACHMENTS AGENT_AWAY AGENT_BUSY 26\ AGENT_CROUCHING AGENT_FLYING AGENT_IN_AIR AGENT_MOUSELOOK AGENT_ON_OBJECT 27\ AGENT_SCRIPTED AGENT_SITTING AGENT_TYPING AGENT_WALKING ALL_SIDES ANIM_ON 28\ ATTACH_BACK ATTACH_BELLY ATTACH_CHEST ATTACH_CHIN ATTACH_HEAD 29\ ATTACH_HUD_BOTTOM ATTACH_HUD_BOTTOM_LEFT ATTACH_HUD_BOTTOM_RIGHT 30\ ATTACH_HUD_CENTER_1 ATTACH_HUD_CENTER_2 ATTACH_HUD_TOP_CENTER 31\ ATTACH_HUD_TOP_LEFT ATTACH_HUD_TOP_RIGHT ATTACH_LEAR ATTACH_LEYE ATTACH_LFOOT 32\ ATTACH_LHAND ATTACH_LHIP ATTACH_LLARM ATTACH_LLLEG ATTACH_LPEC 33\ ATTACH_LSHOULDER ATTACH_LUARM ATTACH_LULEG ATTACH_MOUTH ATTACH_NOSE 34\ ATTACH_PELVIS ATTACH_REAR ATTACH_REYE ATTACH_RFOOT ATTACH_RHAND ATTACH_RHIP 35\ ATTACH_RLARM ATTACH_RLLEG ATTACH_RPEC ATTACH_RSHOULDER ATTACH_RUARM 36\ ATTACH_RULEG CAMERA_ACTIVE CAMERA_BEHINDNESS_ANGLE CAMERA_BEHINDNESS_LAG 37\ CAMERA_DISTANCE CAMERA_FOCUS CAMERA_FOCUS_LAG CAMERA_FOCUS_LOCKED 38\ CAMERA_FOCUS_OFFSET CAMERA_FOCUS_THRESHOLD CAMERA_PITCH CAMERA_POSITION 39\ CAMERA_POSITION_LAG CAMERA_POSITION_LOCKED CAMERA_POSITION_THRESHOLD 40\ CHANGED_ALLOWED_DROP CHANGED_COLOR CHANGED_INVENTORY CHANGED_LINK 41\ CHANGED_OWNER CHANGED_REGION CHANGED_SCALE CHANGED_SHAPE CHANGED_TELEPORT 42\ CHANGED_TEXTURE CLICK_ACTION_BUY CLICK_ACTION_NONE CLICK_ACTION_OPEN 43\ CLICK_ACTION_OPEN_MEDIA CLICK_ACTION_PAY CLICK_ACTION_PLAY CLICK_ACTION_SIT 44\ CLICK_ACTION_TOUCH CONTROL_BACK CONTROL_DOWN CONTROL_FWD CONTROL_LBUTTON 45\ CONTROL_LEFT CONTROL_ML_LBUTTON CONTROL_RIGHT CONTROL_ROT_LEFT 46\ CONTROL_ROT_RIGHT CONTROL_UP DATA_BORN DATA_NAME DATA_ONLINE DATA_PAYINFO 47\ DATA_RATING DATA_SIM_POS DATA_SIM_RATING DATA_SIM_STATUS DEBUG_CHANNEL 48\ DEG_TO_RAD EOF FALSE HTTP_BODY_MAXLENGTH HTTP_BODY_TRUNCATED HTTP_METHOD 49\ HTTP_MIMETYPE HTTP_VERIFY_CERT INVENTORY_ALL INVENTORY_ANIMATION 50\ INVENTORY_BODYPART INVENTORY_CLOTHING INVENTORY_GESTURE INVENTORY_LANDMARK 51\ INVENTORY_NONE INVENTORY_NOTECARD INVENTORY_OBJECT INVENTORY_SCRIPT 52\ INVENTORY_SOUND INVENTORY_TEXTURE LAND_LARGE_BRUSH LAND_LEVEL LAND_LOWER 53\ LAND_MEDIUM_BRUSH LAND_NOISE LAND_RAISE LAND_REVERT LAND_SMALL_BRUSH 54\ LAND_SMOOTH LINK_ALL_CHILDREN LINK_ALL_OTHERS LINK_ROOT LINK_SET LINK_THIS 55\ LIST_STAT_GEOMETRIC_MEAN LIST_STAT_MAX LIST_STAT_MEAN LIST_STAT_MEDIAN 56\ LIST_STAT_MIN LIST_STAT_NUM_COUNT LIST_STAT_RANGE LIST_STAT_STD_DEV 57\ LIST_STAT_SUM LIST_STAT_SUM_SQUARES LOOP MASK_BASE MASK_EVERYONE MASK_GROUP 58\ MASK_NEXT MASK_OWNER NULL_KEY OBJECT_CREATOR OBJECT_DESC OBJECT_GROUP 59\ OBJECT_NAME OBJECT_OWNER OBJECT_POS OBJECT_ROT OBJECT_UNKNOWN_DETAIL 60\ OBJECT_VELOCITY PARCEL_COUNT_GROUP PARCEL_COUNT_OTHER PARCEL_COUNT_OWNER 61\ PARCEL_COUNT_SELECTED PARCEL_COUNT_TEMP PARCEL_COUNT_TOTAL PARCEL_DETAILS_AREA 62\ PARCEL_DETAILS_DESC PARCEL_DETAILS_GROUP PARCEL_DETAILS_NAME 63\ PARCEL_DETAILS_OWNER PARCEL_FLAG_ALLOW_ALL_OBJECT_ENTRY 64\ PARCEL_FLAG_ALLOW_CREATE_GROUP_OBJECTS PARCEL_FLAG_ALLOW_CREATE_OBJECTS 65\ PARCEL_FLAG_ALLOW_DAMAGE PARCEL_FLAG_ALLOW_FLY 66\ PARCEL_FLAG_ALLOW_GROUP_OBJECT_ENTRY PARCEL_FLAG_ALLOW_GROUP_SCRIPTS 67\ PARCEL_FLAG_ALLOW_LANDMARK PARCEL_FLAG_ALLOW_SCRIPTS 68\ PARCEL_FLAG_ALLOW_TERRAFORM PARCEL_FLAG_LOCAL_SOUND_ONLY 69\ PARCEL_FLAG_RESTRICT_PUSHOBJECT PARCEL_FLAG_USE_ACCESS_GROUP 70\ PARCEL_FLAG_USE_ACCESS_LIST PARCEL_FLAG_USE_BAN_LIST 71\ PARCEL_FLAG_USE_LAND_PASS_LIST PARCEL_MEDIA_COMMAND_AGENT 72\ PARCEL_MEDIA_COMMAND_AUTO_ALIGN PARCEL_MEDIA_COMMAND_DESC 73\ PARCEL_MEDIA_COMMAND_LOOP PARCEL_MEDIA_COMMAND_LOOP_SET 74\ PARCEL_MEDIA_COMMAND_PAUSE PARCEL_MEDIA_COMMAND_PLAY PARCEL_MEDIA_COMMAND_SIZE 75\ PARCEL_MEDIA_COMMAND_STOP PARCEL_MEDIA_COMMAND_TEXTURE 76\ PARCEL_MEDIA_COMMAND_TIME PARCEL_MEDIA_COMMAND_TYPE 77\ PARCEL_MEDIA_COMMAND_UNLOAD PARCEL_MEDIA_COMMAND_URL PASSIVE 78\ PAYMENT_INFO_ON_FILE PAYMENT_INFO_USED PAY_DEFAULT PAY_HIDE PERM_ALL PERM_COPY 79\ PERM_MODIFY PERM_MOVE PERM_TRANSFER PERMISSION_ATTACH PERMISSION_CHANGE_LINKS 80\ PERMISSION_CONTROL_CAMERA PERMISSION_DEBIT PERMISSION_TAKE_CONTROLS 81\ PERMISSION_TRACK_CAMERA PERMISSION_TRIGGER_ANIMATION PI PI_BY_TWO PING_PONG 82\ PRIM_BUMP_BARK PRIM_BUMP_BLOBS PRIM_BUMP_BRICKS PRIM_BUMP_BRIGHT 83\ PRIM_BUMP_CHECKER PRIM_BUMP_CONCRETE PRIM_BUMP_DARK PRIM_BUMP_DISKS 84\ PRIM_BUMP_GRAVEL PRIM_BUMP_LARGETILE PRIM_BUMP_NONE PRIM_BUMP_SHINY 85\ PRIM_BUMP_SIDING PRIM_BUMP_STONE PRIM_BUMP_STUCCO PRIM_BUMP_SUCTION 86\ PRIM_BUMP_TILE PRIM_BUMP_WEAVE PRIM_BUMP_WOOD PRIM_CAST_SHADOWS PRIM_COLOR 87\ PRIM_FLEXIBLE PRIM_FULLBRIGHT PRIM_HOLE_CIRCLE PRIM_HOLE_DEFAULT 88\ PRIM_HOLE_SQUARE PRIM_HOLE_TRIANGLE PRIM_MATERIAL PRIM_MATERIAL_FLESH 89\ PRIM_MATERIAL_GLASS PRIM_MATERIAL_LIGHT PRIM_MATERIAL_METAL 90\ PRIM_MATERIAL_PLASTIC PRIM_MATERIAL_RUBBER PRIM_MATERIAL_STONE 91\ PRIM_MATERIAL_WOOD PRIM_PHANTOM PRIM_PHYSICS PRIM_POINT_LIGHT PRIM_POSITION 92\ PRIM_ROTATION PRIM_SCULPT_TYPE_CYLINDER PRIM_SCULPT_TYPE_PLANE 93\ PRIM_SCULPT_TYPE_SPHERE PRIM_SCULPT_TYPE_TORUS PRIM_SHINY_HIGH PRIM_SHINY_LOW 94\ PRIM_SHINY_MEDIUM PRIM_SHINY_NONE PRIM_SIZE PRIM_TEMP_ON_REZ PRIM_TEXGEN 95\ PRIM_TEXGEN_DEFAULT PRIM_TEXGEN_PLANAR PRIM_TEXTURE PRIM_TYPE PRIM_TYPE_BOX 96\ PRIM_TYPE_BOX PRIM_TYPE_CYLINDER PRIM_TYPE_CYLINDER PRIM_TYPE_LEGACY 97\ PRIM_TYPE_PRISM PRIM_TYPE_PRISM PRIM_TYPE_RING PRIM_TYPE_SCULPT 98\ PRIM_TYPE_SPHERE PRIM_TYPE_SPHERE PRIM_TYPE_TORUS PRIM_TYPE_TORUS 99\ PRIM_TYPE_TUBE PRIM_TYPE_TUBE PSYS_PART_BEAM_MASK PSYS_PART_BOUNCE_MASK 100\ PSYS_PART_DEAD_MASK PSYS_PART_EMISSIVE_MASK PSYS_PART_END_ALPHA 101\ PSYS_PART_END_COLOR PSYS_PART_END_SCALE PSYS_PART_FLAGS 102\ PSYS_PART_FOLLOW_SRC_MASK PSYS_PART_FOLLOW_VELOCITY_MASK 103\ PSYS_PART_INTERP_COLOR_MASK PSYS_PART_INTERP_SCALE_MASK PSYS_PART_MAX_AGE 104\ PSYS_PART_RANDOM_ACCEL_MASK PSYS_PART_RANDOM_VEL_MASK PSYS_PART_START_ALPHA 105\ PSYS_PART_START_COLOR PSYS_PART_START_SCALE PSYS_PART_TARGET_LINEAR_MASK 106\ PSYS_PART_TARGET_POS_MASK PSYS_PART_TRAIL_MASK PSYS_PART_WIND_MASK 107\ PSYS_SRC_ACCEL PSYS_SRC_ANGLE_BEGIN PSYS_SRC_ANGLE_END 108\ PSYS_SRC_BURST_PART_COUNT PSYS_SRC_BURST_RADIUS PSYS_SRC_BURST_RATE 109\ PSYS_SRC_BURST_SPEED_MAX PSYS_SRC_BURST_SPEED_MIN PSYS_SRC_INNERANGLE 110\ PSYS_SRC_MAX_AGE PSYS_SRC_OMEGA PSYS_SRC_OUTERANGLE PSYS_SRC_PATTERN 111\ PSYS_SRC_PATTERN_ANGLE PSYS_SRC_PATTERN_ANGLE_CONE 112\ PSYS_SRC_PATTERN_ANGLE_CONE_EMPTY PSYS_SRC_PATTERN_DROP 113\ PSYS_SRC_PATTERN_EXPLODE PSYS_SRC_TARGET_KEY PSYS_SRC_TEXTURE PUBLIC_CHANNEL 114\ RAD_TO_DEG REGION_FLAG_ALLOW_DAMAGE REGION_FLAG_ALLOW_DIRECT_TELEPORT 115\ REGION_FLAG_BLOCK_FLY REGION_FLAG_BLOCK_TERRAFORM 116\ REGION_FLAG_DISABLE_COLLISIONS REGION_FLAG_DISABLE_PHYSICS 117\ REGION_FLAG_FIXED_SUN REGION_FLAG_RESTRICT_PUSHOBJECT REGION_FLAG_SANDBOX 118\ REMOTE_DATA_CHANNEL REMOTE_DATA_REPLY REMOTE_DATA_REQUEST REVERSE ROTATE SCALE 119\ SCRIPTED SMOOTH SQRT2 STATUS_BLOCK_GRAB STATUS_CAST_SHADOWS STATUS_DIE_AT_EDGE 120\ STATUS_PHANTOM STATUS_PHYSICS STATUS_RETURN_AT_EDGE STATUS_ROTATE_X 121\ STATUS_ROTATE_Y STATUS_ROTATE_Z STATUS_SANDBOX STRING_TRIM STRING_TRIM_HEAD 122\ STRING_TRIM_TAIL TRUE TWO_PI TYPE_FLOAT TYPE_INTEGER TYPE_INVALID TYPE_KEY 123\ TYPE_ROTATION TYPE_STRING TYPE_VECTOR VEHICLE_ANGULAR_DEFLECTION_EFFICIENCY 124\ VEHICLE_ANGULAR_DEFLECTION_TIMESCALE VEHICLE_ANGULAR_FRICTION_TIMESCALE 125\ VEHICLE_ANGULAR_MOTOR_DECAY_TIMESCALE VEHICLE_ANGULAR_MOTOR_DIRECTION 126\ VEHICLE_ANGULAR_MOTOR_TIMESCALE VEHICLE_BANKING_EFFICIENCY VEHICLE_BANKING_MIX 127\ VEHICLE_BANKING_TIMESCALE VEHICLE_BUOYANCY VEHICLE_FLAG_CAMERA_DECOUPLED 128\ VEHICLE_FLAG_HOVER_GLOBAL_HEIGHT VEHICLE_FLAG_HOVER_TERRAIN_ONLY 129\ VEHICLE_FLAG_HOVER_UP_ONLY VEHICLE_FLAG_HOVER_WATER_ONLY 130\ VEHICLE_FLAG_LIMIT_MOTOR_UP VEHICLE_FLAG_LIMIT_ROLL_ONLY 131\ VEHICLE_FLAG_MOUSELOOK_BANK VEHICLE_FLAG_MOUSELOOK_STEER 132\ VEHICLE_FLAG_NO_DEFLECTION_UP VEHICLE_HOVER_EFFICIENCY VEHICLE_HOVER_HEIGHT 133\ VEHICLE_HOVER_TIMESCALE VEHICLE_LINEAR_DEFLECTION_EFFICIENCY 134\ VEHICLE_LINEAR_DEFLECTION_TIMESCALE VEHICLE_LINEAR_FRICTION_TIMESCALE 135\ VEHICLE_LINEAR_MOTOR_DECAY_TIMESCALE VEHICLE_LINEAR_MOTOR_TIMESCALE 136\ VEHICLE_LINEAR_MOTOR_DIRECTION VEHICLE_LINEAR_MOTOR_OFFSET 137\ VEHICLE_REFERENCE_FRAME VEHICLE_TYPE_AIRPLANE VEHICLE_TYPE_BALLOON 138\ VEHICLE_TYPE_BOAT VEHICLE_TYPE_CAR VEHICLE_TYPE_NONE VEHICLE_TYPE_SLED 139\ VEHICLE_VERTICAL_ATTRACTION_EFFICIENCY VEHICLE_VERTICAL_ATTRACTION_TIMESCALE 140\ ZERO_ROTATION ZERO_VECTOR 141 142" Events 143syn keyword lslEvent 144\ attach at_rot_target at_target changed collision collision_end collision_start 145\ control dataserver email http_response land_collision land_collision_end 146\ land_collision_start link_message listen money moving_end moving_start 147\ not_at_rot_target no_sensor object_rez on_rez remote_data run_time_permissions 148\ sensor state_entry state_exit timer touch touch_end touch_start not_at_target 149 150" Functions 151syn keyword lslFunction 152\ llAbs llAcos llAddToLandBanList llAddToLandPassList llAdjustSoundVolume 153\ llAllowInventoryDrop llAngleBetween llApplyImpulse llApplyRotationalImpulse 154\ llAsin llAtan2 llAttachToAvatar llAvatarOnSitTarget llAxes2Rot llAxisAngle2Rot 155\ llBase64ToInteger llBase64ToString llBreakAllLinks llBreakLink llCSV2List 156\ llCeil llClearCameraParams llCloseRemoteDataChannel llCloud llCollisionFilter 157\ llCollisionSound llCollisionSprite llCos llCreateLink llDeleteSubList 158\ llDeleteSubString llDetachFromAvatar llDetectedGrab llDetectedGroup 159\ llDetectedKey llDetectedLinkNumber llDetectedName llDetectedOwner 160\ llDetectedPos llDetectedRot llDetectedType llDetectedVel llDialog llDie 161\ llDumpList2String llEdgeOfWorld llEjectFromLand llEmail llEscapeURL 162\ llEuler2Rot llFabs llFloor llForceMouselook llFrand llGetAccel llGetAgentInfo 163\ llGetAgentSize llGetAlpha llGetAndResetTime llGetAnimation llGetAnimationList 164\ llGetAttached llGetBoundingBox llGetCameraPos llGetCameraRot llGetCenterOfMass 165\ llGetColor llGetCreator llGetDate llGetEnergy llGetForce llGetFreeMemory 166\ llGetGMTclock llGetGeometricCenter llGetInventoryCreator llGetInventoryKey 167\ llGetInventoryName llGetInventoryNumber llGetInventoryPermMask 168\ llGetInventoryType llGetKey llGetLandOwnerAt llGetLinkKey llGetLinkName 169\ llGetLinkNumber llGetListEntryType llGetListLength llGetLocalPos llGetLocalRot 170\ llGetMass llGetNextEmail llGetNotecardLine llGetNumberOfNotecardLines 171\ llGetNumberOfPrims llGetNumberOfSides llGetObjectDesc llGetObjectDetails 172\ llGetObjectMass llGetObjectName llGetObjectPermMask llGetObjectPrimCount 173\ llGetOmega llGetOwner llGetOwnerKey llGetParcelDetails llGetParcelFlags 174\ llGetParcelMaxPrims llGetParcelPrimCount llGetParcelPrimOwners 175\ llGetPermissions llGetPermissionsKey llGetPos llGetPrimitiveParams 176\ llGetRegionCorner llGetRegionFPS llGetRegionFlags llGetRegionName 177\ llGetRegionTimeDilation llGetRootPosition llGetRootRotation llGetRot 178\ llGetScale llGetScriptName llGetScriptState llGetSimulatorHostname 179\ llGetStartParameter llGetStatus llGetSubString llGetSunDirection llGetTexture 180\ llGetTextureOffset llGetTextureRot llGetTextureScale llGetTime llGetTimeOfDay 181\ llGetTimestamp llGetTorque llGetUnixTime llGetVel llGetWallclock 182\ llGiveInventory llGiveInventoryList llGiveMoney llGodLikeRezObject llGround 183\ llGroundContour llGroundNormal llGroundRepel llGroundSlope llHTTPRequest 184\ llInsertString llInstantMessage llIntegerToBase64 llKey2Name llList2CSV 185\ llList2Float llList2Integer llList2Key llList2List llList2ListStrided 186\ llList2Rot llList2String llList2Vector llListFindList llListInsertList 187\ llListRandomize llListReplaceList llListSort llListStatistics llListen 188\ llListenControl llListenRemove llLoadURL llLog llLog10 llLookAt llLoopSound 189\ llLoopSoundMaster llLoopSoundSlave llMD5String llMakeExplosion llMakeFire 190\ llMakeFountain llMakeSmoke llMapDestination llMessageLinked llMinEventDelay 191\ llModPow llModifyLand llMoveToTarget llOffsetTexture llOpenRemoteDataChannel 192\ llOverMyLand llOwnerSay llParcelMediaCommandList llParcelMediaQuery 193\ llParseString2List llParseStringKeepNulls llParticleSystem llPassCollisions 194\ llPassTouches llPlaySound llPlaySoundSlave llPointAt llPow llPreloadSound 195\ llPushObject llRefreshPrimURL llRegionSay llReleaseCamera llReleaseControls 196\ llRemoteDataReply llRemoteDataSetRegion llRemoteLoadScript 197\ llRemoteLoadScriptPin llRemoveFromLandBanList llRemoveFromLandPassList 198\ llRemoveInventory llRemoveVehicleFlags llRequestAgentData 199\ llRequestInventoryData llRequestPermissions llRequestSimulatorData 200\ llResetLandBanList llResetLandPassList llResetOtherScript llResetScript 201\ llResetTime llRezAtRoot llRezObject llRot2Angle llRot2Axis llRot2Euler 202\ llRot2Fwd llRot2Left llRot2Up llRotBetween llRotLookAt llRotTarget 203\ llRotTargetRemove llRotateTexture llRound llSameGroup llSay llScaleTexture 204\ llScriptDanger llSendRemoteData llSensor llSensorRemove llSensorRepeat 205\ llSetAlpha llSetBuoyancy llSetCameraAtOffset llSetCameraEyeOffset 206\ llSetCameraParams llSetClickAction llSetColor llSetDamage llSetForce 207\ llSetForceAndTorque llSetHoverHeight llSetInventoryPermMask llSetLinkAlpha 208\ llSetLinkColor llSetLinkPrimitiveParams llSetLinkTexture llSetLocalRot 209\ llSetObjectDesc llSetObjectName llSetObjectPermMask llSetParcelMusicURL 210\ llSetPayPrice llSetPos llSetPrimURL llSetPrimitiveParams 211\ llSetRemoteScriptAccessPin llSetRot llSetScale llSetScriptState llSetSitText 212\ llSetSoundQueueing llSetSoundRadius llSetStatus llSetText llSetTexture 213\ llSetTextureAnim llSetTimerEvent llSetTorque llSetTouchText llSetVehicleFlags 214\ llSetVehicleFloatParam llSetVehicleRotationParam llSetVehicleType 215\ llSetVehicleVectorParam llShout llSin llSitTarget llSleep llSound 216\ llSoundPreload llSqrt llStartAnimation llStopAnimation llStopHover 217\ llStopLookAt llStopMoveToTarget llStopPointAt llStopSound llStringLength 218\ llStringToBase64 llStringTrim llSubStringIndex llTakeCamera llTakeControls 219\ llTan llTarget llTargetOmega llTargetRemove llTeleportAgentHome llToLower 220\ llToUpper llTriggerSound llTriggerSoundLimited llUnSit llUnescapeURL llVecDist 221\ llVecMag llVecNorm llVolumeDetect llWater llWhisper llWind llXorBase64Strings 222\ llXorBase64StringsCorrect 223 224" Operators 225syn match lslOperator +[-!%&*+/<=>^|~]+ display 226 227" Numbers 228syn match lslNumber +-\=\%(\<\d\+\|\%(\<\d\+\)\=\.\d\+\)\%([Ee][-+]\=\d\+\)\=\>\|\<0x\x\+\>+ display 229 230" Vectors and rotations 231syn match lslVectorRot +<[-\t +.0-9A-Za-z_]\+\%(,[-\t +.0-9A-Za-z_]\+\)\{2,3}>+ contains=lslNumber display 232 233" Vector and rotation properties 234syn match lslProperty +\.\@<=[sxyz]\>+ display 235 236" Strings 237syn region lslString start=+"+ skip=+\\.+ end=+"+ contains=lslSpecialChar,@Spell 238syn match lslSpecialChar +\\.+ contained display 239 240" Keys 241syn match lslKey +"\x\{8}-\x\{4}-\x\{4}-\x\{4}-\x\{12}"+ display 242 243" Parentheses, braces and brackets 244syn match lslBlock +[][(){}]+ display 245 246" Typecast operators 247syn match lslTypecast +(\%(float\|integer\|key\|list\|quaternion\|rotation\|string\|vector\))+ contains=lslType display 248 249" Comments 250syn match lslComment +//.*+ contains=@Spell 251 252" Define the default highlighting. 253hi def link lslKeyword Keyword 254hi def link lslType Type 255hi def link lslLabel Label 256hi def link lslConstant Constant 257hi def link lslEvent PreProc 258hi def link lslFunction Function 259hi def link lslOperator Operator 260hi def link lslNumber Number 261hi def link lslVectorRot Special 262hi def link lslProperty Identifier 263hi def link lslString String 264hi def link lslSpecialChar SpecialChar 265hi def link lslKey Special 266hi def link lslBlock Special 267hi def link lslTypecast Operator 268hi def link lslComment Comment 269 270let b:current_syntax = "lsl" 271 272" vim: ts=8 273