<?xml version="1.0" encoding="UTF-8"?>
<!-- Linden Scripting Language used in SecondLife and OpenMetaverse -->

<!-- following entities are taken from the original lexer (indra.l) -->
<!DOCTYPE language SYSTEM "language.dtd"
[
  <!ENTITY N "[0-9]">
  <!ENTITY L "[a-zA-Z_]">
  <!ENTITY H "[a-fA-F0-9]">
  <!ENTITY E "[Ee][+-]?&N;+">
  <!ENTITY FS "(f|F)">
]>
<!-- versioning is based on the slviewer source code version from which strings were extracted, then a point version for this file -->
<language name="LSL" section="Scripts" version="3" kateversion="2.5" extensions="*.lsl" mimetype="text/x-lsl" author="RafaƂ Rzepecki" license="LGPLv3">
  <highlighting>
    <!-- types, keyword, events, constants and symbols are from indra.l -->
    <list name="types">
      <item>integer</item>
      <item>float</item>
      <item>string</item>
      <item>key</item>
      <item>vector</item>
      <item>quaternion</item>
      <item>rotation</item>
      <item>list</item>
    </list>
    <list name="keywords">
      <item>default</item>
      <item>state</item>
      <item>event</item>
      <item>jump</item>
      <item>return</item>
      <item>if</item>
      <item>else</item>
      <item>for</item>
      <item>do</item>
      <item>while</item>
    </list>
    <list name="events">
      <item>state_entry</item>
      <item>state_exit</item>
      <item>touch_start</item>
      <item>touch</item>
      <item>touch_end</item>
      <item>collision_start</item>
      <item>collision</item>
      <item>collision_end</item>
      <item>land_collision_start</item>
      <item>land_collision</item>
      <item>land_collision_end</item>
      <item>timer</item>
      <item>listen</item>
      <item>sensor</item>
      <item>no_sensor</item>
      <item>control</item>
      <item>print</item>
      <item>at_target</item>
      <item>not_at_target</item>
      <item>at_rot_target</item>
      <item>not_at_rot_target</item>
      <item>money</item>
      <item>email</item>
      <item>run_time_permissions</item>
      <item>changed</item>
      <item>attach</item>
      <item>dataserver</item>
      <item>moving_start</item>
      <item>moving_end</item>
      <item>link_message</item>
      <item>on_rez</item>
      <item>object_rez</item>
      <item>remote_data</item>
      <item>http_response</item>
    </list>
    <list name="constants">
      <item>TRUE</item>
      <item>FALSE</item>
      <item>STATUS_PHYSICS</item>
      <item>STATUS_ROTATE_X</item>
      <item>STATUS_ROTATE_Y</item>
      <item>STATUS_ROTATE_Z</item>
      <item>STATUS_PHANTOM</item>
      <item>STATUS_SANDBOX</item>
      <item>STATUS_BLOCK_GRAB</item>
      <item>STATUS_DIE_AT_EDGE</item>
      <item>STATUS_RETURN_AT_EDGE</item>
      <item>STATUS_CAST_SHADOWS</item>

      <item>AGENT_FLYING</item>
      <item>AGENT_ATTACHMENTS</item>
      <item>AGENT_SCRIPTED</item>
      <item>AGENT_MOUSELOOK</item>
      <item>AGENT_SITTING</item>
      <item>AGENT_ON_OBJECT</item>
      <item>AGENT_AWAY</item>
      <item>AGENT_WALKING</item>
      <item>AGENT_IN_AIR</item>
      <item>AGENT_TYPING</item>
      <item>AGENT_CROUCHING</item>
      <item>AGENT_BUSY</item>
      <item>AGENT_ALWAYS_RUN</item>

      <item>CAMERA_PITCH</item>
      <item>CAMERA_FOCUS_OFFSET</item>
      <item>CAMERA_POSITION_LAG</item>
      <item>CAMERA_FOCUS_LAG</item>
      <item>CAMERA_DISTANCE</item>
      <item>CAMERA_BEHINDNESS_ANGLE</item>
      <item>CAMERA_BEHINDNESS_LAG</item>
      <item>CAMERA_POSITION_THRESHOLD</item>
      <item>CAMERA_FOCUS_THRESHOLD</item>
      <item>CAMERA_ACTIVE</item>
      <item>CAMERA_POSITION</item>
      <item>CAMERA_FOCUS</item>
      <item>CAMERA_POSITION_LOCKED</item>
      <item>CAMERA_FOCUS_LOCKED</item>

      <item>ANIM_ON</item>
      <item>LOOP</item>
      <item>REVERSE</item>
      <item>PING_PONG</item>
      <item>SMOOTH</item>
      <item>ROTATE</item>
      <item>SCALE</item>

      <item>ALL_SIDES</item>
      <item>LINK_ROOT</item>
      <item>LINK_SET</item>
      <item>LINK_ALL_OTHERS</item>
      <item>LINK_ALL_CHILDREN</item>
      <item>LINK_THIS</item>

      <item>AGENT</item>
      <item>ACTIVE</item>
      <item>PASSIVE</item>
      <item>SCRIPTED</item>

      <item>CONTROL_FWD</item>
      <item>CONTROL_BACK</item>
      <item>CONTROL_LEFT</item>
      <item>CONTROL_RIGHT</item>
      <item>CONTROL_ROT_LEFT</item>
      <item>CONTROL_ROT_RIGHT</item>
      <item>CONTROL_UP</item>
      <item>CONTROL_DOWN</item>
      <item>CONTROL_LBUTTON</item>
      <item>CONTROL_ML_LBUTTON</item>

      <item>PERMISSION_DEBIT</item>
      <item>PERMISSION_TAKE_CONTROLS</item>
      <item>PERMISSION_REMAP_CONTROLS</item>
      <item>PERMISSION_TRIGGER_ANIMATION</item>
      <item>PERMISSION_ATTACH</item>
      <item>PERMISSION_RELEASE_OWNERSHIP</item>
      <item>PERMISSION_CHANGE_LINKS</item>
      <item>PERMISSION_CHANGE_JOINTS</item>
      <item>PERMISSION_CHANGE_PERMISSIONS</item>
      <item>PERMISSION_TRACK_CAMERA</item>
      <item>PERMISSION_CONTROL_CAMERA</item>

      <item>INVENTORY_TEXTURE</item>
      <item>INVENTORY_SOUND</item>
      <item>INVENTORY_OBJECT</item>
      <item>INVENTORY_SCRIPT</item>
      <item>INVENTORY_LANDMARK</item>
      <item>INVENTORY_CLOTHING</item>
      <item>INVENTORY_NOTECARD</item>
      <item>INVENTORY_BODYPART</item>
      <item>INVENTORY_ANIMATION</item>
      <item>INVENTORY_GESTURE</item>
      <item>INVENTORY_ALL</item>
      <item>INVENTORY_NONE</item>

      <item>CHANGED_INVENTORY</item>
      <item>CHANGED_COLOR</item>
      <item>CHANGED_SHAPE</item>
      <item>CHANGED_SCALE</item>
      <item>CHANGED_TEXTURE</item>
      <item>CHANGED_LINK</item>
      <item>CHANGED_ALLOWED_DROP</item>
      <item>CHANGED_OWNER</item>
      <item>CHANGED_REGION</item>
      <item>CHANGED_TELEPORT</item>

      <item>OBJECT_UNKNOWN_DETAIL</item>
      <item>OBJECT_NAME</item>
      <item>OBJECT_DESC</item>
      <item>OBJECT_POS</item>
      <item>OBJECT_ROT</item>
      <item>OBJECT_VELOCITY</item>
      <item>OBJECT_OWNER</item>
      <item>OBJECT_GROUP</item>
      <item>OBJECT_CREATOR</item>

      <item>TYPE_INTEGER</item>
      <item>TYPE_FLOAT</item>
      <item>TYPE_STRING</item>
      <item>TYPE_KEY</item>
      <item>TYPE_VECTOR</item>
      <item>TYPE_ROTATION</item>
      <item>TYPE_INVALID</item>

      <item>NULL_KEY</item>
      <item>EOF</item>

      <item>PI</item>
      <item>TWO_PI</item>
      <item>PI_BY_TWO</item>
      <item>DEG_TO_RAD</item>
      <item>RAD_TO_DEG</item>
      <item>SQRT2</item>

      <item>DEBUG_CHANNEL</item>
      <item>PUBLIC_CHANNEL</item>

      <item>ZERO_VECTOR</item>
      <item>ZERO_ROTATION</item>

      <item>ATTACH_CHEST</item>
      <item>ATTACH_HEAD</item>
      <item>ATTACH_LSHOULDER</item>
      <item>ATTACH_RSHOULDER</item>
      <item>ATTACH_LHAND</item>
      <item>ATTACH_RHAND</item>
      <item>ATTACH_LFOOT</item>
      <item>ATTACH_RFOOT</item>
      <item>ATTACH_BACK</item>
      <item>ATTACH_PELVIS</item>
      <item>ATTACH_MOUTH</item>
      <item>ATTACH_CHIN</item>
      <item>ATTACH_LEAR</item>
      <item>ATTACH_REAR</item>
      <item>ATTACH_LEYE</item>
      <item>ATTACH_REYE</item>
      <item>ATTACH_NOSE</item>
      <item>ATTACH_RUARM</item>
      <item>ATTACH_RLARM</item>
      <item>ATTACH_LUARM</item>
      <item>ATTACH_LLARM</item>
      <item>ATTACH_RHIP</item>
      <item>ATTACH_RULEG</item>
      <item>ATTACH_RLLEG</item>
      <item>ATTACH_LHIP</item>
      <item>ATTACH_LULEG</item>
      <item>ATTACH_LLLEG</item>
      <item>ATTACH_BELLY</item>
      <item>ATTACH_LPEC</item>
      <item>ATTACH_RPEC</item>
      <item>ATTACH_HUD_CENTER_2</item>
      <item>ATTACH_HUD_TOP_RIGHT</item>
      <item>ATTACH_HUD_TOP_CENTER</item>
      <item>ATTACH_HUD_TOP_LEFT</item>
      <item>ATTACH_HUD_CENTER_1</item>
      <item>ATTACH_HUD_BOTTOM_LEFT</item>
      <item>ATTACH_HUD_BOTTOM</item>
      <item>ATTACH_HUD_BOTTOM_RIGHT</item>

      <item>LAND_LEVEL</item>
      <item>LAND_RAISE</item>
      <item>LAND_LOWER</item>
      <item>LAND_SMOOTH</item>
      <item>LAND_NOISE</item>
      <item>LAND_REVERT</item>

      <item>LAND_SMALL_BRUSH</item>
      <item>LAND_MEDIUM_BRUSH</item>
      <item>LAND_LARGE_BRUSH</item>

      <item>DATA_ONLINE</item>
      <item>DATA_NAME</item>
      <item>DATA_BORN</item>
      <item>DATA_RATING</item>
      <item>DATA_SIM_POS</item>
      <item>DATA_SIM_STATUS</item>
      <item>DATA_SIM_RATING</item>
      <item>DATA_PAYINFO</item>

      <item>PAYMENT_INFO_ON_FILE</item>
      <item>PAYMENT_INFO_USED</item>

      <item>REMOTE_DATA_CHANNEL</item>
      <item>REMOTE_DATA_REQUEST</item>
      <item>REMOTE_DATA_REPLY</item>


      <item>PSYS_PART_FLAGS</item>
      <item>PSYS_PART_START_COLOR</item>
      <item>PSYS_PART_START_ALPHA</item>
      <item>PSYS_PART_START_SCALE</item>
      <item>PSYS_PART_END_COLOR</item>
      <item>PSYS_PART_END_ALPHA</item>
      <item>PSYS_PART_END_SCALE</item>
      <item>PSYS_PART_MAX_AGE</item>


      <item>PSYS_PART_WIND_MASK</item>
      <item>PSYS_PART_INTERP_COLOR_MASK</item>
      <item>PSYS_PART_INTERP_SCALE_MASK</item>
      <item>PSYS_PART_BOUNCE_MASK</item>
      <item>PSYS_PART_FOLLOW_SRC_MASK</item>
      <item>PSYS_PART_FOLLOW_VELOCITY_MASK</item>
      <item>PSYS_PART_TARGET_POS_MASK</item>
      <item>PSYS_PART_EMISSIVE_MASK</item>
      <item>PSYS_PART_TARGET_LINEAR_MASK</item>


      <item>PSYS_SRC_MAX_AGE</item>
      <item>PSYS_SRC_PATTERN</item>
      <item>PSYS_SRC_INNERANGLE</item>
      <item>PSYS_SRC_OUTERANGLE</item>
      <item>PSYS_SRC_ANGLE_BEGIN</item>
      <item>PSYS_SRC_ANGLE_END</item>
      <item>PSYS_SRC_BURST_RATE</item>
      <item>PSYS_SRC_BURST_PART_COUNT</item>
      <item>PSYS_SRC_BURST_RADIUS</item>
      <item>PSYS_SRC_BURST_SPEED_MIN</item>
      <item>PSYS_SRC_BURST_SPEED_MAX</item>
      <item>PSYS_SRC_ACCEL</item>
      <item>PSYS_SRC_TEXTURE</item>
      <item>PSYS_SRC_TARGET_KEY</item>
      <item>PSYS_SRC_OMEGA</item>

      <item>PSYS_SRC_OBJ_REL_MASK</item>

      <item>PSYS_SRC_PATTERN_DROP</item>
      <item>PSYS_SRC_PATTERN_EXPLODE</item>
      <item>PSYS_SRC_PATTERN_ANGLE</item>
      <item>PSYS_SRC_PATTERN_ANGLE_CONE</item>
      <item>PSYS_SRC_PATTERN_ANGLE_CONE_EMPTY</item>


      <item>VEHICLE_TYPE_NONE</item>
      <item>VEHICLE_TYPE_SLED</item>
      <item>VEHICLE_TYPE_CAR</item>
      <item>VEHICLE_TYPE_BOAT</item>
      <item>VEHICLE_TYPE_AIRPLANE</item>
      <item>VEHICLE_TYPE_BALLOON</item>

      <item>VEHICLE_REFERENCE_FRAME</item>
      <item>VEHICLE_LINEAR_FRICTION_TIMESCALE</item>
      <item>VEHICLE_ANGULAR_FRICTION_TIMESCALE</item>
      <item>VEHICLE_LINEAR_MOTOR_DIRECTION</item>
      <item>VEHICLE_ANGULAR_MOTOR_DIRECTION</item>
      <item>VEHICLE_LINEAR_MOTOR_OFFSET</item>



      <item>VEHICLE_HOVER_HEIGHT</item>
      <item>VEHICLE_HOVER_EFFICIENCY</item>
      <item>VEHICLE_HOVER_TIMESCALE</item>
      <item>VEHICLE_BUOYANCY</item>

      <item>VEHICLE_LINEAR_DEFLECTION_EFFICIENCY</item>
      <item>VEHICLE_LINEAR_DEFLECTION_TIMESCALE</item>
      <item>VEHICLE_LINEAR_MOTOR_TIMESCALE</item>
      <item>VEHICLE_LINEAR_MOTOR_DECAY_TIMESCALE</item>

      <item>VEHICLE_ANGULAR_DEFLECTION_EFFICIENCY</item>
      <item>VEHICLE_ANGULAR_DEFLECTION_TIMESCALE</item>
      <item>VEHICLE_ANGULAR_MOTOR_TIMESCALE</item>
      <item>VEHICLE_ANGULAR_MOTOR_DECAY_TIMESCALE</item>

      <item>VEHICLE_VERTICAL_ATTRACTION_EFFICIENCY</item>
      <item>VEHICLE_VERTICAL_ATTRACTION_TIMESCALE</item>

      <item>VEHICLE_BANKING_EFFICIENCY</item>
      <item>VEHICLE_BANKING_MIX</item>
      <item>VEHICLE_BANKING_TIMESCALE</item>

      <item>VEHICLE_FLAG_NO_FLY_UP</item>
      <item>VEHICLE_FLAG_NO_DEFLECTION_UP</item>
      <item>VEHICLE_FLAG_LIMIT_ROLL_ONLY</item>
      <item>VEHICLE_FLAG_HOVER_WATER_ONLY</item>
      <item>VEHICLE_FLAG_HOVER_TERRAIN_ONLY</item>
      <item>VEHICLE_FLAG_HOVER_GLOBAL_HEIGHT</item>
      <item>VEHICLE_FLAG_HOVER_UP_ONLY</item>
      <item>VEHICLE_FLAG_LIMIT_MOTOR_UP</item>
      <item>VEHICLE_FLAG_MOUSELOOK_STEER</item>
      <item>VEHICLE_FLAG_MOUSELOOK_BANK</item>
      <item>VEHICLE_FLAG_CAMERA_DECOUPLED</item>



      <item>PRIM_TYPE</item>
      <item>PRIM_MATERIAL</item>
      <item>PRIM_PHYSICS</item>
      <item>PRIM_FLEXIBLE</item>
      <item>PRIM_POINT_LIGHT</item>
      <item>PRIM_TEMP_ON_REZ</item>
      <item>PRIM_PHANTOM</item>
      <item>PRIM_CAST_SHADOWS</item>
      <item>PRIM_POSITION</item>
      <item>PRIM_SIZE</item>
      <item>PRIM_ROTATION</item>
      <item>PRIM_TEXTURE</item>
      <item>PRIM_COLOR</item>
      <item>PRIM_BUMP_SHINY</item>
      <item>PRIM_FULLBRIGHT</item>
      <item>PRIM_TEXGEN</item>
      <item>PRIM_GLOW</item>

      <item>PRIM_TYPE_BOX</item>
      <item>PRIM_TYPE_CYLINDER</item>
      <item>PRIM_TYPE_PRISM</item>
      <item>PRIM_TYPE_SPHERE</item>
      <item>PRIM_TYPE_TORUS</item>
      <item>PRIM_TYPE_TUBE</item>
      <item>PRIM_TYPE_RING</item>
      <item>PRIM_TYPE_SCULPT</item>

      <item>PRIM_HOLE_DEFAULT</item>
      <item>PRIM_HOLE_CIRCLE</item>
      <item>PRIM_HOLE_SQUARE</item>
      <item>PRIM_HOLE_TRIANGLE</item>

      <item>PRIM_MATERIAL_STONE</item>
      <item>PRIM_MATERIAL_METAL</item>
      <item>PRIM_MATERIAL_GLASS</item>
      <item>PRIM_MATERIAL_WOOD</item>
      <item>PRIM_MATERIAL_FLESH</item>
      <item>PRIM_MATERIAL_PLASTIC</item>
      <item>PRIM_MATERIAL_RUBBER</item>
      <item>PRIM_MATERIAL_LIGHT</item>

      <item>PRIM_SHINY_NONE</item>
      <item>PRIM_SHINY_LOW</item>
      <item>PRIM_SHINY_MEDIUM</item>
      <item>PRIM_SHINY_HIGH</item>

      <item>PRIM_BUMP_NONE</item>
      <item>PRIM_BUMP_BRIGHT</item>
      <item>PRIM_BUMP_DARK</item>
      <item>PRIM_BUMP_WOOD</item>
      <item>PRIM_BUMP_BARK</item>
      <item>PRIM_BUMP_BRICKS</item>
      <item>PRIM_BUMP_CHECKER</item>
      <item>PRIM_BUMP_CONCRETE</item>
      <item>PRIM_BUMP_TILE</item>
      <item>PRIM_BUMP_STONE</item>
      <item>PRIM_BUMP_DISKS</item>
      <item>PRIM_BUMP_GRAVEL</item>
      <item>PRIM_BUMP_BLOBS</item>
      <item>PRIM_BUMP_SIDING</item>
      <item>PRIM_BUMP_LARGETILE</item>
      <item>PRIM_BUMP_STUCCO</item>
      <item>PRIM_BUMP_SUCTION</item>
      <item>PRIM_BUMP_WEAVE</item>

      <item>PRIM_TEXGEN_DEFAULT</item>
      <item>PRIM_TEXGEN_PLANAR</item>

      <item>PRIM_SCULPT_TYPE_SPHERE</item>
      <item>PRIM_SCULPT_TYPE_TORUS</item>
      <item>PRIM_SCULPT_TYPE_PLANE</item>
      <item>PRIM_SCULPT_TYPE_CYLINDER</item>
      <item>PRIM_SCULPT_TYPE_MASK</item>
      <item>PRIM_SCULPT_FLAG_MIRROR</item>
      <item>PRIM_SCULPT_FLAG_INVERT</item>

      <item>MASK_BASE</item>
      <item>MASK_OWNER</item>
      <item>MASK_GROUP</item>
      <item>MASK_EVERYONE</item>
      <item>MASK_NEXT</item>

      <item>PERM_TRANSFER</item>
      <item>PERM_MODIFY</item>
      <item>PERM_COPY</item>
      <item>PERM_MOVE</item>
      <item>PERM_ALL</item>

      <item>PARCEL_MEDIA_COMMAND_STOP</item>
      <item>PARCEL_MEDIA_COMMAND_PAUSE</item>
      <item>PARCEL_MEDIA_COMMAND_PLAY</item>
      <item>PARCEL_MEDIA_COMMAND_LOOP</item>
      <item>PARCEL_MEDIA_COMMAND_TEXTURE</item>
      <item>PARCEL_MEDIA_COMMAND_URL</item>
      <item>PARCEL_MEDIA_COMMAND_TIME</item>
      <item>PARCEL_MEDIA_COMMAND_AGENT</item>
      <item>PARCEL_MEDIA_COMMAND_UNLOAD</item>
      <item>PARCEL_MEDIA_COMMAND_AUTO_ALIGN</item>
      <item>PARCEL_MEDIA_COMMAND_TYPE</item>
      <item>PARCEL_MEDIA_COMMAND_SIZE</item>
      <item>PARCEL_MEDIA_COMMAND_DESC</item>
      <item>PARCEL_MEDIA_COMMAND_LOOP_SET</item>

      <item>LIST_STAT_MAX</item>
      <item>LIST_STAT_MIN</item>
      <item>LIST_STAT_MEAN</item>
      <item>LIST_STAT_MEDIAN</item>
      <item>LIST_STAT_STD_DEV</item>
      <item>LIST_STAT_SUM</item>
      <item>LIST_STAT_SUM_SQUARES</item>
      <item>LIST_STAT_NUM_COUNT</item>
      <item>LIST_STAT_GEOMETRIC_MEAN</item>
      <item>LIST_STAT_RANGE</item>

      <item>PAY_HIDE</item>
      <item>PAY_DEFAULT</item>

      <item>PARCEL_FLAG_ALLOW_FLY</item>
      <item>PARCEL_FLAG_ALLOW_GROUP_SCRIPTS</item>
      <item>PARCEL_FLAG_ALLOW_SCRIPTS</item>
      <item>PARCEL_FLAG_ALLOW_LANDMARK</item>
      <item>PARCEL_FLAG_ALLOW_TERRAFORM</item>
      <item>PARCEL_FLAG_ALLOW_DAMAGE</item>
      <item>PARCEL_FLAG_ALLOW_CREATE_OBJECTS</item>
      <item>PARCEL_FLAG_ALLOW_CREATE_GROUP_OBJECTS</item>
      <item>PARCEL_FLAG_USE_ACCESS_GROUP</item>
      <item>PARCEL_FLAG_USE_ACCESS_LIST</item>
      <item>PARCEL_FLAG_USE_BAN_LIST</item>
      <item>PARCEL_FLAG_USE_LAND_PASS_LIST</item>
      <item>PARCEL_FLAG_LOCAL_SOUND_ONLY</item>
      <item>PARCEL_FLAG_RESTRICT_PUSHOBJECT</item>
      <item>PARCEL_FLAG_ALLOW_GROUP_OBJECT_ENTRY</item>
      <item>PARCEL_FLAG_ALLOW_ALL_OBJECT_ENTRY</item>

      <item>REGION_FLAG_ALLOW_DAMAGE</item>
      <item>REGION_FLAG_FIXED_SUN</item>
      <item>REGION_FLAG_BLOCK_TERRAFORM</item>
      <item>REGION_FLAG_SANDBOX</item>
      <item>REGION_FLAG_DISABLE_COLLISIONS</item>
      <item>REGION_FLAG_DISABLE_PHYSICS</item>
      <item>REGION_FLAG_BLOCK_FLY</item>
      <item>REGION_FLAG_ALLOW_DIRECT_TELEPORT</item>
      <item>REGION_FLAG_RESTRICT_PUSHOBJECT</item>

      <item>HTTP_METHOD</item>
      <item>HTTP_MIMETYPE</item>
      <item>HTTP_BODY_MAXLENGTH</item>
      <item>HTTP_BODY_TRUNCATED</item>
      <item>HTTP_VERIFY_CERT</item>

      <item>PARCEL_COUNT_TOTAL</item>
      <item>PARCEL_COUNT_OWNER</item>
      <item>PARCEL_COUNT_GROUP</item>
      <item>PARCEL_COUNT_OTHER</item>
      <item>PARCEL_COUNT_SELECTED</item>
      <item>PARCEL_COUNT_TEMP</item>

      <item>PARCEL_DETAILS_NAME</item>
      <item>PARCEL_DETAILS_DESC</item>
      <item>PARCEL_DETAILS_OWNER</item>
      <item>PARCEL_DETAILS_GROUP</item>
      <item>PARCEL_DETAILS_AREA</item>

      <item>STRING_TRIM_HEAD</item>
      <item>STRING_TRIM_TAIL</item>
      <item>STRING_TRIM</item>

      <item>CLICK_ACTION_NONE</item>
      <item>CLICK_ACTION_TOUCH</item>
      <item>CLICK_ACTION_SIT</item>
      <item>CLICK_ACTION_BUY</item>
      <item>CLICK_ACTION_PAY</item>
      <item>CLICK_ACTION_OPEN</item>
      <item>CLICK_ACTION_PLAY</item>
      <item>CLICK_ACTION_OPEN_MEDIA</item>

      <item>TEXTURE_BLANK</item>
      <item>TEXTURE_DEFAULT</item>
      <item>TEXTURE_MEDIA</item>
      <item>TEXTURE_PLYWOOD</item>
      <item>TEXTURE_TRANSPARENT</item>

      <item>TOUCH_INVALID_FACE</item>
      <item>TOUCH_INVALID_VECTOR</item>
      <item>TOUCH_INVALID_TEXCOORD</item>
    </list>
    <list name="symbols">
      <item>++</item>
      <item>--</item>
      <item>+=</item>
      <item>-=</item>
      <item>*=</item>
      <item>/=</item>
      <item>%=</item>
      <item>;</item>
      <item>,</item>
      <item>=</item>
      <item>(</item>
      <item>)</item>
      <item>-</item>
      <item>+</item>
      <item>*</item>
      <item>/</item>
      <item>%</item>
      <item>@</item>
      <item>:</item>
      <item>&gt;</item>
      <item>&lt;</item>
      <item>==</item>
      <item>!=</item>
      <item>&gt;=</item>
      <item>&lt;=</item>
      <item>&amp;</item>
      <item>|</item>
      <item>^</item>
      <item>~</item>
      <item>!</item>
      <item>&amp;&amp;</item>
      <item>||</item>
      <item>&lt;&lt;</item>
      <item>&gt;&gt;</item>
    </list>

    <!-- stdlib is taken from lscript_library.cpp -->
    <list name="stdlib">
      <item>llSin</item>
      <item>llCos</item>
      <item>llTan</item>
      <item>llAtan2</item>
      <item>llSqrt</item>
      <item>llPow</item>
      <item>llAbs</item>
      <item>llFabs</item>
      <item>llFrand</item>
      <item>llFloor</item>
      <item>llCeil</item>
      <item>llRound</item>
      <item>llVecMag</item>
      <item>llVecNorm</item>
      <item>llVecDist</item>
      <item>llRot2Euler</item>
      <item>llEuler2Rot</item>
      <item>llAxes2Rot</item>
      <item>llRot2Fwd</item>
      <item>llRot2Left</item>
      <item>llRot2Up</item>
      <item>llRotBetween</item>
      <item>llWhisper</item>
      <item>llSay</item>
      <item>llShout</item>
      <item>llListen</item>
      <item>llListenControl</item>
      <item>llListenRemove</item>
      <item>llSensor</item>
      <item>llSensorRepeat</item>
      <item>llSensorRemove</item>
      <item>llDetectedName</item>
      <item>llDetectedKey</item>
      <item>llDetectedOwner</item>
      <item>llDetectedType</item>
      <item>llDetectedPos</item>
      <item>llDetectedVel</item>
      <item>llDetectedGrab</item>
      <item>llDetectedRot</item>
      <item>llDetectedGroup</item>
      <item>llDetectedLinkNumber</item>
      <item>llDie</item>
      <item>llGround</item>
      <item>llCloud</item>
      <item>llWind</item>
      <item>llSetStatus</item>
      <item>llGetStatus</item>
      <item>llSetScale</item>
      <item>llGetScale</item>
      <item>llSetColor</item>
      <item>llGetAlpha</item>
      <item>llSetAlpha</item>
      <item>llGetColor</item>
      <item>llSetTexture</item>
      <item>llScaleTexture</item>
      <item>llOffsetTexture</item>
      <item>llRotateTexture</item>
      <item>llGetTexture</item>
      <item>llSetPos</item>
      <item>llGetPos</item>
      <item>llGetLocalPos</item>
      <item>llSetRot</item>
      <item>llGetRot</item>
      <item>llGetLocalRot</item>
      <item>llSetForce</item>
      <item>llGetForce</item>
      <item>llTarget</item>
      <item>llTargetRemove</item>
      <item>llRotTarget</item>
      <item>llRotTargetRemove</item>
      <item>llMoveToTarget</item>
      <item>llStopMoveToTarget</item>
      <item>llApplyImpulse</item>
      <item>llApplyRotationalImpulse</item>
      <item>llSetTorque</item>
      <item>llGetTorque</item>
      <item>llSetForceAndTorque</item>
      <item>llGetVel</item>
      <item>llGetAccel</item>
      <item>llGetOmega</item>
      <item>llGetTimeOfDay</item>
      <item>llGetWallclock</item>
      <item>llGetTime</item>
      <item>llResetTime</item>
      <item>llGetAndResetTime</item>
      <item>llSound</item>
      <item>llPlaySound</item>
      <item>llLoopSound</item>
      <item>llLoopSoundMaster</item>
      <item>llLoopSoundSlave</item>
      <item>llPlaySoundSlave</item>
      <item>llTriggerSound</item>
      <item>llStopSound</item>
      <item>llPreloadSound</item>
      <item>llGetSubString</item>
      <item>llDeleteSubString</item>
      <item>llInsertString</item>
      <item>llToUpper</item>
      <item>llToLower</item>
      <item>llGiveMoney</item>
      <item>llMakeExplosion</item>
      <item>llMakeFountain</item>
      <item>llMakeSmoke</item>
      <item>llMakeFire</item>
      <item>llRezObject</item>
      <item>llLookAt</item>
      <item>llStopLookAt</item>
      <item>llSetTimerEvent</item>
      <item>llSleep</item>
      <item>llGetMass</item>
      <item>llCollisionFilter</item>
      <item>llTakeControls</item>
      <item>llReleaseControls</item>
      <item>llAttachToAvatar</item>
      <item>llDetachFromAvatar</item>
      <item>llTakeCamera</item>
      <item>llReleaseCamera</item>
      <item>llGetOwner</item>
      <item>llInstantMessage</item>
      <item>llEmail</item>
      <item>llGetNextEmail</item>
      <item>llGetKey</item>
      <item>llSetBuoyancy</item>
      <item>llSetHoverHeight</item>
      <item>llStopHover</item>
      <item>llMinEventDelay</item>
      <item>llSoundPreload</item>
      <item>llRotLookAt</item>
      <item>llStringLength</item>
      <item>llStartAnimation</item>
      <item>llStopAnimation</item>
      <item>llPointAt</item>
      <item>llStopPointAt</item>
      <item>llTargetOmega</item>
      <item>llGetStartParameter</item>
      <item>llGodLikeRezObject</item>
      <item>llRequestPermissions</item>
      <item>llGetPermissionsKey</item>
      <item>llGetPermissions</item>
      <item>llGetLinkNumber</item>
      <item>llSetLinkColor</item>
      <item>llCreateLink</item>
      <item>llBreakLink</item>
      <item>llBreakAllLinks</item>
      <item>llGetLinkKey</item>
      <item>llGetLinkName</item>
      <item>llGetInventoryNumber</item>
      <item>llGetInventoryName</item>
      <item>llSetScriptState</item>
      <item>llGetEnergy</item>
      <item>llGiveInventory</item>
      <item>llRemoveInventory</item>
      <item>llSetText</item>
      <item>llWater</item>
      <item>llPassTouches</item>
      <item>llRequestAgentData</item>
      <item>llRequestInventoryData</item>
      <item>llSetDamage</item>
      <item>llTeleportAgentHome</item>
      <item>llModifyLand</item>
      <item>llCollisionSound</item>
      <item>llCollisionSprite</item>
      <item>llGetAnimation</item>
      <item>llResetScript</item>
      <item>llMessageLinked</item>
      <item>llPushObject</item>
      <item>llPassCollisions</item>
      <item>llGetScriptName</item>
      <item>llGetNumberOfSides</item>
      <item>llAxisAngle2Rot</item>
      <item>llRot2Axis</item>
      <item>llRot2Angle</item>
      <item>llAcos</item>
      <item>llAsin</item>
      <item>llAngleBetween</item>
      <item>llGetInventoryKey</item>
      <item>llAllowInventoryDrop</item>
      <item>llGetSunDirection</item>
      <item>llGetTextureOffset</item>
      <item>llGetTextureScale</item>
      <item>llGetTextureRot</item>
      <item>llSubStringIndex</item>
      <item>llGetOwnerKey</item>
      <item>llGetCenterOfMass</item>
      <item>llListSort</item>
      <item>llGetListLength</item>
      <item>llList2Integer</item>
      <item>llList2Float</item>
      <item>llList2String</item>
      <item>llList2Key</item>
      <item>llList2Vector</item>
      <item>llList2Rot</item>
      <item>llList2List</item>
      <item>llDeleteSubList</item>
      <item>llGetListEntryType</item>
      <item>llList2CSV</item>
      <item>llCSV2List</item>
      <item>llListRandomize</item>
      <item>llList2ListStrided</item>
      <item>llGetRegionCorner</item>
      <item>llListInsertList</item>
      <item>llListFindList</item>
      <item>llGetObjectName</item>
      <item>llSetObjectName</item>
      <item>llGetDate</item>
      <item>llEdgeOfWorld</item>
      <item>llGetAgentInfo</item>
      <item>llAdjustSoundVolume</item>
      <item>llSetSoundQueueing</item>
      <item>llSetSoundRadius</item>
      <item>llKey2Name</item>
      <item>llSetTextureAnim</item>
      <item>llTriggerSoundLimited</item>
      <item>llEjectFromLand</item>
      <item>llParseString2List</item>
      <item>llOverMyLand</item>
      <item>llGetLandOwnerAt</item>
      <item>llGetNotecardLine</item>
      <item>llGetAgentSize</item>
      <item>llSameGroup</item>
      <item>llUnSit</item>
      <item>llGroundSlope</item>
      <item>llGroundNormal</item>
      <item>llGroundContour</item>
      <item>llGetAttached</item>
      <item>llGetFreeMemory</item>
      <item>llGetRegionName</item>
      <item>llGetRegionTimeDilation</item>
      <item>llGetRegionFPS</item>

      <item>llParticleSystem</item>
      <item>llGroundRepel</item>
      <item>llGiveInventoryList</item>

      <item>llSetVehicleType</item>
      <item>llSetVehicleFloatParam</item>
      <item>llSetVehicleVectorParam</item>
      <item>llSetVehicleRotationParam</item>
      <item>llSetVehicleFlags</item>
      <item>llRemoveVehicleFlags</item>
      <item>llSitTarget</item>
      <item>llAvatarOnSitTarget</item>
      <item>llAddToLandPassList</item>
      <item>llSetTouchText</item>
      <item>llSetSitText</item>
      <item>llSetCameraEyeOffset</item>
      <item>llSetCameraAtOffset</item>

      <item>llDumpList2String</item>
      <item>llScriptDanger</item>
      <item>llDialog</item>
      <item>llVolumeDetect</item>
      <item>llResetOtherScript</item>
      <item>llGetScriptState</item>
      <item>llRemoteLoadScript</item>

      <item>llSetRemoteScriptAccessPin</item>
      <item>llRemoteLoadScriptPin</item>

      <item>llOpenRemoteDataChannel</item>
      <item>llSendRemoteData</item>
      <item>llRemoteDataReply</item>
      <item>llCloseRemoteDataChannel</item>

      <item>llMD5String</item>
      <item>llSetPrimitiveParams</item>
      <item>llStringToBase64</item>
      <item>llBase64ToString</item>
      <item>llXorBase64Strings</item>
      <item>llRemoteDataSetRegion</item>
      <item>llLog10</item>
      <item>llLog</item>
      <item>llGetAnimationList</item>
      <item>llSetParcelMusicURL</item>

      <item>llGetRootPosition</item>
      <item>llGetRootRotation</item>

      <item>llGetObjectDesc</item>
      <item>llSetObjectDesc</item>
      <item>llGetCreator</item>
      <item>llGetTimestamp</item>
      <item>llSetLinkAlpha</item>
      <item>llGetNumberOfPrims</item>
      <item>llGetNumberOfNotecardLines</item>

      <item>llGetBoundingBox</item>
      <item>llGetGeometricCenter</item>
      <item>llGetPrimitiveParams</item>
      <item>llIntegerToBase64</item>
      <item>llBase64ToInteger</item>
      <item>llGetGMTclock</item>
      <item>llGetSimulatorHostname</item>

      <item>llSetLocalRot</item>

      <item>llParseStringKeepNulls</item>
      <item>llRezAtRoot</item>

      <item>llGetObjectPermMask</item>
      <item>llSetObjectPermMask</item>

      <item>llGetInventoryPermMask</item>
      <item>llSetInventoryPermMask</item>
      <item>llGetInventoryCreator</item>
      <item>llOwnerSay</item>
      <item>llRequestSimulatorData</item>
      <item>llForceMouselook</item>
      <item>llGetObjectMass</item>
      <item>llListReplaceList</item>
      <item>llLoadURL</item>

      <item>llParcelMediaCommandList</item>
      <item>llParcelMediaQuery</item>

      <item>llModPow</item>

      <item>llGetInventoryType</item>
      <item>llSetPayPrice</item>
      <item>llGetCameraPos</item>
      <item>llGetCameraRot</item>

      <item>llSetPrimURL</item>
      <item>llRefreshPrimURL</item>
      <item>llEscapeURL</item>
      <item>llUnescapeURL</item>

      <item>llMapDestination</item>
      <item>llAddToLandBanList</item>
      <item>llRemoveFromLandPassList</item>
      <item>llRemoveFromLandBanList</item>

      <item>llSetCameraParams</item>
      <item>llClearCameraParams</item>

      <item>llListStatistics</item>
      <item>llGetUnixTime</item>
      <item>llGetParcelFlags</item>
      <item>llGetRegionFlags</item>
      <item>llXorBase64StringsCorrect</item>

      <item>llHTTPRequest</item>

      <item>llResetLandBanList</item>
      <item>llResetLandPassList</item>

      <item>llGetObjectPrimCount</item>
      <item>llGetParcelPrimOwners</item>
      <item>llGetParcelPrimCount</item>
      <item>llGetParcelMaxPrims</item>
      <item>llGetParcelDetails</item>

      <item>llSetLinkPrimitiveParams</item>
      <item>llSetLinkTexture</item>


      <item>llStringTrim</item>
      <item>llRegionSay</item>
      <item>llGetObjectDetails</item>
      <item>llSetClickAction</item>

      <item>llGetRegionAgentCount</item>
      <item>llTextBox</item>
      <item>llGetAgentLanguage</item>
      <item>llDetectedTouchUV</item>
      <item>llDetectedTouchFace</item>
      <item>llDetectedTouchPos</item>
      <item>llDetectedTouchNormal</item>
      <item>llDetectedTouchBinormal</item>
      <item>llDetectedTouchST</item>

      <item>llSHA1String</item>
    </list>

    <!-- for added convenience -->
    <list name="attention">
      <item>FIXME</item>
      <item>TODO</item>
      <item>BUG</item>
      <item>HACK</item>
      <item>XXX</item>
    </list>
    <contexts>
      <context name="Default" attribute="Normal Text" lineEndContext="#stay">
        <!-- all regexps here are based on indra.l -->
        <Detect2Chars  char="/" char1="/" context="Comment"/>
        <keyword attribute="Data Type" String="types"/>
        <keyword attribute="Keyword" String="keywords"/>
        <keyword attribute="Event" String="events"/>
        <RegExpr attribute="Hex" String="0[xX]&H;+"/>
        <RegExpr attribute="Decimal" String="&N;+"/>
        <keyword attribute="Constant" String="constants"/>
        <keyword attribute="Library Function" String="stdlib"/>
        <RegExpr attribute="Function" String="&L;(&L;|&N;)*(?=\s*\()"/>
        <RegExpr attribute="Identifier" String="&L;(&L;|&N;)*"/>
        <RegExpr attribute="Float" String="&N;+&E;"/>
        <RegExpr attribute="Float" String="&N;*\.&N;+(&E;)?&FS;?"/>
        <RegExpr attribute="Float" String="&N;+\.&N;*(&E;)?&FS;?"/>
        <RegExpr attribute="String" String="&L;?\&quot;(\\.|[^\\&quot;])*\&quot;"/>
        <keyword attribute="Symbol" String="symbols"/>
        <DetectChar char="." attribute="Symbol"/>
        <DetectChar char="{" attribute="Brace" beginRegion="brace"/>
        <DetectChar char="}" attribute="Brace" endRegion="brace"/>

        <!-- the following allows folding multiline function calls and lists, very handy -->
        <DetectChar char="(" attribute="Symbol" beginRegion="paren"/>
        <DetectChar char=")" attribute="Symbol" endRegion="paren"/>
        <DetectChar char="[" attribute="Symbol" beginRegion="list"/>
        <DetectChar char="]" attribute="Symbol" endRegion="list"/>
      </context>
      <context name="Comment" attribute="Comment" lineEndContext="#pop">
        <keyword attribute="Alert" String="attention"/>
      </context>
    </contexts>
    <itemDatas>
      <itemData name="Normal Text" defStyleNum="dsNormal"/>
      <itemData name="Data Type" defStyleNum="dsDataType"/>
      <itemData name="Keyword" defStyleNum="dsKeyword"/>
      <itemData name="Event" defStyleNum="dsOthers"/>
      <itemData name="Comment" defStyleNum="dsComment"/>
      <itemData name="Hex" defStyleNum="dsBaseN"/>
      <itemData name="Decimal" defStyleNum="dsDecVal"/>
      <itemData name="Constant" defStyleNum="dsOthers"/>
      <itemData name="Identifier" defStyleNum="dsNormal"/>
      <itemData name="Float" defStyleNum="dsFloat"/>
      <itemData name="String" defStyleNum="dsString"/>
      <itemData name="Symbol" defStyleNum="dsNormal"/>
      <itemData name="Brace" defStyleNum="dsNormal"/>
      <itemData name="Library Function" defStyleNum="dsFunction" bold="1"/>
      <itemData name="Function" defStyleNum="dsFunction"/>
      <itemData name="Alert" defStyleNum="dsAlert"/>
    </itemDatas>
  </highlighting>
  <general>
    <comments>
        <comment name="singleLine" position="afterwhitespace" start="//"/>
    </comments>
  </general>
</language>