lsl.vim 15 KB

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