Difference between revisions of "Kate LSL Mode"

From Second Life Wiki
Jump to navigation Jump to search
(Fixed up the &???? problem where HTML was stealing them. Added lots of new entries. Added colours (suited to black backgrounds))
m (removed my unneeded comment lines from the XML file)
Line 501: Line 501:
<item> REMOTE_DATA_REPLY </item>
<item> REMOTE_DATA_REPLY </item>
<item> REMOTE_DATA_REQUEST </item>
<item> REMOTE_DATA_REQUEST </item>
<!--item> Rotation </item-->
<item> SCRIPTED </item>
<item> SCRIPTED </item>
<item> SQRT2  </item>
<item> SQRT2  </item>
Line 554: Line 553:
         <DetectChar attribute="String" context="String" char="&amp;quot;"/>
         <DetectChar attribute="String" context="String" char="&amp;quot;"/>
         <DetectChar attribute="semi-colon" context="#stay" char=";"/>
         <DetectChar attribute="semi-colon" context="#stay" char=";"/>
        <!--RegExpr attribute="Function" context="Printf" String="\.(format|printf)\b"/-->
         <Detect2Chars attribute="Comment" context="Commentar 1" char="/" char1="/"/>
         <Detect2Chars attribute="Comment" context="Commentar 1" char="/" char1="/"/>
        <!--Detect2Chars attribute="Comment" context="Commentar 2" char="/" char1="*" beginRegion="Comment"/ -->
<!--RegExpr attribute="Comment" context="#stay" String="//*" beginRegion="Comment"/-->
<!--RegExpr attribute="Comment" context="#stay" String="//*/" endRegion="Comment"/-->
         <DetectChar attribute="Symbol" context="#stay" char="{" beginRegion="Brace1"/>
         <DetectChar attribute="Symbol" context="#stay" char="{" beginRegion="Brace1"/>
         <DetectChar attribute="Symbol" context="#stay" char="}" endRegion="Brace1"/>
         <DetectChar attribute="Symbol" context="#stay" char="}" endRegion="Brace1"/>
Line 608: Line 603:
       <itemData name="String"      defStyleNum="dsString"  color="#778899" selColor="#778899" bold="0" italic="0"/>
       <itemData name="String"      defStyleNum="dsString"  color="#778899" selColor="#778899" bold="0" italic="0"/>
       <itemData name="String Char"  defStyleNum="dsChar"    color="#FF00FF" selColor="#FF00FF" bold="0" italic="0"/>
       <itemData name="String Char"  defStyleNum="dsChar"    color="#FF00FF" selColor="#FF00FF" bold="0" italic="0"/>
      <!--itemData name="PrintfString" defStyleNum="dsString"  color="#00FFEE" selColor="#00FFEE" bold="0" italic="0"/-->
       <itemData name="Comment"      defStyleNum="dsComment"  color="#CD6600" selColor="#CD6600" bold="0" italic="0"/>
       <itemData name="Comment"      defStyleNum="dsComment"  color="#CD6600" selColor="#CD6600" bold="0" italic="0"/>
       <itemData name="Symbol"      defStyleNum="dsNormal"  color="#C039FF" selColor="#C039FF" bold="0" italic="0"/>
       <itemData name="Symbol"      defStyleNum="dsNormal"  color="#C039FF" selColor="#C039FF" bold="0" italic="0"/>
Line 616: Line 610:
     <comments>
     <comments>
       <comment name="singleLine" start="//"/>
       <comment name="singleLine" start="//"/>
      <!--comment name="multiLine" start="/*" end="*/"/-->
     </comments>
     </comments>
     <keywords casesensitive="1"/>
     <keywords casesensitive="1"/>

Revision as of 01:29, 28 October 2007

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 &amp; to be viewed and copied correctly when viewers read the article. e.g &lt; in the XML Syntax file needs to be changed to &amp;lt; before pasting it in here.


