Install vim74
[msysgit.git] / share / vim / vim74 / syntax / lsl.vim
blob3b2baa06cec8cf63c0c164ea3818c3324ded42d3
1 " Vim syntax file
2 " Language:     Linden Scripting Language
3 " Maintainer:   Timo Frenay <timo@frenay.net>
4 " Last Change:  2012 Apr 30
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
13 " Initializations
14 syn case match
16 " Keywords
17 syn keyword lslKeyword default do else for if jump return state while
19 " Types
20 syn keyword lslType float integer key list quaternion rotation string vector
22 " Labels
23 syn match lslLabel +@\h\w*+ display
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
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
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
226 " Operators
227 syn match lslOperator +[-!%&*+/<=>^|~]+ display
229 " Numbers
230 syn match lslNumber +-\=\%(\<\d\+\|\%(\<\d\+\)\=\.\d\+\)\%([Ee][-+]\=\d\+\)\=\>\|\<0x\x\+\>+ display
232 " Vectors and rotations
233 syn match lslVectorRot +<[-\t +.0-9A-Za-z_]\+\%(,[-\t +.0-9A-Za-z_]\+\)\{2,3}>+ contains=lslNumber display
235 " Vector and rotation properties
236 syn match lslProperty +\.\@<=[sxyz]\>+ display
238 " Strings
239 syn region lslString start=+"+ skip=+\\.+ end=+"+ contains=lslSpecialChar,@Spell
240 syn match lslSpecialChar +\\.+ contained display
242 " Keys
243 syn match lslKey +"\x\{8}-\x\{4}-\x\{4}-\x\{4}-\x\{12}"+ display
245 " Parentheses, braces and brackets
246 syn match lslBlock +[][(){}]+ display
248 " Typecast operators
249 syn match lslTypecast +(\%(float\|integer\|key\|list\|quaternion\|rotation\|string\|vector\))+ contains=lslType display
251 " Comments
252 syn match lslComment +//.*+ contains=@Spell
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
272 let b:current_syntax = "lsl"
274 let &cpo = s:keepcpo
275 unlet s:keepcpo
277 " vim: ts=8