diff --git a/demo/kitchen-sink/docs/lsl.lsl b/demo/kitchen-sink/docs/lsl.lsl index e7ee8472..185b9dd4 100644 --- a/demo/kitchen-sink/docs/lsl.lsl +++ b/demo/kitchen-sink/docs/lsl.lsl @@ -1,222 +1,75 @@ -//////////////////////////////////////////////////////////////////// -// -// AbcText -// by Ange Capalini -// Originally Written 10/31/2011 -// code released to the public domain -// -//////////////////////////////////////////////////////////////////// - - -//================================================================== -// INSTRUCTIONS -//================================================================== -// -// - set Max Particles to 4096 -// - create white cube "board" <15.500, 0.010, 0.800> -// - create red cube "cursor" <0.050, 0.010, 0.030> & drop AbcText -// - link cursor (child) to board (root) -// - send message <= 25 char. to chanel 20 -// - that's all folk's -// -///////////////////////////////////////////////////////////////////// - - -//=========================================== -// CONSTANTS -//=========================================== -float Size_Point = 0.1; //pixel size -string Txt_Point = ""; //pixel texture -vector Color_Point = < 0., 0., 1. >; //pixel color -vector Size_Affich = <15.5, .01, .8>; //display size - -//=========================================== -// GLOBALS VARIABLES -//=========================================== -list Alphabet = [ " ", - "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", - "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", - - "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", - "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", - - "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", - - ":", "'", ",", "!", "?", "#", ".", "/", "-", "é", "è", "à" ]; - -//char matrix 6 x 5 points -list Matrices = [ " ", - "011001001010010111101001000000", //A - "111001001011100100101110000000", - "011001000010000100000110000000", - "111001001010010100101110000000", - "111001000011100100001110000000", - "111001000011100100001000000000", - "011101000010110100100111000000", - "100101001011110100101001000000", - "111000100001000010001110000000", - "001100001000010100100110000000", - "100101010011000101001001000000", - "100001000010000100001110000000", - "100011101110101100011000100000", - "100101101010110100101001000000", - "011001001010010100100110000000", - "111001001010010111001000000000", - "011001001010010100100110000010", - "111001001010010111001001000000", - "011101000001100000101110000000", - "111000100001000010000100000000", - "100101001010010100100110000000", - "100101001010100101000100000000", - "100011010110101101010101000000", - "100101001001100100101001000000", - "100101001001110000100110000000", - "111100001001100100001111000000", //Z - - "000000110010010100100111000000", //a - "100001110010010100101110000000", - "000000110010000100000110000000", - "000100111010010100100111000000", - "000000111010010101000111000000", - "011001000011000100001000000000", - "011001001010010011100001001100", - "100001110010010100101001000000", - "100000000010000100001000000000", - "001000000000100001000010011000", - "100001001010100110101001000000", - "100001000010000100001000000000", - "000001101010101101011010100000", - "000001110010010100101001000000", - "000000110010010100100110000000", - "111001001010010111001000010000", - "011101001010010011100001000010", - "000001010011000100001000000000", - "000000111011000001101110000000", - "010001110001000010000100000000", - "000001001010010100100111000000", - "000001001010010100100110000000", - "000001010110101101010101000000", - "000001001001100011001001000000", - "100101001010010011100001001100", - "000001111000100010001111000000", //z - - "011001001010010100100110000000", //0 - "011000010000100001000010000000", - "111000001001100100001111000000", - "111000001001100000101110000000", - "001000110010100111100010000000", - "111101000011100000101110000000", - "011001000011100100100110000000", - "111100001000100010000100000000", - "011001001001100100100110000000", - "011001001001110000100110000000", //9 - - "000000000000100000000010000000", //: - "000100010000000000000000000000", - "000000000000000000100010000000", - "001000010000100000000010000000", - "001000101000010001000000000100", - "010101111101010111110101000000", - "000000000000000000000010000000", - "000010001000100010001000000000", - "000000000001110000000000000000", - "000100110010010101000111000000", - "010000111010010101000111000000", - "010000110010010100100111000000" //à - ]; - -list Particle_Parameters=[]; -vector Origine; -string Texte; -integer id_Phrase; -integer len_Phrase; -integer id_Lettre; -string Lettre; -string matrice_Lettre; -vector point_zero; -integer x; -integer z; - -//=========================================== -// SET PARTICLES -//=========================================== - -init_particles(){ - - Particle_Parameters = [ - PSYS_SRC_TEXTURE, Txt_Point, - PSYS_PART_START_SCALE, < Size_Point, Size_Point, FALSE >, - PSYS_PART_END_SCALE, < Size_Point, Size_Point, FALSE >, - PSYS_PART_START_COLOR, Color_Point, - PSYS_PART_END_COLOR, Color_Point, - - PSYS_SRC_BURST_PART_COUNT, (integer)1, - PSYS_SRC_BURST_RATE, (float) 0.0, - PSYS_PART_MAX_AGE, (float) 30.0, - - PSYS_SRC_PATTERN, (integer) 1, - - PSYS_PART_FLAGS, - PSYS_PART_EMISSIVE_MASK - ]; +/* + Testing syntax highlighting + of Ace Editor + for the Linden Scripting Language +*/ + +integer someIntNormal = 3672; +integer someIntHex = 0x00000000; +integer someIntMath = PI_BY_TWO; + +integer event = 5673; // invalid reserved keyword! + +key someKeyTexture = TEXTURE_DEFAULT; +string someStringSpecial = EOF; + +some_user_defined_function_without_return_type(string inputAsString) +{ + llSay(PUBLIC_CHANNEL, inputAsString); } - -//=========================================== -// SET DISPLAY -//=========================================== -affichage (string phrase) { - - integer len_Phrase = llStringLength(phrase)-1; - for(id_Phrase = 0; id_Phrase <= len_Phrase;++id_Phrase){ - Lettre = llGetSubString(phrase, id_Phrase, id_Phrase); - id_Lettre = llListFindList(Alphabet, [Lettre]); - matrice_Lettre = llList2String(Matrices, id_Lettre); - z=0; - do{ - x=0; - do{ - if( (integer)llGetSubString(matrice_Lettre, x + 5*z, x + 5*z) ) { - llSetLinkPrimitiveParamsFast(LINK_THIS, [PRIM_POSITION, point_zero + < x*Size_Point, 0.0, -z*Size_Point > ]); - llParticleSystem( Particle_Parameters ); - llSleep(0.12); - llParticleSystem( [] ); - } - } while( ++x <= 4); - } while( ++z <= 5); - - point_zero += < 6. * Size_Point, 0.0, 0.0 >; //locate next char + +string user_defined_function_returning_a_string(key inputAsKey) +{ + return (string)inputAsKey; +} + +default +{ + state_entry() + { + key someKey = NULL_KEY; + someKey = llGetOwner(); + + string someString = user_defined_function_returning_a_string(someKey); + + some_user_defined_function_without_return_type(someString); + } + + touch_start(integer num_detected) + { + list agentsInRegion = llGetAgentList(AGENT_LIST_REGION, []); + integer numOfAgents = llGetListLength(agentsInRegion); + + integer index; // defaults to 0 + for (; index <= numOfAgents - 1; index++) // for each agent in region + { + llRegionSayTo(llList2Key(agentsInRegion, index), PUBLIC_CHANNEL, "Hello, Avatar!"); + } + } + + touch_end(integer num_detected) + { + someIntNormal = 3672; + someIntHex = 0x00000000; + someIntMath = PI_BY_TWO; + + event = 5673; // invalid reserved keyword! + + someKeyTexture = TEXTURE_DEFAULT; + someStringSpecial = EOF; + + llCollisionSprite(someKeyTexture); // invalid deprecated function! + + llWhisper(PUBLIC_CHANNEL, "Leaving \"default\" now..."); + state other; } } -///////////////////////////////////// -///////////////////////////////////// -///////////////////////////////////// -///////////////////////////////////// - - -default { - - state_entry() { - - llListen(20, "", llGetOwner(), ""); - init_particles(); - Origine = < (-0.48 * Size_Affich.x) , (-1.25 * Size_Point) , (0.3 * Size_Affich.z) >; //raz cursor + +state other +{ + state_entry() + { + llWhisper(PUBLIC_CHANNEL, "Entered \"state other\", returning to \"default\" again..."); + state default; } - - listen( integer channel, string name, key id, string msg ) { - - Texte = msg; - point_zero = Origine; //raz cursor - llSetTimerEvent(30.); - affichage(Texte); - } - - timer(){ - - point_zero = Origine; //raz cursor - affichage(Texte); - } - - on_rez(integer param) {llResetScript();} - changed(integer mask) {if(mask & CHANGED_OWNER) {llResetScript();}} - } diff --git a/lib/ace/mode/_test/tokens_lsl.json b/lib/ace/mode/_test/tokens_lsl.json index bc4e01c0..5134d296 100644 --- a/lib/ace/mode/_test/tokens_lsl.json +++ b/lib/ace/mode/_test/tokens_lsl.json @@ -1,1680 +1,495 @@ [[ - "start", - ["comment.line","//////////////////////////////////////////////////////////////////// "] -],[ - "start", - ["comment.line","//"] -],[ - "start", - ["comment.line","// AbcText"] -],[ - "start", - ["comment.line","// by Ange Capalini"] -],[ - "start", - ["comment.line","// Originally Written 10/31/2011"] -],[ - "start", - ["comment.line","// code released to the public domain"] -],[ - "start", - ["comment.line","// "] -],[ - "start", - ["comment.line","//////////////////////////////////////////////////////////////////// "] -],[ - "start", - ["text"," "] -],[ - "start", - ["text"," "] -],[ - "start", - ["comment.line","//=================================================================="] -],[ - "start", - ["comment.line","// INSTRUCTIONS"] -],[ - "start", - ["comment.line","//=================================================================="] + "comment", + ["comment.block.lsl","/*"] ],[ - "start", - ["comment.line","//"] + "comment", + ["comment.block.lsl"," Testing syntax highlighting"] ],[ - "start", - ["comment.line","// - set Max Particles to 4096"] + "comment", + ["comment.block.lsl"," of Ace Editor"] ],[ - "start", - ["comment.line","// - create white cube \"board\" <15.500, 0.010, 0.800>"] + "comment", + ["comment.block.lsl"," for the Linden Scripting Language"] ],[ "start", - ["comment.line","// - create red cube \"cursor\" <0.050, 0.010, 0.030> & drop AbcText"] + ["comment.block.lsl","*/"] ],[ - "start", - ["comment.line","// - link cursor (child) to board (root)"] -],[ - "start", - ["comment.line","// - send message <= 25 char. to chanel 20"] -],[ - "start", - ["comment.line","// - that's all folk's"] + "start" ],[ "start", - ["comment.line","//"] + ["storage.type.lsl","integer"], + ["text.lsl"," "], + ["identifier","someIntNormal"], + ["text.lsl"," "], + ["keyword.operator.lsl","="], + ["text.lsl"," "], + ["constant.numeric.lsl","3672"], + ["punctuation.operator.lsl",";"] ],[ "start", - ["comment.line","/////////////////////////////////////////////////////////////////////"] + ["storage.type.lsl","integer"], + ["text.lsl"," "], + ["identifier","someIntHex"], + ["text.lsl"," "], + ["keyword.operator.lsl","="], + ["text.lsl"," "], + ["constant.numeric.lsl","0x00000000"], + ["punctuation.operator.lsl",";"] ],[ "start", - ["text"," "] + ["storage.type.lsl","integer"], + ["text.lsl"," "], + ["identifier","someIntMath"], + ["text.lsl"," "], + ["keyword.operator.lsl","="], + ["text.lsl"," "], + ["constant.language.float.lsl","PI_BY_TWO"], + ["punctuation.operator.lsl",";"] ],[ - "start", - ["text"," "] + "start" ],[ "start", - ["comment.line","//==========================================="] + ["storage.type.lsl","integer"], + ["text.lsl"," "], + ["invalid.illegal.lsl","event"], + ["text.lsl"," "], + ["keyword.operator.lsl","="], + ["text.lsl"," "], + ["constant.numeric.lsl","5673"], + ["punctuation.operator.lsl",";"], + ["text.lsl"," "], + ["comment.line.double-slash.lsl","// invalid reserved keyword!"] ],[ - "start", - ["comment.line","// CONSTANTS"] + "start" ],[ "start", - ["comment.line","//==========================================="] + ["storage.type.lsl","key"], + ["text.lsl"," "], + ["identifier","someKeyTexture"], + ["text.lsl"," "], + ["keyword.operator.lsl","="], + ["text.lsl"," "], + ["constant.language.key.lsl","TEXTURE_DEFAULT"], + ["punctuation.operator.lsl",";"] ],[ "start", - ["storage.type","float"], - ["text"," "], - ["identifier","Size_Point"], - ["text"," "], - ["keyword.operator","="], - ["text"," "], - ["constant.numeric","0.1"], - ["punctuation.operator",";"], - ["text"," "], - ["comment.line","//pixel size"] + ["storage.type.lsl","string"], + ["text.lsl"," "], + ["identifier","someStringSpecial"], + ["text.lsl"," "], + ["keyword.operator.lsl","="], + ["text.lsl"," "], + ["constant.language.string.lsl","EOF"], + ["punctuation.operator.lsl",";"] ],[ - "start", - ["storage.type","string"], - ["text"," "], - ["identifier","Txt_Point"], - ["text"," "], - ["keyword.operator","="], - ["text"," "], - ["string.double","\"\""], - ["punctuation.operator",";"], - ["text"," "], - ["comment.line","//pixel texture"] + "start" ],[ "start", - ["storage.type","vector"], - ["text"," "], - ["identifier","Color_Point"], - ["text"," "], - ["keyword.operator","="], - ["text"," "], - ["keyword.operator","<"], - ["text"," "], - ["constant.numeric","0"], - ["punctuation.operator",".,"], - ["text"," "], - ["constant.numeric","0"], - ["punctuation.operator",".,"], - ["text"," "], - ["constant.numeric","1"], - ["punctuation.operator","."], - ["text"," "], - ["keyword.operator",">"], - ["punctuation.operator",";"], - ["text"," "], - ["comment.line","//pixel color"] + ["identifier","some_user_defined_function_without_return_type"], + ["paren.lparen.lsl","("], + ["storage.type.lsl","string"], + ["text.lsl"," "], + ["identifier","inputAsString"], + ["paren.rparen.lsl",")"] ],[ "start", - ["storage.type","vector"], - ["text"," "], - ["identifier","Size_Affich"], - ["text"," "], - ["keyword.operator","="], - ["text"," "], - ["keyword.operator","<"], - ["constant.numeric","15.5"], - ["punctuation.operator",","], - ["text"," "], - ["punctuation.operator","."], - ["constant.numeric","01"], - ["punctuation.operator",","], - ["text"," "], - ["punctuation.operator","."], - ["constant.numeric","8"], - ["keyword.operator",">"], - ["punctuation.operator",";"], - ["text"," "], - ["comment.line","//display size"] + ["paren.lparen.lsl","{"] ],[ "start", - ["text"," "] + ["text.lsl"," "], + ["support.function.lsl","llSay"], + ["paren.lparen.lsl","("], + ["constant.language.integer.lsl","PUBLIC_CHANNEL"], + ["punctuation.operator.lsl",","], + ["text.lsl"," "], + ["identifier","inputAsString"], + ["paren.rparen.lsl",")"], + ["punctuation.operator.lsl",";"] ],[ "start", - ["comment.line","//==========================================="] + ["paren.rparen.lsl","}"] ],[ - "start", - ["comment.line","// GLOBALS VARIABLES"] + "start" ],[ "start", - ["comment.line","//==========================================="] + ["storage.type.lsl","string"], + ["text.lsl"," "], + ["identifier","user_defined_function_returning_a_string"], + ["paren.lparen.lsl","("], + ["storage.type.lsl","key"], + ["text.lsl"," "], + ["identifier","inputAsKey"], + ["paren.rparen.lsl",")"] ],[ "start", - ["storage.type","list"], - ["text"," "], - ["identifier","Alphabet"], - ["text"," "], - ["keyword.operator","="], - ["text"," "], - ["paren.lparen","["], - ["text"," "], - ["string.double","\" \""], - ["punctuation.operator",","] + ["paren.lparen.lsl","{"] ],[ "start", - ["text"," "], - ["string.double","\"A\""], - ["punctuation.operator",","], - ["text"," "], - ["string.double","\"B\""], - ["punctuation.operator",","], - ["text"," "], - ["string.double","\"C\""], - ["punctuation.operator",","], - ["text"," "], - ["string.double","\"D\""], - ["punctuation.operator",","], - ["text"," "], - ["string.double","\"E\""], - ["punctuation.operator",","], - ["text"," "], - ["string.double","\"F\""], - ["punctuation.operator",","], - ["text"," "], - ["string.double","\"G\""], - ["punctuation.operator",","], - ["text"," "], - ["string.double","\"H\""], - ["punctuation.operator",","], - ["text"," "], - ["string.double","\"I\""], - ["punctuation.operator",","], - ["text"," "], - ["string.double","\"J\""], - ["punctuation.operator",","], - ["text"," "], - ["string.double","\"K\""], - ["punctuation.operator",","], - ["text"," "], - ["string.double","\"L\""], - ["punctuation.operator",","], - ["text"," "], - ["string.double","\"M\""], - ["punctuation.operator",","] + ["text.lsl"," "], + ["keyword.control.lsl","return"], + ["text.lsl"," "], + ["paren.lparen.lsl","("], + ["storage.type.lsl","string"], + ["paren.rparen.lsl",")"], + ["identifier","inputAsKey"], + ["punctuation.operator.lsl",";"] ],[ "start", - ["text"," "], - ["string.double","\"N\""], - ["punctuation.operator",","], - ["text"," "], - ["string.double","\"O\""], - ["punctuation.operator",","], - ["text"," "], - ["string.double","\"P\""], - ["punctuation.operator",","], - ["text"," "], - ["string.double","\"Q\""], - ["punctuation.operator",","], - ["text"," "], - ["string.double","\"R\""], - ["punctuation.operator",","], - ["text"," "], - ["string.double","\"S\""], - ["punctuation.operator",","], - ["text"," "], - ["string.double","\"T\""], - ["punctuation.operator",","], - ["text"," "], - ["string.double","\"U\""], - ["punctuation.operator",","], - ["text"," "], - ["string.double","\"V\""], - ["punctuation.operator",","], - ["text"," "], - ["string.double","\"W\""], - ["punctuation.operator",","], - ["text"," "], - ["string.double","\"X\""], - ["punctuation.operator",","], - ["text"," "], - ["string.double","\"Y\""], - ["punctuation.operator",","], - ["text"," "], - ["string.double","\"Z\""], - ["punctuation.operator",","] + ["paren.rparen.lsl","}"] ],[ - "start", - ["text"," "] + "start" ],[ "start", - ["text"," "], - ["string.double","\"a\""], - ["punctuation.operator",","], - ["text"," "], - ["string.double","\"b\""], - ["punctuation.operator",","], - ["text"," "], - ["string.double","\"c\""], - ["punctuation.operator",","], - ["text"," "], - ["string.double","\"d\""], - ["punctuation.operator",","], - ["text"," "], - ["string.double","\"e\""], - ["punctuation.operator",","], - ["text"," "], - ["string.double","\"f\""], - ["punctuation.operator",","], - ["text"," "], - ["string.double","\"g\""], - ["punctuation.operator",","], - ["text"," "], - ["string.double","\"h\""], - ["punctuation.operator",","], - ["text"," "], - ["string.double","\"i\""], - ["punctuation.operator",","], - ["text"," "], - ["string.double","\"j\""], - ["punctuation.operator",","], - ["text"," "], - ["string.double","\"k\""], - ["punctuation.operator",","], - ["text"," "], - ["string.double","\"l\""], - ["punctuation.operator",","], - ["text"," "], - ["string.double","\"m\""], - ["punctuation.operator",","] + ["entity.name.state.lsl","default"] ],[ "start", - ["text"," "], - ["string.double","\"n\""], - ["punctuation.operator",","], - ["text"," "], - ["string.double","\"o\""], - ["punctuation.operator",","], - ["text"," "], - ["string.double","\"p\""], - ["punctuation.operator",","], - ["text"," "], - ["string.double","\"q\""], - ["punctuation.operator",","], - ["text"," "], - ["string.double","\"r\""], - ["punctuation.operator",","], - ["text"," "], - ["string.double","\"s\""], - ["punctuation.operator",","], - ["text"," "], - ["string.double","\"t\""], - ["punctuation.operator",","], - ["text"," "], - ["string.double","\"u\""], - ["punctuation.operator",","], - ["text"," "], - ["string.double","\"v\""], - ["punctuation.operator",","], - ["text"," "], - ["string.double","\"w\""], - ["punctuation.operator",","], - ["text"," "], - ["string.double","\"x\""], - ["punctuation.operator",","], - ["text"," "], - ["string.double","\"y\""], - ["punctuation.operator",","], - ["text"," "], - ["string.double","\"z\""], - ["punctuation.operator",","] + ["paren.lparen.lsl","{"] ],[ "start", - ["text"," "] + ["text.lsl"," "], + ["support.function.event.lsl","state_entry"], + ["paren.lparen.lsl","("], + ["paren.rparen.lsl",")"] ],[ "start", - ["text"," "], - ["string.double","\"0\""], - ["punctuation.operator",","], - ["text"," "], - ["string.double","\"1\""], - ["punctuation.operator",","], - ["text"," "], - ["string.double","\"2\""], - ["punctuation.operator",","], - ["text"," "], - ["string.double","\"3\""], - ["punctuation.operator",","], - ["text"," "], - ["string.double","\"4\""], - ["punctuation.operator",","], - ["text"," "], - ["string.double","\"5\""], - ["punctuation.operator",","], - ["text"," "], - ["string.double","\"6\""], - ["punctuation.operator",","], - ["text"," "], - ["string.double","\"7\""], - ["punctuation.operator",","], - ["text"," "], - ["string.double","\"8\""], - ["punctuation.operator",","], - ["text"," "], - ["string.double","\"9\""], - ["punctuation.operator",","], - ["text"," "] + ["text.lsl"," "], + ["paren.lparen.lsl","{"] ],[ "start", - ["text"," "] + ["text.lsl"," "], + ["storage.type.lsl","key"], + ["text.lsl"," "], + ["identifier","someKey"], + ["text.lsl"," "], + ["keyword.operator.lsl","="], + ["text.lsl"," "], + ["constant.language.key.lsl","NULL_KEY"], + ["punctuation.operator.lsl",";"] ],[ "start", - ["text"," "], - ["string.double","\":\""], - ["punctuation.operator",","], - ["text"," "], - ["string.double","\"'\""], - ["punctuation.operator",","], - ["text"," "], - ["string.double","\",\""], - ["punctuation.operator",","], - ["text"," "], - ["string.double","\"!\""], - ["punctuation.operator",","], - ["text"," "], - ["string.double","\"?\""], - ["punctuation.operator",","], - ["text"," "], - ["string.double","\"#\""], - ["punctuation.operator",","], - ["text"," "], - ["string.double","\".\""], - ["punctuation.operator",","], - ["text"," "], - ["string.double","\"/\""], - ["punctuation.operator",","], - ["text"," "], - ["string.double","\"-\""], - ["punctuation.operator",","], - ["text"," "], - ["string.double","\"�\""], - ["punctuation.operator",","], - ["text"," "], - ["string.double","\"�\""], - ["punctuation.operator",","], - ["text"," "], - ["string.double","\"�\""], - ["text"," "], - ["paren.rparen","]"], - ["punctuation.operator",";"] + ["text.lsl"," "], + ["identifier","someKey"], + ["text.lsl"," "], + ["keyword.operator.lsl","="], + ["text.lsl"," "], + ["support.function.lsl","llGetOwner"], + ["paren.lparen.lsl","("], + ["paren.rparen.lsl",")"], + ["punctuation.operator.lsl",";"] ],[ - "start", - ["text"," "] + "start" ],[ "start", - ["comment.line","//char matrix 6 x 5 points"] + ["text.lsl"," "], + ["storage.type.lsl","string"], + ["text.lsl"," "], + ["identifier","someString"], + ["text.lsl"," "], + ["keyword.operator.lsl","="], + ["text.lsl"," "], + ["identifier","user_defined_function_returning_a_string"], + ["paren.lparen.lsl","("], + ["identifier","someKey"], + ["paren.rparen.lsl",")"], + ["punctuation.operator.lsl",";"] ],[ - "start", - ["storage.type","list"], - ["text"," "], - ["identifier","Matrices"], - ["text"," "], - ["keyword.operator","="], - ["text"," "], - ["paren.lparen","["], - ["text"," "], - ["string.double","\" \""], - ["punctuation.operator",","], - ["text"," "] + "start" ],[ "start", - ["text"," "], - ["string.double","\"011001001010010111101001000000\""], - ["punctuation.operator",","], - ["text"," "], - ["comment.line","//A"] + ["text.lsl"," "], + ["identifier","some_user_defined_function_without_return_type"], + ["paren.lparen.lsl","("], + ["identifier","someString"], + ["paren.rparen.lsl",")"], + ["punctuation.operator.lsl",";"] ],[ "start", - ["text"," "], - ["string.double","\"111001001011100100101110000000\""], - ["punctuation.operator",","] + ["text.lsl"," "], + ["paren.rparen.lsl","}"] +],[ + "start" +],[ + "start", + ["text.lsl"," "], + ["support.function.event.lsl","touch_start"], + ["paren.lparen.lsl","("], + ["storage.type.lsl","integer"], + ["text.lsl"," "], + ["identifier","num_detected"], + ["paren.rparen.lsl",")"] +],[ + "start", + ["text.lsl"," "], + ["paren.lparen.lsl","{"] +],[ + "start", + ["text.lsl"," "], + ["storage.type.lsl","list"], + ["text.lsl"," "], + ["identifier","agentsInRegion"], + ["text.lsl"," "], + ["keyword.operator.lsl","="], + ["text.lsl"," "], + ["support.function.lsl","llGetAgentList"], + ["paren.lparen.lsl","("], + ["constant.language.integer.lsl","AGENT_LIST_REGION"], + ["punctuation.operator.lsl",","], + ["text.lsl"," "], + ["paren.lparen.lsl","["], + ["paren.rparen.lsl","])"], + ["punctuation.operator.lsl",";"] +],[ + "start", + ["text.lsl"," "], + ["storage.type.lsl","integer"], + ["text.lsl"," "], + ["identifier","numOfAgents"], + ["text.lsl"," "], + ["keyword.operator.lsl","="], + ["text.lsl"," "], + ["support.function.lsl","llGetListLength"], + ["paren.lparen.lsl","("], + ["identifier","agentsInRegion"], + ["paren.rparen.lsl",")"], + ["punctuation.operator.lsl",";"] +],[ + "start" +],[ + "start", + ["text.lsl"," "], + ["storage.type.lsl","integer"], + ["text.lsl"," "], + ["identifier","index"], + ["punctuation.operator.lsl",";"], + ["text.lsl"," "], + ["comment.line.double-slash.lsl","// defaults to 0"] +],[ + "start", + ["text.lsl"," "], + ["keyword.control.lsl","for"], + ["text.lsl"," "], + ["paren.lparen.lsl","("], + ["punctuation.operator.lsl",";"], + ["text.lsl"," "], + ["identifier","index"], + ["text.lsl"," "], + ["keyword.operator.lsl","<="], + ["text.lsl"," "], + ["identifier","numOfAgents"], + ["text.lsl"," "], + ["keyword.operator.lsl","-"], + ["text.lsl"," "], + ["constant.numeric.lsl","1"], + ["punctuation.operator.lsl",";"], + ["text.lsl"," "], + ["identifier","index"], + ["keyword.operator.lsl","++"], + ["paren.rparen.lsl",")"], + ["text.lsl"," "], + ["comment.line.double-slash.lsl","// for each agent in region"] +],[ + "start", + ["text.lsl"," "], + ["paren.lparen.lsl","{"] +],[ + "start", + ["text.lsl"," "], + ["support.function.lsl","llRegionSayTo"], + ["paren.lparen.lsl","("], + ["support.function.lsl","llList2Key"], + ["paren.lparen.lsl","("], + ["identifier","agentsInRegion"], + ["punctuation.operator.lsl",","], + ["text.lsl"," "], + ["identifier","index"], + ["paren.rparen.lsl",")"], + ["punctuation.operator.lsl",","], + ["text.lsl"," "], + ["constant.language.integer.lsl","PUBLIC_CHANNEL"], + ["punctuation.operator.lsl",","], + ["text.lsl"," "], + ["string.quoted.double.lsl.start","\""], + ["string.quoted.double.lsl","Hello, Avatar!"], + ["string.quoted.double.lsl.end","\""], + ["paren.rparen.lsl",")"], + ["punctuation.operator.lsl",";"] +],[ + "start", + ["text.lsl"," "], + ["paren.rparen.lsl","}"] +],[ + "start", + ["text.lsl"," "], + ["paren.rparen.lsl","}"] +],[ + "start" +],[ + "start", + ["text.lsl"," "], + ["support.function.event.lsl","touch_end"], + ["paren.lparen.lsl","("], + ["storage.type.lsl","integer"], + ["text.lsl"," "], + ["identifier","num_detected"], + ["paren.rparen.lsl",")"] +],[ + "start", + ["text.lsl"," "], + ["paren.lparen.lsl","{"] +],[ + "start", + ["text.lsl"," "], + ["identifier","someIntNormal"], + ["text.lsl"," "], + ["keyword.operator.lsl","="], + ["text.lsl"," "], + ["constant.numeric.lsl","3672"], + ["punctuation.operator.lsl",";"] +],[ + "start", + ["text.lsl"," "], + ["identifier","someIntHex"], + ["text.lsl"," "], + ["keyword.operator.lsl","="], + ["text.lsl"," "], + ["constant.numeric.lsl","0x00000000"], + ["punctuation.operator.lsl",";"] ],[ "start", - ["text"," "], - ["string.double","\"011001000010000100000110000000\""], - ["punctuation.operator",","] + ["text.lsl"," "], + ["identifier","someIntMath"], + ["text.lsl"," "], + ["keyword.operator.lsl","="], + ["text.lsl"," "], + ["constant.language.float.lsl","PI_BY_TWO"], + ["punctuation.operator.lsl",";"] ],[ - "start", - ["text"," "], - ["string.double","\"111001001010010100101110000000\""], - ["punctuation.operator",","] + "start" ],[ "start", - ["text"," "], - ["string.double","\"111001000011100100001110000000\""], - ["punctuation.operator",","] + ["text.lsl"," "], + ["invalid.illegal.lsl","event"], + ["text.lsl"," "], + ["keyword.operator.lsl","="], + ["text.lsl"," "], + ["constant.numeric.lsl","5673"], + ["punctuation.operator.lsl",";"], + ["text.lsl"," "], + ["comment.line.double-slash.lsl","// invalid reserved keyword!"] ],[ - "start", - ["text"," "], - ["string.double","\"111001000011100100001000000000\""], - ["punctuation.operator",","] + "start" ],[ "start", - ["text"," "], - ["string.double","\"011101000010110100100111000000\""], - ["punctuation.operator",","] + ["text.lsl"," "], + ["identifier","someKeyTexture"], + ["text.lsl"," "], + ["keyword.operator.lsl","="], + ["text.lsl"," "], + ["constant.language.key.lsl","TEXTURE_DEFAULT"], + ["punctuation.operator.lsl",";"] ],[ "start", - ["text"," "], - ["string.double","\"100101001011110100101001000000\""], - ["punctuation.operator",","] + ["text.lsl"," "], + ["identifier","someStringSpecial"], + ["text.lsl"," "], + ["keyword.operator.lsl","="], + ["text.lsl"," "], + ["constant.language.string.lsl","EOF"], + ["punctuation.operator.lsl",";"] ],[ - "start", - ["text"," "], - ["string.double","\"111000100001000010001110000000\""], - ["punctuation.operator",","] + "start" ],[ "start", - ["text"," "], - ["string.double","\"001100001000010100100110000000\""], - ["punctuation.operator",","] + ["text.lsl"," "], + ["invalid.deprecated.lsl","llCollisionSprite"], + ["paren.lparen.lsl","("], + ["identifier","someKeyTexture"], + ["paren.rparen.lsl",")"], + ["punctuation.operator.lsl",";"], + ["text.lsl"," "], + ["comment.line.double-slash.lsl","// invalid deprecated function!"] ],[ - "start", - ["text"," "], - ["string.double","\"100101010011000101001001000000\""], - ["punctuation.operator",","] + "start" ],[ "start", - ["text"," "], - ["string.double","\"100001000010000100001110000000\""], - ["punctuation.operator",","] + ["text.lsl"," "], + ["support.function.lsl","llWhisper"], + ["paren.lparen.lsl","("], + ["constant.language.integer.lsl","PUBLIC_CHANNEL"], + ["punctuation.operator.lsl",","], + ["text.lsl"," "], + ["string.quoted.double.lsl.start","\""], + ["string.quoted.double.lsl","Leaving "], + ["constant.language.escape.lsl","\\\""], + ["string.quoted.double.lsl","default"], + ["constant.language.escape.lsl","\\\""], + ["string.quoted.double.lsl"," now..."], + ["string.quoted.double.lsl.end","\""], + ["paren.rparen.lsl",")"], + ["punctuation.operator.lsl",";"] ],[ "start", - ["text"," "], - ["string.double","\"100011101110101100011000100000\""], - ["punctuation.operator",","] + ["text.lsl"," "], + ["entity.name.state.lsl","state other"], + ["punctuation.operator.lsl",";"] ],[ "start", - ["text"," "], - ["string.double","\"100101101010110100101001000000\""], - ["punctuation.operator",","] + ["text.lsl"," "], + ["paren.rparen.lsl","}"] ],[ "start", - ["text"," "], - ["string.double","\"011001001010010100100110000000\""], - ["punctuation.operator",","] + ["paren.rparen.lsl","}"] ],[ - "start", - ["text"," "], - ["string.double","\"111001001010010111001000000000\""], - ["punctuation.operator",","] -],[ - "start", - ["text"," "], - ["string.double","\"011001001010010100100110000010\""], - ["punctuation.operator",","] -],[ - "start", - ["text"," "], - ["string.double","\"111001001010010111001001000000\""], - ["punctuation.operator",","] -],[ - "start", - ["text"," "], - ["string.double","\"011101000001100000101110000000\""], - ["punctuation.operator",","] -],[ - "start", - ["text"," "], - ["string.double","\"111000100001000010000100000000\""], - ["punctuation.operator",","] -],[ - "start", - ["text"," "], - ["string.double","\"100101001010010100100110000000\""], - ["punctuation.operator",","] -],[ - "start", - ["text"," "], - ["string.double","\"100101001010100101000100000000\""], - ["punctuation.operator",","] -],[ - "start", - ["text"," "], - ["string.double","\"100011010110101101010101000000\""], - ["punctuation.operator",","] -],[ - "start", - ["text"," "], - ["string.double","\"100101001001100100101001000000\""], - ["punctuation.operator",","] -],[ - "start", - ["text"," "], - ["string.double","\"100101001001110000100110000000\""], - ["punctuation.operator",","] -],[ - "start", - ["text"," "], - ["string.double","\"111100001001100100001111000000\""], - ["punctuation.operator",","], - ["text"," "], - ["comment.line","//Z"] -],[ - "start", - ["text"," "] -],[ - "start", - ["text"," "], - ["string.double","\"000000110010010100100111000000\""], - ["punctuation.operator",","], - ["text"," "], - ["comment.line","//a"] -],[ - "start", - ["text"," "], - ["string.double","\"100001110010010100101110000000\""], - ["punctuation.operator",","] -],[ - "start", - ["text"," "], - ["string.double","\"000000110010000100000110000000\""], - ["punctuation.operator",","] -],[ - "start", - ["text"," "], - ["string.double","\"000100111010010100100111000000\""], - ["punctuation.operator",","] -],[ - "start", - ["text"," "], - ["string.double","\"000000111010010101000111000000\""], - ["punctuation.operator",","] -],[ - "start", - ["text"," "], - ["string.double","\"011001000011000100001000000000\""], - ["punctuation.operator",","] -],[ - "start", - ["text"," "], - ["string.double","\"011001001010010011100001001100\""], - ["punctuation.operator",","] -],[ - "start", - ["text"," "], - ["string.double","\"100001110010010100101001000000\""], - ["punctuation.operator",","] -],[ - "start", - ["text"," "], - ["string.double","\"100000000010000100001000000000\""], - ["punctuation.operator",","] -],[ - "start", - ["text"," "], - ["string.double","\"001000000000100001000010011000\""], - ["punctuation.operator",","] -],[ - "start", - ["text"," "], - ["string.double","\"100001001010100110101001000000\""], - ["punctuation.operator",","] -],[ - "start", - ["text"," "], - ["string.double","\"100001000010000100001000000000\""], - ["punctuation.operator",","] -],[ - "start", - ["text"," "], - ["string.double","\"000001101010101101011010100000\""], - ["punctuation.operator",","] -],[ - "start", - ["text"," "], - ["string.double","\"000001110010010100101001000000\""], - ["punctuation.operator",","] -],[ - "start", - ["text"," "], - ["string.double","\"000000110010010100100110000000\""], - ["punctuation.operator",","] -],[ - "start", - ["text"," "], - ["string.double","\"111001001010010111001000010000\""], - ["punctuation.operator",","] -],[ - "start", - ["text"," "], - ["string.double","\"011101001010010011100001000010\""], - ["punctuation.operator",","] -],[ - "start", - ["text"," "], - ["string.double","\"000001010011000100001000000000\""], - ["punctuation.operator",","] -],[ - "start", - ["text"," "], - ["string.double","\"000000111011000001101110000000\""], - ["punctuation.operator",","] -],[ - "start", - ["text"," "], - ["string.double","\"010001110001000010000100000000\""], - ["punctuation.operator",","] -],[ - "start", - ["text"," "], - ["string.double","\"000001001010010100100111000000\""], - ["punctuation.operator",","] -],[ - "start", - ["text"," "], - ["string.double","\"000001001010010100100110000000\""], - ["punctuation.operator",","] -],[ - "start", - ["text"," "], - ["string.double","\"000001010110101101010101000000\""], - ["punctuation.operator",","] -],[ - "start", - ["text"," "], - ["string.double","\"000001001001100011001001000000\""], - ["punctuation.operator",","] -],[ - "start", - ["text"," "], - ["string.double","\"100101001010010011100001001100\""], - ["punctuation.operator",","] -],[ - "start", - ["text"," "], - ["string.double","\"000001111000100010001111000000\""], - ["punctuation.operator",","], - ["text"," "], - ["comment.line","//z"] -],[ - "start", - ["text"," "] -],[ - "start", - ["text"," "], - ["string.double","\"011001001010010100100110000000\""], - ["punctuation.operator",","], - ["text"," "], - ["comment.line","//0"] -],[ - "start", - ["text"," "], - ["string.double","\"011000010000100001000010000000\""], - ["punctuation.operator",","] -],[ - "start", - ["text"," "], - ["string.double","\"111000001001100100001111000000\""], - ["punctuation.operator",","] -],[ - "start", - ["text"," "], - ["string.double","\"111000001001100000101110000000\""], - ["punctuation.operator",","] -],[ - "start", - ["text"," "], - ["string.double","\"001000110010100111100010000000\""], - ["punctuation.operator",","] -],[ - "start", - ["text"," "], - ["string.double","\"111101000011100000101110000000\""], - ["punctuation.operator",","] -],[ - "start", - ["text"," "], - ["string.double","\"011001000011100100100110000000\""], - ["punctuation.operator",","] -],[ - "start", - ["text"," "], - ["string.double","\"111100001000100010000100000000\""], - ["punctuation.operator",","] -],[ - "start", - ["text"," "], - ["string.double","\"011001001001100100100110000000\""], - ["punctuation.operator",","] -],[ - "start", - ["text"," "], - ["string.double","\"011001001001110000100110000000\""], - ["punctuation.operator",","], - ["text"," "], - ["comment.line","//9"] -],[ - "start", - ["text"," "] -],[ - "start", - ["text"," "], - ["string.double","\"000000000000100000000010000000\""], - ["punctuation.operator",","], - ["text"," "], - ["comment.line","//:"] -],[ - "start", - ["text"," "], - ["string.double","\"000100010000000000000000000000\""], - ["punctuation.operator",","] -],[ - "start", - ["text"," "], - ["string.double","\"000000000000000000100010000000\""], - ["punctuation.operator",","] -],[ - "start", - ["text"," "], - ["string.double","\"001000010000100000000010000000\""], - ["punctuation.operator",","] -],[ - "start", - ["text"," "], - ["string.double","\"001000101000010001000000000100\""], - ["punctuation.operator",","] -],[ - "start", - ["text"," "], - ["string.double","\"010101111101010111110101000000\""], - ["punctuation.operator",","], - ["text"," "] -],[ - "start", - ["text"," "], - ["string.double","\"000000000000000000000010000000\""], - ["punctuation.operator",","], - ["text"," "] -],[ - "start", - ["text"," "], - ["string.double","\"000010001000100010001000000000\""], - ["punctuation.operator",","], - ["text"," "] -],[ - "start", - ["text"," "], - ["string.double","\"000000000001110000000000000000\""], - ["punctuation.operator",","], - ["text"," "] -],[ - "start", - ["text"," "], - ["string.double","\"000100110010010101000111000000\""], - ["punctuation.operator",","] -],[ - "start", - ["text"," "], - ["string.double","\"010000111010010101000111000000\""], - ["punctuation.operator",","] -],[ - "start", - ["text"," "], - ["string.double","\"010000110010010100100111000000\""], - ["text"," "], - ["comment.line","//�"] -],[ - "start", - ["text"," "], - ["paren.rparen","]"], - ["punctuation.operator",";"] -],[ - "start", - ["text"," "] -],[ - "start", - ["storage.type","list"], - ["text"," "], - ["identifier","Particle_Parameters"], - ["keyword.operator","="], - ["paren.lparen","["], - ["paren.rparen","]"], - ["punctuation.operator",";"] -],[ - "start", - ["storage.type","vector"], - ["text"," "], - ["identifier","Origine"], - ["punctuation.operator",";"] -],[ - "start", - ["storage.type","string"], - ["text"," "], - ["identifier","Texte"], - ["punctuation.operator",";"] -],[ - "start", - ["storage.type","integer"], - ["text"," "], - ["identifier","id_Phrase"], - ["punctuation.operator",";"] -],[ - "start", - ["storage.type","integer"], - ["text"," "], - ["identifier","len_Phrase"], - ["punctuation.operator",";"] -],[ - "start", - ["storage.type","integer"], - ["text"," "], - ["identifier","id_Lettre"], - ["punctuation.operator",";"] -],[ - "start", - ["storage.type","string"], - ["text"," "], - ["identifier","Lettre"], - ["punctuation.operator",";"] -],[ - "start", - ["storage.type","string"], - ["text"," "], - ["identifier","matrice_Lettre"], - ["punctuation.operator",";"] -],[ - "start", - ["storage.type","vector"], - ["text"," "], - ["identifier","point_zero"], - ["punctuation.operator",";"] -],[ - "start", - ["storage.type","integer"], - ["text"," "], - ["identifier","x"], - ["punctuation.operator",";"] -],[ - "start", - ["storage.type","integer"], - ["text"," "], - ["identifier","z"], - ["punctuation.operator",";"] -],[ - "start", - ["text"," "] -],[ - "start", - ["comment.line","//==========================================="] -],[ - "start", - ["comment.line","// SET PARTICLES"] -],[ - "start", - ["comment.line","//==========================================="] -],[ - "start", - ["text"," "] -],[ - "start", - ["identifier","init_particles"], - ["paren.lparen","("], - ["paren.rparen",")"], - ["paren.lparen","{"] -],[ - "start", - ["text"," "] -],[ - "start", - ["text"," "], - ["identifier","Particle_Parameters"], - ["text"," "], - ["keyword.operator","="], - ["text"," "], - ["paren.lparen","["], - ["text"," "] -],[ - "start", - ["text"," "], - ["constant.language","PSYS_SRC_TEXTURE"], - ["punctuation.operator",","], - ["text"," "], - ["identifier","Txt_Point"], - ["punctuation.operator",","], - ["text"," "] -],[ - "start", - ["text"," "], - ["constant.language","PSYS_PART_START_SCALE"], - ["punctuation.operator",","], - ["text"," "], - ["keyword.operator","<"], - ["text"," "], - ["identifier","Size_Point"], - ["punctuation.operator",","], - ["text"," "], - ["identifier","Size_Point"], - ["punctuation.operator",","], - ["text"," "], - ["constant.language","FALSE"], - ["text"," "], - ["keyword.operator",">"], - ["punctuation.operator",","], - ["text"," "] -],[ - "start", - ["text"," "], - ["constant.language","PSYS_PART_END_SCALE"], - ["punctuation.operator",","], - ["text"," "], - ["keyword.operator","<"], - ["text"," "], - ["identifier","Size_Point"], - ["punctuation.operator",","], - ["text"," "], - ["identifier","Size_Point"], - ["punctuation.operator",","], - ["text"," "], - ["constant.language","FALSE"], - ["text"," "], - ["keyword.operator",">"], - ["punctuation.operator",","], - ["text"," "] -],[ - "start", - ["text"," "], - ["constant.language","PSYS_PART_START_COLOR"], - ["punctuation.operator",","], - ["text"," "], - ["identifier","Color_Point"], - ["punctuation.operator",","], - ["text"," "] -],[ - "start", - ["text"," "], - ["constant.language","PSYS_PART_END_COLOR"], - ["punctuation.operator",","], - ["text"," "], - ["identifier","Color_Point"], - ["punctuation.operator",","], - ["text"," "] -],[ - "start", - ["text"," "] -],[ - "start", - ["text"," "], - ["constant.language","PSYS_SRC_BURST_PART_COUNT"], - ["punctuation.operator",","], - ["text"," "], - ["paren.lparen","("], - ["storage.type","integer"], - ["paren.rparen",")"], - ["constant.numeric","1"], - ["punctuation.operator",","], - ["text"," "] -],[ - "start", - ["text"," "], - ["constant.language","PSYS_SRC_BURST_RATE"], - ["punctuation.operator",","], - ["text"," "], - ["paren.lparen","("], - ["storage.type","float"], - ["paren.rparen",")"], - ["text"," "], - ["constant.numeric","0.0"], - ["punctuation.operator",","], - ["text"," "] -],[ - "start", - ["text"," "], - ["constant.language","PSYS_PART_MAX_AGE"], - ["punctuation.operator",","], - ["text"," "], - ["paren.lparen","("], - ["storage.type","float"], - ["paren.rparen",")"], - ["text"," "], - ["constant.numeric","30.0"], - ["punctuation.operator",","], - ["text"," "] -],[ - "start", - ["text"," "] -],[ - "start", - ["text"," "], - ["constant.language","PSYS_SRC_PATTERN"], - ["punctuation.operator",","], - ["text"," "], - ["paren.lparen","("], - ["storage.type","integer"], - ["paren.rparen",")"], - ["text"," "], - ["constant.numeric","1"], - ["punctuation.operator",","] -],[ - "start", - ["text"," "] -],[ - "start", - ["text"," "], - ["constant.language","PSYS_PART_FLAGS"], - ["punctuation.operator",","] -],[ - "start", - ["text"," "], - ["constant.language","PSYS_PART_EMISSIVE_MASK"] -],[ - "start", - ["text"," "], - ["paren.rparen","]"], - ["punctuation.operator",";"] -],[ - "start", - ["paren.rparen","}"] -],[ - "start", - ["text"," "] -],[ - "start", - ["comment.line","//==========================================="] -],[ - "start", - ["comment.line","// SET DISPLAY"] -],[ - "start", - ["comment.line","//==========================================="] -],[ - "start", - ["identifier","affichage"], - ["text"," "], - ["paren.lparen","("], - ["storage.type","string"], - ["text"," "], - ["identifier","phrase"], - ["paren.rparen",")"], - ["text"," "], - ["paren.lparen","{"] -],[ - "start", - ["text"," "] -],[ - "start", - ["text"," "], - ["storage.type","integer"], - ["text"," "], - ["identifier","len_Phrase"], - ["text"," "], - ["keyword.operator","="], - ["text"," "], - ["support.function","llStringLength"], - ["paren.lparen","("], - ["identifier","phrase"], - ["paren.rparen",")"], - ["constant.numeric","-1"], - ["punctuation.operator",";"], - ["text"," "] -],[ - "start", - ["text"," "], - ["keyword.control","for"], - ["paren.lparen","("], - ["identifier","id_Phrase"], - ["text"," "], - ["keyword.operator","="], - ["text"," "], - ["constant.numeric","0"], - ["punctuation.operator",";"], - ["text"," "], - ["identifier","id_Phrase"], - ["text"," "], - ["keyword.operator","<="], - ["text"," "], - ["identifier","len_Phrase"], - ["punctuation.operator",";"], - ["keyword.operator","++"], - ["identifier","id_Phrase"], - ["paren.rparen",")"], - ["paren.lparen","{"], - ["text"," "] -],[ - "start", - ["text"," "], - ["identifier","Lettre"], - ["text"," "], - ["keyword.operator","="], - ["text"," "], - ["support.function","llGetSubString"], - ["paren.lparen","("], - ["identifier","phrase"], - ["punctuation.operator",","], - ["text"," "], - ["identifier","id_Phrase"], - ["punctuation.operator",","], - ["text"," "], - ["identifier","id_Phrase"], - ["paren.rparen",")"], - ["punctuation.operator",";"] -],[ - "start", - ["text"," "], - ["identifier","id_Lettre"], - ["text"," "], - ["keyword.operator","="], - ["text"," "], - ["support.function","llListFindList"], - ["paren.lparen","("], - ["identifier","Alphabet"], - ["punctuation.operator",","], - ["text"," "], - ["paren.lparen","["], - ["identifier","Lettre"], - ["paren.rparen","])"], - ["punctuation.operator",";"] -],[ - "start", - ["text"," "], - ["identifier","matrice_Lettre"], - ["text"," "], - ["keyword.operator","="], - ["text"," "], - ["support.function","llList2String"], - ["paren.lparen","("], - ["identifier","Matrices"], - ["punctuation.operator",","], - ["text"," "], - ["identifier","id_Lettre"], - ["paren.rparen",")"], - ["punctuation.operator",";"], - ["text"," "] -],[ - "start", - ["text"," "], - ["identifier","z"], - ["keyword.operator","="], - ["constant.numeric","0"], - ["punctuation.operator",";"], - ["text"," "] -],[ - "start", - ["text"," "], - ["keyword.control","do"], - ["paren.lparen","{"], - ["text"," "] -],[ - "start", - ["text"," "], - ["identifier","x"], - ["keyword.operator","="], - ["constant.numeric","0"], - ["punctuation.operator",";"] -],[ - "start", - ["text"," "], - ["keyword.control","do"], - ["paren.lparen","{"] -],[ - "start", - ["text"," "], - ["keyword.control","if"], - ["paren.lparen","("], - ["text"," "], - ["paren.lparen","("], - ["storage.type","integer"], - ["paren.rparen",")"], - ["support.function","llGetSubString"], - ["paren.lparen","("], - ["identifier","matrice_Lettre"], - ["punctuation.operator",","], - ["text"," "], - ["identifier","x"], - ["text"," "], - ["keyword.operator","+"], - ["text"," "], - ["constant.numeric","5"], - ["keyword.operator","*"], - ["identifier","z"], - ["punctuation.operator",","], - ["text"," "], - ["identifier","x"], - ["text"," "], - ["keyword.operator","+"], - ["text"," "], - ["constant.numeric","5"], - ["keyword.operator","*"], - ["identifier","z"], - ["paren.rparen",")"], - ["text"," "], - ["paren.rparen",")"], - ["text"," "], - ["paren.lparen","{"] -],[ - "start", - ["text"," "], - ["support.function","llSetLinkPrimitiveParamsFast"], - ["paren.lparen","("], - ["constant.language","LINK_THIS"], - ["punctuation.operator",","], - ["text"," "], - ["paren.lparen","["], - ["constant.language","PRIM_POSITION"], - ["punctuation.operator",","], - ["text"," "], - ["identifier","point_zero"], - ["text"," "], - ["keyword.operator","+"], - ["text"," "], - ["keyword.operator","<"], - ["text"," "], - ["identifier","x"], - ["keyword.operator","*"], - ["identifier","Size_Point"], - ["punctuation.operator",","], - ["text"," "], - ["constant.numeric","0.0"], - ["punctuation.operator",","], - ["text"," "], - ["keyword.operator","-"], - ["identifier","z"], - ["keyword.operator","*"], - ["identifier","Size_Point"], - ["text"," "], - ["keyword.operator",">"], - ["text"," "], - ["paren.rparen","])"], - ["punctuation.operator",";"] -],[ - "start", - ["text"," "], - ["support.function","llParticleSystem"], - ["paren.lparen","("], - ["text"," "], - ["identifier","Particle_Parameters"], - ["text"," "], - ["paren.rparen",")"], - ["punctuation.operator",";"] -],[ - "start", - ["text"," "], - ["support.function","llSleep"], - ["paren.lparen","("], - ["constant.numeric","0.12"], - ["paren.rparen",")"], - ["punctuation.operator",";"] -],[ - "start", - ["text"," "], - ["support.function","llParticleSystem"], - ["paren.lparen","("], - ["text"," "], - ["paren.lparen","["], - ["paren.rparen","]"], - ["text"," "], - ["paren.rparen",")"], - ["punctuation.operator",";"] -],[ - "start", - ["text"," "], - ["paren.rparen","}"] -],[ - "start", - ["text"," "], - ["paren.rparen","}"], - ["text"," "], - ["keyword.control","while"], - ["paren.lparen","("], - ["text"," "], - ["keyword.operator","++"], - ["identifier","x"], - ["text"," "], - ["keyword.operator","<="], - ["text"," "], - ["constant.numeric","4"], - ["paren.rparen",")"], - ["punctuation.operator",";"] -],[ - "start", - ["text"," "], - ["paren.rparen","}"], - ["text"," "], - ["keyword.control","while"], - ["paren.lparen","("], - ["text"," "], - ["keyword.operator","++"], - ["identifier","z"], - ["text"," "], - ["keyword.operator","<="], - ["text"," "], - ["constant.numeric","5"], - ["paren.rparen",")"], - ["punctuation.operator",";"] -],[ - "start", - ["text"," "] -],[ - "start", - ["text"," "], - ["identifier","point_zero"], - ["text"," "], - ["keyword.operator","+="], - ["text"," "], - ["keyword.operator","<"], - ["text"," "], - ["constant.numeric","6"], - ["punctuation.operator","."], - ["text"," "], - ["keyword.operator","*"], - ["text"," "], - ["identifier","Size_Point"], - ["punctuation.operator",","], - ["text"," "], - ["constant.numeric","0.0"], - ["punctuation.operator",","], - ["text"," "], - ["constant.numeric","0.0"], - ["text"," "], - ["keyword.operator",">"], - ["punctuation.operator",";"], - ["text"," "], - ["comment.line","//locate next char"] -],[ - "start", - ["text"," "], - ["paren.rparen","}"] -],[ - "start", - ["paren.rparen","}"] -],[ - "start", - ["comment.line","/////////////////////////////////////"] -],[ - "start", - ["comment.line","///////////////////////////////////// "] -],[ - "start", - ["comment.line","/////////////////////////////////////"] -],[ - "start", - ["comment.line","/////////////////////////////////////"] -],[ - "start", - ["text"," "] -],[ - "start", - ["text"," "] -],[ - "start", - ["keyword.other","default"], - ["text"," "], - ["paren.lparen","{"] -],[ - "start", - ["text"," "] -],[ - "start", - ["text"," "], - ["support.function.event","state_entry"], - ["paren.lparen","("], - ["paren.rparen",")"], - ["text"," "], - ["paren.lparen","{"] -],[ - "start", - ["text"," "] -],[ - "start", - ["text"," "], - ["support.function","llListen"], - ["paren.lparen","("], - ["constant.numeric","20"], - ["punctuation.operator",","], - ["text"," "], - ["string.double","\"\""], - ["punctuation.operator",","], - ["text"," "], - ["support.function","llGetOwner"], - ["paren.lparen","("], - ["paren.rparen",")"], - ["punctuation.operator",","], - ["text"," "], - ["string.double","\"\""], - ["paren.rparen",")"], - ["punctuation.operator",";"] -],[ - "start", - ["text"," "], - ["identifier","init_particles"], - ["paren.lparen","("], - ["paren.rparen",")"], - ["punctuation.operator",";"], - ["text"," "] -],[ - "start", - ["text"," "], - ["identifier","Origine"], - ["text"," "], - ["keyword.operator","="], - ["text"," "], - ["keyword.operator","<"], - ["text"," "], - ["paren.lparen","("], - ["constant.numeric","-0.48"], - ["text"," "], - ["keyword.operator","*"], - ["text"," "], - ["identifier","Size_Affich"], - ["punctuation.operator","."], - ["identifier","x"], - ["paren.rparen",")"], - ["text"," "], - ["punctuation.operator",","], - ["text"," "], - ["paren.lparen","("], - ["constant.numeric","-1.25"], - ["text"," "], - ["keyword.operator","*"], - ["text"," "], - ["identifier","Size_Point"], - ["paren.rparen",")"], - ["text"," "], - ["punctuation.operator",","], - ["text"," "], - ["paren.lparen","("], - ["constant.numeric","0.3"], - ["text"," "], - ["keyword.operator","*"], - ["text"," "], - ["identifier","Size_Affich"], - ["punctuation.operator","."], - ["identifier","z"], - ["paren.rparen",")"], - ["text"," "], - ["keyword.operator",">"], - ["punctuation.operator",";"], - ["text"," "], - ["comment.line","//raz cursor"] -],[ - "start", - ["text"," "], - ["paren.rparen","}"] -],[ - "start", - ["text"," "] -],[ - "start", - ["text"," "], - ["support.function.event","listen"], - ["paren.lparen","("], - ["text"," "], - ["storage.type","integer"], - ["text"," "], - ["identifier","channel"], - ["punctuation.operator",","], - ["text"," "], - ["storage.type","string"], - ["text"," "], - ["identifier","name"], - ["punctuation.operator",","], - ["text"," "], - ["storage.type","key"], - ["text"," "], - ["identifier","id"], - ["punctuation.operator",","], - ["text"," "], - ["storage.type","string"], - ["text"," "], - ["identifier","msg"], - ["text"," "], - ["paren.rparen",")"], - ["text"," "], - ["paren.lparen","{"] -],[ - "start", - ["text"," "] -],[ - "start", - ["text"," "], - ["identifier","Texte"], - ["text"," "], - ["keyword.operator","="], - ["text"," "], - ["identifier","msg"], - ["punctuation.operator",";"] -],[ - "start", - ["text"," "], - ["identifier","point_zero"], - ["text"," "], - ["keyword.operator","="], - ["text"," "], - ["identifier","Origine"], - ["punctuation.operator",";"], - ["text"," "], - ["comment.line","//raz cursor "] -],[ - "start", - ["text"," "], - ["support.function","llSetTimerEvent"], - ["paren.lparen","("], - ["constant.numeric","30"], - ["punctuation.operator","."], - ["paren.rparen",")"], - ["punctuation.operator",";"] -],[ - "start", - ["text"," "], - ["identifier","affichage"], - ["paren.lparen","("], - ["identifier","Texte"], - ["paren.rparen",")"], - ["punctuation.operator",";"] -],[ - "start", - ["text"," "], - ["paren.rparen","}"], - ["text"," "] -],[ - "start", - ["text"," "] -],[ - "start", - ["text"," "], - ["support.function.event","timer"], - ["paren.lparen","("], - ["paren.rparen",")"], - ["paren.lparen","{"] -],[ - "start", - ["text"," "] + "start" ],[ "start", - ["text"," "], - ["identifier","point_zero"], - ["text"," "], - ["keyword.operator","="], - ["text"," "], - ["identifier","Origine"], - ["punctuation.operator",";"], - ["text"," "], - ["comment.line","//raz cursor"] + ["entity.name.state.lsl","state other"] ],[ "start", - ["text"," "], - ["identifier","affichage"], - ["paren.lparen","("], - ["identifier","Texte"], - ["paren.rparen",")"], - ["punctuation.operator",";"] + ["paren.lparen.lsl","{"] ],[ "start", - ["text"," "], - ["paren.rparen","}"] + ["text.lsl"," "], + ["support.function.event.lsl","state_entry"], + ["paren.lparen.lsl","("], + ["paren.rparen.lsl",")"] ],[ "start", - ["text"," "] + ["text.lsl"," "], + ["paren.lparen.lsl","{"] ],[ "start", - ["text"," "], - ["support.function.event","on_rez"], - ["paren.lparen","("], - ["storage.type","integer"], - ["text"," "], - ["identifier","param"], - ["paren.rparen",")"], - ["text"," "], - ["paren.lparen","{"], - ["support.function","llResetScript"], - ["paren.lparen","("], - ["paren.rparen",")"], - ["punctuation.operator",";"], - ["paren.rparen","}"] + ["text.lsl"," "], + ["support.function.lsl","llWhisper"], + ["paren.lparen.lsl","("], + ["constant.language.integer.lsl","PUBLIC_CHANNEL"], + ["punctuation.operator.lsl",","], + ["text.lsl"," "], + ["string.quoted.double.lsl.start","\""], + ["string.quoted.double.lsl","Entered "], + ["constant.language.escape.lsl","\\\""], + ["string.quoted.double.lsl","state other"], + ["constant.language.escape.lsl","\\\""], + ["string.quoted.double.lsl",", returning to "], + ["constant.language.escape.lsl","\\\""], + ["string.quoted.double.lsl","default"], + ["constant.language.escape.lsl","\\\""], + ["string.quoted.double.lsl"," again..."], + ["string.quoted.double.lsl.end","\""], + ["paren.rparen.lsl",")"], + ["punctuation.operator.lsl",";"] ],[ "start", - ["text"," "], - ["support.function.event","changed"], - ["paren.lparen","("], - ["storage.type","integer"], - ["text"," "], - ["identifier","mask"], - ["paren.rparen",")"], - ["text"," "], - ["paren.lparen","{"], - ["keyword.control","if"], - ["paren.lparen","("], - ["identifier","mask"], - ["text"," "], - ["keyword.operator","&"], - ["text"," "], - ["constant.language","CHANGED_OWNER"], - ["paren.rparen",")"], - ["text"," "], - ["paren.lparen","{"], - ["support.function","llResetScript"], - ["paren.lparen","("], - ["paren.rparen",")"], - ["punctuation.operator",";"], - ["paren.rparen","}}"], - ["text"," "] + ["text.lsl"," "], + ["entity.name.state.lsl","state default"], + ["punctuation.operator.lsl",";"] ],[ "start", - ["text"," "] + ["text.lsl"," "], + ["paren.rparen.lsl","}"] ],[ "start", - ["paren.rparen","}"] + ["paren.rparen.lsl","}"] ],[ "start" ]] \ No newline at end of file diff --git a/lib/ace/mode/lsl.js b/lib/ace/mode/lsl.js index 0be8be85..a10acd0e 100644 --- a/lib/ace/mode/lsl.js +++ b/lib/ace/mode/lsl.js @@ -31,18 +31,18 @@ define(function(require, exports, module) { "use strict"; -var oop = require("../lib/oop"); -var TextMode = require("./text").Mode; var Tokenizer = require("../tokenizer").Tokenizer; -var lslHighlightRules = require("./lsl_highlight_rules").lslHighlightRules; -var MatchingBraceOutdent = require("./matching_brace_outdent").MatchingBraceOutdent; +var Rules = require("./lsl_highlight_rules").LSLHighlightRules; +var Outdent = require("./matching_brace_outdent").MatchingBraceOutdent; var Range = require("../range").Range; +var TextMode = require("./text").Mode; var CstyleBehaviour = require("./behaviour/cstyle").CstyleBehaviour; var CStyleFoldMode = require("./folding/cstyle").FoldMode; +var oop = require("../lib/oop"); var Mode = function() { - this.$tokenizer = new Tokenizer(new lslHighlightRules().getRules()); - this.$outdent = new MatchingBraceOutdent(); + this.$tokenizer = new Tokenizer(new Rules().getRules()); + this.$outdent = new Outdent(); this.$behaviour = new CstyleBehaviour(); this.foldingRules = new CStyleFoldMode(); }; @@ -52,7 +52,10 @@ oop.inherits(Mode, TextMode); this.lineCommentStart = ["//"]; - this.blockComment = {start: "/*", end: "*/"}; + this.blockComment = { + start: "/*", + end: "*/" + }; this.getNextLineIndent = function(state, line, tab) { var indent = this.$getIndent(line); @@ -61,11 +64,11 @@ oop.inherits(Mode, TextMode); var tokens = tokenizedLine.tokens; var endState = tokenizedLine.state; - if (tokens.length && tokens[tokens.length-1].type == "comment") { + if (tokens.length && tokens[tokens.length-1].type === "comment.block.lsl") { return indent; } - if (state == "start") { + if (state === "start") { var match = line.match(/^.*[\{\(\[]\s*$/); if (match) { indent += tab; diff --git a/lib/ace/mode/lsl_highlight_rules.js b/lib/ace/mode/lsl_highlight_rules.js index 80452a17..6d25dbc4 100644 --- a/lib/ace/mode/lsl_highlight_rules.js +++ b/lib/ace/mode/lsl_highlight_rules.js @@ -34,318 +34,313 @@ define(function(require, exports, module) { var oop = require("../lib/oop"); var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules; -var lslHighlightRules = function() { +oop.inherits(LSLHighlightRules, TextHighlightRules); -var keywordMapper = this.createKeywordMapper({ - "constant.language": "ACTIVE ALWAYS_RUN|AGENT_ATTACHMENTS|AGENT_AUTOPILOT|" + - "AGENT_AWAY|AGENT_BUSY|AGENT_BY_LEGACY_NAME|AGENT_BY_USERNAME|AGENT_CROUCHING|" + - "AGENT_FLYING|AGENT_IN_AIR|AGENT_LIST_PARCEL|AGENT_LIST_PARCEL_OWNER|" + - "AGENT_LIST_REGION|AGENT_MOUSELOOK|AGENT_ON_OBJECT|AGENT_SCRIPTED|AGENT_SITTING|" + - "AGENT_TYPING|AGENT_WALKING|ALL_SIDES|ANIM_ON|ATTACH_BACK|ATTACH_BELLY|" + - "ATTACH_CHEST|ATTACH_CHIN|ATTACH_HEAD|ATTACH_HUD_BOTTOM|ATTACH_HUD_BOTTOM_LEFT|" + - "ATTACH_HUD_BOTTOM_RIGHT|ATTACH_HUD_CENTER_1|ATTACH_HUD_CENTER_2|ATTACH_HUD_TOP_CENTER|" + - "ATTACH_HUD_TOP_LEFT|ATTACH_HUD_TOP_RIGHT|ATTACH_LEAR|ATTACH_LEFT_PEC|" + - "ATTACH_LEYE|ATTACH_LFOOT|ATTACH_LHAND|ATTACH_LHIP|ATTACH_LLARM|ATTACH_LLLEG|" + - "ATTACH_LSHOULDER|ATTACH_LUARM|ATTACH_LULEG|ATTACH_MOUTH|ATTACH_NOSE|" + - "ATTACH_PELVIS|ATTACH_REAR|ATTACH_REYE|ATTACH_RFOOT|ATTACH_RHAND|ATTACH_RHIP|" + - "ATTACH_RIGHT_PEC|ATTACH_RLARM|ATTACH_RLLEG|ATTACH_RSHOULDER|ATTACH_RUARM|" + - "ATTACH_RULEG|AVOID_CHARACTERS|AVOID_DYNAMIC_OBSTACLES|AVOID_NONE|CAMERA_ACTIVE|" + - "CAMERA_BEHINDNESS_ANGLE|CAMERA_BEHINDNESS_LAG|CAMERA_DISTANCE|CAMERA_FOCUS|" + - "CAMERA_FOCUS_LAG|CAMERA_FOCUS_LOCKED|CAMERA_FOCUS_OFFSET|CAMERA_FOCUS_THRESHOLD|" + - "CAMERA_PITCH|CAMERA_POSITION|CAMERA_POSITION_LAG|CAMERA_POSITION_LOCKED|" + - "CAMERA_POSITION_THRESHOLD|CHANGED_ALLOWED_DROP|CHANGED_COLOR|CHANGED_INVENTORY|" + - "CHANGED_LINK|CHANGED_MEDIA|CHANGED_OWNER|CHANGED_REGION|CHANGED_REGION_START|" + - "CHANGED_SCALE|CHANGED_SHAPE|CHANGED_TELEPORT|CHANGED_TEXTURE|CHARACTER_ACCOUNT_FOR_SKIPPED_FRAMES|" + - "CHARACTER_AVOIDANCE_MODE|CHARACTER_CMD_JUMP|CHARACTER_CMD_SMOOTH_STOP|" + - "CHARACTER_CMD_STOP|CHARACTER_DESIRED_SPEED|CHARACTER_DESIRED_TURN_SPEED|" + - "CHARACTER_LENGTH|CHARACTER_MAX_ACCEL|CHARACTER_MAX_ANGULAR_ACCEL|CHARACTER_MAX_ANGULAR_SPEED|" + - "CHARACTER_MAX_DECEL|CHARACTER_MAX_SPEED|CHARACTER_MAX_TURN_RADIUS|CHARACTER_ORIENTATION|" + - "CHARACTER_RADIUS|CHARACTER_TYPE|CHARACTER_TYPE_A|CHARACTER_TYPE_B|CHARACTER_TYPE_C|" + - "CHARACTER_TYPE_D|CHARACTER_TYPE_NONE|CLICK_ACTION_BUY|CLICK_ACTION_NONE|" + - "CLICK_ACTION_OPEN|CLICK_ACTION_OPEN_MEDIA|CLICK_ACTION_PAY|CLICK_ACTION_PLAY|" + - "CLICK_ACTION_SIT|CLICK_ACTION_TOUCH|CONTENT_TYPE_HTML|CONTENT_TYPE_TEXT|" + - "CONTROL_BACK|CONTROL_DOWN|CONTROL_FWD|CONTROL_LBUTTON|CONTROL_LEFT|CONTROL_ML_LBUTTON|" + - "CONTROL_RIGHT|CONTROL_ROT_LEFT|CONTROL_ROT_RIGHT|CONTROL_UP|DATA_BORN|" + - "DATA_NAME|DATA_ONLINE|DATA_PAYINFO|DATA_SIM_POS|DATA_SIM_RATING|DATA_SIM_STATUS|" + - "DENSITY|DEBUG_CHANNEL|DEG_TO_RAD|EOF|ESTATE_ACCESS_ALLOWED_AGENT_ADD|" + - "ESTATE_ACCESS_ALLOWED_AGENT_REMOVE|ESTATE_ACCESS_ALLOWED_GROUP_ADD|ESTATE_ACCESS_ALLOWED_GROUP_REMOVE|" + - "ESTATE_ACCESS_BANNED_AGENT_ADD|ESTATE_ACCESS_BANNED_AGENT_REMOVE|FALSE|" + - "FORCE_DIRECT_PATH|FRICTION|GCNP_RADIUS|GCNP_STATIC|GRAVITY_MULTIPLIER|" + - "HORIZONTAL|HTTP_BODY_MAXLENGTH|HTTP_BODY_TRUNCATED|HTTP_CUSTOM_HEADER|" + - "HTTP_METHOD|HTTP_MIMETYPE|HTTP_PRAGMA_NO_CACHE|HTTP_VERBOSE_THROTTLE|" + - "HTTP_VERIFY_CERT|INVENTORY_ALL|INVENTORY_ANIMATION|INVENTORY_BODYPART|" + - "INVENTORY_CLOTHING|INVENTORY_GESTURE|INVENTORY_LANDMARK|INVENTORY_NONE|" + - "INVENTORY_NOTECARD|INVENTORY_OBJECT|INVENTORY_SCRIPT|INVENTORY_SOUND|" + - "INVENTORY_TEXTURE|KFM_CMD_PAUSE|KFM_CMD_PLAY|KFM_CMD_STOP|KFM_COMMAND|" + - "KFM_DATA|KFM_FORWARD|KFM_LOOP|KFM_MODE|KFM_PING_PONG|KFM_REVERSE|KFM_ROTATION|" + - "KFM_TRANSLATION|LAND_LEVEL|LAND_LOWER|LAND_NOISE|LAND_RAISE|LAND_REVERT|" + - "LAND_SMOOTH|LINK_ALL_CHILDREN|LINK_ALL_OTHERS|LINK_ROOT|LINK_SET|LINK_THIS|" + - "LIST_STAT_GEOMETRIC_MEAN|LIST_STAT_MAX|LIST_STAT_MEAN|LIST_STAT_MEDIAN|" + - "LIST_STAT_MIN|LIST_STAT_NUM_COUNT|LIST_STAT_RANGE|LIST_STAT_STD_DEV|LIST_STAT_SUM|" + - "LIST_STAT_SUM_SQUARES|LOOP|MASK_BASE|MASK_EVERYONE|MASK_GROUP|MASK_NEXT|" + - "MASK_OWNER|NULL_KEY|OBJECT_ATTACHED_POINT|OBJECT_CREATOR|OBJECT_DESC|" + - "OBJECT_GROUP|OBJECT_NAME|OBJECT_OWNER|OBJECT_PATHFINDING_TYPE|OBJECT_PHYSICS_COST|" + - "OBJECT_POS|OBJECT_PRIM_EQUIVALENCE|OBJECT_ROOT|OBJECT_ROT|OBJECT_RUNNING_SCRIPT_COUNT|" + - "OBJECT_SCRIPT_MEMORY|OBJECT_SCRIPT_TIME|OBJECT_SERVER_COST|OBJECT_STREAMING_COST|" + - "OBJECT_TOTAL_SCRIPT_COUNT|OBJECT_UNKNOWN_DETAIL|OBJECT_VELOCITY|OPT_AVATAR|" + - "OPT_CHARACTER|OPT_EXCLUSION_VOLUME|OPT_LEGACY_LINKSET|OPT_MATERIAL_VOLUME|" + - "OPT_OTHER|OPT_STATIC_OBSTACLE|OPT_WALKABLE|PARCEL_COUNT_GROUP|PARCEL_COUNT_OTHER|" + - "PARCEL_COUNT_OWNER|PARCEL_COUNT_SELECTED|PARCEL_COUNT_TEMP|PARCEL_COUNT_TOTAL|" + - "PARCEL_DETAILS_AREA|PARCEL_DETAILS_DESC|PARCEL_DETAILS_GROUP|PARCEL_DETAILS_ID|" + - "PARCEL_DETAILS_NAME|PARCEL_DETAILS_OWNER|PARCEL_DETAILS_SEE_AVATARS|" + - "PARCEL_FLAG_ALLOW_ALL_OBJECT_ENTRY|PARCEL_FLAG_ALLOW_CREATE_GROUP_OBJECTS|" + - "PARCEL_FLAG_ALLOW_CREATE_OBJECTS|PARCEL_FLAG_ALLOW_DAMAGE|PARCEL_FLAG_ALLOW_FLY|" + - "PARCEL_FLAG_ALLOW_GROUP_OBJECT_ENTRY|PARCEL_FLAG_ALLOW_GROUP_SCRIPTS|" + - "PARCEL_FLAG_ALLOW_LANDMARK|PARCEL_FLAG_ALLOW_SCRIPTS|PARCEL_FLAG_ALLOW_TERRAFORM|" + - "PARCEL_FLAG_LOCAL_SOUND_ONLY|PARCEL_FLAG_RESTRICT_PUSHOBJECT|PARCEL_FLAG_USE_ACCESS_GROUP|" + - "PARCEL_FLAG_USE_ACCESS_LIST|PARCEL_FLAG_USE_BAN_LIST|PARCEL_FLAG_USE_LAND_PASS_LIST|" + - "PARCEL_MEDIA_COMMAND_AGENT|PARCEL_MEDIA_COMMAND_AUTO_ALIGN|PARCEL_MEDIA_COMMAND_DESC|" + - "PARCEL_MEDIA_COMMAND_LOOP|PARCEL_MEDIA_COMMAND_LOOP_SET|PARCEL_MEDIA_COMMAND_PAUSE|" + - "PARCEL_MEDIA_COMMAND_PLAY|PARCEL_MEDIA_COMMAND_SIZE|PARCEL_MEDIA_COMMAND_STOP|" + - "PARCEL_MEDIA_COMMAND_TEXTURE|PARCEL_MEDIA_COMMAND_TIME|PARCEL_MEDIA_COMMAND_TYPE|" + - "PARCEL_MEDIA_COMMAND_UNLOAD|PARCEL_MEDIA_COMMAND_URL|PASSIVE|PATROL_PAUSE_AT_WAYPOINTS|" + - "PAYMENT_INFO_ON_FILE|PAYMENT_INFO_USED|PAY_DEFAULT|PAY_HIDE|PERMISSION_ATTACH|" + - "PERMISSION_CHANGE_LINKS|PERMISSION_CONTROL_CAMERA|PERMISSION_DEBIT|PERMISSION_OVERRIDE_ANIMATIONS|" + - "PERMISSION_SILENT_ESTATE_MANAGEMENT|PERMISSION_TAKE_CONTROLS|PERMISSION_TELEPORT|PERMISSION_TRACK_CAMERA|" + - "PERMISSION_TRIGGER_ANIMATION|PERM_ALL|PERM_COPY|PERM_MODIFY|PERM_MOVE|" + - "PERM_TRANSFER|PI|PING_PONG|PI_BY_TWO|PRIM_BUMP_BARK|PRIM_BUMP_BLOBS|" + - "PRIM_BUMP_BRICKS|PRIM_BUMP_BRIGHT|PRIM_BUMP_CHECKER|PRIM_BUMP_CONCRETE|" + - "PRIM_BUMP_DARK|PRIM_BUMP_DISKS|PRIM_BUMP_GRAVEL|PRIM_BUMP_LARGETILE|" + - "PRIM_BUMP_NONE|PRIM_BUMP_SHINY|PRIM_BUMP_SIDING|PRIM_BUMP_STONE|PRIM_BUMP_STUCCO|" + - "PRIM_BUMP_SUCTION|PRIM_BUMP_TILE|PRIM_BUMP_WEAVE|PRIM_BUMP_WOOD|PRIM_COLOR|" + - "PRIM_DESC|PRIM_FLEXIBLE|PRIM_FULLBRIGHT|PRIM_GLOW|PRIM_HOLE_CIRCLE|PRIM_HOLE_DEFAULT|" + - "PRIM_HOLE_SQUARE|PRIM_HOLE_TRIANGLE|PRIM_LINK_TARGET|PRIM_MATERIAL|PRIM_MATERIAL_FLESH|" + - "PRIM_MATERIAL_GLASS|PRIM_MATERIAL_LIGHT|PRIM_MATERIAL_METAL|PRIM_MATERIAL_PLASTIC|" + - "PRIM_MATERIAL_RUBBER|PRIM_MATERIAL_STONE|PRIM_MATERIAL_WOOD|PRIM_MEDIA_ALT_IMAGE_ENABLE|" + - "PRIM_MEDIA_AUTO_LOOP|PRIM_MEDIA_AUTO_PLAY|PRIM_MEDIA_AUTO_SCALE|PRIM_MEDIA_AUTO_ZOOM|" + - "PRIM_MEDIA_CONTROLS|PRIM_MEDIA_CONTROLS_STANDARD|PRIM_MEDIA_CONTROLS_MINI|" + - "PRIM_MEDIA_CURRENT_URL|PRIM_MEDIA_FIRST_CLICK_INTERACT|PRIM_MEDIA_HEIGHT_PIXELS|" + - "PRIM_MEDIA_HOME_URL|PRIM_MEDIA_PERM_ANYONE|PRIM_MEDIA_PERM_GROUP|PRIM_MEDIA_PERM_NONE|" + - "PRIM_MEDIA_PERM_OWNER|PRIM_MEDIA_PERMS_CONTROL|PRIM_MEDIA_PERMS_INTERACT|" + - "PRIM_MEDIA_WIDTH_PIXELS|PRIM_MEDIA_WHITELIST|PRIM_MEDIA_WHITELIST_ENABLE|" + - "PRIM_NAME|PRIM_OMEGA|PRIM_PHANTOM|PRIM_PHYSICS|PRIM_PHYSICS_MATERIAL|" + - "PRIM_PHYSICS_SHAPE_CONVEX|PRIM_PHYSICS_SHAPE_NONE|PRIM_PHYSICS_SHAPE_PRIM|" + - "PRIM_PHYSICS_SHAPE_TYPE|PRIM_POINT_LIGHT|PRIM_POSITION|PRIM_POS_LOCAL|" + - "PRIM_ROTATION|PRIM_ROT_LOCAL|PRIM_SCULPT_FLAG_INVERT|PRIM_SCULPT_FLAG_MIRROR|" + - "PRIM_SCULPT_TYPE_CYLINDER|PRIM_SCULPT_TYPE_MASK|PRIM_SCULPT_TYPE_PLANE|" + - "PRIM_SCULPT_TYPE_SPHERE|PRIM_SCULPT_TYPE_TORUS|PRIM_SHINY_HIGH|PRIM_SHINY_LOW|" + - "PRIM_SHINY_MEDIUM|PRIM_SHINY_NONE|PRIM_SIZE|PRIM_SLICE|PRIM_TEMP_ON_REZ|" + - "PRIM_TEXGEN|PRIM_TEXGEN_DEFAULT|PRIM_TEXGEN_PLANAR|PRIM_TEXT|PRIM_TEXTURE|" + - "PRIM_TYPE|PRIM_TYPE_BOX|PRIM_TYPE_CYLINDER|PRIM_TYPE_PRISM|PRIM_TYPE_RING|" + - "PRIM_TYPE_SCULPT|PRIM_TYPE_SPHERE|PRIM_TYPE_TORUS|PRIM_TYPE_TUBE|PROFILE_NONE|" + - "PROFILE_SCRIPT_MEMORY|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_MAX_AGE|PSYS_SRC_OMEGA|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|" + - "PURSUIT_FUZZ_FACTOR|PURSUIT_GOAL_TOLERANCE|PURSUIT_INTERCEPT|PURSUIT_OFFSET|" + - "PU_EVADE_HIDDEN|PU_EVADE_SPOTTED|PU_FAILURE_DYNAMIC_PATHFINDING_DISABLED|" + - "PU_FAILURE_INVALID_GOAL|PU_FAILURE_INVALID_START|PU_FAILURE_NO_NAVMESH|" + - "PU_FAILURE_NO_VALID_DESTINATION|PU_FAILURE_OTHER|PU_FAILURE_PARCEL_UNREACHABLE|" + - "PU_FAILURE_TARGET_GONE|PU_FAILURE_UNREACHABLE|PU_GOAL_REACHED|PU_SLOWDOWN_DISTANCE_REACHED|" + - "RAD_TO_DEG|RC_DATA_FLAGS|RC_DETECT_PHANTOM|RC_GET_LINK_NUM|RC_GET_NORMAL|" + - "RC_GET_ROOT_KEY|RC_MAX_HITS|RC_REJECT_AGENTS|RC_REJECT_LAND|RC_REJECT_NONPHYSICAL|" + - "RC_REJECT_PHYSICAL|RC_REJECT_TYPES|RCERR_CAST_TIME_EXCEEDED|RCERR_SIM_PERF_LOW|" + - "RCERR_UNKNOWN|REGION_FLAG_ALLOW_DAMAGE|REGION_FLAG_ALLOW_DIRECT_TELEPORT|" + - "REGION_FLAG_BLOCK_FLY|REGION_FLAG_BLOCK_TERRAFORM|REGION_FLAG_DISABLE_COLLISIONS|" + - "REGION_FLAG_DISABLE_PHYSICS|REGION_FLAG_FIXED_SUN|REGION_FLAG_RESTRICT_PUSHOBJECT|" + - "REGION_FLAG_SANDBOX|REMOTE_DATA_CHANNEL|REMOTE_DATA_REPLY|REMOTE_DATA_REQUEST|" + - "REQUIRE_LINE_OF_SIGHT|RESTITUTION|REVERSE|ROTATE|SCALE|SCRIPTED|SIM_STAT_PCT_CHARS_STEPPED|" + - "SMOOTH|SQRT2|STATUS_BLOCK_GRAB|STATUS_BLOCK_GRAB_OBJECT|STATUS_BOUNDS_ERROR|" + - "STATUS_CAST_SHADOWS|STATUS_DIE_AT_EDGE|STATUS_INTERNAL_ERROR|STATUS_MALFORMED_PARAMS|" + - "STATUS_NOT_FOUND|STATUS_NOT_SUPPORTED|STATUS_OK|STATUS_PHANTOM|STATUS_PHYSICS|" + - "STATUS_RETURN_AT_EDGE|STATUS_ROTATE_X|STATUS_ROTATE_Y|STATUS_ROTATE_Z|" + - "STATUS_SANDBOX|STATUS_TYPE_MISMATCH|STATUS_WHITELIST_FAILED|STRING_TRIM|" + - "STRING_TRIM_HEAD|STRING_TRIM_TAIL|TEXTURE_DEFAULT|TEXTURE_BLANK|TEXTURE_MEDIA|" + - "TEXTURE_PLYWOOD|TEXTURE_TRANSPARENT|TOUCH_INVALID_FACE|TOUCH_INVALID_TEXCOORD|" + - "TOUCH_INVALID_VECTOR|TRAVERSAL_TYPE|TRAVERSAL_TYPE_FAST|TRAVERSAL_TYPE_NONE|" + - "TRAVERSAL_TYPE_SLOW|TRUE|TWO_PI|TYPE_FLOAT|TYPE_INTEGER|TYPE_INVALID|" + - "TYPE_KEY|TYPE_ROTATION|TYPE_STRING|TYPE_VECTOR|URL_REQUEST_DENIED|URL_REQUEST_GRANTED|" + - "VEHICLE_ANGULAR_DEFLECTION_EFFICIENCY|VEHICLE_ANGULAR_DEFLECTION_TIMESCALE|" + - "VEHICLE_ANGULAR_FRICTION_TIMESCALE|VEHICLE_ANGULAR_MOTOR_DECAY_TIMESCALE|" + - "VEHICLE_ANGULAR_MOTOR_DIRECTION|VEHICLE_ANGULAR_MOTOR_TIMESCALE|VEHICLE_BANKING_EFFICIENCY|" + - "VEHICLE_BANKING_MIX|VEHICLE_BANKING_TIMESCALE|VEHICLE_BUOYANCY|VEHICLE_FLAG_CAMERA_DECOUPLED|" + - "VEHICLE_FLAG_HOVER_GLOBAL_HEIGHT|VEHICLE_FLAG_HOVER_TERRAIN_ONLY|VEHICLE_FLAG_HOVER_UP_ONLY|" + - "VEHICLE_FLAG_HOVER_WATER_ONLY|VEHICLE_FLAG_LIMIT_MOTOR_UP|VEHICLE_FLAG_LIMIT_ROLL_ONLY|" + - "VEHICLE_FLAG_MOUSELOOK_BANK|VEHICLE_FLAG_MOUSELOOK_STEER|VEHICLE_FLAG_NO_DEFLECTION_UP|" + - "VEHICLE_HOVER_EFFICIENCY|VEHICLE_HOVER_HEIGHT|VEHICLE_HOVER_TIMESCALE|" + - "VEHICLE_LINEAR_DEFLECTION_EFFICIENCY|VEHICLE_LINEAR_DEFLECTION_TIMESCALE|" + - "VEHICLE_LINEAR_FRICTION_TIMESCALE|VEHICLE_LINEAR_MOTOR_DECAY_TIMESCALE|" + - "VEHICLE_LINEAR_MOTOR_DIRECTION|VEHICLE_LINEAR_MOTOR_OFFSET|VEHICLE_LINEAR_MOTOR_TIMESCALE|" + - "VEHICLE_REFERENCE_FRAME|VEHICLE_TYPE_AIRPLANE|VEHICLE_TYPE_BALLOON|VEHICLE_TYPE_BOAT|" + - "VEHICLE_TYPE_CAR|VEHICLE_TYPE_NONE|VEHICLE_TYPE_SLED|VEHICLE_VERTICAL_ATTRACTION_EFFICIENCY|" + - "VEHICLE_VERTICAL_ATTRACTION_TIMESCALE|VERTICAL|WANDER_PAUSE_AT_WAYPOINTS|" + - "ZERO_ROTATION|ZERO_VECTOR", - "invalid.deprecated" : "llCollisionSprite|llGodLikeRezObject|llMakeExplosion|" + - "llMakeFountain|llMakeSmoke|llMakeFire|llPointAt|llStopPointAt|llRefreshPrimURL|" + - "llSetPrimURL|llReleaseCamera|llTakeCamera|llRemoteDataSetRegion|llRemoteLoadScript|" + - "llSetInventoryPermMask|llSound|llSoundPreload|llXorBase64Strings|AGENT|" + - "DATA_RATING|LAND_LARGE_BRUSH|LAND_MEDIUM_BRUSH|LAND_SMALL_BRUSH|PERMISSION_CHANGE_JOINTS|" + - "PERMISSION_CHANGE_PERMISSIONS|PERMISSION_RELEASE_OWNERSHIP|PERMISSION_REMAP_CONTROLS|" + - "PRIM_CAST_SHADOWS|PRIM_TYPE_LEGACY|PSYS_SRC_INNERANGLE|PSYS_SRC_OUTERANGLE|" + - "VEHICLE_FLAG_NO_FLY_UP", - "invalid.illegal" : "event", - "keyword.control" : "do|else|for|if|jump|return|while", - "keyword.other" : "default|state", - "storage.type" : "float|integer|key|list|quaternion|rotation|string|vector", - "support.function": "llAbs|llAcos|llAddToLandBanList|llAddToLandPassList|" + - "llAdjustSoundVolume|llAllowInventoryDrop|llAngleBetween|llApplyImpulse|" + - "llApplyRotationalImpulse|llAsin|llAtan2|llAttachToAvatar|llAttachToAvatarTemp|" + - "llAvatarOnLinkSitTarget|llAvatarOnSitTarget|llAxes2Rot|llAxisAngle2Rot|" + - "llBase64ToInteger|llBase64ToString|llBreakAllLinks|llBreakLink|llCastRay|" + - "llCeil|llClearCameraParams|llClearLinkMedia|llClearPrimMedia|llCloseRemoteDataChannel|" + - "llCloud|llCollisionFilter|llCollisionSound|llCos|llCreateCharacter|llCreateLink|" + - "llCSV2List|llDeleteCharacter|llDeleteSubList|llDeleteSubString|llDetachFromAvatar|" + - "llDetectedGrab|llDetectedGroup|llDetectedKey|llDetectedLinkNumber|llDetectedName|" + - "llDetectedOwner|llDetectedPos|llDetectedRot|llDetectedTouchBinormal|" + - "llDetectedTouchFace|llDetectedTouchNormal|llDetectedTouchPos|llDetectedTouchST|" + - "llDetectedTouchUV|llDetectedType|llDetectedVel|llDialog|llDie|llDumpList2String|" + - "llEdgeOfWorld|llEjectFromLand|llEmail|llEscapeURL|llEuler2Rot|llExecCharacterCmd|" + - "llEvade|llFabs|llFleeFrom|llFloor|llForceMouselook|llFrand|llGenerateKey|" + - "llGetAccel|llGetAgentInfo|llGetAgentLanguage|llGetAgentList|llGetAgentSize|" + - "llGetAlpha|llGetAndResetTime|llGetAnimation|llGetAnimationList|llGetAnimationOverride|llGetAttached|" + - "llGetBoundingBox|llGetCameraPos|llGetCameraRot|llGetCenterOfMass|llGetClosestNavPoint|" + - "llGetColor|llGetCreator|llGetDate|llGetDisplayName|llGetEnergy|llGetEnv|" + - "llGetForce|llGetFreeMemory|llGetFreeURLs|llGetGeometricCenter|llGetGMTclock|" + - "llGetHTTPHeader|llGetInventoryCreator|llGetInventoryKey|llGetInventoryName|" + - "llGetInventoryNumber|llGetInventoryPermMask|llGetInventoryType|llGetKey|" + - "llGetLandOwnerAt|llGetLinkKey|llGetLinkMedia|llGetLinkName|llGetLinkNumber|" + - "llGetLinkNumberOfSides|llGetLinkPrimitiveParams|llGetListEntryType|llGetListLength|" + - "llGetLocalPos|llGetLocalRot|llGetMass|llGetMassMKS|llGetMemoryLimit|" + - "llGetNextEmail|llGetNotecardLine|llGetNumberOfNotecardLines|llGetNumberOfPrims|" + - "llGetNumberOfSides|llGetObjectDesc|llGetObjectDetails|llGetObjectMass|" + - "llGetObjectName|llGetObjectPermMask|llGetObjectPrimCount|llGetOmega|" + - "llGetOwner|llGetOwnerKey|llGetParcelDetails|llGetParcelFlags|llGetParcelMaxPrims|" + - "llGetParcelMusicURL|llGetParcelPrimCount|llGetParcelPrimOwners|llGetPermissions|" + - "llGetPermissionsKey|llGetPhysicsMaterial|llGetPos|llGetPrimitiveParams|" + - "llGetPrimMediaParams|llGetRegionAgentCount|llGetRegionCorner|llGetRegionFlags|" + - "llGetRegionFPS|llGetRegionName|llGetRegionTimeDilation|llGetRootPosition|" + - "llGetRootRotation|llGetRot|llGetScale|llGetScriptName|llGetScriptState|" + - "llGetSimStats|llGetSimulatorHostname|llGetSPMaxMemory|llGetStartParameter|" + - "llGetStaticPath|llGetStatus|llGetSubString|llGetSunDirection|llGetTexture|" + - "llGetTextureOffset|llGetTextureRot|llGetTextureScale|llGetTime|llGetTimeOfDay|" + - "llGetTimestamp|llGetTorque|llGetUnixTime|llGetUsedMemory|llGetUsername|" + - "llGetVel|llGetWallclock|llGiveInventory|llGiveInventoryList|llGiveMoney|" + - "llGround|llGroundContour|llGroundNormal|llGroundRepel|llGroundSlope|" + - "llHTTPRequest|llHTTPResponse|llInsertString|llInstantMessage|llIntegerToBase64|" + - "llKey2Name|llLinkParticleSystem|llLinkSitTarget|llList2CSV|llList2Float|" + - "llList2Integer|llList2Key|llList2List|llList2ListStrided|llList2Rot|" + - "llList2String|llList2Vector|llListen|llListenControl|llListenRemove|" + - "llListFindList|llListInsertList|llListRandomize|llListReplaceList|llListSort|" + - "llListStatistics|llLoadURL|llLog|llLog10|llLookAt|llLoopSound|llLoopSoundMaster|" + - "llLoopSoundSlave|llManageEstateAccess|llMapDestination|llMD5String|llMessageLinked|" + - "llMinEventDelay|llModifyLand|llModPow|llMoveToTarget|llNavigateTo|llOffsetTexture|" + - "llOpenRemoteDataChannel|llOverMyLand|llOwnerSay|llParcelMediaCommandList|" + - "llParcelMediaQuery|llParseString2List|llParseStringKeepNulls|llParticleSystem|" + - "llPassCollisions|llPassTouches|llPatrolPoints|llPlaySound|llPlaySoundSlave|" + - "llPow|llPreloadSound|llPursue|llPushObject|llRegionSay|llRegionSayTo|" + - "llReleaseControls|llReleaseURL|llRemoteDataReply|llRemoteLoadScriptPin|" + - "llRemoveFromLandBanList|llRemoveFromLandPassList|llRemoveInventory|llRemoveVehicleFlags|" + - "llRequestAgentData|llRequestDisplayName|llRequestInventoryData|llRequestPermissions|" + - "llRequestSecureURL|llRequestSimulatorData|llRequestURL|llRequestUsername|llResetAnimationOverride|" + - "llResetLandBanList|llResetLandPassList|llResetOtherScript|llResetScript|" + - "llResetTime|llRezAtRoot|llRezObject|llRot2Angle|llRot2Axis|llRot2Euler|" + - "llRot2Fwd|llRot2Left|llRot2Up|llRotateTexture|llRotBetween|llRotLookAt|" + - "llRotTarget|llRotTargetRemove|llRound|llSameGroup|llSay|llScaleTexture|" + - "llScriptDanger|llScriptProfiler|llSendRemoteData|llSensor|llSensorRemove|" + - "llSensorRepeat|llSetAlpha|llSetAngularVelocity|llSetAnimationOverride|llSetBuoyancy|llSetCameraAtOffset|" + - "llSetCameraEyeOffset|llSetCameraParams|llSetClickAction|llSetColor|llSetContentType|" + - "llSetDamage|llSetForce|llSetForceAndTorque|llSetHoverHeight|llSetKeyframedMotion|" + - "llSetLinkAlpha|llSetLinkCamera|llSetLinkColor|llSetLinkMedia|llSetLinkPrimitiveParams|" + - "llSetLinkPrimitiveParamsFast|llSetLinkTexture|llSetLinkTextureAnim|llSetLocalRot|" + - "llSetMemoryLimit|llSetObjectDesc|llSetObjectName|llSetParcelMusicURL|" + - "llSetPayPrice|llSetPhysicsMaterial|llSetPos|llSetPrimitiveParams|llSetPrimMediaParams|" + - "llSetRegionPos|llSetRemoteScriptAccessPin|llSetRot|llSetScale|llSetScriptState|" + - "llSetSitText|llSetSoundQueueing|llSetSoundRadius|llSetStatus|llSetText|" + - "llSetTexture|llSetTextureAnim|llSetTimerEvent|llSetTorque|llSetTouchText|" + - "llSetVehicleFlags|llSetVehicleFloatParam|llSetVehicleRotationParam|llSetVehicleType|" + - "llSetVehicleVectorParam|llSetVelocity|llSHA1String|llShout|llSin|llSitTarget|" + - "llSleep|llSqrt|llStartAnimation|llStopAnimation|llStopHover|llStopLookAt|" + - "llStopMoveToTarget|llStopSound|llStringLength|llStringToBase64|llStringTrim|" + - "llSubStringIndex|llTakeControls|llTan|llTarget|llTargetOmega|llTargetRemove|" + - "llTeleportAgent|llTeleportAgentGlobalCoords|llTeleportAgentHome|llTextBox|" + - "llToLower|llToUpper|llTransferLindenDollars|llTriggerSound|llTriggerSoundLimited|" + - "llUnescapeURL|llUnSit|llUpdateCharacter|llVecDist|llVecMag|llVecNorm|" + - "llVolumeDetect|llWanderWithin|llWater|llWhisper|llWind|llXorBase64StringsCorrect", - "support.function.event" : "at_rot_target|at_target|attach|changed|collision|" + - "collision_end|collision_start|control|dataserver|email|http_request|" + - "http_response|land_collision|land_collision_end|land_collision_start|" + - "link_message|listen|money|moving_end|moving_start|no_sensor|not_at_rot_target|" + - "not_at_target|object_rez|on_rez|path_update|remote_data|run_time_permissions|" + - "sensor|state_entry|state_exit|timer|touch|touch_end|touch_start|transaction_result" - }, "identifier"); +function LSLHighlightRules() { + var keywordMapper = this.createKeywordMapper({ + "constant.language.float.lsl" : "DEG_TO_RAD|PI|PI_BY_TWO|RAD_TO_DEG|SQRT2|TWO_PI", + "constant.language.integer.lsl": "ACTIVE|ALWAYS_RUN|AGENT_ATTACHMENTS|AGENT_AUTOPILOT|" + + "AGENT_AWAY|AGENT_BUSY|AGENT_BY_LEGACY_NAME|AGENT_BY_USERNAME|AGENT_CROUCHING|" + + "AGENT_FLYING|AGENT_IN_AIR|AGENT_LIST_PARCEL|AGENT_LIST_PARCEL_OWNER|" + + "AGENT_LIST_REGION|AGENT_MOUSELOOK|AGENT_ON_OBJECT|AGENT_SCRIPTED|AGENT_SITTING|" + + "AGENT_TYPING|AGENT_WALKING|ALL_SIDES|ANIM_ON|ATTACH_AVATAR_CENTER|ATTACH_BACK|ATTACH_BELLY|" + + "ATTACH_CHEST|ATTACH_CHIN|ATTACH_HEAD|ATTACH_HUD_BOTTOM|ATTACH_HUD_BOTTOM_LEFT|" + + "ATTACH_HUD_BOTTOM_RIGHT|ATTACH_HUD_CENTER_1|ATTACH_HUD_CENTER_2|ATTACH_HUD_TOP_CENTER|" + + "ATTACH_HUD_TOP_LEFT|ATTACH_HUD_TOP_RIGHT|ATTACH_LEAR|ATTACH_LEFT_PEC|" + + "ATTACH_LEYE|ATTACH_LFOOT|ATTACH_LHAND|ATTACH_LHIP|ATTACH_LLARM|ATTACH_LLLEG|" + + "ATTACH_LSHOULDER|ATTACH_LUARM|ATTACH_LULEG|ATTACH_MOUTH|ATTACH_NECK|ATTACH_NOSE|" + + "ATTACH_PELVIS|ATTACH_REAR|ATTACH_REYE|ATTACH_RFOOT|ATTACH_RHAND|ATTACH_RHIP|" + + "ATTACH_RIGHT_PEC|ATTACH_RLARM|ATTACH_RLLEG|ATTACH_RSHOULDER|ATTACH_RUARM|" + + "ATTACH_RULEG|AVOID_CHARACTERS|AVOID_DYNAMIC_OBSTACLES|AVOID_NONE|CAMERA_ACTIVE|" + + "CAMERA_BEHINDNESS_ANGLE|CAMERA_BEHINDNESS_LAG|CAMERA_DISTANCE|CAMERA_FOCUS|" + + "CAMERA_FOCUS_LAG|CAMERA_FOCUS_LOCKED|CAMERA_FOCUS_OFFSET|CAMERA_FOCUS_THRESHOLD|" + + "CAMERA_PITCH|CAMERA_POSITION|CAMERA_POSITION_LAG|CAMERA_POSITION_LOCKED|" + + "CAMERA_POSITION_THRESHOLD|CHANGED_ALLOWED_DROP|CHANGED_COLOR|CHANGED_INVENTORY|" + + "CHANGED_LINK|CHANGED_MEDIA|CHANGED_OWNER|CHANGED_REGION|CHANGED_REGION_START|" + + "CHANGED_SCALE|CHANGED_SHAPE|CHANGED_TELEPORT|CHANGED_TEXTURE|CHARACTER_ACCOUNT_FOR_SKIPPED_FRAMES|" + + "CHARACTER_AVOIDANCE_MODE|CHARACTER_CMD_JUMP|CHARACTER_CMD_SMOOTH_STOP|" + + "CHARACTER_CMD_STOP|CHARACTER_DESIRED_SPEED|CHARACTER_DESIRED_TURN_SPEED|" + + "CHARACTER_LENGTH|CHARACTER_MAX_ACCEL|CHARACTER_MAX_ANGULAR_ACCEL|CHARACTER_MAX_ANGULAR_SPEED|" + + "CHARACTER_MAX_DECEL|CHARACTER_MAX_SPEED|CHARACTER_MAX_TURN_RADIUS|CHARACTER_ORIENTATION|" + + "CHARACTER_RADIUS|CHARACTER_TYPE|CHARACTER_TYPE_A|CHARACTER_TYPE_B|CHARACTER_TYPE_C|" + + "CHARACTER_TYPE_D|CHARACTER_TYPE_NONE|CLICK_ACTION_BUY|CLICK_ACTION_NONE|" + + "CLICK_ACTION_OPEN|CLICK_ACTION_OPEN_MEDIA|CLICK_ACTION_PAY|CLICK_ACTION_PLAY|" + + "CLICK_ACTION_SIT|CLICK_ACTION_TOUCH|CONTENT_TYPE_ATOM|CONTENT_TYPE_FORM|" + + "CONTENT_TYPE_HTML|CONTENT_TYPE_JSON|CONTENT_TYPE_LLSD|CONTENT_TYPE_RSS|" + + "CONTENT_TYPE_TEXT|CONTENT_TYPE_XHTML|CONTENT_TYPE_XML|" + + "CONTROL_BACK|CONTROL_DOWN|CONTROL_FWD|CONTROL_LBUTTON|CONTROL_LEFT|CONTROL_ML_LBUTTON|" + + "CONTROL_RIGHT|CONTROL_ROT_LEFT|CONTROL_ROT_RIGHT|CONTROL_UP|DATA_BORN|" + + "DATA_NAME|DATA_ONLINE|DATA_PAYINFO|DATA_SIM_POS|DATA_SIM_RATING|DATA_SIM_STATUS|" + + "DENSITY|DEBUG_CHANNEL|ESTATE_ACCESS_ALLOWED_AGENT_ADD|ESTATE_ACCESS_ALLOWED_AGENT_REMOVE|" + + "ESTATE_ACCESS_ALLOWED_GROUP_ADD|ESTATE_ACCESS_ALLOWED_GROUP_REMOVE|" + + "ESTATE_ACCESS_BANNED_AGENT_ADD|ESTATE_ACCESS_BANNED_AGENT_REMOVE|" + + "FORCE_DIRECT_PATH|FRICTION|GCNP_RADIUS|GCNP_STATIC|GRAVITY_MULTIPLIER|" + + "HORIZONTAL|HTTP_BODY_MAXLENGTH|HTTP_BODY_TRUNCATED|HTTP_CUSTOM_HEADER|" + + "HTTP_METHOD|HTTP_MIMETYPE|HTTP_PRAGMA_NO_CACHE|HTTP_VERBOSE_THROTTLE|" + + "HTTP_VERIFY_CERT|INVENTORY_ALL|INVENTORY_ANIMATION|INVENTORY_BODYPART|" + + "INVENTORY_CLOTHING|INVENTORY_GESTURE|INVENTORY_LANDMARK|INVENTORY_NONE|" + + "INVENTORY_NOTECARD|INVENTORY_OBJECT|INVENTORY_SCRIPT|INVENTORY_SOUND|" + + "INVENTORY_TEXTURE|KFM_CMD_PAUSE|KFM_CMD_PLAY|KFM_CMD_STOP|KFM_COMMAND|" + + "KFM_DATA|KFM_FORWARD|KFM_LOOP|KFM_MODE|KFM_PING_PONG|KFM_REVERSE|KFM_ROTATION|" + + "KFM_TRANSLATION|LAND_LEVEL|LAND_LOWER|LAND_NOISE|LAND_RAISE|LAND_REVERT|" + + "LAND_SMOOTH|LINK_ALL_CHILDREN|LINK_ALL_OTHERS|LINK_ROOT|LINK_SET|LINK_THIS|" + + "LIST_STAT_GEOMETRIC_MEAN|LIST_STAT_MAX|LIST_STAT_MEAN|LIST_STAT_MEDIAN|" + + "LIST_STAT_MIN|LIST_STAT_NUM_COUNT|LIST_STAT_RANGE|LIST_STAT_STD_DEV|LIST_STAT_SUM|" + + "LIST_STAT_SUM_SQUARES|LOOP|MASK_BASE|MASK_EVERYONE|MASK_GROUP|MASK_NEXT|" + + "MASK_OWNER|OBJECT_ATTACHED_POINT|OBJECT_CREATOR|OBJECT_DESC|" + + "OBJECT_GROUP|OBJECT_NAME|OBJECT_OWNER|OBJECT_PATHFINDING_TYPE|OBJECT_PHYSICS_COST|" + + "OBJECT_POS|OBJECT_PRIM_EQUIVALENCE|OBJECT_ROOT|OBJECT_ROT|OBJECT_RUNNING_SCRIPT_COUNT|" + + "OBJECT_SCRIPT_MEMORY|OBJECT_SCRIPT_TIME|OBJECT_SERVER_COST|OBJECT_STREAMING_COST|" + + "OBJECT_TOTAL_SCRIPT_COUNT|OBJECT_UNKNOWN_DETAIL|OBJECT_VELOCITY|OPT_AVATAR|" + + "OPT_CHARACTER|OPT_EXCLUSION_VOLUME|OPT_LEGACY_LINKSET|OPT_MATERIAL_VOLUME|" + + "OPT_OTHER|OPT_STATIC_OBSTACLE|OPT_WALKABLE|PARCEL_COUNT_GROUP|PARCEL_COUNT_OTHER|" + + "PARCEL_COUNT_OWNER|PARCEL_COUNT_SELECTED|PARCEL_COUNT_TEMP|PARCEL_COUNT_TOTAL|" + + "PARCEL_DETAILS_AREA|PARCEL_DETAILS_DESC|PARCEL_DETAILS_GROUP|PARCEL_DETAILS_ID|" + + "PARCEL_DETAILS_NAME|PARCEL_DETAILS_OWNER|PARCEL_DETAILS_SEE_AVATARS|" + + "PARCEL_FLAG_ALLOW_ALL_OBJECT_ENTRY|PARCEL_FLAG_ALLOW_CREATE_GROUP_OBJECTS|" + + "PARCEL_FLAG_ALLOW_CREATE_OBJECTS|PARCEL_FLAG_ALLOW_DAMAGE|PARCEL_FLAG_ALLOW_FLY|" + + "PARCEL_FLAG_ALLOW_GROUP_OBJECT_ENTRY|PARCEL_FLAG_ALLOW_GROUP_SCRIPTS|" + + "PARCEL_FLAG_ALLOW_LANDMARK|PARCEL_FLAG_ALLOW_SCRIPTS|PARCEL_FLAG_ALLOW_TERRAFORM|" + + "PARCEL_FLAG_LOCAL_SOUND_ONLY|PARCEL_FLAG_RESTRICT_PUSHOBJECT|PARCEL_FLAG_USE_ACCESS_GROUP|" + + "PARCEL_FLAG_USE_ACCESS_LIST|PARCEL_FLAG_USE_BAN_LIST|PARCEL_FLAG_USE_LAND_PASS_LIST|" + + "PARCEL_MEDIA_COMMAND_AGENT|PARCEL_MEDIA_COMMAND_AUTO_ALIGN|PARCEL_MEDIA_COMMAND_DESC|" + + "PARCEL_MEDIA_COMMAND_LOOP|PARCEL_MEDIA_COMMAND_LOOP_SET|PARCEL_MEDIA_COMMAND_PAUSE|" + + "PARCEL_MEDIA_COMMAND_PLAY|PARCEL_MEDIA_COMMAND_SIZE|PARCEL_MEDIA_COMMAND_STOP|" + + "PARCEL_MEDIA_COMMAND_TEXTURE|PARCEL_MEDIA_COMMAND_TIME|PARCEL_MEDIA_COMMAND_TYPE|" + + "PARCEL_MEDIA_COMMAND_UNLOAD|PARCEL_MEDIA_COMMAND_URL|PASSIVE|PATROL_PAUSE_AT_WAYPOINTS|" + + "PAYMENT_INFO_ON_FILE|PAYMENT_INFO_USED|PAY_DEFAULT|PAY_HIDE|PERMISSION_ATTACH|" + + "PERMISSION_CHANGE_LINKS|PERMISSION_CONTROL_CAMERA|PERMISSION_DEBIT|PERMISSION_OVERRIDE_ANIMATIONS|" + + "PERMISSION_SILENT_ESTATE_MANAGEMENT|PERMISSION_TAKE_CONTROLS|PERMISSION_TELEPORT|" + + "PERMISSION_TRACK_CAMERA|PERMISSION_TRIGGER_ANIMATION|PERM_ALL|PERM_COPY|PERM_MODIFY|" + + "PERM_MOVE|PERM_TRANSFER|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_COLOR|PRIM_DESC|PRIM_FLEXIBLE|PRIM_FULLBRIGHT|PRIM_GLOW|" + + "PRIM_HOLE_CIRCLE|PRIM_HOLE_DEFAULT|PRIM_HOLE_SQUARE|PRIM_HOLE_TRIANGLE|PRIM_LINK_TARGET|" + + "PRIM_MATERIAL|PRIM_MATERIAL_FLESH|PRIM_MATERIAL_GLASS|PRIM_MATERIAL_LIGHT|" + + "PRIM_MATERIAL_METAL|PRIM_MATERIAL_PLASTIC|PRIM_MATERIAL_RUBBER|PRIM_MATERIAL_STONE|" + + "PRIM_MATERIAL_WOOD|PRIM_MEDIA_ALT_IMAGE_ENABLE|PRIM_MEDIA_AUTO_LOOP|PRIM_MEDIA_AUTO_PLAY|" + + "PRIM_MEDIA_AUTO_SCALE|PRIM_MEDIA_AUTO_ZOOM|PRIM_MEDIA_CONTROLS|PRIM_MEDIA_CONTROLS_STANDARD|" + + "PRIM_MEDIA_CONTROLS_MINI|PRIM_MEDIA_CURRENT_URL|PRIM_MEDIA_FIRST_CLICK_INTERACT|" + + "PRIM_MEDIA_HEIGHT_PIXELS|PRIM_MEDIA_HOME_URL|PRIM_MEDIA_PERM_ANYONE|PRIM_MEDIA_PERM_GROUP|" + + "PRIM_MEDIA_PERM_NONE|PRIM_MEDIA_PERM_OWNER|PRIM_MEDIA_PERMS_CONTROL|PRIM_MEDIA_PERMS_INTERACT|" + + "PRIM_MEDIA_WIDTH_PIXELS|PRIM_MEDIA_WHITELIST|PRIM_MEDIA_WHITELIST_ENABLE|" + + "PRIM_NAME|PRIM_OMEGA|PRIM_PHANTOM|PRIM_PHYSICS|PRIM_PHYSICS_MATERIAL|PRIM_PHYSICS_SHAPE_CONVEX|" + + "PRIM_PHYSICS_SHAPE_NONE|PRIM_PHYSICS_SHAPE_PRIM|PRIM_PHYSICS_SHAPE_TYPE|" + + "PRIM_POINT_LIGHT|PRIM_POSITION|PRIM_POS_LOCAL|PRIM_ROTATION|PRIM_ROT_LOCAL|" + + "PRIM_SCULPT_FLAG_INVERT|PRIM_SCULPT_FLAG_MIRROR|PRIM_SCULPT_TYPE_CYLINDER|" + + "PRIM_SCULPT_TYPE_MASK|PRIM_SCULPT_TYPE_PLANE|PRIM_SCULPT_TYPE_SPHERE|PRIM_SCULPT_TYPE_TORUS|" + + "PRIM_SHINY_HIGH|PRIM_SHINY_LOW|PRIM_SHINY_MEDIUM|PRIM_SHINY_NONE|PRIM_SIZE|" + + "PRIM_SLICE|PRIM_TEMP_ON_REZ|PRIM_TEXGEN|PRIM_TEXGEN_DEFAULT|PRIM_TEXGEN_PLANAR|" + + "PRIM_TEXT|PRIM_TEXTURE|PRIM_TYPE|PRIM_TYPE_BOX|PRIM_TYPE_CYLINDER|PRIM_TYPE_PRISM|PRIM_TYPE_RING|" + + "PRIM_TYPE_SCULPT|PRIM_TYPE_SPHERE|PRIM_TYPE_TORUS|PRIM_TYPE_TUBE|PROFILE_NONE|" + + "PROFILE_SCRIPT_MEMORY|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_MAX_AGE|PSYS_SRC_OMEGA|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|" + + "PURSUIT_FUZZ_FACTOR|PURSUIT_GOAL_TOLERANCE|PURSUIT_INTERCEPT|PURSUIT_OFFSET|" + + "PU_EVADE_HIDDEN|PU_EVADE_SPOTTED|PU_FAILURE_DYNAMIC_PATHFINDING_DISABLED|" + + "PU_FAILURE_INVALID_GOAL|PU_FAILURE_INVALID_START|PU_FAILURE_NO_NAVMESH|" + + "PU_FAILURE_NO_VALID_DESTINATION|PU_FAILURE_OTHER|PU_FAILURE_PARCEL_UNREACHABLE|" + + "PU_FAILURE_TARGET_GONE|PU_FAILURE_UNREACHABLE|PU_GOAL_REACHED|PU_SLOWDOWN_DISTANCE_REACHED|" + + "RC_DATA_FLAGS|RC_DETECT_PHANTOM|RC_GET_LINK_NUM|RC_GET_NORMAL|RC_GET_ROOT_KEY|" + + "RC_MAX_HITS|RC_REJECT_AGENTS|RC_REJECT_LAND|RC_REJECT_NONPHYSICAL|RC_REJECT_PHYSICAL|" + + "RC_REJECT_TYPES|RCERR_CAST_TIME_EXCEEDED|RCERR_SIM_PERF_LOW|RCERR_UNKNOWN|" + + "REGION_FLAG_ALLOW_DAMAGE|REGION_FLAG_ALLOW_DIRECT_TELEPORT|REGION_FLAG_BLOCK_FLY|" + + "REGION_FLAG_BLOCK_TERRAFORM|REGION_FLAG_DISABLE_COLLISIONS|REGION_FLAG_DISABLE_PHYSICS|" + + "REGION_FLAG_FIXED_SUN|REGION_FLAG_RESTRICT_PUSHOBJECT|REGION_FLAG_SANDBOX|" + + "REMOTE_DATA_CHANNEL|REMOTE_DATA_REPLY|REMOTE_DATA_REQUEST|REQUIRE_LINE_OF_SIGHT|" + + "RESTITUTION|REVERSE|ROTATE|SCALE|SCRIPTED|SIM_STAT_PCT_CHARS_STEPPED|SMOOTH|" + + "STATUS_BLOCK_GRAB|STATUS_BLOCK_GRAB_OBJECT|STATUS_BOUNDS_ERROR|STATUS_CAST_SHADOWS|" + + "STATUS_DIE_AT_EDGE|STATUS_INTERNAL_ERROR|STATUS_MALFORMED_PARAMS|STATUS_NOT_FOUND|" + + "STATUS_NOT_SUPPORTED|STATUS_OK|STATUS_PHANTOM|STATUS_PHYSICS|STATUS_RETURN_AT_EDGE|" + + "STATUS_ROTATE_X|STATUS_ROTATE_Y|STATUS_ROTATE_Z|STATUS_SANDBOX|STATUS_TYPE_MISMATCH|" + + "STATUS_WHITELIST_FAILED|STRING_TRIM|STRING_TRIM_HEAD|STRING_TRIM_TAIL|TOUCH_INVALID_FACE|" + + "TRAVERSAL_TYPE|TRAVERSAL_TYPE_FAST|TRAVERSAL_TYPE_NONE|TRAVERSAL_TYPE_SLOW|" + + "TYPE_FLOAT|TYPE_INTEGER|TYPE_INVALID|TYPE_KEY|TYPE_ROTATION|TYPE_STRING|" + + "TYPE_VECTOR|URL_REQUEST_DENIED|URL_REQUEST_GRANTED|VEHICLE_ANGULAR_DEFLECTION_EFFICIENCY|" + + "VEHICLE_ANGULAR_DEFLECTION_TIMESCALE|VEHICLE_ANGULAR_FRICTION_TIMESCALE|" + + "VEHICLE_ANGULAR_MOTOR_DECAY_TIMESCALE|VEHICLE_ANGULAR_MOTOR_DIRECTION|VEHICLE_ANGULAR_MOTOR_TIMESCALE|" + + "VEHICLE_BANKING_EFFICIENCY|VEHICLE_BANKING_MIX|VEHICLE_BANKING_TIMESCALE|" + + "VEHICLE_BUOYANCY|VEHICLE_FLAG_CAMERA_DECOUPLED|VEHICLE_FLAG_HOVER_GLOBAL_HEIGHT|" + + "VEHICLE_FLAG_HOVER_TERRAIN_ONLY|VEHICLE_FLAG_HOVER_UP_ONLY|VEHICLE_FLAG_HOVER_WATER_ONLY|" + + "VEHICLE_FLAG_LIMIT_MOTOR_UP|VEHICLE_FLAG_LIMIT_ROLL_ONLY|VEHICLE_FLAG_MOUSELOOK_BANK|" + + "VEHICLE_FLAG_MOUSELOOK_STEER|VEHICLE_FLAG_NO_DEFLECTION_UP|VEHICLE_HOVER_EFFICIENCY|" + + "VEHICLE_HOVER_HEIGHT|VEHICLE_HOVER_TIMESCALE|VEHICLE_LINEAR_DEFLECTION_EFFICIENCY|" + + "VEHICLE_LINEAR_DEFLECTION_TIMESCALE|VEHICLE_LINEAR_FRICTION_TIMESCALE|VEHICLE_LINEAR_MOTOR_DECAY_TIMESCALE|" + + "VEHICLE_LINEAR_MOTOR_DIRECTION|VEHICLE_LINEAR_MOTOR_OFFSET|VEHICLE_LINEAR_MOTOR_TIMESCALE|" + + "VEHICLE_REFERENCE_FRAME|VEHICLE_TYPE_AIRPLANE|VEHICLE_TYPE_BALLOON|VEHICLE_TYPE_BOAT|" + + "VEHICLE_TYPE_CAR|VEHICLE_TYPE_NONE|VEHICLE_TYPE_SLED|VEHICLE_VERTICAL_ATTRACTION_EFFICIENCY|" + + "VEHICLE_VERTICAL_ATTRACTION_TIMESCALE|VERTICAL|WANDER_PAUSE_AT_WAYPOINTS", + "constant.language.integer.boolean.lsl" : "FALSE|TRUE", + "constant.language.key.lsl" : "NULL_KEY|TEXTURE_BLANK|TEXTURE_DEFAULT|TEXTURE_MEDIA|" + + "TEXTURE_PLYWOOD|TEXTURE_TRANSPARENT", + "constant.language.quaternion.lsl" : "ZERO_ROTATION", + "constant.language.string.lsl" : "EOF", + "constant.language.vector.lsl" : "TOUCH_INVALID_TEXCOORD|TOUCH_INVALID_VECTOR|ZERO_VECTOR", + "invalid.deprecated.lsl" : "llCloud|llCollisionSprite|llGodLikeRezObject|llMakeExplosion|" + + "llMakeFountain|llMakeSmoke|llMakeFire|llPointAt|llStopPointAt|llRefreshPrimURL|" + + "llSetPrimURL|llReleaseCamera|llTakeCamera|llRemoteDataSetRegion|llRemoteLoadScript|" + + "llSetInventoryPermMask|llSound|llSoundPreload|llXorBase64Strings|AGENT|" + + "DATA_RATING|LAND_LARGE_BRUSH|LAND_MEDIUM_BRUSH|LAND_SMALL_BRUSH|PERMISSION_CHANGE_JOINTS|" + + "PERMISSION_CHANGE_PERMISSIONS|PERMISSION_RELEASE_OWNERSHIP|PERMISSION_REMAP_CONTROLS|" + + "PRIM_CAST_SHADOWS|PRIM_TYPE_LEGACY|PSYS_SRC_INNERANGLE|PSYS_SRC_OUTERANGLE|" + + "VEHICLE_FLAG_NO_FLY_UP", + "invalid.illegal.lsl" : "event|print", + "keyword.control.lsl" : "do|else|for|if|jump|return|while", + "storage.type.lsl" : "float|integer|key|list|quaternion|rotation|string|vector", + "support.function.lsl": "llAbs|llAcos|llAddToLandBanList|llAddToLandPassList|" + + "llAdjustSoundVolume|llAllowInventoryDrop|llAngleBetween|llApplyImpulse|" + + "llApplyRotationalImpulse|llAsin|llAtan2|llAttachToAvatar|llAttachToAvatarTemp|" + + "llAvatarOnLinkSitTarget|llAvatarOnSitTarget|llAxes2Rot|llAxisAngle2Rot|" + + "llBase64ToInteger|llBase64ToString|llBreakAllLinks|llBreakLink|llCastRay|" + + "llCeil|llClearCameraParams|llClearLinkMedia|llClearPrimMedia|llCloseRemoteDataChannel|" + + "llCollisionFilter|llCollisionSound|llCos|llCreateCharacter|llCreateLink|" + + "llCSV2List|llDeleteCharacter|llDeleteSubList|llDeleteSubString|llDetachFromAvatar|" + + "llDetectedGrab|llDetectedGroup|llDetectedKey|llDetectedLinkNumber|llDetectedName|" + + "llDetectedOwner|llDetectedPos|llDetectedRot|llDetectedTouchBinormal|" + + "llDetectedTouchFace|llDetectedTouchNormal|llDetectedTouchPos|llDetectedTouchST|" + + "llDetectedTouchUV|llDetectedType|llDetectedVel|llDialog|llDie|llDumpList2String|" + + "llEdgeOfWorld|llEjectFromLand|llEmail|llEscapeURL|llEuler2Rot|llExecCharacterCmd|" + + "llEvade|llFabs|llFleeFrom|llFloor|llForceMouselook|llFrand|llGenerateKey|" + + "llGetAccel|llGetAgentInfo|llGetAgentLanguage|llGetAgentList|llGetAgentSize|" + + "llGetAlpha|llGetAndResetTime|llGetAnimation|llGetAnimationList|llGetAnimationOverride|" + + "llGetAttached|llGetBoundingBox|llGetCameraPos|llGetCameraRot|llGetCenterOfMass|" + + "llGetClosestNavPoint|llGetColor|llGetCreator|llGetDate|llGetDisplayName|" + + "llGetEnergy|llGetEnv|llGetForce|llGetFreeMemory|llGetFreeURLs|llGetGeometricCenter|" + + "llGetGMTclock|llGetHTTPHeader|llGetInventoryCreator|llGetInventoryKey|llGetInventoryName|" + + "llGetInventoryNumber|llGetInventoryPermMask|llGetInventoryType|llGetKey|" + + "llGetLandOwnerAt|llGetLinkKey|llGetLinkMedia|llGetLinkName|llGetLinkNumber|" + + "llGetLinkNumberOfSides|llGetLinkPrimitiveParams|llGetListEntryType|llGetListLength|" + + "llGetLocalPos|llGetLocalRot|llGetMass|llGetMassMKS|llGetMemoryLimit|" + + "llGetNextEmail|llGetNotecardLine|llGetNumberOfNotecardLines|llGetNumberOfPrims|" + + "llGetNumberOfSides|llGetObjectDesc|llGetObjectDetails|llGetObjectMass|" + + "llGetObjectName|llGetObjectPermMask|llGetObjectPrimCount|llGetOmega|" + + "llGetOwner|llGetOwnerKey|llGetParcelDetails|llGetParcelFlags|llGetParcelMaxPrims|" + + "llGetParcelMusicURL|llGetParcelPrimCount|llGetParcelPrimOwners|llGetPermissions|" + + "llGetPermissionsKey|llGetPhysicsMaterial|llGetPos|llGetPrimitiveParams|" + + "llGetPrimMediaParams|llGetRegionAgentCount|llGetRegionCorner|llGetRegionFlags|" + + "llGetRegionFPS|llGetRegionName|llGetRegionTimeDilation|llGetRootPosition|" + + "llGetRootRotation|llGetRot|llGetScale|llGetScriptName|llGetScriptState|" + + "llGetSimStats|llGetSimulatorHostname|llGetSPMaxMemory|llGetStartParameter|" + + "llGetStaticPath|llGetStatus|llGetSubString|llGetSunDirection|llGetTexture|" + + "llGetTextureOffset|llGetTextureRot|llGetTextureScale|llGetTime|llGetTimeOfDay|" + + "llGetTimestamp|llGetTorque|llGetUnixTime|llGetUsedMemory|llGetUsername|" + + "llGetVel|llGetWallclock|llGiveInventory|llGiveInventoryList|llGiveMoney|" + + "llGround|llGroundContour|llGroundNormal|llGroundRepel|llGroundSlope|" + + "llHTTPRequest|llHTTPResponse|llInsertString|llInstantMessage|llIntegerToBase64|" + + "llKey2Name|llLinkParticleSystem|llLinkSitTarget|llList2CSV|llList2Float|" + + "llList2Integer|llList2Key|llList2List|llList2ListStrided|llList2Rot|" + + "llList2String|llList2Vector|llListen|llListenControl|llListenRemove|" + + "llListFindList|llListInsertList|llListRandomize|llListReplaceList|llListSort|" + + "llListStatistics|llLoadURL|llLog|llLog10|llLookAt|llLoopSound|llLoopSoundMaster|" + + "llLoopSoundSlave|llManageEstateAccess|llMapDestination|llMD5String|llMessageLinked|" + + "llMinEventDelay|llModifyLand|llModPow|llMoveToTarget|llNavigateTo|llOffsetTexture|" + + "llOpenRemoteDataChannel|llOverMyLand|llOwnerSay|llParcelMediaCommandList|" + + "llParcelMediaQuery|llParseString2List|llParseStringKeepNulls|llParticleSystem|" + + "llPassCollisions|llPassTouches|llPatrolPoints|llPlaySound|llPlaySoundSlave|" + + "llPow|llPreloadSound|llPursue|llPushObject|llRegionSay|llRegionSayTo|" + + "llReleaseControls|llReleaseURL|llRemoteDataReply|llRemoteLoadScriptPin|" + + "llRemoveFromLandBanList|llRemoveFromLandPassList|llRemoveInventory|llRemoveVehicleFlags|" + + "llRequestAgentData|llRequestDisplayName|llRequestInventoryData|llRequestPermissions|" + + "llRequestSecureURL|llRequestSimulatorData|llRequestURL|llRequestUsername|" + + "llResetAnimationOverride|llResetLandBanList|llResetLandPassList|llResetOtherScript|" + + "llResetScript|llResetTime|llRezAtRoot|llRezObject|llRot2Angle|llRot2Axis|llRot2Euler|" + + "llRot2Fwd|llRot2Left|llRot2Up|llRotateTexture|llRotBetween|llRotLookAt|" + + "llRotTarget|llRotTargetRemove|llRound|llSameGroup|llSay|llScaleTexture|" + + "llScriptDanger|llScriptProfiler|llSendRemoteData|llSensor|llSensorRemove|" + + "llSensorRepeat|llSetAlpha|llSetAngularVelocity|llSetAnimationOverride|llSetBuoyancy|" + + "llSetCameraAtOffset|llSetCameraEyeOffset|llSetCameraParams|llSetClickAction|" + + "llSetColor|llSetContentType|llSetDamage|llSetForce|llSetForceAndTorque|llSetHoverHeight|" + + "llSetKeyframedMotion|llSetLinkAlpha|llSetLinkCamera|llSetLinkColor|llSetLinkMedia|" + + "llSetLinkPrimitiveParams|llSetLinkPrimitiveParamsFast|llSetLinkTexture|llSetLinkTextureAnim|" + + "llSetLocalRot|llSetMemoryLimit|llSetObjectDesc|llSetObjectName|llSetParcelMusicURL|" + + "llSetPayPrice|llSetPhysicsMaterial|llSetPos|llSetPrimitiveParams|llSetPrimMediaParams|" + + "llSetRegionPos|llSetRemoteScriptAccessPin|llSetRot|llSetScale|llSetScriptState|" + + "llSetSitText|llSetSoundQueueing|llSetSoundRadius|llSetStatus|llSetText|" + + "llSetTexture|llSetTextureAnim|llSetTimerEvent|llSetTorque|llSetTouchText|" + + "llSetVehicleFlags|llSetVehicleFloatParam|llSetVehicleRotationParam|llSetVehicleType|" + + "llSetVehicleVectorParam|llSetVelocity|llSHA1String|llShout|llSin|llSitTarget|" + + "llSleep|llSqrt|llStartAnimation|llStopAnimation|llStopHover|llStopLookAt|" + + "llStopMoveToTarget|llStopSound|llStringLength|llStringToBase64|llStringTrim|" + + "llSubStringIndex|llTakeControls|llTan|llTarget|llTargetOmega|llTargetRemove|" + + "llTeleportAgent|llTeleportAgentGlobalCoords|llTeleportAgentHome|llTextBox|" + + "llToLower|llToUpper|llTransferLindenDollars|llTriggerSound|llTriggerSoundLimited|" + + "llUnescapeURL|llUnSit|llUpdateCharacter|llVecDist|llVecMag|llVecNorm|" + + "llVolumeDetect|llWanderWithin|llWater|llWhisper|llWind|llXorBase64StringsCorrect", + "support.function.event.lsl" : "at_rot_target|at_target|attach|changed|collision|" + + "collision_end|collision_start|control|dataserver|email|http_request|" + + "http_response|land_collision|land_collision_end|land_collision_start|" + + "link_message|listen|money|moving_end|moving_start|no_sensor|not_at_rot_target|" + + "not_at_target|object_rez|on_rez|path_update|remote_data|run_time_permissions|" + + "sensor|state_entry|state_exit|timer|touch|touch_end|touch_start|transaction_result" + }, "identifier"); this.$rules = { "start" : [ { - token : "comment.line", + token : "comment.line.double-slash.lsl", regex : "\\/\\/.*$" }, { - token : "comment.block", + token : "comment.block.lsl", regex : "\\/\\*", next : "comment" }, { - token : "string.double", - regex : '["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]' + token : "string.quoted.double.lsl", + start : '"', + end : '"', + next : [{ + token : "constant.language.escape.lsl", regex : /\\[tn"\\]/ + }] }, { - token : "string.double", - regex : '["].*$', - next : "qqstring" + token : "constant.numeric.lsl", + regex : "(0[xX][0-9a-fA-F]+|[+-]?[0-9]+(?:(?:\\.[0-9]*)?(?:[eE][+-]?[0-9]+)?)?)\\b" }, { - token : "constant.numeric", - regex : "0[xX][0-9a-fA-F]+\\b" - }, { - token : "constant.numeric", - regex : "[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b" + token : "entity.name.state.lsl", + regex : "\\b((state)\\s+\\w+|default)\\b" }, { token : keywordMapper, - regex : "[a-zA-Z_$][a-zA-Z0-9_$]*\\b" + regex : "\\b[a-zA-Z_][a-zA-Z0-9_]*\\b" }, { - token : "keyword.operator", + token : "support.function.user-defined.lsl", + regex : /\b([a-zA-Z_]\w*)(?=\(.*?\))/ + }, { + token : "keyword.operator.lsl", regex : "\\+\\+|\\-\\-|<<|>>|&&?|\\|\\|?|\\^|~|[!%<>=*+\\-\\/]=?" }, { - token : "punctuation.operator", - regex : "\\?|\\:|\\,|\\;|\\." + token : "punctuation.operator.lsl", + regex : "\\,|\\;" }, { - token : "paren.lparen", + token : "paren.lparen.lsl", regex : "[\\[\\(\\{]" }, { - token : "paren.rparen", + token : "paren.rparen.lsl", regex : "[\\]\\)\\}]" }, { - token : "text", + token : "text.lsl", regex : "\\s+" } ], "comment" : [ { - token : "comment.block", + token : "comment.block.lsl", regex : ".*?\\*\\/", next : "start" }, { - token : "comment.block", + token : "comment.block.lsl", regex : ".+" } - ], - "qqstring" : [ - { - token : "string.double", - regex : '(?:(?:\\\\.)|(?:[^"\\\\]))*?"', - next : "start" - }, { - token : "string.double", - regex : '.+' - } ] }; -}; + this.normalizeRules(); +} -oop.inherits(lslHighlightRules, TextHighlightRules); - -exports.lslHighlightRules = lslHighlightRules; +exports.LSLHighlightRules = LSLHighlightRules; });