<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd">
<language name="LSL" version="1.18.3.5.0001" kateversion="2.4" section="Scripts" extensions="*.lsl" mimetype="text/x-lsl" license="LGPL" author="Balder Lathrop and Psyke Phaeton">
  <highlighting>
    <list name="functions">
	<!-- lets make these stand out also -->
	<item> default </item>
	<item> state </item>
	<!-- -->
	<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> llRemoveFromLandBanList </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> llCeil </item>
	<item> llClearCameraParams </item>
	<item> llCloseRemoteDataChannel </item>
	<item> llCloud </item>
	<item> llCollisionFilter </item>
	<item> llCollisionSound </item>
	<item> llCollisionSprite </item>
	<item> llCos </item>
	<item> llCreateLink </item>
	<item> llDeleteSubList </item>
	<item> llDeleteSubString </item>
	<item> llDetachFromAvatar </item>
	<item> llWind </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> 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> llFabs </item>
	<item> llFloor </item>
	<item> llForceMouselook </item>
	<item> llFrand </item>
	<item> llGetAccel </item>
	<item> llGetAgentInfo </item>
	<item> llGetAgentSize </item>
	<item> llGetAlpha </item>
	<item> llGetAndResetTime </item>
	<item> llGetAnimation </item>
	<item> llGetAnimationList </item>
	<item> llGetAttached </item>
	<item> llGetBoundingBox </item>
	<item> llGetCameraPos </item>
	<item> llGetCameraRot </item>
	<item> llGetCenterOfMass </item>
	<item> llGetColor </item>
	<item> llGetCreator </item>
	<item> llGetDate </item>
	<item> llGetEnergy </item>
	<item> llGetForce </item>
	<item> llSitTarget </item>
	<item> llGetFreeMemory </item>
	<item> llGetGMTclock </item>
	<item> llGetGeometricCenter </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> llGetLinkName </item>
	<item> llGetLinkNumber </item>
	<item> llGetListEntryType </item>
	<item> llGetListLength </item>
	<item> llGetLocalPos </item>
	<item> llGetLocalRot </item>
	<item> llGetMass </item>
	<item> llGetObjectName </item>
	<item> llGetNextEmail </item>
	<item> llGetNotecardLine </item>
	<item> llGetNumberOfNotecardLines </item>
	<item> llGetNumberOfPrims </item>
	<item> llGetNumberOfSides </item>
	<item> llGetObjectDesc </item>
	<item> llRequestSimulatorData </item>
	<item> llGetObjectDetails </item>
	<item> llGetObjectPermMask </item>
	<item> llGetObjectPrimCount </item>
	<item> llGetOmega </item>
	<item> llGetOwner </item>
	<item> llGetOwnerKey </item>
	<item> llGetParcelDetails </item>
	<item> llGetObjectMass </item>
	<item> llGetParcelFlags </item>
	<item> llGetParcelMaxPrims </item>
	<item> llGetParcelPrimCount </item>
	<item> llGetParcelPrimOwners </item>
	<item> llGetPermissions </item>
	<item> llGetPermissionsKey </item>
	<item> llGetPos </item>
	<item> llGetPrimitiveParams </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> llGetScale </item>
	<item> llGetScriptName </item>
	<item> llListFindList </item>
	<item> llGetScriptState </item>
	<item> llGetSimulatorHostname </item>
	<item> llGetStartParameter </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> 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> llRound </item>
	<item> llInsertString </item>
	<item> llInstantMessage </item>
	<item> llIntegerToBase64 </item>
	<item> llKey2Name </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> 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> llMapDestination </item>
	<item> llMessageLinked </item>
	<item> llMinEventDelay </item>
	<item> llModPow </item>
	<item> llModifyLand </item>
	<item> llMoveToTarget </item>
	<item> llVecDist </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> llPlaySound </item>
	<item> llPlaySoundSlave </item>
	<item> llPointAt </item>
	<item> llPow </item>
	<item> llPreloadSound </item>
	<item> llPushObject </item>
	<item> llRefreshPrimURL </item>
	<item> llRegionSay </item>
	<item> llReleaseCamera </item>
	<item> llReleaseControls </item>
	<item> llRemoteDataReply </item>
	<item> llRemoteDataSetRegion </item>
	<item> llRemoteLoadScriptPin </item>
	<item> llSetTorque </item>
	<item> llRemoveFromLandPassList </item>
	<item> llRemoveInventory </item>
	<item> llRemoveVehicleFlags </item>
	<item> llRequestAgentData </item>
	<item> llRequestInventoryData </item>
	<item> llRequestPermissions </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> llSameGroup </item>
	<item> llSay </item>
	<item> llScaleTexture </item>
	<item> llScriptDanger </item>
	<item> llSendRemoteData </item>
	<item> llSensor </item>
	<item> llSensorRemove </item>
	<item> llSensorRepeat </item>
	<item> llSetAlpha </item>
	<item> llSetBuoyancy </item>
	<item> llSetCameraAtOffset </item>
	<item> llSetCameraEyeOffset </item>
	<item> llSetCameraParams </item>
	<item> llSetColor </item>
	<item> llSetDamage </item>
	<item> llSetForce </item>
	<item> llSetForceAndTorque </item>
	<item> llSetHoverHeight </item>
	<item> llSetInventoryPermMask </item>
	<item> llSetLinkAlpha </item>
	<item> llSetLinkColor </item>
	<item> llSetLinkPrimitiveParams </item>
	<item> llSetLinkTexture </item>
	<item> llSetLocalRot </item>
	<item> llSetObjectDesc </item>
	<item> llSetObjectName </item>
	<item> llSetObjectPermMask </item>
	<item> llSetParcelMusicURL </item>
	<item> llSetPayPrice </item>
	<item> llSetPos </item>
	<item> llSetPrimURL </item>
	<item> llSetPrimitiveParams </item>
	<item> llSetRemoteScriptAccessPin </item>
	<item> llSetRot </item>
	<item> llSetScale </item>
	<item> llSetScriptState </item>
	<item> llTeleportAgentHome </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> llSetTouchText </item>
	<item> llSetVehicleFlags </item>
	<item> llSetVehicleFloatParam </item>
	<item> llSetVehicleRotationParam </item>
	<item> llSetVehicleType </item>
	<item> llSetVehicleVectorParam </item>
	<item> llShout </item>
	<item> llSin </item>
	<item> llSleep </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> llToLower </item>
	<item> llToUpper </item>
	<item> llTriggerSound </item>
	<item> llTriggerSoundLimited </item>
	<item> llUnSit </item>
	<item> llUnescapeURL </item>
	<item> llVecMag </item>
	<item> llVecNorm </item>
	<item> llVolumeDetect </item>
	<item> llWater </item>
	<item> llWhisper </item>
	<item> llXorBase64StringsCorrect </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> 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> 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>
    </list>
    <list name="avoid">
      <item> jump </item>
      <item> llSoundPreload </item>
      <item> llSound </item>
      <item> llMakeExplosion </item>
      <item> llMakeFire </item>
      <item> llMakeFountain </item>
      <item> llMakeSmoke </item>
      <item> llRemoteLoadScript </item>
    </list>
    <list name="constants">
	<item> ACTIVE </item>
	<item> AGENT </item>
	<item> ALL_SIDES </item>
	<item> ATTACH_HUD_CENTER_2 </item>
	<item> CHANGED_ALLOWED_DROP </item>
	<item> CHANGED_COLOR </item>
	<item> CHANGED_INVENTORY </item>
	<item> CHANGED_LINK </item>
	<item> CHANGED_OWNER </item>
	<item> CHANGED_REGION </item>
	<item> CHANGED_SCALE </item>
	<item> CHANGED_SHAPE </item>
	<item> CHANGED_TELEPORT  </item>
	<item> CHANGED_TEXTURE </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> DEBUG_CHANNEL </item>
	<item> DEG_TO_RAD </item>
	<item> EOF </item>
	<item> FALSE </item>
	<item> HTTP_BODY_MAXLENGTH </item>
	<item> HTTP_BODY_TRUNCATED </item>
	<item> HTTP_METHOD </item>
	<item> HTTP_MIMETYPE </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> LINK_ALL_CHILDREN </item>
	<item> LINK_ALL_OTHERS </item>
	<item> LINK_ROOT </item>
	<item> LINK_SET </item>
	<item> LINK_THIS </item>
	<item> NULL_KEY </item>
	<item> OBJECT_CREATOR </item>
	<item> OBJECT_DESC </item>
	<item> OBJECT_GROUP </item>
	<item> OBJECT_NAME </item>
	<item> OBJECT_OWNER </item>
	<item> OBJECT_POS </item>
	<item> OBJECT_ROT </item>
	<item> OBJECT_VELOCITY </item>
	<item> PARCEL_DETAILS_AREA </item>
	<item> PARCEL_DETAILS_DESC </item>
	<item> PARCEL_DETAILS_GROUP </item>
	<item> PARCEL_DETAILS_NAME </item>
	<item> PARCEL_DETAILS_OWNER </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_LOOP </item>
	<item> PARCEL_MEDIA_COMMAND_PAUSE </item>
	<item> PARCEL_MEDIA_COMMAND_PLAY </item>
	<item> PARCEL_MEDIA_COMMAND_STOP </item>
	<item> PARCEL_MEDIA_COMMAND_TEXTURE </item>
	<item> PARCEL_MEDIA_COMMAND_TIME </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_TAKE_CONTROLS </item>
	<item> PERMISSION_TRACK_CAMERA </item>
	<item> PERMISSION_TRIGGER_ANIMATION </item>
	<item> PI </item>
	<item> PI_BY_TWO </item>
	<item> PRIM_POINT_LIGHT </item>
	<item> PRIM_TYPE_CYLINDER </item>
	<item> PRIM_TYPE_SCULPT </item>
	<item> PUBLIC_CHANNEL </item>
	<item> RAD_TO_DEG </item>
	<item> REMOTE_DATA_CHANNEL </item>
	<item> REMOTE_DATA_REPLY </item>
	<item> REMOTE_DATA_REQUEST </item>
	<item> SCRIPTED </item>
	<item> SQRT2  </item>
	<item> STATUS_PHANTOM </item>
	<item> STATUS_PHYSICS </item>
	<item> STATUS_ROTATE_X </item>
	<item> STATUS_ROTATE_Y </item>
	<item> STATUS_ROTATE_Z </item>
	<item> TRUE </item>
	<item> TWO_PI </item>
	<item> VEHICLE_TYPE_AIRPLANE </item>
	<item> VEHICLE_TYPE_BALLOON </item>
	<item> VEHICLE_TYPE_BOAT </item>
	<item> VEHICLE_TYPE_CAR </item>
	<item> VEHICLE_TYPE_SLED </item>
	<item> ZERO_ROTATION </item>
	<item> ZERO_VECTOR </item>
    </list>
    <list name="keywords">
	<item> do </item>
	<item> else </item>
	<item> for </item>
	<item> if </item>
	<item> while </item>
	<item> return </item>
	<item> state </item>
    </list>
    <list name="types">
	<item> list </item>
	<item> key </item>
	<item> string </item>
	<item> vector </item>
	<item> rotation </item>
	<item> float </item>
	<item> integer </item>
    </list>
    <contexts>
      <context attribute="Normal Text" lineEndContext="#stay" name="Normal">
        <keyword attribute="Keyword" context="#stay" String="keywords"/>
        <keyword attribute="Data Type" context="#stay" String="types"/>
        <keyword attribute="LL Functions" context="#stay" String="functions"/>
        <keyword attribute="LL Events"    context="#stay" String="events"/>
        <keyword attribute="LL Constants" context="#stay" String="constants"/>
        <keyword attribute="LL Avoids" context="#stay" String="avoid"/>
	<Int attribute="Decimal" context="#stay" />
        <Float attribute="Float" context="#stay"/>
        <HlCOct attribute="Octal" context="#stay"/>
        <HlCHex attribute="Hex" context="#stay"/>
        <HlCChar attribute="Char" context="#stay"/>
        <RegExpr attribute="Decimal" context="#stay" String="//\s*BEGIN.*$" beginRegion="Region1"/>
        <RegExpr attribute="Decimal" context="#stay" String="//\s*END.*$" endRegion="Region1"/>
        <DetectChar attribute="String" context="String" char="&quot;"/>
        <DetectChar attribute="semi-colon" context="#stay" char=";"/>
        <Detect2Chars attribute="Comment" context="Commentar 1" char="/" char1="/"/>
        <DetectChar attribute="Symbol" context="#stay" char="{" beginRegion="Brace1"/>
        <DetectChar attribute="Symbol" context="#stay" char="}" endRegion="Brace1"/>
        <RegExpr attribute="Keyword" context="#stay" String="\.{3,3}\s+"/>
        <RegExpr attribute="Function" context="#stay" String="\b[_\w][_\w\d]*(?=[\s]*(/\*\s*\d+\s*\*/\s*)?[(])"/>
        <RegExpr attribute="Symbol" context="Member" String="[.]{1,1}"/>
        <AnyChar attribute="Symbol" context="#stay" String=":!%&amp;()+,-/.*&lt;=&gt;?[]|~^"/>
      </context>
      <context attribute="String" lineEndContext="#stay" name="String"> <!-- allow strings to cross multiple lines -->
        <LineContinue attribute="String" context="#stay"/>
        <HlCStringChar attribute="String Char" context="#stay"/>
        <DetectChar attribute="String" context="#pop" char="&quot;"/>
      </context>
      <context attribute="Printf" lineEndContext="#pop" name="Printf">
        <DetectChar attribute="Normal Text" context="#pop" char=";"/>
        <DetectChar attribute="String" context="PrintfString" char="&quot;"/>
      </context>
      <context attribute="PrintfString" lineEndContext="#pop" name="PrintfString">
        <LineContinue attribute="String" context="#stay"/>
        <HlCStringChar attribute="String Char" context="#stay"/>
        <DetectChar attribute="String" context="#pop" char="&quot;"/>
        <RegExpr attribute="String Char" context="#stay" String="%(\d+\$)?(-|#|\+|\ |0|,|\()*\d*(\.\d+)?[a-hosxA-CEGHSX]"/>
        <RegExpr attribute="String Char" context="#stay" String="%(\d+\$)?(-|#|\+|\ |0|,|\()*\d*(t|T)(a|A|b|B|c|C|d|D|e|F|h|H|I|j|k|l|L|m|M|N|p|P|Q|r|R|s|S|T|y|Y|z|Z)"/>
        <RegExpr attribute="String Char" context="#stay" String="%(%|n)"/>
      </context>
      <context attribute="Normal Text" lineEndContext="#pop" name="Member" fallthrough="true" fallthroughContext="#pop">
        <RegExpr attribute="Function" context="#pop" String="\b[_a-zA-Z]\w*(?=[\s]*)"/>
      </context>
      <context attribute="Comment" lineEndContext="#pop" name="Commentar 1"/>
      <context attribute="Comment" lineEndContext="#stay" name="Commentar 2">
        <Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" endRegion="Comment"/>
      </context>
    </contexts>
    <itemDatas>
      <itemData name="Normal Text"  defStyleNum="dsNormal"/> <!--system default text colour-->
      <itemData name="Keyword"      defStyleNum="dsKeyword"  color="#FFFF00" selColor="#FFFF00" bold="0" italic="0"/>
      <itemData name="Function"     defStyleNum="dsFunction" color="#FF7C98" selColor="#FF7C98" bold="0" italic="0"/>
      <itemData name="LL Functions" defStyleNum="dsFunction" color="#CC0000" selColor="#CC0000" bold="0" italic="0"/>
      <itemData name="LL Constants" defStyleNum="dsKeyword"  color="#0E43F0" selColor="#0E43F0" bold="0" italic="0"/>
      <itemData name="LL Events"    defStyleNum="dsFunction" color="#00FFEE" selColor="#00FFEE" bold="1" italic="0"/>
      <itemData name="LL Avoids"    defStyleNum="dsAlert"    color="#FF0000" selColor="#FF0000" bold="1" strikeout="1"/>
      <itemData name="Data Type"    defStyleNum="dsDataType" color="#00FF00" selColor="#00FF00" bold="0" italic="0"/>
      <itemData name="semi-colon"   defStyleNum="dsChar"     color="#CC0000" selColor="#CC0000" bold="0" italic="0"/>
      <itemData name="Decimal"      defStyleNum="dsDecVal"   color="#FFFF00" selColor="#FFFF00" bold="0" italic="0"/>
      <itemData name="Octal"        defStyleNum="dsBaseN"    color="#FFFF00" selColor="#FFFF00" bold="0" italic="0"/>
      <itemData name="Hex"          defStyleNum="dsBaseN"    color="#FFFF00" selColor="#FFFF00" bold="0" italic="0"/>
      <itemData name="Float"        defStyleNum="dsFloat"    color="#FFFF00" selColor="#FFFF00" bold="0" italic="0"/>
      <itemData name="Char"         defStyleNum="dsChar"     color="#FF00FF" selColor="#FF00FF" bold="0" italic="0"/>
      <itemData name="String"       defStyleNum="dsString"   color="#778899" selColor="#778899" bold="0" italic="0"/>
      <itemData name="String Char"  defStyleNum="dsChar"     color="#FF00FF" selColor="#FF00FF" bold="0" italic="0"/>
      <itemData name="Comment"      defStyleNum="dsComment"  color="#CD6600" selColor="#CD6600" bold="0" italic="0"/>
      <itemData name="Symbol"       defStyleNum="dsNormal"   color="#C039FF" selColor="#C039FF" bold="0" italic="0"/>
    </itemDatas>
  </highlighting>
  <general>
    <comments>
      <comment name="singleLine" start="//"/>
    </comments>
    <keywords casesensitive="1"/>
  </general>
</language>