home *** CD-ROM | disk | FTP | other *** search
/ vim.ftp.fu-berlin.de / 2015-02-03.vim.ftp.fu-berlin.de.tar / vim.ftp.fu-berlin.de / runtime / dos / syntax / lsl.vim < prev    next >
Encoding:
Text File  |  2012-05-31  |  15.7 KB  |  278 lines

  1. " Vim syntax file
  2. " Language:    Linden Scripting Language
  3. " Maintainer:    Timo Frenay <timo@frenay.net>
  4. " Last Change:    2012 Apr 30
  5.  
  6. " Quit when a syntax file was already loaded
  7. if exists("b:current_syntax")
  8.   finish
  9. endif
  10. let s:keepcpo= &cpo
  11. set cpo&vim
  12.  
  13. " Initializations
  14. syn case match
  15.  
  16. " Keywords
  17. syn keyword lslKeyword default do else for if jump return state while
  18.  
  19. " Types
  20. syn keyword lslType float integer key list quaternion rotation string vector
  21.  
  22. " Labels
  23. syn match lslLabel +@\h\w*+ display
  24.  
  25. " Constants
  26. syn 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
  145. syn 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
  153. syn 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
  227. syn match lslOperator +[-!%&*+/<=>^|~]+ display
  228.  
  229. " Numbers
  230. syn match lslNumber +-\=\%(\<\d\+\|\%(\<\d\+\)\=\.\d\+\)\%([Ee][-+]\=\d\+\)\=\>\|\<0x\x\+\>+ display
  231.  
  232. " Vectors and rotations
  233. syn match lslVectorRot +<[-\t +.0-9A-Za-z_]\+\%(,[-\t +.0-9A-Za-z_]\+\)\{2,3}>+ contains=lslNumber display
  234.  
  235. " Vector and rotation properties
  236. syn match lslProperty +\.\@<=[sxyz]\>+ display
  237.  
  238. " Strings
  239. syn region lslString start=+"+ skip=+\\.+ end=+"+ contains=lslSpecialChar,@Spell
  240. syn match lslSpecialChar +\\.+ contained display
  241.  
  242. " Keys
  243. syn match lslKey +"\x\{8}-\x\{4}-\x\{4}-\x\{4}-\x\{12}"+ display
  244.  
  245. " Parentheses, braces and brackets
  246. syn match lslBlock +[][(){}]+ display
  247.  
  248. " Typecast operators
  249. syn match lslTypecast +(\%(float\|integer\|key\|list\|quaternion\|rotation\|string\|vector\))+ contains=lslType display
  250.  
  251. " Comments
  252. syn match lslComment +//.*+ contains=@Spell
  253.  
  254. " Define the default highlighting.
  255. hi def link lslKeyword      Keyword
  256. hi def link lslType         Type
  257. hi def link lslLabel        Label
  258. hi def link lslConstant     Constant
  259. hi def link lslEvent        PreProc
  260. hi def link lslFunction     Function
  261. hi def link lslOperator     Operator
  262. hi def link lslNumber       Number
  263. hi def link lslVectorRot    Special
  264. hi def link lslProperty     Identifier
  265. hi def link lslString       String
  266. hi def link lslSpecialChar  SpecialChar
  267. hi def link lslKey          Special
  268. hi def link lslBlock        Special
  269. hi def link lslTypecast     Operator
  270. hi def link lslComment      Comment
  271.  
  272. let b:current_syntax = "lsl"
  273.  
  274. let &cpo = s:keepcpo
  275. unlet s:keepcpo
  276.  
  277. " vim: ts=8
  278.