Kate LSL Mode

From Second Life Wiki
Revision as of 02:06, 12 June 2013 by Fritigern Gothly (talk | contribs) (Updated lexer for use with Kate 3.10 (there is no kate 4.8.x!))
Jump to navigation Jump to search

Kate Syntax File

Place this file in $KDEDIR/share/apps/katepart/syntax/lsl.xml
$KDEDIR on your system may be /usr or ~/.kde

Note: When pasting in new versions of this file into the wiki the ampersands need to be changed to & to be viewed and copied correctly when viewers read the article. e.g < in the XML Syntax file needs to be changed to < before pasting it in here.


<?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_new" section="Scripts" version="1.21" kateversion="3.10" extensions="*.lsl" mimetype="text/x-lsl" author="Rafał Rzepecki and Fritigern Gothly" license="LGPL-3">
  <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="flow_control">
	<item>@</item>
	<item>default</item>
	<item>do</item>
	<item>else</item>
	<item>event</item>
	<item>for</item>
	<item>if</item>
	<item>jump</item>
	<item>return</item>
	<item>state</item>
	<item>while</item>
    </list>
    <list name="events">
	<item>at_rot_target</item>
	<item>at_target</item>
	<item>attach</item>
	<item>changed</item>
	<item>collision</item>
	<item>collision_end</item>
	<item>collision_start</item>
	<item>control</item>
	<item>dataserver</item>
	<item>email</item>
	<item>event_order</item>
	<item>http_request</item>
	<item>http_response</item>
	<item>land_collision</item>
	<item>land_collision_end</item>
	<item>land_collision_start</item>
	<item>link_message</item>
	<item>listen</item>
	<item>money</item>
	<item>moving_end</item>
	<item>moving_start</item>
	<item>no_sensor</item>
	<item>not_at_rot_target</item>
	<item>not_at_target</item>
	<item>object_rez</item>
	<item>on_rez</item>
	<item>path_update</item>
	<item>remote_data</item>
	<item>run_time_permissions</item>
	<item>sensor</item>
	<item>state_entry</item>
	<item>state_exit</item>
	<item>timer</item>
	<item>touch</item>
	<item>touch_end</item>
	<item>touch_start</item>
	<item>transaction_result</item>
    </list>
    <list name="constants">
	<item>ACTIVE</item>
	<item>AGENT</item>
	<item>AGENT_ALWAYS_RUN</item>
	<item>AGENT_ATTACHMENTS</item>
	<item>AGENT_AUTOPILOT</item>
	<item>AGENT_AWAY</item>
	<item>AGENT_BUSY</item>
	<item>AGENT_BY_LEGACY_NAME</item>
	<item>AGENT_BY_USERNAME</item>
	<item>AGENT_CROUCHING</item>
	<item>AGENT_FLYING</item>
	<item>AGENT_IN_AIR</item>
	<item>AGENT_LIST_PARCEL</item>
	<item>AGENT_LIST_PARCEL_OWNER</item>
	<item>AGENT_LIST_REGION</item>
	<item>AGENT_MOUSELOOK</item>
	<item>AGENT_ON_OBJECT</item>
	<item>AGENT_SCRIPTED</item>
	<item>AGENT_SITTING</item>
	<item>AGENT_TYPING</item>
	<item>AGENT_WALKING</item>
	<item>ALL_SIDES</item>
	<item>ANIM_ON</item>
	<item>ATTACH_AVATAR_CENTER</item>
	<item>ATTACH_BACK</item>
	<item>ATTACH_BELLY</item>
	<item>ATTACH_CHEST</item>
	<item>ATTACH_CHIN</item>
	<item>ATTACH_HEAD</item>
	<item>ATTACH_HUD_BOTTOM</item>
	<item>ATTACH_HUD_BOTTOM_LEFT</item>
	<item>ATTACH_HUD_BOTTOM_RIGHT</item>
	<item>ATTACH_HUD_CENTER_1</item>
	<item>ATTACH_HUD_CENTER_2</item>
	<item>ATTACH_HUD_TOP_CENTER</item>
	<item>ATTACH_HUD_TOP_LEFT</item>
	<item>ATTACH_HUD_TOP_RIGHT</item>
	<item>ATTACH_LEAR</item>
	<item>ATTACH_LEFT_PEC</item>
	<item>ATTACH_LEYE</item>
	<item>ATTACH_LFOOT</item>
	<item>ATTACH_LHAND</item>
	<item>ATTACH_LHIP</item>
	<item>ATTACH_LLARM</item>
	<item>ATTACH_LLLEG</item>
	<item>ATTACH_LSHOULDER</item>
	<item>ATTACH_LUARM</item>
	<item>ATTACH_LULEG</item>
	<item>ATTACH_MOUTH</item>
	<item>ATTACH_NECK</item>
	<item>ATTACH_NOSE</item>
	<item>ATTACH_PELVIS</item>
	<item>ATTACH_REAR</item>
	<item>ATTACH_REYE</item>
	<item>ATTACH_RFOOT</item>
	<item>ATTACH_RHAND</item>
	<item>ATTACH_RHIP</item>
	<item>ATTACH_RIGHT_PEC</item>
	<item>ATTACH_RLARM</item>
	<item>ATTACH_RLLEG</item>
	<item>ATTACH_RSHOULDER</item>
	<item>ATTACH_RUARM</item>
	<item>ATTACH_RULEG</item>
	<item>CAMERA_ACTIVE</item>
	<item>CAMERA_BEHINDNESS_ANGLE</item>
	<item>CAMERA_BEHINDNESS_LAG</item>
	<item>CAMERA_DISTANCE</item>
	<item>CAMERA_FOCUS</item>
	<item>CAMERA_FOCUS_LAG</item>
	<item>CAMERA_FOCUS_LOCKED</item>
	<item>CAMERA_FOCUS_OFFSET</item>
	<item>CAMERA_FOCUS_THRESHOLD</item>
	<item>CAMERA_PITCH</item>
	<item>CAMERA_POSITION</item>
	<item>CAMERA_POSITION_LAG</item>
	<item>CAMERA_POSITION_LOCKED</item>
	<item>CAMERA_POSITION_THRESHOLD</item>
	<item>CHANGED_ALLOWED_DROP</item>
	<item>CHANGED_COLOR</item>
	<item>CHANGED_INVENTORY</item>
	<item>CHANGED_LINK</item>
	<item>CHANGED_MEDIA</item>
	<item>CHANGED_OWNER</item>
	<item>CHANGED_REGION</item>
	<item>CHANGED_REGION_START</item>
	<item>CHANGED_SCALE</item>
	<item>CHANGED_SHAPE</item>
	<item>CHANGED_TELEPORT</item>
	<item>CHANGED_TEXTURE</item>
	<item>CHARACTER_ACCOUNT_FOR_SKIPPED_FRAMES</item>
	<item>CHARACTER_AVOIDANCE_MODE</item>
	<item>CHARACTER_DESIRED_SPEED</item>
	<item>CHARACTER_DESIRED_TURN_SPEED</item>
	<item>CHARACTER_LENGTH</item>
	<item>CHARACTER_MAX_ACCEL</item>
	<item>CHARACTER_MAX_DECEL</item>
	<item>CHARACTER_MAX_SPEED</item>
	<item>CHARACTER_MAX_TURN_RADIUS</item>
	<item>CHARACTER_ORIENTATION</item>
	<item>CHARACTER_RADIUS</item>
	<item>CHARACTER_TYPE</item>
	<item>CHARACTER_TYPE_A</item>
	<item>CHARACTER_TYPE_B</item>
	<item>CHARACTER_TYPE_C</item>
	<item>CHARACTER_TYPE_D</item>
	<item>CHARACTER_TYPE_NONE</item>
	<item>CLICK_ACTION_BUY</item>
	<item>CLICK_ACTION_NONE</item>
	<item>CLICK_ACTION_OPEN</item>
	<item>CLICK_ACTION_OPEN_MEDIA</item>
	<item>CLICK_ACTION_PAY</item>
	<item>CLICK_ACTION_PLAY</item>
	<item>CLICK_ACTION_SIT</item>
	<item>CLICK_ACTION_TOUCH</item>
	<item>CONTROL_BACK</item>
	<item>CONTROL_DOWN</item>
	<item>CONTROL_FWD</item>
	<item>CONTROL_LBUTTON</item>
	<item>CONTROL_LEFT</item>
	<item>CONTROL_ML_LBUTTON</item>
	<item>CONTROL_RIGHT</item>
	<item>CONTROL_ROT_LEFT</item>
	<item>CONTROL_ROT_RIGHT</item>
	<item>CONTROL_UP</item>
	<item>DATA_BORN</item>
	<item>DATA_NAME</item>
	<item>DATA_ONLINE</item>
	<item>DATA_PAYINFO</item>
	<item>DATA_RATING</item>
	<item>DATA_SIM_POS</item>
	<item>DATA_SIM_RATING</item>
	<item>DATA_SIM_STATUS</item>
	<item>DEBUG_CHANNEL</item>
	<item>DEG_TO_RAD</item>
	<item>EOF</item>
	<item>ESTATE_ACCESS_ALLOWED_AGENT_ADD</item>
	<item>ESTATE_ACCESS_ALLOWED_AGENT_REMOVE</item>
	<item>ESTATE_ACCESS_ALLOWED_GROUP_ADD</item>
	<item>ESTATE_ACCESS_ALLOWED_GROUP_REMOVE</item>
	<item>ESTATE_ACCESS_BANNED_AGENT_ADD</item>
	<item>ESTATE_ACCESS_BANNED_AGENT_REMOVE</item>
	<item>FALSE</item>
	<item>HORIZONTAL</item>
	<item>HTTP_BODY_MAXLENGTH</item>
	<item>HTTP_BODY_TRUNCATED</item>
	<item>HTTP_CUSTOM_HEADER</item>
	<item>HTTP_METHOD</item>
	<item>HTTP_MIMETYPE</item>
	<item>HTTP_PRAGMA_NO_CACHE</item>
	<item>HTTP_VERBOSE_THROTTLE</item>
	<item>HTTP_VERIFY_CERT</item>
	<item>INVENTORY_ALL</item>
	<item>INVENTORY_ANIMATION</item>
	<item>INVENTORY_BODYPART</item>
	<item>INVENTORY_CLOTHING</item>
	<item>INVENTORY_GESTURE</item>
	<item>INVENTORY_LANDMARK</item>
	<item>INVENTORY_NONE</item>
	<item>INVENTORY_NOTECARD</item>
	<item>INVENTORY_OBJECT</item>
	<item>INVENTORY_SCRIPT</item>
	<item>INVENTORY_SOUND</item>
	<item>INVENTORY_TEXTURE</item>
	<item>KFM_CMD_PAUSE</item>
	<item>KFM_CMD_PLAY</item>
	<item>KFM_CMD_STOP</item>
	<item>KFM_COMMAND</item>
	<item>KFM_DATA</item>
	<item>KFM_FORWARD</item>
	<item>KFM_LOOP</item>
	<item>KFM_MODE</item>
	<item>KFM_PING_PONG</item>
	<item>KFM_REVERSE</item>
	<item>KFM_ROTATION</item>
	<item>KFM_TRANSLATION</item>
	<item>LAND_LEVEL</item>
	<item>LAND_LOWER</item>
	<item>LAND_NOISE</item>
	<item>LAND_RAISE</item>
	<item>LAND_REVERT</item>
	<item>LAND_SMOOTH</item>
	<item>LINK_ALL_CHILDREN</item>
	<item>LINK_ALL_OTHERS</item>
	<item>LINK_ROOT</item>
	<item>LINK_SET</item>
	<item>LINK_THIS</item>
	<item>LIST_STAT_GEOMETRIC_MEAN</item>
	<item>LIST_STAT_MAX</item>
	<item>LIST_STAT_MEAN</item>
	<item>LIST_STAT_MEDIAN</item>
	<item>LIST_STAT_MIN</item>
	<item>LIST_STAT_NUM_COUNT</item>
	<item>LIST_STAT_RANGE</item>
	<item>LIST_STAT_STD_DEV</item>
	<item>LIST_STAT_SUM</item>
	<item>LIST_STAT_SUM_SQUARES</item>
	<item>LOOP</item>
	<item>MASK_BASE</item>
	<item>MASK_EVERYONE</item>
	<item>MASK_GROUP</item>
	<item>MASK_NEXT</item>
	<item>MASK_OWNER</item>
	<item>NULL_KEY</item>
	<item>OBJECT_ATTACHED_POINT</item>
	<item>OBJECT_CHARACTER_TIME</item>
	<item>OBJECT_CREATOR</item>
	<item>OBJECT_DESC</item>
	<item>OBJECT_GROUP</item>
	<item>OBJECT_NAME</item>
	<item>OBJECT_OWNER</item>
	<item>OBJECT_PATHFINDING_TYPE</item>
	<item>OBJECT_PHANTOM</item>
	<item>OBJECT_PHYSICS</item>
	<item>OBJECT_PHYSICS_COST</item>
	<item>OBJECT_POS</item>
	<item>OBJECT_PRIM_EQUIVALENCE</item>
	<item>OBJECT_ROOT</item>
	<item>OBJECT_ROT</item>
	<item>OBJECT_RUNNING_SCRIPT_COUNT</item>
	<item>OBJECT_SCRIPT_MEMORY</item>
	<item>OBJECT_SCRIPT_TIME</item>
	<item>OBJECT_SERVER_COST</item>
	<item>OBJECT_STREAMING_COST</item>
	<item>OBJECT_TEMP_ON_REZ</item>
	<item>OBJECT_TOTAL_SCRIPT_COUNT</item>
	<item>OBJECT_UNKNOWN_DETAIL</item>
	<item>OBJECT_VELOCITY</item>
	<item>OPT_CHARACTER</item>
	<item>OPT_AVATAR</item>
	<item>OPT_EXCLUSION_VOLUME</item>
	<item>OPT_LEGACY_LINKSET</item>
	<item>OPT_MATERIAL_VOLUME</item>
	<item>OPT_OTHER</item>
	<item>OPT_STATIC_OBSTACLE</item>
	<item>OPT_WALKABLE</item>
	<item>PARCEL_COUNT_GROUP</item>
	<item>PARCEL_COUNT_OTHER</item>
	<item>PARCEL_COUNT_OWNER</item>
	<item>PARCEL_COUNT_SELECTED</item>
	<item>PARCEL_COUNT_TEMP</item>
	<item>PARCEL_COUNT_TOTAL</item>
	<item>PARCEL_DETAILS_AREA</item>
	<item>PARCEL_DETAILS_DESC</item>
	<item>PARCEL_DETAILS_GROUP</item>
	<item>PARCEL_DETAILS_ID</item>
	<item>PARCEL_DETAILS_NAME</item>
	<item>PARCEL_DETAILS_OWNER</item>
	<item>PARCEL_DETAILS_SEE_AVATARS</item>
	<item>PARCEL_FLAG_ALLOW_ALL_OBJECT_ENTRY</item>
	<item>PARCEL_FLAG_ALLOW_CREATE_GROUP_OBJECTS</item>
	<item>PARCEL_FLAG_ALLOW_CREATE_OBJECTS</item>
	<item>PARCEL_FLAG_ALLOW_DAMAGE</item>
	<item>PARCEL_FLAG_ALLOW_FLY</item>
	<item>PARCEL_FLAG_ALLOW_GROUP_OBJECT_ENTRY</item>
	<item>PARCEL_FLAG_ALLOW_GROUP_SCRIPTS</item>
	<item>PARCEL_FLAG_ALLOW_LANDMARK</item>
	<item>PARCEL_FLAG_ALLOW_SCRIPTS</item>
	<item>PARCEL_FLAG_ALLOW_TERRAFORM</item>
	<item>PARCEL_FLAG_LOCAL_SOUND_ONLY</item>
	<item>PARCEL_FLAG_RESTRICT_PUSHOBJECT</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_MEDIA_COMMAND_AGENT</item>
	<item>PARCEL_MEDIA_COMMAND_AUTO_ALIGN</item>
	<item>PARCEL_MEDIA_COMMAND_DESC</item>
	<item>PARCEL_MEDIA_COMMAND_LOOP</item>
	<item>PARCEL_MEDIA_COMMAND_LOOP_SET</item>
	<item>PARCEL_MEDIA_COMMAND_PAUSE</item>
	<item>PARCEL_MEDIA_COMMAND_PLAY</item>
	<item>PARCEL_MEDIA_COMMAND_SIZE</item>
	<item>PARCEL_MEDIA_COMMAND_STOP</item>
	<item>PARCEL_MEDIA_COMMAND_TEXTURE</item>
	<item>PARCEL_MEDIA_COMMAND_TIME</item>
	<item>PARCEL_MEDIA_COMMAND_TYPE</item>
	<item>PARCEL_MEDIA_COMMAND_UNLOAD</item>
	<item>PARCEL_MEDIA_COMMAND_URL</item>
	<item>PASSIVE</item>
	<item>PAYMENT_INFO_ON_FILE</item>
	<item>PAYMENT_INFO_USED</item>
	<item>PAY_DEFAULT</item>
	<item>PAY_HIDE</item>
	<item>PERMISSION_ATTACH</item>
	<item>PERMISSION_CHANGE_LINKS</item>
	<item>PERMISSION_CONTROL_CAMERA</item>
	<item>PERMISSION_DEBIT</item>
	<item>PERMISSION_OVERRIDE_ANIMATIONS</item>
	<item>PERMISSION_SILENT_ESTATE_MANAGEMENT</item>
	<item>PERMISSION_TAKE_CONTROLS</item>
	<item>PERMISSION_TELEPORT</item>
	<item>PERMISSION_TRACK_CAMERA</item>
	<item>PERMISSION_TRIGGER_ANIMATION</item>
	<item>PERM_ALL</item>
	<item>PERM_COPY</item>
	<item>PERM_MODIFY</item>
	<item>PERM_MOVE</item>
	<item>PERM_TRANSFER</item>
	<item>PI</item>
	<item>PING_PONG</item>
	<item>PI_BY_TWO</item>
	<item>PRIM_BUMP_BARK</item>
	<item>PRIM_BUMP_BLOBS</item>
	<item>PRIM_BUMP_BRICKS</item>
	<item>PRIM_BUMP_BRIGHT</item>
	<item>PRIM_BUMP_CHECKER</item>
	<item>PRIM_BUMP_CONCRETE</item>
	<item>PRIM_BUMP_DARK</item>
	<item>PRIM_BUMP_DISKS</item>
	<item>PRIM_BUMP_GRAVEL</item>
	<item>PRIM_BUMP_LARGETILE</item>
	<item>PRIM_BUMP_NONE</item>
	<item>PRIM_BUMP_SHINY</item>
	<item>PRIM_BUMP_SIDING</item>
	<item>PRIM_BUMP_STONE</item>
	<item>PRIM_BUMP_STUCCO</item>
	<item>PRIM_BUMP_SUCTION</item>
	<item>PRIM_BUMP_TILE</item>
	<item>PRIM_BUMP_WEAVE</item>
	<item>PRIM_BUMP_WOOD</item>
	<item>PRIM_COLOR</item>
	<item>PRIM_DESC</item>
	<item>PRIM_FLEXIBLE</item>
	<item>PRIM_FULLBRIGHT</item>
	<item>PRIM_GLOW</item>
	<item>PRIM_HOLE_CIRCLE</item>
	<item>PRIM_HOLE_DEFAULT</item>
	<item>PRIM_HOLE_SQUARE</item>
	<item>PRIM_HOLE_TRIANGLE</item>
	<item>PRIM_LINK_TARGET</item>
	<item>PRIM_MATERIAL</item>
	<item>PRIM_MATERIAL_FLESH</item>
	<item>PRIM_MATERIAL_GLASS</item>
	<item>PRIM_MATERIAL_LIGHT</item>
	<item>PRIM_MATERIAL_METAL</item>
	<item>PRIM_MATERIAL_PLASTIC</item>
	<item>PRIM_MATERIAL_RUBBER</item>
	<item>PRIM_MATERIAL_STONE</item>
	<item>PRIM_MATERIAL_WOOD</item>
	<item>PRIM_MEDIA_ALT_IMAGE_ENABLE</item>
	<item>PRIM_MEDIA_AUTO_LOOP</item>
	<item>PRIM_MEDIA_AUTO_PLAY</item>
	<item>PRIM_MEDIA_AUTO_SCALE</item>
	<item>PRIM_MEDIA_AUTO_ZOOM</item>
	<item>PRIM_MEDIA_CURRENT_URL</item>
	<item>PRIM_MEDIA_FIRST_CLICK_INTERACT</item>
	<item>PRIM_MEDIA_HEIGHT_PIXELS</item>
	<item>PRIM_MEDIA_HOME_URL</item>
	<item>PRIM_MEDIA_PERMS_CONTROL</item>
	<item>PRIM_MEDIA_PERMS_INTERACT</item>
	<item>PRIM_MEDIA_PERM_ANYONE</item>
	<item>PRIM_MEDIA_PERM_GROUP</item>
	<item>PRIM_MEDIA_PERM_NONE</item>
	<item>PRIM_MEDIA_PERM_OWNER</item>
	<item>PRIM_MEDIA_WHITELIST</item>
	<item>PRIM_MEDIA_WHITELIST_ENABLE</item>
	<item>PRIM_MEDIA_WIDTH_PIXELS</item>
	<item>PRIM_NAME</item>
	<item>PRIM_OMEGA</item>
	<item>PRIM_PHANTOM</item>
	<item>PRIM_PHYSICS</item>
	<item>PRIM_PHYSICS_SHAPE_NONE</item>
	<item>PRIM_PHYSICS_SHAPE_TYPE</item>
	<item>PRIM_POINT_LIGHT</item>
	<item>PRIM_POSITION</item>
	<item>PRIM_POS_LOCAL</item>
	<item>PRIM_ROTATION</item>
	<item>PRIM_ROT_LOCAL</item>
	<item>PRIM_SCULPT_FLAG_INVERT</item>
	<item>PRIM_SCULPT_FLAG_MIRROR</item>
	<item>PRIM_SCULPT_TYPE_CYLINDER</item>
	<item>PRIM_SCULPT_TYPE_MASK</item>
	<item>PRIM_SCULPT_TYPE_PLANE</item>
	<item>PRIM_SCULPT_TYPE_SPHERE</item>
	<item>PRIM_SCULPT_TYPE_TORUS</item>
	<item>PRIM_SHINY_HIGH</item>
	<item>PRIM_SHINY_LOW</item>
	<item>PRIM_SHINY_MEDIUM</item>
	<item>PRIM_SHINY_NONE</item>
	<item>PRIM_SIZE</item>
	<item>PRIM_SLICE</item>
	<item>PRIM_TEMP_ON_REZ</item>
	<item>PRIM_TEXGEN</item>
	<item>PRIM_TEXGEN_DEFAULT</item>
	<item>PRIM_TEXGEN_PLANAR</item>
	<item>PRIM_TEXT</item>
	<item>PRIM_TEXTURE</item>
	<item>PRIM_TYPE</item>
	<item>PRIM_TYPE_BOX</item>
	<item>PRIM_TYPE_CYLINDER</item>
	<item>PRIM_TYPE_PRISM</item>
	<item>PRIM_TYPE_RING</item>
	<item>PRIM_TYPE_SCULPT</item>
	<item>PRIM_TYPE_SPHERE</item>
	<item>PRIM_TYPE_TORUS</item>
	<item>PRIM_TYPE_TUBE</item>
	<item>PROFILE_NONE</item>
	<item>PROFILE_SCRIPT_MEMORY</item>
	<item>PUBLIC_CHANNEL</item>
	<item>RAD_TO_DEG</item>
	<item>RCERR_CAST_TIME_EXCEEDED</item>
	<item>RCERR_SIM_PERF_LOW</item>
	<item>RCERR_UNKNOWN</item>
	<item>RC_DATA_FLAGS</item>
	<item>RC_DETECT_PHANTOM</item>
	<item>RC_GET_LINK_NUM</item>
	<item>RC_GET_NORMAL</item>
	<item>RC_GET_ROOT_KEY</item>
	<item>RC_MAX_HITS</item>
	<item>RC_REJECT_AGENTS</item>
	<item>RC_REJECT_LAND</item>
	<item>RC_REJECT_NONPHYSICAL</item>
	<item>RC_REJECT_PHYSICAL</item>
	<item>RC_REJECT_TYPES</item>
	<item>REGION_FLAG_ALLOW_DAMAGE</item>
	<item>REGION_FLAG_ALLOW_DIRECT_TELEPORT</item>
	<item>REGION_FLAG_BLOCK_FLY</item>
	<item>REGION_FLAG_BLOCK_TERRAFORM</item>
	<item>REGION_FLAG_DISABLE_COLLISIONS</item>
	<item>REGION_FLAG_DISABLE_PHYSICS</item>
	<item>REGION_FLAG_FIXED_SUN</item>
	<item>REGION_FLAG_RESTRICT_PUSHOBJECT</item>
	<item>REGION_FLAG_SANDBOX</item>
	<item>REMOTE_DATA_CHANNEL</item>
	<item>REMOTE_DATA_REPLY</item>
	<item>REMOTE_DATA_REQUEST</item>
	<item>REVERSE</item>
	<item>ROTATE</item>
	<item>SCALE</item>
	<item>SCRIPTED</item>
	<item>SIM_STAT_PCT_CHARS_STEPPED</item>
	<item>SMOOTH</item>
	<item>SQRT2</item>
	<item>STATUS_BLOCK_GRAB</item>
	<item>STATUS_BLOCK_GRAB_OBJECT</item>
	<item>STATUS_BOUNDS_ERROR</item>
	<item>STATUS_CAST_SHADOWS</item>
	<item>STATUS_DIE_AT_EDGE</item>
	<item>STATUS_INTERNAL_ERROR</item>
	<item>STATUS_MALFORMED_PARAMS</item>
	<item>STATUS_NOT_FOUND</item>
	<item>STATUS_NOT_SUPPORTED</item>
	<item>STATUS_OK</item>
	<item>STATUS_PHANTOM</item>
	<item>STATUS_PHYSICS</item>
	<item>STATUS_RETURN_AT_EDGE</item>
	<item>STATUS_ROTATE_X</item>
	<item>STATUS_ROTATE_Y</item>
	<item>STATUS_ROTATE_Z</item>
	<item>STATUS_SANDBOX</item>
	<item>STATUS_TYPE_MISMATCH</item>
	<item>STATUS_WHITELIST_FAILED</item>
	<item>STRING_TRIM</item>
	<item>STRING_TRIM_HEAD</item>
	<item>STRING_TRIM_TAIL</item>
	<item>TEXTURE_DEFAULT</item>
	<item>TEXTURE_BLANK</item>
	<item>TEXTURE_MEDIA</item>
	<item>TEXTURE_PLYWOOD</item>
	<item>TEXTURE_TRANSPARENT</item>
	<item>TOUCH_INVALID_FACE</item>
	<item>TOUCH_INVALID_TEXCOORD</item>
	<item>TOUCH_INVALID_VECTOR</item>
	<item>TRAVERSAL_TYPE</item>
	<item>TRUE</item>
	<item>TWO_PI</item>
	<item>TYPE_FLOAT</item>
	<item>TYPE_INTEGER</item>
	<item>TYPE_INVALID</item>
	<item>TYPE_KEY</item>
	<item>TYPE_ROTATION</item>
	<item>TYPE_STRING</item>
	<item>TYPE_VECTOR</item>
	<item>URL_REQUEST_DENIED</item>
	<item>URL_REQUEST_GRANTED</item>
	<item>VEHICLE_ANGULAR_DEFLECTION_EFFICIENCY</item>
	<item>VEHICLE_ANGULAR_DEFLECTION_TIMESCALE</item>
	<item>VEHICLE_ANGULAR_FRICTION_TIMESCALE</item>
	<item>VEHICLE_ANGULAR_MOTOR_DECAY_TIMESCALE</item>
	<item>VEHICLE_ANGULAR_MOTOR_DIRECTION</item>
	<item>VEHICLE_ANGULAR_MOTOR_TIMESCALE</item>
	<item>VEHICLE_BANKING_EFFICIENCY</item>
	<item>VEHICLE_BANKING_MIX</item>
	<item>VEHICLE_BANKING_TIMESCALE</item>
	<item>VEHICLE_BUOYANCY</item>
	<item>VEHICLE_FLAG_CAMERA_DECOUPLED</item>
	<item>VEHICLE_FLAG_HOVER_GLOBAL_HEIGHT</item>
	<item>VEHICLE_FLAG_HOVER_TERRAIN_ONLY</item>
	<item>VEHICLE_FLAG_HOVER_UP_ONLY</item>
	<item>VEHICLE_FLAG_HOVER_WATER_ONLY</item>
	<item>VEHICLE_FLAG_LIMIT_MOTOR_UP</item>
	<item>VEHICLE_FLAG_LIMIT_ROLL_ONLY</item>
	<item>VEHICLE_FLAG_MOUSELOOK_BANK</item>
	<item>VEHICLE_FLAG_MOUSELOOK_STEER</item>
	<item>VEHICLE_FLAG_NO_DEFLECTION_UP</item>
	<item>VEHICLE_HOVER_EFFICIENCY</item>
	<item>VEHICLE_HOVER_HEIGHT</item>
	<item>VEHICLE_HOVER_TIMESCALE</item>
	<item>VEHICLE_LINEAR_DEFLECTION_EFFICIENCY</item>
	<item>VEHICLE_LINEAR_DEFLECTION_TIMESCALE</item>
	<item>VEHICLE_LINEAR_FRICTION_TIMESCALE</item>
	<item>VEHICLE_LINEAR_MOTOR_DECAY_TIMESCALE</item>
	<item>VEHICLE_LINEAR_MOTOR_DIRECTION</item>
	<item>VEHICLE_LINEAR_MOTOR_OFFSET</item>
	<item>VEHICLE_LINEAR_MOTOR_TIMESCALE</item>
	<item>VEHICLE_REFERENCE_FRAME</item>
	<item>VEHICLE_TYPE_AIRPLANE</item>
	<item>VEHICLE_TYPE_BALLOON</item>
	<item>VEHICLE_TYPE_BOAT</item>
	<item>VEHICLE_TYPE_CAR</item>
	<item>VEHICLE_TYPE_NONE</item>
	<item>VEHICLE_TYPE_SLED</item>
	<item>VEHICLE_VERTICAL_ATTRACTION_EFFICIENCY</item>
	<item>VEHICLE_VERTICAL_ATTRACTION_TIMESCALE</item>
	<item>VERTICAL</item>
	<item>ZERO_ROTATION</item>
	<item>ZERO_VECTOR</item>
    </list>
    <list name="operators">
	<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>,</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>
    </list>

    <!-- stdlib is taken from lscript_library.cpp -->
    <list name="stdlib">
	<item>llAbs</item>
	<item>llAcos</item>
	<item>llAddToLandBanList</item>
	<item>llAddToLandPassList</item>
	<item>llAdjustSoundVolume</item>
	<item>llAllowInventoryDrop</item>
	<item>llAngleBetween</item>
	<item>llApplyImpulse</item>
	<item>llApplyRotationalImpulse</item>
	<item>llAsin</item>
	<item>llAtan2</item>
	<item>llAttachToAvatar</item>
	<item>llAttachToAvatarTemp</item>
	<item>llAvatarOnLinkSitTarget</item>
	<item>llAvatarOnSitTarget</item>
	<item>llAxes2Rot</item>
	<item>llAxisAngle2Rot</item>
	<item>llBase64ToInteger</item>
	<item>llBase64ToString</item>
	<item>llBreakAllLinks</item>
	<item>llBreakLink</item>
	<item>llCSV2List</item>
	<item>llJson2List</item>
	<item>llList2Json</item>
	<item>llJsonGetValue</item>
	<item>llJsonSetValue</item>
	<item>llCastRay</item>
	<item>llCeil</item>
	<item>llClearCameraParams</item>
	<item>llClearLinkMedia</item>
	<item>llClearPrimMedia</item>
	<item>llCloseRemoteDataChannel</item>
	<item>llCloud</item>
	<item>llCollisionFilter</item>
	<item>llCollisionSound</item>
	<item>llCollisionSprite</item>
	<item>llCos</item>
	<item>llCreateCharacter</item>
	<item>llCreateLink</item>
	<item>llDeleteCharacter</item>
	<item>llDeleteSubList</item>
	<item>llDeleteSubString</item>
	<item>llDetachFromAvatar</item>
	<item>llDetectedGrab</item>
	<item>llDetectedGroup</item>
	<item>llDetectedKey</item>
	<item>llDetectedLinkNumber</item>
	<item>llDetectedName</item>
	<item>llDetectedOwner</item>
	<item>llDetectedPos</item>
	<item>llDetectedRot</item>
	<item>llDetectedTouchBinormal</item>
	<item>llDetectedTouchFace</item>
	<item>llDetectedTouchNormal</item>
	<item>llDetectedTouchPos</item>
	<item>llDetectedTouchST</item>
	<item>llDetectedTouchUV</item>
	<item>llDetectedType</item>
	<item>llDetectedVel</item>
	<item>llDialog</item>
	<item>llDie</item>
	<item>llDumpList2String</item>
	<item>llEdgeOfWorld</item>
	<item>llEjectFromLand</item>
	<item>llEmail</item>
	<item>llEscapeURL</item>
	<item>llEuler2Rot</item>
	<item>llEvade</item>
	<item>llExecCharacterCmd</item>
	<item>llFabs</item>
	<item>llFleeFrom</item>
	<item>llFloor</item>
	<item>llForceMouselook</item>
	<item>llFrand</item>
	<item>llGenerateKey</item>
	<item>llGetAccel</item>
	<item>llGetAgentInfo</item>
	<item>llGetAgentLanguage</item>
	<item>llGetAgentList</item>
	<item>llGetAgentSize</item>
	<item>llGetAlpha</item>
	<item>llGetAndResetTime</item>
	<item>llGetAnimation</item>
	<item>llGetAnimationList</item>
	<item>llGetAnimationOverride</item>
	<item>llGetAttached</item>
	<item>llGetBoundingBox</item>
	<item>llGetCameraPos</item>
	<item>llGetCameraRot</item>
	<item>llGetCenterOfMass</item>
	<item>llGetClosestNavPoint</item>
	<item>llGetColor</item>
	<item>llGetCreator</item>
	<item>llGetDate</item>
	<item>llGetDisplayName</item>
	<item>llGetEnergy</item>
	<item>llGetEnv</item>
	<item>llGetForce</item>
	<item>llGetFreeMemory</item>
	<item>llGetFreeURLs</item>
	<item>llGetGMTclock</item>
	<item>llGetGeometricCenter</item>
	<item>llGetHTTPHeader</item>
	<item>llGetInventoryCreator</item>
	<item>llGetInventoryKey</item>
	<item>llGetInventoryName</item>
	<item>llGetInventoryNumber</item>
	<item>llGetInventoryPermMask</item>
	<item>llGetInventoryType</item>
	<item>llGetKey</item>
	<item>llGetLandOwnerAt</item>
	<item>llGetLinkKey</item>
	<item>llGetLinkMedia</item>
	<item>llGetLinkName</item>
	<item>llGetLinkNumber</item>
	<item>llGetLinkNumberOfSides</item>
	<item>llGetLinkPrimitiveParams</item>
	<item>llGetListEntryType</item>
	<item>llGetListLength</item>
	<item>llGetLocalPos</item>
	<item>llGetLocalRot</item>
	<item>llGetMass</item>
	<item>llGetMassMKS</item>
	<item>llGetMemoryLimit</item>
	<item>llGetNextEmail</item>
	<item>llGetNotecardLine</item>
	<item>llGetNumberOfNotecardLines</item>
	<item>llGetNumberOfPrims</item>
	<item>llGetNumberOfSides</item>
	<item>llGetObjectDesc</item>
	<item>llGetObjectDetails</item>
	<item>llGetObjectMass</item>
	<item>llGetObjectName</item>
	<item>llGetObjectPermMask</item>
	<item>llGetObjectPrimCount</item>
	<item>llGetOmega</item>
	<item>llGetOwner</item>
	<item>llGetOwnerKey</item>
	<item>llGetParcelDetails</item>
	<item>llGetParcelFlags</item>
	<item>llGetParcelMaxPrims</item>
	<item>llGetParcelMusicURL</item>
	<item>llGetParcelPrimCount</item>
	<item>llGetParcelPrimOwners</item>
	<item>llGetPermissions</item>
	<item>llGetPermissionsKey</item>
	<item>llGetPhysicsMaterial</item>
	<item>llGetPos</item>
	<item>llGetPrimMediaParams</item>
	<item>llGetPrimitiveParams</item>
	<item>llGetRegionAgentCount</item>
	<item>llGetRegionCorner</item>
	<item>llGetRegionFPS</item>
	<item>llGetRegionFlags</item>
	<item>llGetRegionName</item>
	<item>llGetRegionTimeDilation</item>
	<item>llGetRootPosition</item>
	<item>llGetRootRotation</item>
	<item>llGetRot</item>
	<item>llGetSPMaxMemory</item>
	<item>llGetScale</item>
	<item>llGetScriptName</item>
	<item>llGetScriptState</item>
	<item>llGetSimStats</item>
	<item>llGetSimulatorHostname</item>
	<item>llGetStartParameter</item>
	<item>llGetStaticPath</item>
	<item>llGetStatus</item>
	<item>llGetSubString</item>
	<item>llGetSunDirection</item>
	<item>llGetTexture</item>
	<item>llGetTextureOffset</item>
	<item>llGetTextureRot</item>
	<item>llGetTextureScale</item>
	<item>llGetTime</item>
	<item>llGetTimeOfDay</item>
	<item>llGetTimestamp</item>
	<item>llGetTorque</item>
	<item>llGetUnixTime</item>
	<item>llGetUsedMemory</item>
	<item>llGetUsername</item>
	<item>llGetVel</item>
	<item>llGetWallclock</item>
	<item>llGiveInventory</item>
	<item>llGiveInventoryList</item>
	<item>llGiveMoney</item>
	<item>llGodLikeRezObject</item>
	<item>llGround</item>
	<item>llGroundContour</item>
	<item>llGroundNormal</item>
	<item>llGroundRepel</item>
	<item>llGroundSlope</item>
	<item>llHTTPRequest</item>
	<item>llHTTPResponse</item>
	<item>llInsertString</item>
	<item>llInstantMessage</item>
	<item>llIntegerToBase64</item>
	<item>llJsonValueType</item>
	<item>llKey2Name</item>
	<item>llLinkParticleSystem</item>
	<item>llLinkSitTarget</item>
	<item>llList2CSV</item>
	<item>llList2Float</item>
	<item>llList2Integer</item>
	<item>llList2Key</item>
	<item>llList2List</item>
	<item>llList2ListStrided</item>
	<item>llList2Rot</item>
	<item>llList2String</item>
	<item>llList2Vector</item>
	<item>llListFindList</item>
	<item>llListInsertList</item>
	<item>llListRandomize</item>
	<item>llListReplaceList</item>
	<item>llListSort</item>
	<item>llListStatistics</item>
	<item>llListen</item>
	<item>llListenControl</item>
	<item>llListenRemove</item>
	<item>llLoadURL</item>
	<item>llLog</item>
	<item>llLog10</item>
	<item>llLookAt</item>
	<item>llLoopSound</item>
	<item>llLoopSoundMaster</item>
	<item>llLoopSoundSlave</item>
	<item>llMD5String</item>
	<item>llMakeExplosion</item>
	<item>llMakeFire</item>
	<item>llMakeFountain</item>
	<item>llMakeSmoke</item>
	<item>llMapDestination</item>
	<item>llMatchGroup</item>
	<item>llMessageLinked</item>
	<item>llMinEventDelay</item>
	<item>llModPow</item>
	<item>llModifyLand</item>
	<item>llMoveToTarget</item>
	<item>llNavigateTo</item>
	<item>llOffsetTexture</item>
	<item>llOpenRemoteDataChannel</item>
	<item>llOverMyLand</item>
	<item>llOwnerSay</item>
	<item>llParcelMediaCommandList</item>
	<item>llParcelMediaQuery</item>
	<item>llParseString2List</item>
	<item>llParseStringKeepNulls</item>
	<item>llParticleSystem</item>
	<item>llPassCollisions</item>
	<item>llPassTouches</item>
	<item>llPatrolPoints</item>
	<item>llPlaySound</item>
	<item>llPlaySoundSlave</item>
	<item>llPointAt</item>
	<item>llPow</item>
	<item>llPreloadSound</item>
	<item>llPursue</item>
	<item>llPushObject</item>
	<item>llRefreshPrimURL</item>
	<item>llRegionSay</item>
	<item>llRegionSayTo</item>
	<item>llReleaseCamera</item>
	<item>llReleaseControls</item>
	<item>llReleaseURL</item>
	<item>llRemoteDataReply</item>
	<item>llRemoteDataSetRegion</item>
	<item>llRemoteLoadScript</item>
	<item>llRemoteLoadScriptPin</item>
	<item>llRemoveFromLandBanList</item>
	<item>llRemoveFromLandPassList</item>
	<item>llRemoveInventory</item>
	<item>llRemoveVehicleFlags</item>
	<item>llRequestAgentData</item>
	<item>llRequestDisplayName</item>
	<item>llRequestInventoryData</item>
	<item>llRequestPermissions</item>
	<item>llRequestSecureURL</item>
	<item>llRequestSimulatorData</item>
	<item>llRequestURL</item>
	<item>llRequestUsername</item>
	<item>llResetAnimationOverride</item>
	<item>llResetLandBanList</item>
	<item>llResetLandPassList</item>
	<item>llResetOtherScript</item>
	<item>llResetScript</item>
	<item>llResetTime</item>
	<item>llRezAtRoot</item>
	<item>llRezObject</item>
	<item>llRot2Angle</item>
	<item>llRot2Axis</item>
	<item>llRot2Euler</item>
	<item>llRot2Fwd</item>
	<item>llRot2Left</item>
	<item>llRot2Up</item>
	<item>llRotBetween</item>
	<item>llRotLookAt</item>
	<item>llRotTarget</item>
	<item>llRotTargetRemove</item>
	<item>llRotateTexture</item>
	<item>llRound</item>
	<item>llSHA1String</item>
	<item>llSameGroup</item>
	<item>llSay</item>
	<item>llScaleTexture</item>
	<item>llScriptDanger</item>
	<item>llScriptProfiler</item>
	<item>llSendRemoteData</item>
	<item>llSensor</item>
	<item>llSensor/ja</item>
	<item>llSensorRemove</item>
	<item>llSensorRepeat</item>
	<item>llSetAlpha</item>
	<item>llSetAngularVelocity</item>
	<item>llSetAnimationOverride</item>
	<item>llSetBuoyancy</item>
	<item>llSetCameraAtOffset</item>
	<item>llSetLinkCamera</item>
	<item>llSetCameraEyeOffset</item>
	<item>llSetCameraParams</item>
	<item>llSetClickAction</item>
	<item>llSetColor</item>
	<item>llSetContentType</item>
	<item>llSetDamage</item>
	<item>llSetForce</item>
	<item>llSetForceAndTorque</item>
	<item>llSetHoverHeight</item>
	<item>llSetInventoryPermMask</item>
	<item>llSetKeyframedMotion</item>
	<item>llSetLinkAlpha</item>
	<item>llSetLinkColor</item>
	<item>llSetLinkMedia</item>
	<item>llSetLinkPrimitiveParams</item>
	<item>llSetLinkPrimitiveParamsFast</item>
	<item>llSetLinkTexture</item>
	<item>llSetLinkTextureAnim</item>
	<item>llSetLocalRot</item>
	<item>llSetMemoryLimit</item>
	<item>llSetObjectDesc</item>
	<item>llSetObjectName</item>
	<item>llSetObjectPermMask</item>
	<item>llSetParcelMusicURL</item>
	<item>llSetPayPrice</item>
	<item>llSetPhysicsMaterial</item>
	<item>llSetPos</item>
	<item>llSetPrimMediaParams</item>
	<item>llSetPrimURL</item>
	<item>llSetPrimitiveParams</item>
	<item>llSetRegionPos</item>
	<item>llSetRemoteScriptAccessPin</item>
	<item>llSetRot</item>
	<item>llSetScale</item>
	<item>llSetScriptState</item>
	<item>llSetSculptAnim</item>
	<item>llSetSitText</item>
	<item>llSetSoundQueueing</item>
	<item>llSetSoundRadius</item>
	<item>llSetStatus</item>
	<item>llSetText</item>
	<item>llSetTexture</item>
	<item>llSetTextureAnim</item>
	<item>llSetTimerEvent</item>
	<item>llSetTorque</item>
	<item>llSetTouchText</item>
	<item>llSetVehicleFlags</item>
	<item>llSetVehicleFloatParam</item>
	<item>llSetVehicleRotationParam</item>
	<item>llSetVehicleType</item>
	<item>llSetVehicleVectorParam</item>
	<item>llSetVelocity</item>
	<item>llShout</item>
	<item>llSin</item>
	<item>llSitTarget</item>
	<item>llSleep</item>
	<item>llSound</item>
	<item>llSoundPreload</item>
	<item>llSqrt</item>
	<item>llStartAnimation</item>
	<item>llStopAnimation</item>
	<item>llStopHover</item>
	<item>llStopLookAt</item>
	<item>llStopMoveToTarget</item>
	<item>llStopPointAt</item>
	<item>llStopSound</item>
	<item>llStringLength</item>
	<item>llStringToBase64</item>
	<item>llStringTrim</item>
	<item>llSubStringIndex</item>
	<item>llTakeCamera</item>
	<item>llTakeControls</item>
	<item>llTan</item>
	<item>llTarget</item>
	<item>llTargetOmega</item>
	<item>llTargetRemove</item>
	<item>llTeleportAgent</item>
	<item>llTeleportAgentGlobalCoords</item>
	<item>llTeleportAgentHome</item>
	<item>llTextBox</item>
	<item>llToLower</item>
	<item>llToUpper</item>
	<item>llTransferLindenDollars</item>
	<item>llTriggerSound</item>
	<item>llTriggerSoundLimited</item>
	<item>llUnSit</item>
	<item>llUnescapeURL</item>
	<item>llUpdateCharacter</item>
	<item>llVecDist</item>
	<item>llVecMag</item>
	<item>llVecNorm</item>
	<item>llVolumeDetect</item>
	<item>llWanderWithin</item>
	<item>llWater</item>
	<item>llWhisper</item>
	<item>llWind</item>
	<item>llXorBase64StringsCorrect</item>
	<item>llXorBase64Strings</item>
	<item>llManageEstateAccess</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="Flow control" String="flow_control"/>
        <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="User Function" String="&L;(&L;|&N;)*(?=\s*\()"/>
        <RegExpr attribute="Variable" 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;?\"(\\.|[^\\"])*\""/>
        <keyword attribute="Operator" String="operators"/>
        <DetectChar char="." attribute="Operator"/>
        <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="Flow Control" 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="Variable" defStyleNum="dsNormal"/>
      <itemData name="Float" defStyleNum="dsFloat"/>
      <itemData name="String" defStyleNum="dsString"/>
      <itemData name="Operator" defStyleNum="dsNormal"/>
      <itemData name="Brace" defStyleNum="dsNormal"/>
      <itemData name="Library Function" defStyleNum="dsFunction" bold="1"/>
      <itemData name="User Function" defStyleNum="dsFunction"/>
      <itemData name="Alert" defStyleNum="dsAlert"/>
    </itemDatas>
  </highlighting>
  <general>
    <comments>
        <comment name="singleLine" position="afterwhitespace" start="//"/>
    </comments>
  </general>
</language>
<!--
// kate: space-indent on; indent-width 2; replace-tabs on;
-->