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