Install vim73
[msysgit/mtrensch.git] / share / vim / vim73 / syntax / lsl.vim
blob3f2481678a60e45aba3fc9d00a9bddac3805f4c3
1 " Vim syntax file
2 " Language:     Linden Scripting Language
3 " Maintainer:   Timo Frenay <timo@frenay.net>
4 " Last Change:  2008 Mar 29
6 " Quit when a syntax file was already loaded
7 if exists("b:current_syntax")
8   finish
9 endif
11 " Initializations
12 syn case match
14 " Keywords
15 syn keyword lslKeyword default do else for if jump return state while
17 " Types
18 syn keyword lslType float integer key list quaternion rotation string vector
20 " Labels
21 syn match lslLabel +@\h\w*+ display
23 " Constants
24 syn 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
142 " Events
143 syn 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
150 " Functions
151 syn 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
224 " Operators
225 syn match lslOperator +[-!%&*+/<=>^|~]+ display
227 " Numbers
228 syn match lslNumber +-\=\%(\<\d\+\|\%(\<\d\+\)\=\.\d\+\)\%([Ee][-+]\=\d\+\)\=\>\|\<0x\x\+\>+ display
230 " Vectors and rotations
231 syn match lslVectorRot +<[-\t +.0-9A-Za-z_]\+\%(,[-\t +.0-9A-Za-z_]\+\)\{2,3}>+ contains=lslNumber display
233 " Vector and rotation properties
234 syn match lslProperty +\.\@<=[sxyz]\>+ display
236 " Strings
237 syn region lslString start=+"+ skip=+\\.+ end=+"+ contains=lslSpecialChar,@Spell
238 syn match lslSpecialChar +\\.+ contained display
240 " Keys
241 syn match lslKey +"\x\{8}-\x\{4}-\x\{4}-\x\{4}-\x\{12}"+ display
243 " Parentheses, braces and brackets
244 syn match lslBlock +[][(){}]+ display
246 " Typecast operators
247 syn match lslTypecast +(\%(float\|integer\|key\|list\|quaternion\|rotation\|string\|vector\))+ contains=lslType display
249 " Comments
250 syn match lslComment +//.*+ contains=@Spell
252 " Define the default highlighting.
253 hi def link lslKeyword      Keyword
254 hi def link lslType         Type
255 hi def link lslLabel        Label
256 hi def link lslConstant     Constant
257 hi def link lslEvent        PreProc
258 hi def link lslFunction     Function
259 hi def link lslOperator     Operator
260 hi def link lslNumber       Number
261 hi def link lslVectorRot    Special
262 hi def link lslProperty     Identifier
263 hi def link lslString       String
264 hi def link lslSpecialChar  SpecialChar
265 hi def link lslKey          Special
266 hi def link lslBlock        Special
267 hi def link lslTypecast     Operator
268 hi def link lslComment      Comment
270 let b:current_syntax = "lsl"
272 " vim: ts=8