Details
-
Story
-
Status: Closed
-
Minor
-
Resolution: Released
-
None
-
None
-
-
-
Hide
- Clear your SL settings directory
- Login with a viewer that supports this change
- Create a new script in your inventory, and save the text from ‘LSL keywords test file’ in it (this script doesn't compile, but contains all the keywords you need to highlight)
- Watch the viewer logs, and verify that you see log messages resembling the ‘Log messages when keywords are not cached’ text below
- In your LSL script window, verify the following highlights:
- Commented text (following '//' or within '/* */') is colored orange
- "NotAKeyword" should not be highlighted (should be black), and should have no tooltip
- Data type keywords are colored light green, and have appropriate-looking tooltips when your cursor hovers over them
- Function keywords (e.g. 'llAbs') are highlighted, and have appropriate-looking tooltips, describing how the function works
- Function highlight colors
- Functions which require god ability (e.g. llGodLikeRezObject()) should be salmon
- Functions which are deprecated (e.g. llMakeExplosion()) should be fuchsia
- Most functions should be purple
- If in doubt about an LSL function definition, look at wiki.secondlife.com for the spec
- Pay special attention to functions such as 'llAttachToAvatarTemp', which were previously unknown to the viewer and thus not highlighted
- Any content errors in the tooltips should be noted as a server-side bug, as the server now provides the keywords file
- Event keywords should be light blue, and have appropriate-looking tooltips
- Operators should be black
- Constants keywords should be highlighted some color, and have appropriate-looking tooltips (PEQA ignore this section for now)
- integer-type constants (e.g DEBUG_CHANNEL) should be highlighted dark blue
- float-type constants (e.g. DEG_TO_RAD) should be highlighted ___
- string-type constants (e.g. EOF) should be highlighted ___
- key-type constants (e.g. TEXTURE_DEFAULT) should be highlighted ___
- rotation-type constants (e.g. ZERO_ROTATION) should be highlighted ___
- vector-type constants (e.g. ZERO_VECTOR) should be highlighted ___
- With the fix for STORM-2026, we can hopefully fill in the blanks.
- Flow Control keywords should be highlighted blue, and have appropriate-looking tooltips
- Function highlight colors
- Quit the viewer, then log back in
- Reopen the keywords test script
- Watch the viewer logs, and verify that you see log messages resembling the ‘Log messages when keywords are cached’ text below (indicating that the syntax file was loaded from disk instead of downloaded from the server)
LSL keywords test file:
/* LSL all-keywords
has a bunch of keywords for STORM-1831 testing */
NotAKeyword
// Data types
float
integer
key
list
rotation
string
vector
// Functions
llAbs
llAcos
llAddToLandBanList
llAddToLandPassList
llAdjustSoundVolume
llAllowInventoryDrop
llAngleBetween
llApplyImpulse
llApplyRotationalImpulse
llAsin
llAtan2
llAttachToAvatar
llAttachToAvatarTemp
llAvatarOnLinkSitTarget
llAvatarOnSitTarget
llAxes2Rot
llAxisAngle2Rot
llBase64ToInteger
llBase64ToString
llBreakAllLinks
llBreakLink
llCSV2List
llCastRay
llCeil
llClearCameraParams
llClearLinkMedia
llClearPrimMedia
llCloseRemoteDataChannel
llCloud
llCollisionFilter
llCollisionSound
llCollisionSprite
llCos
llCreateCharacter
llCreateLink
llDeleteCharacter
llDeleteSubList
llDeleteSubString
llDetachFromAvatar
llDetectedGrab
llDetectedGroup
llDetectedKey
llDetectedLinkNumber
llDetectedName
llDetectedOwner
llDetectedPos
llDetectedRot
llDetectedTouchBinormal
llDetectedTouchFace
llDetectedTouchNormal
llDetectedTouchPos
llDetectedTouchST
llDetectedTouchUV
llDetectedType
llDetectedVel
llDialog
llDie
llDumpList2String
llEdgeOfWorld
llEjectFromLand
llEmail
llEscapeURL
llEuler2Rot
llEvade
llExecCharacterCmd
llFabs
llFleeFrom
llFloor
llForceMouselook
llFrand
llGenerateKey
llGetAccel
llGetAgentInfo
llGetAgentLanguage
llGetAgentList
llGetAgentSize
llGetAlpha
llGetAndResetTime
llGetAnimation
llGetAnimationList
llGetAnimationOverride
llGetAttached
llGetBoundingBox
llGetCameraPos
llGetCameraRot
llGetCenterOfMass
llGetClosestNavPoint
llGetColor
llGetCreator
llGetDate
llGetDisplayName
llGetEnergy
llGetEnv
llGetForce
llGetFreeMemory
llGetFreeURLs
llGetGMTclock
llGetGeometricCenter
llGetHTTPHeader
llGetInventoryCreator
llGetInventoryKey
llGetInventoryName
llGetInventoryNumber
llGetInventoryPermMask
llGetInventoryType
llGetKey
llGetLandOwnerAt
llGetLinkKey
llGetLinkMedia
llGetLinkName
llGetLinkNumber
llGetLinkNumberOfSides
llGetLinkPrimitiveParams
llGetListEntryType
llGetListLength
llGetLocalPos
llGetLocalRot
llGetMass
llGetMassMKS
llGetMemoryLimit
llGetNextEmail
llGetNotecardLine
llGetNumberOfNotecardLines
llGetNumberOfPrims
llGetNumberOfSides
llGetObjectDesc
llGetObjectDetails
llGetObjectMass
llGetObjectName
llGetObjectPermMask
llGetObjectPrimCount
llGetOmega
llGetOwner
llGetOwnerKey
llGetParcelDetails
llGetParcelFlags
llGetParcelMaxPrims
llGetParcelMusicURL
llGetParcelPrimCount
llGetParcelPrimOwners
llGetPermissions
llGetPermissionsKey
llGetPhysicsMaterial
llGetPos
llGetPrimMediaParams
llGetPrimitiveParams
llGetRegionAgentCount
llGetRegionCorner
llGetRegionFPS
llGetRegionFlags
llGetRegionName
llGetRegionTimeDilation
llGetRootPosition
llGetRootRotation
llGetRot
llGetSPMaxMemory
llGetScale
llGetScriptName
llGetScriptState
llGetSimStats
llGetSimulatorHostname
llGetStartParameter
llGetStaticPath
llGetStatus
llGetSubString
llGetSunDirection
llGetTexture
llGetTextureOffset
llGetTextureRot
llGetTextureScale
llGetTime
llGetTimeOfDay
llGetTimestamp
llGetTorque
llGetUnixTime
llGetUsedMemory
llGetUsername
llGetVel
llGetWallclock
llGiveInventory
llGiveInventoryList
llGiveMoney
llGodLikeRezObject
llGround
llGroundContour
llGroundNormal
llGroundRepel
llGroundSlope
llHTTPRequest
llHTTPResponse
llInsertString
llInstantMessage
llIntegerToBase64
llJson2List
llJsonGetValue
llJsonSetValue
llJsonValueType
llKey2Name
llLinkParticleSystem
llLinkSitTarget
llList2CSV
llList2Float
llList2Integer
llList2Json
llList2Key
llList2List
llList2ListStrided
llList2Rot
llList2String
llList2Vector
llListFindList
llListInsertList
llListRandomize
llListReplaceList
llListSort
llListStatistics
llListen
llListenControl
llListenRemove
llLoadURL
llLog
llLog10
llLookAt
llLoopSound
llLoopSoundMaster
llLoopSoundSlave
llMD5String
llMakeExplosion
llMakeFire
llMakeFountain
llMakeSmoke
llManageEstateAccess
llMapDestination
llMessageLinked
llMinEventDelay
llModPow
llModifyLand
llMoveToTarget
llNavigateTo
llOffsetTexture
llOpenRemoteDataChannel
llOverMyLand
llOwnerSay
llParcelMediaCommandList
llParcelMediaQuery
llParseString2List
llParseStringKeepNulls
llParticleSystem
llPassCollisions
llPassTouches
llPatrolPoints
llPlaySound
llPlaySoundSlave
llPow
llPreloadSound
llPursue
llPushObject
llRefreshPrimURL
llRegionSay
llRegionSayTo
llReleaseCamera
llReleaseControls
llReleaseURL
llRemoteDataReply
llRemoteDataSetRegion
llRemoteLoadScriptPin
llRemoveFromLandBanList
llRemoveFromLandPassList
llRemoveInventory
llRemoveVehicleFlags
llRequestAgentData
llRequestDisplayName
llRequestInventoryData
llRequestPermissions
llRequestSecureURL
llRequestSimulatorData
llRequestURL
llRequestUsername
llResetAnimationOverride
llResetLandBanList
llResetLandPassList
llResetOtherScript
llResetScript
llResetTime
llReturnObjectsByID
llReturnObjectsByOwner
llRezAtRoot
llRezObject
llRot2Angle
llRot2Axis
llRot2Euler
llRot2Fwd
llRot2Left
llRot2Up
llRotBetween
llRotLookAt
llRotTarget
llRotTargetRemove
llRotateTexture
llRound
llSHA1String
llSameGroup
llSay
llScaleTexture
llScriptDanger
llScriptProfiler
llSendRemoteData
llSensor
llSensorRemove
llSensorRepeat
llSetAlpha
llSetAngularVelocity
llSetAnimationOverride
llSetBuoyancy
llSetCameraAtOffset
llSetLinkCamera
llSetCameraEyeOffset
llSetCameraParams
llSetClickAction
llSetColor
llSetContentType
llSetDamage
llSetForce
llSetForceAndTorque
llSetHoverHeight
llSetInventoryPermMask
llSetKeyframedMotion
llSetLinkAlpha
llSetLinkColor
llSetLinkMedia
llSetLinkTexture
llSetLinkTextureAnim
llSetLocalRot
llSetMemoryLimit
llSetObjectDesc
llSetObjectName
llSetObjectPermMask
llSetParcelMusicURL
llSetPayPrice
llSetPhysicsMaterial
llSetPos
llSetPrimMediaParams
llSetPrimURL
llSetPrimitiveParams
llSetLinkPrimitiveParams
llSetLinkPrimitiveParamsFast
llSetRegionPos
llSetRemoteScriptAccessPin
llSetRot
llSetScale
llSetScriptState
llSetSitText
llSetSoundQueueing
llSetSoundRadius
llSetStatus
llSetText
llSetTexture
llSetTextureAnim
llSetTimerEvent
llSetTorque
llSetTouchText
llSetVehicleFlags
llSetVehicleFloatParam
llSetVehicleRotationParam
llSetVehicleType
llSetVehicleVectorParam
llSetVelocity
llShout
llSin
llSitTarget
llSleep
llSound
llSoundPreload
llSqrt
llStartAnimation
llStopAnimation
llStopHover
llStopLookAt
llStopMoveToTarget
llStopSound
llStringLength
llStringToBase64
llStringTrim
llSubStringIndex
llTakeCamera
llTakeControls
llTan
llTarget
llTargetOmega
llTargetRemove
llTeleportAgent
llTeleportAgentGlobalCoords
llTeleportAgentHome
llTextBox
llToLower
llToUpper
llTransferLindenDollars
llTriggerSound
llTriggerSoundLimited
llUnSit
llUnescapeURL
llUpdateCharacter
llVecDist
llVecMag
llVecNorm
llVolumeDetect
llWanderWithin
llWater
llWhisper
llWind
llXorBase64
llXorBase64StringsCorrect
llXorBase64Strings
// Events
at_rot_target
at_target
attach
changed
collision
collision_end
collision_start
control
dataserver
email
http_request
http_response
land_collision
land_collision_end
land_collision_start
link_message
listen
money
moving_end
moving_start
no_sensor
not_at_rot_target
not_at_target
object_rez
on_rez
path_update
remote_data
run_time_permissions
sensor
state_entry
state_exit
timer
touch
touch_end
touch_start
transaction_result
// Operators
()
[]
! ~ ++ --
* / %
- +
<< >>
< <= > >= == !=
& ^ | || &&
= += -= *= /= %=
// Constants
ACTIVE
AGENT
AGENT_ALWAYS_RUN
AGENT_ATTACHMENTS
AGENT_AUTOPILOT
AGENT_AWAY
AGENT_BUSY
AGENT_BY_LEGACY_NAME
AGENT_BY_USERNAME
AGENT_CROUCHING
AGENT_FLYING
AGENT_IN_AIR
AGENT_LIST_PARCEL
AGENT_LIST_PARCEL_OWNER
AGENT_LIST_REGION
AGENT_MOUSELOOK
AGENT_ON_OBJECT
AGENT_SCRIPTED
AGENT_SITTING
AGENT_TYPING
AGENT_WALKING
ALL_SIDES
ANIM_ON
ATTACH_AVATAR_CENTER
ATTACH_BACK
ATTACH_BELLY
ATTACH_CHEST
ATTACH_CHIN
ATTACH_HEAD
ATTACH_HUD_BOTTOM
ATTACH_HUD_BOTTOM_LEFT
ATTACH_HUD_BOTTOM_RIGHT
ATTACH_HUD_CENTER_1
ATTACH_HUD_CENTER_2
ATTACH_HUD_TOP_CENTER
ATTACH_HUD_TOP_LEFT
ATTACH_HUD_TOP_RIGHT
ATTACH_LEAR
ATTACH_LEFT_PEC
ATTACH_LEYE
ATTACH_LFOOT
ATTACH_LHAND
ATTACH_LHIP
ATTACH_LLARM
ATTACH_LLLEG
ATTACH_LSHOULDER
ATTACH_LUARM
ATTACH_LULEG
ATTACH_MOUTH
ATTACH_NECK
ATTACH_NOSE
ATTACH_PELVIS
ATTACH_REAR
ATTACH_REYE
ATTACH_RFOOT
ATTACH_RHAND
ATTACH_RHIP
ATTACH_RIGHT_PEC
ATTACH_RLARM
ATTACH_RLLEG
ATTACH_RSHOULDER
ATTACH_RUARM
ATTACH_RULEG
CAMERA_ACTIVE
CAMERA_BEHINDNESS_ANGLE
CAMERA_BEHINDNESS_LAG
CAMERA_DISTANCE
CAMERA_FOCUS
CAMERA_FOCUS_LAG
CAMERA_FOCUS_LOCKED
CAMERA_FOCUS_OFFSET
CAMERA_FOCUS_THRESHOLD
CAMERA_PITCH
CAMERA_POSITION
CAMERA_POSITION_LAG
CAMERA_POSITION_LOCKED
CAMERA_POSITION_THRESHOLD
CHANGED_ALLOWED_DROP
CHANGED_COLOR
CHANGED_INVENTORY
CHANGED_LINK
CHANGED_MEDIA
CHANGED_OWNER
CHANGED_REGION
CHANGED_REGION_START
CHANGED_SCALE
CHANGED_SHAPE
CHANGED_TELEPORT
CHANGED_TEXTURE
CHARACTER_ACCOUNT_FOR_SKIPPED_FRAMES
CHARACTER_AVOIDANCE_MODE
CHARACTER_DESIRED_SPEED
CHARACTER_DESIRED_TURN_SPEED
CHARACTER_LENGTH
CHARACTER_MAX_ACCEL
CHARACTER_MAX_DECEL
CHARACTER_MAX_SPEED
CHARACTER_MAX_TURN_RADIUS
CHARACTER_ORIENTATION
CHARACTER_RADIUS
CHARACTER_STAY_WITHIN_PARCEL
CHARACTER_TYPE
CHARACTER_TYPE_A
CHARACTER_TYPE_B
CHARACTER_TYPE_C
CHARACTER_TYPE_D
CHARACTER_TYPE_NONE
CLICK_ACTION_BUY
CLICK_ACTION_NONE
CLICK_ACTION_OPEN
CLICK_ACTION_OPEN_MEDIA
CLICK_ACTION_PAY
CLICK_ACTION_PLAY
CLICK_ACTION_SIT
CLICK_ACTION_TOUCH
CONTROL_BACK
CONTROL_DOWN
CONTROL_FWD
CONTROL_LBUTTON
CONTROL_LEFT
CONTROL_ML_LBUTTON
CONTROL_RIGHT
CONTROL_ROT_LEFT
CONTROL_ROT_RIGHT
CONTROL_UP
DATA_BORN
DATA_NAME
DATA_ONLINE
DATA_PAYINFO
DATA_RATING
DATA_SIM_POS
DATA_SIM_RATING
DATA_SIM_STATUS
DEBUG_CHANNEL
DEG_TO_RAD
EOF
ERR_GENERIC
ERR_MALFORMED_PARAMS
ERR_PARCEL_PERMISSIONS
ERR_RUNTIME_PERMISSIONS
ERR_THROTTLED
ESTATE_ACCESS_ALLOWED_AGENT_ADD
ESTATE_ACCESS_ALLOWED_AGENT_REMOVE
ESTATE_ACCESS_ALLOWED_GROUP_ADD
ESTATE_ACCESS_ALLOWED_GROUP_REMOVE
ESTATE_ACCESS_BANNED_AGENT_ADD
ESTATE_ACCESS_BANNED_AGENT_REMOVE
FALSE
HORIZONTAL
HTTP_BODY_MAXLENGTH
HTTP_BODY_TRUNCATED
HTTP_CUSTOM_HEADER
HTTP_METHOD
HTTP_MIMETYPE
HTTP_PRAGMA_NO_CACHE
HTTP_VERBOSE_THROTTLE
HTTP_VERIFY_CERT
INVENTORY_ALL
INVENTORY_ANIMATION
INVENTORY_BODYPART
INVENTORY_CLOTHING
INVENTORY_GESTURE
INVENTORY_LANDMARK
INVENTORY_NONE
INVENTORY_NOTECARD
INVENTORY_OBJECT
INVENTORY_SCRIPT
INVENTORY_SOUND
INVENTORY_TEXTURE
JSON_APPEND
JSON_ARRAY
JSON_DELETE
JSON_FALSE
JSON_INVALID
JSON_NULL
JSON_NUMBER
JSON_OBJECT
JSON_STRING
JSON_TRUE
KFM_CMD_PAUSE
KFM_CMD_PLAY
KFM_CMD_STOP
KFM_COMMAND
KFM_DATA
KFM_FORWARD
KFM_LOOP
KFM_MODE
KFM_PING_PONG
KFM_REVERSE
KFM_ROTATION
KFM_TRANSLATION
LAND_LEVEL
LAND_LOWER
LAND_NOISE
LAND_RAISE
LAND_REVERT
LAND_SMOOTH
LINK_ALL_CHILDREN
LINK_ALL_OTHERS
LINK_ROOT
LINK_SET
LINK_THIS
LIST_STAT_GEOMETRIC_MEAN
LIST_STAT_MAX
LIST_STAT_MEAN
LIST_STAT_MEDIAN
LIST_STAT_MIN
LIST_STAT_NUM_COUNT
LIST_STAT_RANGE
LIST_STAT_STD_DEV
LIST_STAT_SUM
LIST_STAT_SUM_SQUARES
LOOP
MASK_BASE
MASK_EVERYONE
MASK_GROUP
MASK_NEXT
MASK_OWNER
NULL_KEY
OBJECT_ATTACHED_POINT
OBJECT_CHARACTER_TIME
OBJECT_CREATOR
OBJECT_DESC
OBJECT_GROUP
OBJECT_NAME
OBJECT_OWNER
OBJECT_PATHFINDING_TYPE
OBJECT_PHANTOM
OBJECT_PHYSICS
OBJECT_PHYSICS_COST
OBJECT_POS
OBJECT_PRIM_EQUIVALENCE
OBJECT_RENDER_WEIGHT
OBJECT_RETURN_PARCEL
OBJECT_RETURN_PARCEL_OWNER
OBJECT_RETURN_REGION
OBJECT_ROOT
OBJECT_ROT
OBJECT_RUNNING_SCRIPT_COUNT
OBJECT_SCRIPT_MEMORY
OBJECT_SCRIPT_TIME
OBJECT_SERVER_COST
OBJECT_STREAMING_COST
OBJECT_TEMP_ON_REZ
OBJECT_TOTAL_SCRIPT_COUNT
OBJECT_UNKNOWN_DETAIL
OBJECT_VELOCITY
OPT_CHARACTER
OPT_AVATAR
OPT_EXCLUSION_VOLUME
OPT_LEGACY_LINKSET
OPT_MATERIAL_VOLUME
OPT_OTHER
OPT_STATIC_OBSTACLE
OPT_WALKABLE
PARCEL_COUNT_GROUP
PARCEL_COUNT_OTHER
PARCEL_COUNT_OWNER
PARCEL_COUNT_SELECTED
PARCEL_COUNT_TEMP
PARCEL_COUNT_TOTAL
PARCEL_DETAILS_AREA
PARCEL_DETAILS_DESC
PARCEL_DETAILS_GROUP
PARCEL_DETAILS_ID
PARCEL_DETAILS_NAME
PARCEL_DETAILS_OWNER
PARCEL_DETAILS_SEE_AVATARS
PARCEL_FLAG_ALLOW_ALL_OBJECT_ENTRY
PARCEL_FLAG_ALLOW_CREATE_GROUP_OBJECTS
PARCEL_FLAG_ALLOW_CREATE_OBJECTS
PARCEL_FLAG_ALLOW_DAMAGE
PARCEL_FLAG_ALLOW_FLY
PARCEL_FLAG_ALLOW_GROUP_OBJECT_ENTRY
PARCEL_FLAG_ALLOW_GROUP_SCRIPTS
PARCEL_FLAG_ALLOW_LANDMARK
PARCEL_FLAG_ALLOW_SCRIPTS
PARCEL_FLAG_ALLOW_TERRAFORM
PARCEL_FLAG_LOCAL_SOUND_ONLY
PARCEL_FLAG_RESTRICT_PUSHOBJECT
PARCEL_FLAG_USE_ACCESS_GROUP
PARCEL_FLAG_USE_ACCESS_LIST
PARCEL_FLAG_USE_BAN_LIST
PARCEL_FLAG_USE_LAND_PASS_LIST
PARCEL_MEDIA_COMMAND_AGENT
PARCEL_MEDIA_COMMAND_AUTO_ALIGN
PARCEL_MEDIA_COMMAND_DESC
PARCEL_MEDIA_COMMAND_LOOP
PARCEL_MEDIA_COMMAND_LOOP_SET
PARCEL_MEDIA_COMMAND_PAUSE
PARCEL_MEDIA_COMMAND_PLAY
PARCEL_MEDIA_COMMAND_SIZE
PARCEL_MEDIA_COMMAND_STOP
PARCEL_MEDIA_COMMAND_TEXTURE
PARCEL_MEDIA_COMMAND_TIME
PARCEL_MEDIA_COMMAND_TYPE
PARCEL_MEDIA_COMMAND_UNLOAD
PARCEL_MEDIA_COMMAND_URL
PASSIVE
PATROL_PAUSE_AT_WAYPOINTS
PAYMENT_INFO_ON_FILE
PAYMENT_INFO_USED
PAY_DEFAULT
PAY_HIDE
PERMISSION_ATTACH
PERMISSION_CHANGE_LINKS
PERMISSION_CONTROL_CAMERA
PERMISSION_DEBIT
PERMISSION_OVERRIDE_ANIMATIONS
PERMISSION_RETURN_OBJECTS
PERMISSION_SILENT_ESTATE_MANAGEMENT
PERMISSION_TAKE_CONTROLS
PERMISSION_TELEPORT
PERMISSION_TRACK_CAMERA
PERMISSION_TRIGGER_ANIMATION
PERM_ALL
PERM_COPY
PERM_MODIFY
PERM_MOVE
PERM_TRANSFER
PI
PING_PONG
PI_BY_TWO
PRIM_BUMP_BARK
PRIM_BUMP_BLOBS
PRIM_BUMP_BRICKS
PRIM_BUMP_BRIGHT
PRIM_BUMP_CHECKER
PRIM_BUMP_CONCRETE
PRIM_BUMP_DARK
PRIM_BUMP_DISKS
PRIM_BUMP_GRAVEL
PRIM_BUMP_LARGETILE
PRIM_BUMP_NONE
PRIM_BUMP_SHINY
PRIM_BUMP_SIDING
PRIM_BUMP_STONE
PRIM_BUMP_STUCCO
PRIM_BUMP_SUCTION
PRIM_BUMP_TILE
PRIM_BUMP_WEAVE
PRIM_BUMP_WOOD
PRIM_COLOR
PRIM_DESC
PRIM_FLEXIBLE
PRIM_FULLBRIGHT
PRIM_GLOW
PRIM_HOLE_CIRCLE
PRIM_HOLE_DEFAULT
PRIM_HOLE_SQUARE
PRIM_HOLE_TRIANGLE
PRIM_LINK_TARGET
PRIM_MATERIAL
PRIM_MATERIAL_FLESH
PRIM_MATERIAL_GLASS
PRIM_MATERIAL_LIGHT
PRIM_MATERIAL_METAL
PRIM_MATERIAL_PLASTIC
PRIM_MATERIAL_RUBBER
PRIM_MATERIAL_STONE
PRIM_MATERIAL_WOOD
PRIM_MEDIA_ALT_IMAGE_ENABLE
PRIM_MEDIA_AUTO_LOOP
PRIM_MEDIA_AUTO_PLAY
PRIM_MEDIA_AUTO_SCALE
PRIM_MEDIA_AUTO_ZOOM
PRIM_MEDIA_CURRENT_URL
PRIM_MEDIA_FIRST_CLICK_INTERACT
PRIM_MEDIA_HEIGHT_PIXELS
PRIM_MEDIA_HOME_URL
PRIM_MEDIA_PERMS_CONTROL
PRIM_MEDIA_PERMS_INTERACT
PRIM_MEDIA_PERM_ANYONE
PRIM_MEDIA_PERM_GROUP
PRIM_MEDIA_PERM_NONE
PRIM_MEDIA_PERM_OWNER
PRIM_MEDIA_WHITELIST
PRIM_MEDIA_WHITELIST_ENABLE
PRIM_MEDIA_WIDTH_PIXELS
PRIM_NAME
PRIM_OMEGA
PRIM_PHANTOM
PRIM_PHYSICS
PRIM_PHYSICS_SHAPE_CONVEX
PRIM_PHYSICS_SHAPE_NONE
PRIM_PHYSICS_SHAPE_PRIM
PRIM_PHYSICS_SHAPE_TYPE
PRIM_POINT_LIGHT
PRIM_POSITION
PRIM_POS_LOCAL
PRIM_ROTATION
PRIM_ROT_LOCAL
PRIM_SCULPT_FLAG_INVERT
PRIM_SCULPT_FLAG_MIRROR
PRIM_SCULPT_TYPE_CYLINDER
PRIM_SCULPT_TYPE_MASK
PRIM_SCULPT_TYPE_PLANE
PRIM_SCULPT_TYPE_SPHERE
PRIM_SCULPT_TYPE_TORUS
PRIM_SHINY_HIGH
PRIM_SHINY_LOW
PRIM_SHINY_MEDIUM
PRIM_SHINY_NONE
PRIM_SIZE
PRIM_SLICE
PRIM_TEMP_ON_REZ
PRIM_TEXGEN
PRIM_TEXGEN_DEFAULT
PRIM_TEXGEN_PLANAR
PRIM_TEXT
PRIM_TEXTURE
PRIM_TYPE
PRIM_TYPE_BOX
PRIM_TYPE_CYLINDER
PRIM_TYPE_PRISM
PRIM_TYPE_RING
PRIM_TYPE_SCULPT
PRIM_TYPE_SPHERE
PRIM_TYPE_TORUS
PRIM_TYPE_TUBE
PROFILE_NONE
PROFILE_SCRIPT_MEMORY
PUBLIC_CHANNEL
RAD_TO_DEG
RCERR_CAST_TIME_EXCEEDED
RCERR_SIM_PERF_LOW
RCERR_UNKNOWN
RC_DATA_FLAGS
RC_DETECT_PHANTOM
RC_GET_LINK_NUM
RC_GET_NORMAL
RC_GET_ROOT_KEY
RC_MAX_HITS
RC_REJECT_AGENTS
RC_REJECT_LAND
RC_REJECT_NONPHYSICAL
RC_REJECT_PHYSICAL
RC_REJECT_TYPES
REGION_FLAG_ALLOW_DAMAGE
REGION_FLAG_ALLOW_DIRECT_TELEPORT
REGION_FLAG_BLOCK_FLY
REGION_FLAG_BLOCK_TERRAFORM
REGION_FLAG_DISABLE_COLLISIONS
REGION_FLAG_DISABLE_PHYSICS
REGION_FLAG_FIXED_SUN
REGION_FLAG_RESTRICT_PUSHOBJECT
REGION_FLAG_SANDBOX
REMOTE_DATA_CHANNEL
REMOTE_DATA_REPLY
REMOTE_DATA_REQUEST
REVERSE
ROTATE
SCALE
SCRIPTED
SIM_STAT_PCT_CHARS_STEPPED
SMOOTH
SQRT2
STATUS_BLOCK_GRAB
STATUS_BLOCK_GRAB_OBJECT
STATUS_BOUNDS_ERROR
STATUS_CAST_SHADOWS
STATUS_DIE_AT_EDGE
STATUS_INTERNAL_ERROR
STATUS_MALFORMED_PARAMS
STATUS_NOT_FOUND
STATUS_NOT_SUPPORTED
STATUS_OK
STATUS_PHANTOM
STATUS_PHYSICS
STATUS_RETURN_AT_EDGE
STATUS_ROTATE_X
STATUS_ROTATE_Y
STATUS_ROTATE_Z
STATUS_SANDBOX
STATUS_TYPE_MISMATCH
STATUS_WHITELIST_FAILED
STRING_TRIM
STRING_TRIM_HEAD
STRING_TRIM_TAIL
TEXTURE_DEFAULT
TEXTURE_BLANK
TEXTURE_MEDIA
TEXTURE_PLYWOOD
TEXTURE_TRANSPARENT
TOUCH_INVALID_FACE
TOUCH_INVALID_TEXCOORD
TOUCH_INVALID_VECTOR
TRAVERSAL_TYPE
TRUE
TWO_PI
TYPE_FLOAT
TYPE_INTEGER
TYPE_INVALID
TYPE_KEY
TYPE_ROTATION
TYPE_STRING
TYPE_VECTOR
URL_REQUEST_DENIED
URL_REQUEST_GRANTED
VEHICLE_ANGULAR_DEFLECTION_EFFICIENCY
VEHICLE_ANGULAR_DEFLECTION_TIMESCALE
VEHICLE_ANGULAR_FRICTION_TIMESCALE
VEHICLE_ANGULAR_MOTOR_DECAY_TIMESCALE
VEHICLE_ANGULAR_MOTOR_DIRECTION
VEHICLE_ANGULAR_MOTOR_TIMESCALE
VEHICLE_BANKING_EFFICIENCY
VEHICLE_BANKING_MIX
VEHICLE_BANKING_TIMESCALE
VEHICLE_BUOYANCY
VEHICLE_FLAG_CAMERA_DECOUPLED
VEHICLE_FLAG_HOVER_GLOBAL_HEIGHT
VEHICLE_FLAG_HOVER_TERRAIN_ONLY
VEHICLE_FLAG_HOVER_UP_ONLY
VEHICLE_FLAG_HOVER_WATER_ONLY
VEHICLE_FLAG_LIMIT_MOTOR_UP
VEHICLE_FLAG_LIMIT_ROLL_ONLY
VEHICLE_FLAG_MOUSELOOK_BANK
VEHICLE_FLAG_MOUSELOOK_STEER
VEHICLE_FLAG_NO_DEFLECTION_UP
VEHICLE_HOVER_EFFICIENCY
VEHICLE_HOVER_HEIGHT
VEHICLE_HOVER_TIMESCALE
VEHICLE_LINEAR_DEFLECTION_EFFICIENCY
VEHICLE_LINEAR_DEFLECTION_TIMESCALE
VEHICLE_LINEAR_FRICTION_TIMESCALE
VEHICLE_LINEAR_MOTOR_DECAY_TIMESCALE
VEHICLE_LINEAR_MOTOR_DIRECTION
VEHICLE_LINEAR_MOTOR_OFFSET
VEHICLE_LINEAR_MOTOR_TIMESCALE
VEHICLE_REFERENCE_FRAME
VEHICLE_TYPE_AIRPLANE
VEHICLE_TYPE_BALLOON
VEHICLE_TYPE_BOAT
VEHICLE_TYPE_CAR
VEHICLE_TYPE_NONE
VEHICLE_TYPE_SLED
VEHICLE_VERTICAL_ATTRACTION_EFFICIENCY
VEHICLE_VERTICAL_ATTRACTION_TIMESCALE
VERTICAL
ZERO_ROTATION
ZERO_VECTOR
// Flow control
default
do while
else
for
if
jump
return
state
while
Log messages when keywords are not cached:
2014-04-25T18:26:35Z INFO: fetchKeywordsFileResponder: Instantiating with file saving to: '/Users/maestro/Library/Caches/SecondLife/keywords_lsl_1270a0c5-7bf7-19ca-0cb3-7957efbff306.llsd.xml'
2014-04-25T18:26:35Z INFO: fetchKeywordsFile: LSLSyntaxId capability URL is: https://sim3014.aditi.lindenlab.com:12043/cap/2d347b1b-bc1e-d907-89ea-41233bc5f051. Filename to use is: '/Users/maestro/Library/Caches/SecondLife/keywords_lsl_1270a0c5-7bf7-19ca-0cb3-7957efbff306.llsd.xml'.
2014-04-25T18:26:35Z INFO: onRegionChangeInitialiseKeywords: Hashes are different, updating highlighter.
2014-04-25T18:26:35Z INFO: openFloater: Opening floater preview lsl text full path: /main_view/menu_stack/world_panel/Floater View/preview lsl text
2014-04-25T18:26:36Z INFO: isSupportedVersion: Syntax file version: 2
2014-04-25T18:26:36Z INFO: result: Supported verson of syntax file.
2014-04-25T18:26:36Z INFO: cacheFile: Syntax file received, saving as: '/Users/maestro/Library/Caches/SecondLife/keywords_lsl_1270a0c5-7bf7-19ca-0cb3-7957efbff306.llsd.xml'
Log messages when keywords are cached:
2014-04-25T18:46:02Z INFO: checkSyntaxIdChanged: It has LSLSyntaxId capability, and the new hash is '1270a0c5-7bf7-19ca-0cb3-7957efbff306'
2014-04-25T18:46:02Z INFO: initialise: LSL version has changed, getting appropriate file.
2014-04-25T18:46:02Z INFO: initialise: File is cached, no need to download!
2014-04-25T18:46:02Z INFO: loadKeywordsIntoLLSD: Trying to open cached or default keyword file ;-)
2014-04-25T18:46:02Z INFO: isSupportedVersion: Syntax file version: 2
2014-04-25T18:46:02Z INFO: loadKeywordsIntoLLSD: Deserialised file: /Users/maestro/Library/Caches/SecondLife/keywords_lsl_1270a0c5-7bf7-19ca-0cb3-7957efbff306.llsd.xml
ShowClear your SL settings directory Login with a viewer that supports this change Create a new script in your inventory, and save the text from ‘LSL keywords test file’ in it (this script doesn't compile, but contains all the keywords you need to highlight) Watch the viewer logs, and verify that you see log messages resembling the ‘Log messages when keywords are not cached’ text below In your LSL script window, verify the following highlights: Commented text (following '//' or within '/* */') is colored orange "NotAKeyword" should not be highlighted (should be black), and should have no tooltip Data type keywords are colored light green, and have appropriate-looking tooltips when your cursor hovers over them Function keywords (e.g. 'llAbs') are highlighted, and have appropriate-looking tooltips, describing how the function works Function highlight colors Functions which require god ability (e.g. llGodLikeRezObject()) should be salmon Functions which are deprecated (e.g. llMakeExplosion()) should be fuchsia Most functions should be purple If in doubt about an LSL function definition, look at wiki.secondlife.com for the spec Pay special attention to functions such as 'llAttachToAvatarTemp', which were previously unknown to the viewer and thus not highlighted Any content errors in the tooltips should be noted as a server-side bug, as the server now provides the keywords file Event keywords should be light blue, and have appropriate-looking tooltips Operators should be black Constants keywords should be highlighted some color, and have appropriate-looking tooltips (PEQA ignore this section for now) integer-type constants (e.g DEBUG_CHANNEL) should be highlighted dark blue float-type constants (e.g. DEG_TO_RAD) should be highlighted ___ string-type constants (e.g. EOF) should be highlighted ___ key-type constants (e.g. TEXTURE_DEFAULT) should be highlighted ___ rotation-type constants (e.g. ZERO_ROTATION) should be highlighted ___ vector-type constants (e.g. ZERO_VECTOR) should be highlighted ___ With the fix for STORM-2026 , we can hopefully fill in the blanks. Flow Control keywords should be highlighted blue, and have appropriate-looking tooltips Quit the viewer, then log back in Reopen the keywords test script Watch the viewer logs, and verify that you see log messages resembling the ‘Log messages when keywords are cached’ text below (indicating that the syntax file was loaded from disk instead of downloaded from the server) LSL keywords test file: /* LSL all-keywords has a bunch of keywords for STORM-1831 testing */ NotAKeyword // Data types float integer key list rotation string vector // Functions llAbs llAcos llAddToLandBanList llAddToLandPassList llAdjustSoundVolume llAllowInventoryDrop llAngleBetween llApplyImpulse llApplyRotationalImpulse llAsin llAtan2 llAttachToAvatar llAttachToAvatarTemp llAvatarOnLinkSitTarget llAvatarOnSitTarget llAxes2Rot llAxisAngle2Rot llBase64ToInteger llBase64ToString llBreakAllLinks llBreakLink llCSV2List llCastRay llCeil llClearCameraParams llClearLinkMedia llClearPrimMedia llCloseRemoteDataChannel llCloud llCollisionFilter llCollisionSound llCollisionSprite llCos llCreateCharacter llCreateLink llDeleteCharacter llDeleteSubList llDeleteSubString llDetachFromAvatar llDetectedGrab llDetectedGroup llDetectedKey llDetectedLinkNumber llDetectedName llDetectedOwner llDetectedPos llDetectedRot llDetectedTouchBinormal llDetectedTouchFace llDetectedTouchNormal llDetectedTouchPos llDetectedTouchST llDetectedTouchUV llDetectedType llDetectedVel llDialog llDie llDumpList2String llEdgeOfWorld llEjectFromLand llEmail llEscapeURL llEuler2Rot llEvade llExecCharacterCmd llFabs llFleeFrom llFloor llForceMouselook llFrand llGenerateKey llGetAccel llGetAgentInfo llGetAgentLanguage llGetAgentList llGetAgentSize llGetAlpha llGetAndResetTime llGetAnimation llGetAnimationList llGetAnimationOverride llGetAttached llGetBoundingBox llGetCameraPos llGetCameraRot llGetCenterOfMass llGetClosestNavPoint llGetColor llGetCreator llGetDate llGetDisplayName llGetEnergy llGetEnv llGetForce llGetFreeMemory llGetFreeURLs llGetGMTclock llGetGeometricCenter llGetHTTPHeader llGetInventoryCreator llGetInventoryKey llGetInventoryName llGetInventoryNumber llGetInventoryPermMask llGetInventoryType llGetKey llGetLandOwnerAt llGetLinkKey llGetLinkMedia llGetLinkName llGetLinkNumber llGetLinkNumberOfSides llGetLinkPrimitiveParams llGetListEntryType llGetListLength llGetLocalPos llGetLocalRot llGetMass llGetMassMKS llGetMemoryLimit llGetNextEmail llGetNotecardLine llGetNumberOfNotecardLines llGetNumberOfPrims llGetNumberOfSides llGetObjectDesc llGetObjectDetails llGetObjectMass llGetObjectName llGetObjectPermMask llGetObjectPrimCount llGetOmega llGetOwner llGetOwnerKey llGetParcelDetails llGetParcelFlags llGetParcelMaxPrims llGetParcelMusicURL llGetParcelPrimCount llGetParcelPrimOwners llGetPermissions llGetPermissionsKey llGetPhysicsMaterial llGetPos llGetPrimMediaParams llGetPrimitiveParams llGetRegionAgentCount llGetRegionCorner llGetRegionFPS llGetRegionFlags llGetRegionName llGetRegionTimeDilation llGetRootPosition llGetRootRotation llGetRot llGetSPMaxMemory llGetScale llGetScriptName llGetScriptState llGetSimStats llGetSimulatorHostname llGetStartParameter llGetStaticPath llGetStatus llGetSubString llGetSunDirection llGetTexture llGetTextureOffset llGetTextureRot llGetTextureScale llGetTime llGetTimeOfDay llGetTimestamp llGetTorque llGetUnixTime llGetUsedMemory llGetUsername llGetVel llGetWallclock llGiveInventory llGiveInventoryList llGiveMoney llGodLikeRezObject llGround llGroundContour llGroundNormal llGroundRepel llGroundSlope llHTTPRequest llHTTPResponse llInsertString llInstantMessage llIntegerToBase64 llJson2List llJsonGetValue llJsonSetValue llJsonValueType llKey2Name llLinkParticleSystem llLinkSitTarget llList2CSV llList2Float llList2Integer llList2Json llList2Key llList2List llList2ListStrided llList2Rot llList2String llList2Vector llListFindList llListInsertList llListRandomize llListReplaceList llListSort llListStatistics llListen llListenControl llListenRemove llLoadURL llLog llLog10 llLookAt llLoopSound llLoopSoundMaster llLoopSoundSlave llMD5String llMakeExplosion llMakeFire llMakeFountain llMakeSmoke llManageEstateAccess llMapDestination llMessageLinked llMinEventDelay llModPow llModifyLand llMoveToTarget llNavigateTo llOffsetTexture llOpenRemoteDataChannel llOverMyLand llOwnerSay llParcelMediaCommandList llParcelMediaQuery llParseString2List llParseStringKeepNulls llParticleSystem llPassCollisions llPassTouches llPatrolPoints llPlaySound llPlaySoundSlave llPow llPreloadSound llPursue llPushObject llRefreshPrimURL llRegionSay llRegionSayTo llReleaseCamera llReleaseControls llReleaseURL llRemoteDataReply llRemoteDataSetRegion llRemoteLoadScriptPin llRemoveFromLandBanList llRemoveFromLandPassList llRemoveInventory llRemoveVehicleFlags llRequestAgentData llRequestDisplayName llRequestInventoryData llRequestPermissions llRequestSecureURL llRequestSimulatorData llRequestURL llRequestUsername llResetAnimationOverride llResetLandBanList llResetLandPassList llResetOtherScript llResetScript llResetTime llReturnObjectsByID llReturnObjectsByOwner llRezAtRoot llRezObject llRot2Angle llRot2Axis llRot2Euler llRot2Fwd llRot2Left llRot2Up llRotBetween llRotLookAt llRotTarget llRotTargetRemove llRotateTexture llRound llSHA1String llSameGroup llSay llScaleTexture llScriptDanger llScriptProfiler llSendRemoteData llSensor llSensorRemove llSensorRepeat llSetAlpha llSetAngularVelocity llSetAnimationOverride llSetBuoyancy llSetCameraAtOffset llSetLinkCamera llSetCameraEyeOffset llSetCameraParams llSetClickAction llSetColor llSetContentType llSetDamage llSetForce llSetForceAndTorque llSetHoverHeight llSetInventoryPermMask llSetKeyframedMotion llSetLinkAlpha llSetLinkColor llSetLinkMedia llSetLinkTexture llSetLinkTextureAnim llSetLocalRot llSetMemoryLimit llSetObjectDesc llSetObjectName llSetObjectPermMask llSetParcelMusicURL llSetPayPrice llSetPhysicsMaterial llSetPos llSetPrimMediaParams llSetPrimURL llSetPrimitiveParams llSetLinkPrimitiveParams llSetLinkPrimitiveParamsFast llSetRegionPos llSetRemoteScriptAccessPin llSetRot llSetScale llSetScriptState llSetSitText llSetSoundQueueing llSetSoundRadius llSetStatus llSetText llSetTexture llSetTextureAnim llSetTimerEvent llSetTorque llSetTouchText llSetVehicleFlags llSetVehicleFloatParam llSetVehicleRotationParam llSetVehicleType llSetVehicleVectorParam llSetVelocity llShout llSin llSitTarget llSleep llSound llSoundPreload llSqrt llStartAnimation llStopAnimation llStopHover llStopLookAt llStopMoveToTarget llStopSound llStringLength llStringToBase64 llStringTrim llSubStringIndex llTakeCamera llTakeControls llTan llTarget llTargetOmega llTargetRemove llTeleportAgent llTeleportAgentGlobalCoords llTeleportAgentHome llTextBox llToLower llToUpper llTransferLindenDollars llTriggerSound llTriggerSoundLimited llUnSit llUnescapeURL llUpdateCharacter llVecDist llVecMag llVecNorm llVolumeDetect llWanderWithin llWater llWhisper llWind llXorBase64 llXorBase64StringsCorrect llXorBase64Strings // Events at_rot_target at_target attach changed collision collision_end collision_start control dataserver email http_request http_response land_collision land_collision_end land_collision_start link_message listen money moving_end moving_start no_sensor not_at_rot_target not_at_target object_rez on_rez path_update remote_data run_time_permissions sensor state_entry state_exit timer touch touch_end touch_start transaction_result // Operators () [] ! ~ ++ -- * / % - + << >> < <= > >= == != & ^ | || && = += -= *= /= %= // Constants ACTIVE AGENT AGENT_ALWAYS_RUN AGENT_ATTACHMENTS AGENT_AUTOPILOT AGENT_AWAY AGENT_BUSY AGENT_BY_LEGACY_NAME AGENT_BY_USERNAME AGENT_CROUCHING AGENT_FLYING AGENT_IN_AIR AGENT_LIST_PARCEL AGENT_LIST_PARCEL_OWNER AGENT_LIST_REGION AGENT_MOUSELOOK AGENT_ON_OBJECT AGENT_SCRIPTED AGENT_SITTING AGENT_TYPING AGENT_WALKING ALL_SIDES ANIM_ON ATTACH_AVATAR_CENTER ATTACH_BACK ATTACH_BELLY ATTACH_CHEST ATTACH_CHIN ATTACH_HEAD ATTACH_HUD_BOTTOM ATTACH_HUD_BOTTOM_LEFT ATTACH_HUD_BOTTOM_RIGHT ATTACH_HUD_CENTER_1 ATTACH_HUD_CENTER_2 ATTACH_HUD_TOP_CENTER ATTACH_HUD_TOP_LEFT ATTACH_HUD_TOP_RIGHT ATTACH_LEAR ATTACH_LEFT_PEC ATTACH_LEYE ATTACH_LFOOT ATTACH_LHAND ATTACH_LHIP ATTACH_LLARM ATTACH_LLLEG ATTACH_LSHOULDER ATTACH_LUARM ATTACH_LULEG ATTACH_MOUTH ATTACH_NECK ATTACH_NOSE ATTACH_PELVIS ATTACH_REAR ATTACH_REYE ATTACH_RFOOT ATTACH_RHAND ATTACH_RHIP ATTACH_RIGHT_PEC ATTACH_RLARM ATTACH_RLLEG ATTACH_RSHOULDER ATTACH_RUARM ATTACH_RULEG CAMERA_ACTIVE CAMERA_BEHINDNESS_ANGLE CAMERA_BEHINDNESS_LAG CAMERA_DISTANCE CAMERA_FOCUS CAMERA_FOCUS_LAG CAMERA_FOCUS_LOCKED CAMERA_FOCUS_OFFSET CAMERA_FOCUS_THRESHOLD CAMERA_PITCH CAMERA_POSITION CAMERA_POSITION_LAG CAMERA_POSITION_LOCKED CAMERA_POSITION_THRESHOLD CHANGED_ALLOWED_DROP CHANGED_COLOR CHANGED_INVENTORY CHANGED_LINK CHANGED_MEDIA CHANGED_OWNER CHANGED_REGION CHANGED_REGION_START CHANGED_SCALE CHANGED_SHAPE CHANGED_TELEPORT CHANGED_TEXTURE CHARACTER_ACCOUNT_FOR_SKIPPED_FRAMES CHARACTER_AVOIDANCE_MODE CHARACTER_DESIRED_SPEED CHARACTER_DESIRED_TURN_SPEED CHARACTER_LENGTH CHARACTER_MAX_ACCEL CHARACTER_MAX_DECEL CHARACTER_MAX_SPEED CHARACTER_MAX_TURN_RADIUS CHARACTER_ORIENTATION CHARACTER_RADIUS CHARACTER_STAY_WITHIN_PARCEL CHARACTER_TYPE CHARACTER_TYPE_A CHARACTER_TYPE_B CHARACTER_TYPE_C CHARACTER_TYPE_D CHARACTER_TYPE_NONE CLICK_ACTION_BUY CLICK_ACTION_NONE CLICK_ACTION_OPEN CLICK_ACTION_OPEN_MEDIA CLICK_ACTION_PAY CLICK_ACTION_PLAY CLICK_ACTION_SIT CLICK_ACTION_TOUCH CONTROL_BACK CONTROL_DOWN CONTROL_FWD CONTROL_LBUTTON CONTROL_LEFT CONTROL_ML_LBUTTON CONTROL_RIGHT CONTROL_ROT_LEFT CONTROL_ROT_RIGHT CONTROL_UP DATA_BORN DATA_NAME DATA_ONLINE DATA_PAYINFO DATA_RATING DATA_SIM_POS DATA_SIM_RATING DATA_SIM_STATUS DEBUG_CHANNEL DEG_TO_RAD EOF ERR_GENERIC ERR_MALFORMED_PARAMS ERR_PARCEL_PERMISSIONS ERR_RUNTIME_PERMISSIONS ERR_THROTTLED ESTATE_ACCESS_ALLOWED_AGENT_ADD ESTATE_ACCESS_ALLOWED_AGENT_REMOVE ESTATE_ACCESS_ALLOWED_GROUP_ADD ESTATE_ACCESS_ALLOWED_GROUP_REMOVE ESTATE_ACCESS_BANNED_AGENT_ADD ESTATE_ACCESS_BANNED_AGENT_REMOVE FALSE HORIZONTAL HTTP_BODY_MAXLENGTH HTTP_BODY_TRUNCATED HTTP_CUSTOM_HEADER HTTP_METHOD HTTP_MIMETYPE HTTP_PRAGMA_NO_CACHE HTTP_VERBOSE_THROTTLE HTTP_VERIFY_CERT INVENTORY_ALL INVENTORY_ANIMATION INVENTORY_BODYPART INVENTORY_CLOTHING INVENTORY_GESTURE INVENTORY_LANDMARK INVENTORY_NONE INVENTORY_NOTECARD INVENTORY_OBJECT INVENTORY_SCRIPT INVENTORY_SOUND INVENTORY_TEXTURE JSON_APPEND JSON_ARRAY JSON_DELETE JSON_FALSE JSON_INVALID JSON_NULL JSON_NUMBER JSON_OBJECT JSON_STRING JSON_TRUE KFM_CMD_PAUSE KFM_CMD_PLAY KFM_CMD_STOP KFM_COMMAND KFM_DATA KFM_FORWARD KFM_LOOP KFM_MODE KFM_PING_PONG KFM_REVERSE KFM_ROTATION KFM_TRANSLATION LAND_LEVEL LAND_LOWER LAND_NOISE LAND_RAISE LAND_REVERT LAND_SMOOTH LINK_ALL_CHILDREN LINK_ALL_OTHERS LINK_ROOT LINK_SET LINK_THIS LIST_STAT_GEOMETRIC_MEAN LIST_STAT_MAX LIST_STAT_MEAN LIST_STAT_MEDIAN LIST_STAT_MIN LIST_STAT_NUM_COUNT LIST_STAT_RANGE LIST_STAT_STD_DEV LIST_STAT_SUM LIST_STAT_SUM_SQUARES LOOP MASK_BASE MASK_EVERYONE MASK_GROUP MASK_NEXT MASK_OWNER NULL_KEY OBJECT_ATTACHED_POINT OBJECT_CHARACTER_TIME OBJECT_CREATOR OBJECT_DESC OBJECT_GROUP OBJECT_NAME OBJECT_OWNER OBJECT_PATHFINDING_TYPE OBJECT_PHANTOM OBJECT_PHYSICS OBJECT_PHYSICS_COST OBJECT_POS OBJECT_PRIM_EQUIVALENCE OBJECT_RENDER_WEIGHT OBJECT_RETURN_PARCEL OBJECT_RETURN_PARCEL_OWNER OBJECT_RETURN_REGION OBJECT_ROOT OBJECT_ROT OBJECT_RUNNING_SCRIPT_COUNT OBJECT_SCRIPT_MEMORY OBJECT_SCRIPT_TIME OBJECT_SERVER_COST OBJECT_STREAMING_COST OBJECT_TEMP_ON_REZ OBJECT_TOTAL_SCRIPT_COUNT OBJECT_UNKNOWN_DETAIL OBJECT_VELOCITY OPT_CHARACTER OPT_AVATAR OPT_EXCLUSION_VOLUME OPT_LEGACY_LINKSET OPT_MATERIAL_VOLUME OPT_OTHER OPT_STATIC_OBSTACLE OPT_WALKABLE PARCEL_COUNT_GROUP PARCEL_COUNT_OTHER PARCEL_COUNT_OWNER PARCEL_COUNT_SELECTED PARCEL_COUNT_TEMP PARCEL_COUNT_TOTAL PARCEL_DETAILS_AREA PARCEL_DETAILS_DESC PARCEL_DETAILS_GROUP PARCEL_DETAILS_ID PARCEL_DETAILS_NAME PARCEL_DETAILS_OWNER PARCEL_DETAILS_SEE_AVATARS PARCEL_FLAG_ALLOW_ALL_OBJECT_ENTRY PARCEL_FLAG_ALLOW_CREATE_GROUP_OBJECTS PARCEL_FLAG_ALLOW_CREATE_OBJECTS PARCEL_FLAG_ALLOW_DAMAGE PARCEL_FLAG_ALLOW_FLY PARCEL_FLAG_ALLOW_GROUP_OBJECT_ENTRY PARCEL_FLAG_ALLOW_GROUP_SCRIPTS PARCEL_FLAG_ALLOW_LANDMARK PARCEL_FLAG_ALLOW_SCRIPTS PARCEL_FLAG_ALLOW_TERRAFORM PARCEL_FLAG_LOCAL_SOUND_ONLY PARCEL_FLAG_RESTRICT_PUSHOBJECT PARCEL_FLAG_USE_ACCESS_GROUP PARCEL_FLAG_USE_ACCESS_LIST PARCEL_FLAG_USE_BAN_LIST PARCEL_FLAG_USE_LAND_PASS_LIST PARCEL_MEDIA_COMMAND_AGENT PARCEL_MEDIA_COMMAND_AUTO_ALIGN PARCEL_MEDIA_COMMAND_DESC PARCEL_MEDIA_COMMAND_LOOP PARCEL_MEDIA_COMMAND_LOOP_SET PARCEL_MEDIA_COMMAND_PAUSE PARCEL_MEDIA_COMMAND_PLAY PARCEL_MEDIA_COMMAND_SIZE PARCEL_MEDIA_COMMAND_STOP PARCEL_MEDIA_COMMAND_TEXTURE PARCEL_MEDIA_COMMAND_TIME PARCEL_MEDIA_COMMAND_TYPE PARCEL_MEDIA_COMMAND_UNLOAD PARCEL_MEDIA_COMMAND_URL PASSIVE PATROL_PAUSE_AT_WAYPOINTS PAYMENT_INFO_ON_FILE PAYMENT_INFO_USED PAY_DEFAULT PAY_HIDE PERMISSION_ATTACH PERMISSION_CHANGE_LINKS PERMISSION_CONTROL_CAMERA PERMISSION_DEBIT PERMISSION_OVERRIDE_ANIMATIONS PERMISSION_RETURN_OBJECTS PERMISSION_SILENT_ESTATE_MANAGEMENT PERMISSION_TAKE_CONTROLS PERMISSION_TELEPORT PERMISSION_TRACK_CAMERA PERMISSION_TRIGGER_ANIMATION PERM_ALL PERM_COPY PERM_MODIFY PERM_MOVE PERM_TRANSFER PI PING_PONG PI_BY_TWO PRIM_BUMP_BARK PRIM_BUMP_BLOBS PRIM_BUMP_BRICKS PRIM_BUMP_BRIGHT PRIM_BUMP_CHECKER PRIM_BUMP_CONCRETE PRIM_BUMP_DARK PRIM_BUMP_DISKS PRIM_BUMP_GRAVEL PRIM_BUMP_LARGETILE PRIM_BUMP_NONE PRIM_BUMP_SHINY PRIM_BUMP_SIDING PRIM_BUMP_STONE PRIM_BUMP_STUCCO PRIM_BUMP_SUCTION PRIM_BUMP_TILE PRIM_BUMP_WEAVE PRIM_BUMP_WOOD PRIM_COLOR PRIM_DESC PRIM_FLEXIBLE PRIM_FULLBRIGHT PRIM_GLOW PRIM_HOLE_CIRCLE PRIM_HOLE_DEFAULT PRIM_HOLE_SQUARE PRIM_HOLE_TRIANGLE PRIM_LINK_TARGET PRIM_MATERIAL PRIM_MATERIAL_FLESH PRIM_MATERIAL_GLASS PRIM_MATERIAL_LIGHT PRIM_MATERIAL_METAL PRIM_MATERIAL_PLASTIC PRIM_MATERIAL_RUBBER PRIM_MATERIAL_STONE PRIM_MATERIAL_WOOD PRIM_MEDIA_ALT_IMAGE_ENABLE PRIM_MEDIA_AUTO_LOOP PRIM_MEDIA_AUTO_PLAY PRIM_MEDIA_AUTO_SCALE PRIM_MEDIA_AUTO_ZOOM PRIM_MEDIA_CURRENT_URL PRIM_MEDIA_FIRST_CLICK_INTERACT PRIM_MEDIA_HEIGHT_PIXELS PRIM_MEDIA_HOME_URL PRIM_MEDIA_PERMS_CONTROL PRIM_MEDIA_PERMS_INTERACT PRIM_MEDIA_PERM_ANYONE PRIM_MEDIA_PERM_GROUP PRIM_MEDIA_PERM_NONE PRIM_MEDIA_PERM_OWNER PRIM_MEDIA_WHITELIST PRIM_MEDIA_WHITELIST_ENABLE PRIM_MEDIA_WIDTH_PIXELS PRIM_NAME PRIM_OMEGA PRIM_PHANTOM PRIM_PHYSICS PRIM_PHYSICS_SHAPE_CONVEX PRIM_PHYSICS_SHAPE_NONE PRIM_PHYSICS_SHAPE_PRIM PRIM_PHYSICS_SHAPE_TYPE PRIM_POINT_LIGHT PRIM_POSITION PRIM_POS_LOCAL PRIM_ROTATION PRIM_ROT_LOCAL PRIM_SCULPT_FLAG_INVERT PRIM_SCULPT_FLAG_MIRROR PRIM_SCULPT_TYPE_CYLINDER PRIM_SCULPT_TYPE_MASK PRIM_SCULPT_TYPE_PLANE PRIM_SCULPT_TYPE_SPHERE PRIM_SCULPT_TYPE_TORUS PRIM_SHINY_HIGH PRIM_SHINY_LOW PRIM_SHINY_MEDIUM PRIM_SHINY_NONE PRIM_SIZE PRIM_SLICE PRIM_TEMP_ON_REZ PRIM_TEXGEN PRIM_TEXGEN_DEFAULT PRIM_TEXGEN_PLANAR PRIM_TEXT PRIM_TEXTURE PRIM_TYPE PRIM_TYPE_BOX PRIM_TYPE_CYLINDER PRIM_TYPE_PRISM PRIM_TYPE_RING PRIM_TYPE_SCULPT PRIM_TYPE_SPHERE PRIM_TYPE_TORUS PRIM_TYPE_TUBE PROFILE_NONE PROFILE_SCRIPT_MEMORY PUBLIC_CHANNEL RAD_TO_DEG RCERR_CAST_TIME_EXCEEDED RCERR_SIM_PERF_LOW RCERR_UNKNOWN RC_DATA_FLAGS RC_DETECT_PHANTOM RC_GET_LINK_NUM RC_GET_NORMAL RC_GET_ROOT_KEY RC_MAX_HITS RC_REJECT_AGENTS RC_REJECT_LAND RC_REJECT_NONPHYSICAL RC_REJECT_PHYSICAL RC_REJECT_TYPES REGION_FLAG_ALLOW_DAMAGE REGION_FLAG_ALLOW_DIRECT_TELEPORT REGION_FLAG_BLOCK_FLY REGION_FLAG_BLOCK_TERRAFORM REGION_FLAG_DISABLE_COLLISIONS REGION_FLAG_DISABLE_PHYSICS REGION_FLAG_FIXED_SUN REGION_FLAG_RESTRICT_PUSHOBJECT REGION_FLAG_SANDBOX REMOTE_DATA_CHANNEL REMOTE_DATA_REPLY REMOTE_DATA_REQUEST REVERSE ROTATE SCALE SCRIPTED SIM_STAT_PCT_CHARS_STEPPED SMOOTH SQRT2 STATUS_BLOCK_GRAB STATUS_BLOCK_GRAB_OBJECT STATUS_BOUNDS_ERROR STATUS_CAST_SHADOWS STATUS_DIE_AT_EDGE STATUS_INTERNAL_ERROR STATUS_MALFORMED_PARAMS STATUS_NOT_FOUND STATUS_NOT_SUPPORTED STATUS_OK STATUS_PHANTOM STATUS_PHYSICS STATUS_RETURN_AT_EDGE STATUS_ROTATE_X STATUS_ROTATE_Y STATUS_ROTATE_Z STATUS_SANDBOX STATUS_TYPE_MISMATCH STATUS_WHITELIST_FAILED STRING_TRIM STRING_TRIM_HEAD STRING_TRIM_TAIL TEXTURE_DEFAULT TEXTURE_BLANK TEXTURE_MEDIA TEXTURE_PLYWOOD TEXTURE_TRANSPARENT TOUCH_INVALID_FACE TOUCH_INVALID_TEXCOORD TOUCH_INVALID_VECTOR TRAVERSAL_TYPE TRUE TWO_PI TYPE_FLOAT TYPE_INTEGER TYPE_INVALID TYPE_KEY TYPE_ROTATION TYPE_STRING TYPE_VECTOR URL_REQUEST_DENIED URL_REQUEST_GRANTED VEHICLE_ANGULAR_DEFLECTION_EFFICIENCY VEHICLE_ANGULAR_DEFLECTION_TIMESCALE VEHICLE_ANGULAR_FRICTION_TIMESCALE VEHICLE_ANGULAR_MOTOR_DECAY_TIMESCALE VEHICLE_ANGULAR_MOTOR_DIRECTION VEHICLE_ANGULAR_MOTOR_TIMESCALE VEHICLE_BANKING_EFFICIENCY VEHICLE_BANKING_MIX VEHICLE_BANKING_TIMESCALE VEHICLE_BUOYANCY VEHICLE_FLAG_CAMERA_DECOUPLED VEHICLE_FLAG_HOVER_GLOBAL_HEIGHT VEHICLE_FLAG_HOVER_TERRAIN_ONLY VEHICLE_FLAG_HOVER_UP_ONLY VEHICLE_FLAG_HOVER_WATER_ONLY VEHICLE_FLAG_LIMIT_MOTOR_UP VEHICLE_FLAG_LIMIT_ROLL_ONLY VEHICLE_FLAG_MOUSELOOK_BANK VEHICLE_FLAG_MOUSELOOK_STEER VEHICLE_FLAG_NO_DEFLECTION_UP VEHICLE_HOVER_EFFICIENCY VEHICLE_HOVER_HEIGHT VEHICLE_HOVER_TIMESCALE VEHICLE_LINEAR_DEFLECTION_EFFICIENCY VEHICLE_LINEAR_DEFLECTION_TIMESCALE VEHICLE_LINEAR_FRICTION_TIMESCALE VEHICLE_LINEAR_MOTOR_DECAY_TIMESCALE VEHICLE_LINEAR_MOTOR_DIRECTION VEHICLE_LINEAR_MOTOR_OFFSET VEHICLE_LINEAR_MOTOR_TIMESCALE VEHICLE_REFERENCE_FRAME VEHICLE_TYPE_AIRPLANE VEHICLE_TYPE_BALLOON VEHICLE_TYPE_BOAT VEHICLE_TYPE_CAR VEHICLE_TYPE_NONE VEHICLE_TYPE_SLED VEHICLE_VERTICAL_ATTRACTION_EFFICIENCY VEHICLE_VERTICAL_ATTRACTION_TIMESCALE VERTICAL ZERO_ROTATION ZERO_VECTOR // Flow control default do while else for if jump return state while Log messages when keywords are not cached: 2014-04-25T18:26:35Z INFO: fetchKeywordsFileResponder: Instantiating with file saving to: '/Users/maestro/Library/Caches/SecondLife/keywords_lsl_1270a0c5-7bf7-19ca-0cb3-7957efbff306.llsd.xml' 2014-04-25T18:26:35Z INFO: fetchKeywordsFile: LSLSyntaxId capability URL is: https://sim3014.aditi.lindenlab.com:12043/cap/2d347b1b-bc1e-d907-89ea-41233bc5f051. Filename to use is: '/Users/maestro/Library/Caches/SecondLife/keywords_lsl_1270a0c5-7bf7-19ca-0cb3-7957efbff306.llsd.xml'. 2014-04-25T18:26:35Z INFO: onRegionChangeInitialiseKeywords: Hashes are different, updating highlighter. 2014-04-25T18:26:35Z INFO: openFloater: Opening floater preview lsl text full path: /main_view/menu_stack/world_panel/Floater View/preview lsl text 2014-04-25T18:26:36Z INFO: isSupportedVersion: Syntax file version: 2 2014-04-25T18:26:36Z INFO: result: Supported verson of syntax file. 2014-04-25T18:26:36Z INFO: cacheFile: Syntax file received, saving as: '/Users/maestro/Library/Caches/SecondLife/keywords_lsl_1270a0c5-7bf7-19ca-0cb3-7957efbff306.llsd.xml' Log messages when keywords are cached: 2014-04-25T18:46:02Z INFO: checkSyntaxIdChanged: It has LSLSyntaxId capability, and the new hash is '1270a0c5-7bf7-19ca-0cb3-7957efbff306' 2014-04-25T18:46:02Z INFO: initialise: LSL version has changed, getting appropriate file. 2014-04-25T18:46:02Z INFO: initialise: File is cached, no need to download! 2014-04-25T18:46:02Z INFO: loadKeywordsIntoLLSD: Trying to open cached or default keyword file ;-) 2014-04-25T18:46:02Z INFO: isSupportedVersion: Syntax file version: 2 2014-04-25T18:46:02Z INFO: loadKeywordsIntoLLSD: Deserialised file: /Users/maestro/Library/Caches/SecondLife/keywords_lsl_1270a0c5-7bf7-19ca-0cb3-7957efbff306.llsd.xml
Description
The script-engine runs on the server, the script-editor runs in the client.
Each time there's a change in the scripting language, both the server and the client have to be updated.
It should be easy to synchronize the two.
Let the client download the syntax-table every time it connects to a server (if it is a different version than the last one).
Advantages:
-No need to distribute a new client when there's a change in the language.
-The script-editor always works, even during server-deploys, when the grid is a mix of server-versions.
-Works when connecting to aditi or other grids, making testing easier.
Disadvantages:
-A file has to be downloaded, I'm not sure how big it is.
Attachments
Issue Links
- includes
-
STORM-1832 Script editor: several constants are not highlighted
-
- Closed
-
- related
-
STORM-2004 Malformed LSL syntax xml crashes the viewer
-
- Closed
-
-
STORM-1998 [STORM-1831] Viewer crashes on teleport if you have had a script open anytime that session before teleporting.
-
- Closed
-
-
STORM-2039 Keyword help for scripts no longer opens the correct wiki page in the LSL Reference floater
-
- In Progress
-
-
STORM-2000 LSL arguments presented by LSLSyntax viewer's tooltips incorrectly appear in alphabetical order
-
- Closed
-
-
STORM-2037 LSL syntax fetching for new keywords appears to be broken
-
- Closed
-
-
STORM-2115 The "Insert..." combobox has it's entries loaded twice in script editor.
-
- Reviewing
-
1.
|
Color group 'constants' and 'controls' not recognized. |
![]() |
Open | Unassigned |
2.
|
Different keyword types have same syntax highlighting color |
![]() |
Open | Unassigned |
3.
|
Second opened script does not get highlighted |
![]() |
Open | Unassigned |