# Define SciTE settings for LSL (Linden Scripting Language, see http://secondlife.com) # v3 by Ezhar Fairlight file.patterns.lsl=*.lsl;*.esl lexer.$(file.patterns.lsl)=cpp filter.cpp=LSL (lsl esl)|$(file.patterns.lsl)| # LSL Wiki online help command.help.$(file.patterns.lsl)="http://secondlife.com/badgeo/wakka.php?wakka=$(CurrentWord)" command.help.subsystem.$(file.patterns.lsl)=2 # ESL files use the C preprocessor (Hugh Perkins) # set to 0 to strip comments (smaller LSL output, useful if your'e hitting the 64kb limit) NO_STRIP_COMMENT=1 if NO_STRIP_COMMENT esl.strip.comment=/C #command.compile.*.esl=cmd /c cl /nologo /X /u $(esl.strip.comment) /Tc"$(FileNameExt)" /EP >"$(FileNameExt).tmp" && "$(SciteDefaultHome)\SciTE.exe" "-open:$(FileNameExt).tmp" #command.compile.*.esl=cmd /c cl /nologo /X /u $(esl.strip.comment) /Tc"$(FileNameExt)" /EP >"$(FileName).lsl" # preprocess ESL script, strip whitespace and write LSL file command.compile.*.esl=cmd /c cl /nologo /X /u $(esl.strip.comment) /Tc"$(FileNameExt)" /EP >"$(FileName).wsl" && "$(SciteDefaultHome)\stripper.exe" "$(FileName).wsl" "$(FileName).lsl" && del "$(FileName).wsl" # put LSL or ESL script into clipboard command.go.$(file.patterns.lsl)="$(SciteDefaultHome)\clipboard.exe" "$(FileName).lsl" #command.go.needs.*.esl=cmd /c cl /nologo /X /u $(esl.strip.comment) /Tc"$(FileNameExt)" /EP >"$(FileName).lsl" # ESL scripts are "compiled" first, then the resulting LSL file is put into clipboard (by the line above) command.go.needs.*.esl=$(command.compile.*.esl) #cmd /c cl /nologo /X /u $(esl.strip.comment) /Tc"$(FileNameExt)" /EP >"$(FileName).wsl" && "$(SciteDefaultHome)\stripper.exe" "$(FileName).wsl" "$(FileName).lsl" && del "$(FileName).wsl" && "$(SciteDefaultHome)\clipboard.exe" "$(FileName).lsl" # Preprocessor settings preprocessor.symbol.$(file.patterns.cpp)=# preprocessor.start.$(file.patterns.cpp)=if ifdef ifndef preprocessor.middle.$(file.patterns.cpp)=else elif preprocessor.end.$(file.patterns.cpp)=endif # API for calltips and symbol completion api.$(file.patterns.lsl)=$(SciteDefaultHome)/lsl.api # standard keywords, types and states keywords.$(file.patterns.lsl)=default state \ integer float string key vector rotation list \ for do while if else jump return # events, constants and functions keywords2.$(file.patterns.lsl)=at_rot_target at_target attach changed collision collision_end collision_start control dataserver default email \ float http_response integer key land_collision land_collision_end land_collision_start link_message list listen money moving_end moving_start \ no_sensor not_at_rot_target not_at_target object_rez on_rez remote_data rotation run_time_permissions sensor state state_entry state_exit \ string timer touch_start touch touch_end vector \ ACTIVE AGENTAGENT_ALWAYS_RUN AGENT_ATTACHMENTS AGENT_AWAY AGENT_BUSY AGENT_CROUCHING AGENT_FLYING AGENT_IN_AIR \ AGENT_MOUSELOOK AGENT_ON_OBJECT AGENT_SCRIPTED AGENT_SITTING AGENT_TYPING AGENT_WALKING ALL_SIDES ANIM_ON \ ATTACH_BACK ATTACH_BELLY ATTACH_CHEST ATTACH_CHIN ATTACH_HEAD ATTACH_LEAR ATTACH_LEYE ATTACH_LFOOT ATTACH_LHAND \ ATTACH_LHIP ATTACH_LLARM ATTACH_LLLEG ATTACH_LPEC ATTACH_LSHOULDER ATTACH_LUARM ATTACH_LULEG ATTACH_MOUTH \ ATTACH_NOSE ATTACH_PELVIS ATTACH_REAR ATTACH_REYE ATTACH_RFOOT ATTACH_RHAND ATTACH_RHIP ATTACH_RLARM ATTACH_RLLEG \ ATTACH_RPEC ATTACH_RSHOULDER ATTACH_RUARM ATTACH_RULEG \ CAMERA_ACTIVE CAMERA_BEHINDNESS_ANGLE CAMERA_BEHINDNESS_LAG CAMERA_DISTANCE CAMERA_FOCUS CAMERA_FOCUS_LAG \ CAMERA_FOCUS_LOCKED CAMERA_FOCUS_OFFSET CAMERA_FOCUS_THRESHOLD CAMERA_PITCH CAMERA_POSITION CAMERA_POSITION_LAG \ CAMERA_POSITION_LOCKED CAMERA_POSITION_THRESHOLD CHANGED_ALLOWED_DROP CHANGED_COLOR CHANGED_INVENTORY CHANGED_LINK \ CHANGED_OWNER CHANGED_REGION CHANGED_SCALE CHANGED_SHAPE CHANGED_TELEPORT CHANGED_TEXTURE \ CONTROL_BACK CONTROL_DOWN CONTROL_FWD CONTROL_LBUTTON CONTROL_LEFT CONTROL_ML_LBUTTON CONTROL_RIGHT CONTROL_ROT_LEFT \ CONTROL_ROT_RIGHT CONTROL_UP \ DATA_BORN DATA_NAME DATA_ONLINE DATA_RATING DATA_SIM_POS DATA_SIM_RATING DATA_SIM_STATUS DEBUG_CHANNEL DEG_TO_RAD \ EOF FALSE HTTP_BODY_MAXLENGTH HTTP_BODY_TRUNCATED HTTP_METHOD HTTP_MIMETYPE INVENTORY_ALL INVENTORY_ANIMATION \ INVENTORY_BODYPART INVENTORY_CLOTHING INVENTORY_GESTURE INVENTORY_LANDMARK INVENTORY_NONE INVENTORY_NOTECARD \ INVENTORY_OBJECT INVENTORY_SCRIPT INVENTORY_SOUND INVENTORY_TEXTURE \ LAND_LARGE_BRUSH LAND_LEVEL LAND_LOWER LAND_MEDIUM_BRUSH LAND_NOISE LAND_RAISE LAND_REVERT LAND_SMALL_BRUSH LAND_SMOOTH \ LINK_ALL_CHILDREN LINK_ALL_OTHERS LINK_ROOT LINK_SET LINK_THIS LIST_STAT_GEOMETRIC_MEAN LIST_STAT_MAX LIST_STAT_MEAN \ LIST_STAT_MEDIAN LIST_STAT_MIN LIST_STAT_NUM_COUNT LIST_STAT_RANGE LIST_STAT_STD_DEV LIST_STAT_SUM LIST_STAT_SUM_SQUARES \ LOOP MASK_BASE MASK_EVERYONE MASK_GROUP MASK_NEXT MASK_OWNER NULL_KEY \ PARCEL_FLAG_ALLOW_CREATE_OBJECTS PARCEL_FLAG_ALLOW_DAMAGE PARCEL_FLAG_ALLOW_FLY PARCEL_FLAG_ALLOW_LANDMARK \ PARCEL_FLAG_ALLOW_SCRIPTS PARCEL_FLAG_ALLOW_TERRAFORM PARCEL_FLAG_LOCAL_SOUND_ONLY PARCEL_FLAG_USE_ACCESS_GROUP \ PARCEL_FLAG_USE_ACCESS_LIST PARCEL_FLAG_USE_BAN_LIST PARCEL_FLAG_USE_LAND_PASS_LIST PARCEL_MEDIA_COMMAND_AGENT \ PARCEL_MEDIA_COMMAND_AUTO_ALIGN PARCEL_MEDIA_COMMAND_LOOP PARCEL_MEDIA_COMMAND_PAUSE PARCEL_MEDIA_COMMAND_PLAY \ PARCEL_MEDIA_COMMAND_STOP PARCEL_MEDIA_COMMAND_TEXTURE PARCEL_MEDIA_COMMAND_TIME PARCEL_MEDIA_COMMAND_UNLOAD \ PARCEL_MEDIA_COMMAND_URL PASSIVE PAY_DEFAULT PAY_HIDE PERM_ALL PERM_COPY PERM_MODIFY PERM_MOVE PERM_TRANSFER \ PERMISSION_ATTACH PERMISSION_CHANGE_LINKS PERMISSION_CONTROL_CAMERA PERMISSION_DEBIT PERMISSION_TAKE_CONTROLS \ PERMISSION_TRACK_CAMERA PERMISSION_TRIGGER_ANIMATION PI PI_BY_TWO PING_PONG PRIM_BUMP_BARK PRIM_BUMP_BLOBS \ PRIM_BUMP_BRICKS PRIM_BUMP_BRIGHT PRIM_BUMP_CHECKER PRIM_BUMP_CONCRETE PRIM_BUMP_DARK PRIM_BUMP_DISKS PRIM_BUMP_GRAVEL \ PRIM_BUMP_LARGETILE PRIM_BUMP_NONE PRIM_BUMP_SHINY PRIM_BUMP_SIDING PRIM_BUMP_STONE PRIM_BUMP_STUCCO PRIM_BUMP_SUCTION \ PRIM_BUMP_TILE PRIM_BUMP_WEAVE PRIM_BUMP_WOOD PRIM_CAST_SHADOWS PRIM_COLOR PRIM_FLEXIBLE PRIM_FULLBRIGHT \ PRIM_HOLE_CIRCLE PRIM_HOLE_DEFAULT PRIM_HOLE_SQUARE PRIM_HOLE_TRIANGLE PRIM_MATERIAL PRIM_MATERIAL_FLESH \ PRIM_MATERIAL_GLASS PRIM_MATERIAL_LIGHT PRIM_MATERIAL_METAL PRIM_MATERIAL_PLASTIC PRIM_MATERIAL_RUBBER PRIM_MATERIAL_STONE \ PRIM_MATERIAL_WOOD PRIM_PHANTOM PRIM_PHYSICS PRIM_POINT_LIGHT PRIM_POSITION PRIM_ROTATION PRIM_SHINY_HIGH PRIM_SHINY_LOW \ PRIM_SHINY_MEDIUM PRIM_SHINY_NONE PRIM_SIZE PRIM_TEMP_ON_REZ PRIM_TEXGEN PRIM_TEXGEN_DEFAULT PRIM_TEXGEN_PLANAR \ PRIM_TEXTURE PRIM_TYPE PRIM_TYPE_BOX PRIM_TYPE_CYLINDER PRIM_TYPE_PRISM PRIM_TYPE_RING PRIM_TYPE_SPHERE PRIM_TYPE_TORUS \ PRIM_TYPE_TUBE PSYS_PART_BOUNCE_MASK PSYS_PART_EMISSIVE_MASK PSYS_PART_END_ALPHA PSYS_PART_END_COLOR PSYS_PART_END_SCALE \ PSYS_PART_FLAGS PSYS_PART_FOLLOW_SRC_MASK PSYS_PART_FOLLOW_VELOCITY_MASK PSYS_PART_INTERP_COLOR_MASK \ PSYS_PART_INTERP_SCALE_MASK PSYS_PART_MAX_AGE PSYS_PART_START_ALPHA PSYS_PART_START_COLOR PSYS_PART_START_SCALE \ PSYS_PART_TARGET_LINEAR_MASK PSYS_PART_TARGET_POS_MASK PSYS_PART_WIND_MASK PSYS_SRC_ACCEL PSYS_SRC_ANGLE_BEGIN \ PSYS_SRC_ANGLE_END PSYS_SRC_BURST_PART_COUNT PSYS_SRC_BURST_RADIUS PSYS_SRC_BURST_RATE PSYS_SRC_BURST_SPEED_MAX \ PSYS_SRC_BURST_SPEED_MIN PSYS_SRC_INNERANGLE PSYS_SRC_MAX_AGE PSYS_SRC_OMEGA PSYS_SRC_OUTERANGLE PSYS_SRC_PATTERN \ PSYS_SRC_PATTERN_ANGLE PSYS_SRC_PATTERN_ANGLE_CONE PSYS_SRC_PATTERN_ANGLE_CONE_EMPTY PSYS_SRC_PATTERN_DROP \ PSYS_SRC_PATTERN_EXPLODE PSYS_SRC_TARGET_KEY PSYS_SRC_TEXTURE PUBLIC_CHANNEL \ RAD_TO_DEG REGION_FLAG_ALLOW_DAMAGE REGION_FLAG_ALLOW_DIRECT_TELEPORT REGION_FLAG_BLOCK_FLY \ REGION_FLAG_BLOCK_TERRAFORM REGION_FLAG_DISABLE_COLLISIONS REGION_FLAG_DISABLE_PHYSICS REGION_FLAG_FIXED_SUN \ REGION_FLAG_SANDBOX REMOTE_DATA_CHANNEL REMOTE_DATA_REPLY REMOTE_DATA_REQUEST REVERSE ROTATE \ SCALE SCRIPTED SMOOTH SQRT2 STATUS_BLOCK_GRAB STATUS_CAST_SHADOWS STATUS_DIE_AT_EDGE STATUS_PHANTOM STATUS_PHYSICS \ STATUS_RETURN_AT_EDGE STATUS_ROTATE_X STATUS_ROTATE_Y STATUS_ROTATE_Z STATUS_SANDBOX \ TRUE TWO_PI TYPE_FLOAT TYPE_INTEGER TYPE_INVALID TYPE_KEY TYPE_ROTATION TYPE_STRING TYPE_VECTOR \ VEHICLE_ANGULAR_DEFLECTION_EFFICIENCY VEHICLE_ANGULAR_DEFLECTION_TIMESCALE VEHICLE_ANGULAR_FRICTION_TIMESCALE \ VEHICLE_ANGULAR_MOTOR_DECAY_TIMESCALE VEHICLE_ANGULAR_MOTOR_DIRECTION VEHICLE_ANGULAR_MOTOR_TIMESCALE \ VEHICLE_BANKING_EFFICIENCY VEHICLE_BANKING_MIX VEHICLE_BANKING_TIMESCALE VEHICLE_BUOYANCY VEHICLE_FLAG_CAMERA_DECOUPLED \ VEHICLE_FLAG_HOVER_GLOBAL_HEIGHT VEHICLE_FLAG_HOVER_TERRAIN_ONLY VEHICLE_FLAG_HOVER_UP_ONLY \ VEHICLE_FLAG_HOVER_WATER_ONLY VEHICLE_FLAG_LIMIT_MOTOR_UP VEHICLE_FLAG_LIMIT_ROLL_ONLY VEHICLE_FLAG_MOUSELOOK_BANK \ VEHICLE_FLAG_MOUSELOOK_STEER VEHICLE_FLAG_NO_DEFLECTION_UP VEHICLE_HOVER_EFFICIENCY VEHICLE_HOVER_HEIGHT \ VEHICLE_HOVER_TIMESCALE VEHICLE_LINEAR_DEFLECTION_EFFICIENCY VEHICLE_LINEAR_DEFLECTION_TIMESCALE \ VEHICLE_LINEAR_FRICTION_TIMESCALE VEHICLE_LINEAR_MOTOR_DECAY_TIMESCALE VEHICLE_LINEAR_MOTOR_DIRECTION \ VEHICLE_LINEAR_MOTOR_OFFSET VEHICLE_LINEAR_MOTOR_TIMESCALE VEHICLE_REFERENCE_FRAME VEHICLE_TYPE_AIRPLANE \ VEHICLE_TYPE_BALLOON VEHICLE_TYPE_BOAT VEHICLE_TYPE_CAR VEHICLE_TYPE_NONE VEHICLE_TYPE_SLED \ VEHICLE_VERTICAL_ATTRACTION_EFFICIENCY VEHICLE_VERTICAL_ATTRACTION_TIMESCALE ZERO_ROTATION ZERO_VECTOR \ do else for if jump return while \ llAbs llAcos llAddToLandBanList llAddToLandPassList \ llAdjustSoundVolume llAllowInventoryDrop llAngleBetween llApplyImpulse llApplyRotationalImpulse llAsin llAtan2 llAttachToAvatar llAvatarOnSitTarget \ llAxes2Rot llAxisAngle2Rot llBase64ToInteger llBase64ToString llBreakAllLinks llBreakLink llCeil llClearCameraParams \ llCloseRemoteDataChannel llCloud \ llCollisionFilter llCollisionSound llCollisionSprite llCos llCreateLink llCSV2List llDeleteSubList llDeleteSubString llDetachFromAvatar \ llDetectedGrab llDetectedGroup llDetectedKey llDetectedLinkNumber llDetectedName llDetectedOwner llDetectedPos llDetectedRot llDetectedType \ llDetectedVel llDialog llDie llDumpList2String llEdgeOfWorld llEjectFromLand llEmail llEuler2Rot llFabs llFloor llForceMouselook llFrand \ llGetAccel llGetAgentInfo llGetAgentSize llGetAlpha llGetAndResetTime llGetAnimation llGetAnimationList llGetAttached llGetBoundingBox \ llGetCameraPos llGetCameraRot llGetCenterOfMass llGetColor llGetCreator llGetDate llGetEnergy llGetForce llGetFreeMemory llGetGeometricCenter llGetGMTclock llGetInventoryCreator \ llGetInventoryKey llGetInventoryName llGetInventoryNumber llGetInventoryPermMask llGetInventoryType llGetKey llGetLandOwnerAt llGetLinkKey llGetLinkName \ llGetLinkNumber llGetListEntryType llGetListLength llGetLocalPos llGetLocalRot llGetMass llGetNextEmail llGetNotecardLine llGetNumberOfNotecardLines \ llGetNumberOfPrims llGetNumberOfSides llGetObjectDesc llGetObjectMass llGetObjectName llGetObjectPermMask llGetOmega llGetOwner llGetOwnerKey \ llGetParcelFlags llGetPermissions llGetPermissionsKey llGetPos llGetPrimitiveParams llGetRegionCorner llGetRegionFlags llGetRegionFPS llGetRegionName llGetRegionTimeDilation \ llGetRootPosition llGetRootRotation llGetRot llGetScale llGetScriptName llGetScriptState llGetSimulatorHostname llGetStartParameter \ llGetStatus llGetSubString llGetSunDirection llGetTexture llGetTextureOffset llGetTextureRot llGetTextureScale llGetTime llGetTimeOfDay \ llGetTimestamp llGetTorque llGetUnixTime llGetVel llGetWallclock llGiveInventory llGiveInventoryList llGiveMoney llGodLikeRezObject llGround llGroundContour \ llGroundNormal llGroundRepel llGroundSlope llHTTPRequest llInsertString llInstantMessage llIntegerToBase64 llKey2Name llList2CSV llList2Float llList2Integer \ llList2Key llList2List llList2ListStrided llList2Rot llList2String llList2Vector llListFindList llListInsertList llListRandomize \ llListReplaceList llListSort llListStatistics llListen llListenControl llListenRemove llLoadURL llLog llLog10 llLookAt llLoopSound llLoopSoundMaster llLoopSoundSlave \ llMakeExplosion llMakeFire llMakeFountain llMakeSmoke llMapDestination llMD5String llMessageLinked llMinEventDelay llModPow llModifyLand llMoveToTarget llOffsetTexture \ llOpenRemoteDataChannel llOverMyLand llOwnerSay llParcelMediaCommandList llParcelMediaQuery llParseString2List llParseStringKeepNulls \ llParticleSystem llPassCollisions llPassTouches llPlaySound llPlaySoundSlave llPointAt llPow llPreloadSound \ llPushObject llReleaseCamera llReleaseControls llRemoteDataReply llRemoteDataSetRegion llRemoteLoadScriptPin llRemoveFromLandBanList llRemoveFromLandPassList llRemoveInventory llRemoveVehicleFlags \ llRequestAgentData llRequestInventoryData llRequestPermissions llRequestSimulatorData llResetOtherScript llResetScript llResetTime \ llRezAtRoot llRezObject llRot2Angle llRot2Axis llRot2Euler llRot2Fwd llRot2Left llRot2Up llRotateTexture llRotBetween llRotLookAt llRotTarget \ llRotTargetRemove llRound llSameGroup llSay llScaleTexture llScriptDanger llSendRemoteData llSensor llSensorRemove llSensorRepeat llSetAlpha \ llSetBuoyancy llSetCameraAtOffset llSetCameraEyeOffset llSetCameraParams llSetColor llSetDamage llSetForce llSetForceAndTorque llSetHoverHeight llSetInventoryPermMask \ llSetLinkAlpha llSetLinkColor llSetLocalRot llSetObjectDesc llSetObjectName llSetObjectPermMask llSetParcelMusicURL llSetPayPrice llSetPos llSetPrimitiveParams \ llSetRemoteScriptAccessPin llSetRot llSetScale llSetScriptState llSetSitText llSetSoundQueueing llSetSoundRadius llSetStatus llSetText \ llSetTexture llSetTextureAnim llSetTimerEvent llSetTorque llSetTouchText llSetVehicleFlags llSetVehicleFloatParam llSetVehicleRotationParam \ llSetVehicleType llSetVehicleVectorParam llShout llSin llSitTarget llSleep llSound llSoundPreload llSqrt llStartAnimation llStopAnimation \ llStopHover llStopLookAt llStopMoveToTarget llStopPointAt llStopSound llStringLength llStringToBase64 llSubStringIndex llTakeCamera \ llTakeControls llTan llTarget llTargetOmega llTargetRemove llTeleportAgentHome llToLower llToUpper llTriggerSound llTriggerSoundLimited \ llUnescapeURL llUnSit llVecDist llVecMag llVecNorm llVolumeDetect llWater llWhisper llWind llXorBase64Strings #word.characters.$(file.patterns.lsl)=$(chars.alpha)$(chars.numeric)_ comment.block.cpp=//~ comment.block.at.line.start.cpp statement.indent.$(file.patterns.lsl)=5 default state for do while if else statement.end.$(file.patterns.lsl=10 ; statement.lookback.$(file.patterns.lsl)=20 block.start.$(file.patterns.lsl)=10 { block.end.$(file.patterns.lsl)=10 } # autocomplete autocomplete.cpp.ignorecase=0 autocomplete.cpp.start.characters=( autocomplete.cpp.fillups=( # calltips calltip.cpp.ignorecase=0 calltip.cpp.word.characters=_$(chars.alpha)$(chars.numeric) calltip.cpp.end.definition=) #calltip.cpp.parameters.start={ #calltip.cpp.parameters.end=} #calltip.cpp.parameters.separators=-- # Default style.cpp.32=$(font.base) # White space style.cpp.0=fore:#808080 # Block Comment style.cpp.1=fore:#FF0000,$(font.code.comment.box) # Line Comment style.cpp.2=$(colour.code.comment.line),$(font.code.comment.line) # Doc comment style.cpp.3=fore:#FF0000,$(font.code.comment.doc) # Number style.cpp.4=$(colour.number) # Keyword style.cpp.5=$(colour.keyword),bold # Double quoted string style.cpp.6=$(colour.string) # Single quoted string style.cpp.7=$(colour.char) # UUIDs (only in IDL) style.cpp.8=fore:#804080 # Preprocessor style.cpp.9=$(colour.preproc) # Operators style.cpp.10=$(colour.operator),bold # Identifiers style.cpp.11= # End of line where string is not closed style.cpp.12=fore:#000000,$(font.monospace),back:#E0C0E0,eolfilled # Verbatim strings for C# style.cpp.13=fore:#007F00,$(font.monospace),back:#E0FFE0,eolfilled # Regular expressions for JavaScript style.cpp.14=fore:#3F7F3F,$(font.monospace),back:#E0F0FF,eolfilled # Doc Comment Line style.cpp.15=$(colour.code.comment.doc),$(font.code.comment.doc) # Keywords2 style.cpp.16=fore:#B00040 # Comment keyword style.cpp.17=fore:#3060A0,$(font.code.comment.doc) # Comment keyword error style.cpp.18=fore:#804020,$(font.code.comment.doc) # Braces are only matched in operator style braces.cpp.style=10