From cc0fae9ed9d3bfdd1125754dfb8f0ba55e094214 Mon Sep 17 00:00:00 2001 From: fjenett Date: Sat, 7 Apr 2012 20:02:21 +0000 Subject: [PATCH] improvements to js mode syntax coloring --- .../mode/javascript/JavaScriptMode.java | 107 +-- javascript/keywords.txt | 658 +----------------- 2 files changed, 89 insertions(+), 676 deletions(-) diff --git a/app/src/processing/mode/javascript/JavaScriptMode.java b/app/src/processing/mode/javascript/JavaScriptMode.java index 48b9adef5..e56a1576d 100644 --- a/app/src/processing/mode/javascript/JavaScriptMode.java +++ b/app/src/processing/mode/javascript/JavaScriptMode.java @@ -22,11 +22,36 @@ import processing.mode.java.JavaMode; */ public class JavaScriptMode extends Mode { + // show that warning only once per run-cycle as we are + // continously exporting behind the scenes at every save public boolean showSizeWarning = true; private JavaScriptEditor jsEditor; + private File javaModeFolder; + + /** + * Constructor + * + * @param base the Processing editor base + * @param folder the folder that this mode is started from + */ + public JavaScriptMode ( Base base, File folder ) + { + super(base, folder); + + javaModeFolder = base.getContentFile( "modes/java" ); + + try { + loadKeywords(); + } catch (IOException e) { + Base.showError( "Problem loading keywords", + "Could not load keywords.txt, please re-install Processing.", e); + } + } - // create a new editor with the mode + /** + * Called to create the actual editor when needed (once per Sketch) + */ public Editor createEditor( Base base, String path, EditorState state ) { jsEditor = new JavaScriptEditor( base, path, state, this ); @@ -34,50 +59,54 @@ public class JavaScriptMode extends Mode return jsEditor; } - public Editor getEditor() { + /** + * Called from Base to get the Editor for this mode. + */ + public Editor getEditor () + { return jsEditor; } - public JavaScriptMode( Base base, File folder ) + /** + * Override Mode.loadKeywords() + * + * Loads default Java keywords, then adds JS mode keywords. + */ + protected void loadKeywords() throws IOException { - super(base, folder); - - try { - loadKeywords(); - } catch (IOException e) { - Base.showError("Problem loading keywords", - "Could not load keywords.txt, please re-install Processing.", e); - } + File[] files = new File[]{ + new File( javaModeFolder, "keywords.txt" ), + new File( folder, "keywords.txt" ) + }; + + tokenMarker = new PdeKeywords(); + keywordToReference = new HashMap(); + + for ( File f : files ) + { + BufferedReader reader = PApplet.createReader( f ); + String line = null; + while ((line = reader.readLine()) != null) + { + String[] pieces = PApplet.trim(PApplet.split(line, '\t')); + if (pieces.length >= 2) + { + String keyword = pieces[0]; + String coloring = pieces[1]; + if (coloring.length() > 0) { + tokenMarker.addColoring(keyword, coloring); + } + if (pieces.length == 3) { + String htmlFilename = pieces[2]; + if (htmlFilename.length() > 0) { + keywordToReference.put(keyword, htmlFilename); + } + } + } + } + } } - protected void loadKeywords() throws IOException - { - File file = new File(folder, "keywords.txt"); - BufferedReader reader = PApplet.createReader(file); - - tokenMarker = new PdeKeywords(); - keywordToReference = new HashMap(); - - String line = null; - while ((line = reader.readLine()) != null) { - String[] pieces = PApplet.trim(PApplet.split(line, '\t')); - if (pieces.length >= 2) { - String keyword = pieces[0]; - String coloring = pieces[1]; - - if (coloring.length() > 0) { - tokenMarker.addColoring(keyword, coloring); - } - if (pieces.length == 3) { - String htmlFilename = pieces[2]; - if (htmlFilename.length() > 0) { - keywordToReference.put(keyword, htmlFilename); - } - } - } - } - } - // pretty printable name of the mode public String getTitle() { diff --git a/javascript/keywords.txt b/javascript/keywords.txt index f17283619..123469330 100644 --- a/javascript/keywords.txt +++ b/javascript/keywords.txt @@ -1,642 +1,26 @@ -# LITERAL2 specifies constants +# additional keywords for JavaScript mode +# https://developer.mozilla.org/en/JavaScript/Reference/Reserved_Words -ADD LITERAL2 -ALIGN_CENTER LITERAL2 -ALIGN_LEFT LITERAL2 -ALIGN_RIGHT LITERAL2 -ALPHA LITERAL2 -ALPHA_MASK LITERAL2 -ALT LITERAL2 -AMBIENT LITERAL2 -ARROW LITERAL2 -ARGB LITERAL2 -BACKSPACE LITERAL2 -BASELINE LITERAL2 -BEVEL LITERAL2 -BLEND LITERAL2 -BLUE_MASK LITERAL2 -BLUR LITERAL2 -BOTTOM LITERAL2 -BURN LITERAL2 -CENTER LITERAL2 -CHATTER LITERAL2 -CODED LITERAL2 -COMPLAINT LITERAL2 -COMPOSITE LITERAL2 -COMPONENT LITERAL2 -CONCAVE_POLYGON LITERAL2 -CONTROL LITERAL2 -CONVEX_POLYGON LITERAL2 -CORNER LITERAL2 -CORNERS LITERAL2 -CLOSE LITERAL2 -CMYK LITERAL2 -CODED LITERAL2 -COMPLAINT LITERAL2 -CONTROL LITERAL2 -CORNER LITERAL2 -CORNERS LITERAL2 -CROSS LITERAL2 -CUSTOM LITERAL2 -DARKEST LITERAL2 -DEGREES LITERAL2 -DEG_TO_RAD LITERAL2 -DELETE LITERAL2 -DIAMETER LITERAL2 -DIFFERENCE LITERAL2 -DIFFUSE LITERAL2 -DILATE LITERAL2 -DIRECTIONAL LITERAL2 -DISABLE_ACCURATE_TEXTURES LITERAL2 -DISABLE_DEPTH_SORT LITERAL2 -DISABLE_DEPTH_TEST LITERAL2 -DISABLE_NATIVE_FONTS LITERAL2 -DISABLE_OPENGL_ERROR_REPORT LITERAL2 -DISABLE_OPENGL_2X_SMOOTH LITERAL2 -DISABLE_OPENGL_4X_SMOOTH LITERAL2 -DISABLE_TEXT_SMOOTH LITERAL2 -DISABLED LITERAL2 -DODGE LITERAL2 -DOWN LITERAL2 -DXF LITERAL2 -ENABLE_ACCURATE_TEXTURES LITERAL2 -ENABLE_DEPTH_SORT LITERAL2 -ENABLE_DEPTH_TEST LITERAL2 -ENABLE_NATIVE_FONTS LITERAL2 -ENABLE_OPENGL_2X_SMOOTH LITERAL2 -ENABLE_OPENGL_4X_SMOOTH LITERAL2 -ENABLE_OPENGL_ERROR_REPORT LITERAL2 -ENTER LITERAL2 -EPSILON LITERAL2 -ERODE LITERAL2 -ESC LITERAL2 -EXCLUSION LITERAL2 -GIF LITERAL2 -GRAY LITERAL2 -GREEN_MASK LITERAL2 -GROUP LITERAL2 -HALF LITERAL2 -HALF_PI LITERAL2 -HAND LITERAL2 -HARD_LIGHT LITERAL2 -HINT_COUNT LITERAL2 -HSB LITERAL2 -IMAGE LITERAL2 -INVERT LITERAL2 -JAVA2D LITERAL2 -JPEG LITERAL2 -LEFT LITERAL2 -LIGHTEST LITERAL2 -LINES LITERAL2 -LINUX LITERAL2 -MACOSX LITERAL2 -MAX_FLOAT LITERAL2 -MAX_INT LITERAL2 -MITER LITERAL2 -MODEL LITERAL2 -MOVE LITERAL2 -MULTIPLY LITERAL2 -NORMAL LITERAL2 -NO_DEPTH_TEST LITERAL2 -NTSC LITERAL2 -ONE LITERAL2 -OPAQUE LITERAL2 -OPEN LITERAL2 -OPENGL LITERAL2 -ORTHOGRAPHIC LITERAL2 -OVERLAY LITERAL2 -PAL LITERAL2 -P2D LITERAL2 -P3D LITERAL2 -PERSPECTIVE LITERAL2 -PI LITERAL2 -PIXEL_CENTER LITERAL2 -POINT LITERAL2 -POINTS LITERAL2 -POSTERIZE LITERAL2 -PROBLEM LITERAL2 -PROJECT LITERAL2 -QUAD_STRIP LITERAL2 -QUADS LITERAL2 -QUARTER_PI LITERAL2 -RAD_TO_DEG LITERAL2 -RADIUS LITERAL2 -RADIANS LITERAL2 -RED_MASK LITERAL2 -REPLACE LITERAL2 -RETURN LITERAL2 -RGB LITERAL2 -RIGHT LITERAL2 -ROUND LITERAL2 -SCREEN LITERAL2 -SECAM LITERAL2 -SHIFT LITERAL2 -SPECULAR LITERAL2 -SOFT_LIGHT LITERAL2 -SQUARE LITERAL2 -SUBTRACT LITERAL2 -SVIDEO LITERAL2 -TAB LITERAL2 -TARGA LITERAL2 -TEXT LITERAL2 -TFF LITERAL2 -THIRD_PI LITERAL2 -THRESHOLD LITERAL2 -TIFF LITERAL2 -TOP LITERAL2 -TRIANGLE_FAN LITERAL2 -TRIANGLES LITERAL2 -TRIANGLE_STRIP LITERAL2 -TUNER LITERAL2 -TWO LITERAL2 -TWO_PI LITERAL2 -UP LITERAL2 -WAIT LITERAL2 -WHITESPACE LITERAL2 +debugger KEYWORD1 +var KEYWORD1 +function KEYWORD1 +typeof KEYWORD1 +delete KEYWORD1 +throw KEYWORD1 +with KEYWORD1 +in KEYWORD1 +enum KEYWORD1 +export KEYWORD1 +let KEYWORD1 +yield KEYWORD1 +undefined KEYWORD1 +const KEYWORD1 -# KEYWORD1 specifies datatypes and keywords +# some specials -ArrayList KEYWORD1 -Boolean KEYWORD1 -Byte KEYWORD1 -Character KEYWORD1 -Class KEYWORD1 -Double KEYWORD1 -Float KEYWORD1 -Integer KEYWORD1 -HashMap KEYWORD1 -String KEYWORD1 -StringBuffer KEYWORD1 -Thread KEYWORD1 -abstract KEYWORD1 -assert KEYWORD1 -boolean KEYWORD1 -break KEYWORD1 -byte KEYWORD1 -catch KEYWORD1 -char KEYWORD1 -class KEYWORD1 -continue KEYWORD1 -default KEYWORD1 -do KEYWORD1 -double KEYWORD1 -else KEYWORD1 -enum KEYWORD1 -extends KEYWORD1 -false KEYWORD1 -final KEYWORD1 -finally KEYWORD1 -for KEYWORD1 -float KEYWORD1 -if KEYWORD1 -implements KEYWORD1 -import KEYWORD1 -instanceof KEYWORD1 -int KEYWORD1 -interface KEYWORD1 -long KEYWORD1 -native KEYWORD1 -new KEYWORD1 -null KEYWORD1 -package KEYWORD1 -private KEYWORD1 -protected KEYWORD1 -public KEYWORD1 -return KEYWORD1 -short KEYWORD1 -static KEYWORD1 -strictfp KEYWORD1 -super KEYWORD1 -switch KEYWORD1 -synchronized KEYWORD1 -this KEYWORD1 -throw KEYWORD1 -throws KEYWORD1 -transient KEYWORD1 -true KEYWORD1 -try KEYWORD1 -void KEYWORD1 -volatile KEYWORD1 -while KEYWORD1 +console KEYWORD1 +window KEYWORD1 +document KEYWORD1 -# Depricated API - -arraycopy KEYWORD2 arraycopy_ -openStream KEYWORD2 openStream_ - - -# KEYWORD2 specifies methods and functions - -cache KEYWORD2 - - -# THE TEXT ABOVE IS HAND-WRITTEN AND FOUND IN THE FILE "keywords_base.txt" -# THE TEXT BELOW IS AUTO-GENERATED - - -abs KEYWORD2 abs_ -acos KEYWORD2 acos_ -+= addassign -+ addition -alpha KEYWORD2 alpha_ -ambient KEYWORD2 ambient_ -ambientLight KEYWORD2 ambientLight_ -append KEYWORD2 append_ -applyMatrix KEYWORD2 applyMatrix_ -arc KEYWORD2 arc_ -Array KEYWORD1 Array -[] arrayaccess -arrayCopy KEYWORD2 arrayCopy_ -ArrayList KEYWORD1 ArrayList -asin KEYWORD2 asin_ -= assign -atan KEYWORD2 atan_ -atan2 KEYWORD2 atan2_ -background KEYWORD2 background_ -beginCamera KEYWORD2 beginCamera_ -beginRaw KEYWORD2 beginRaw_ -beginRecord KEYWORD2 beginRecord_ -beginShape KEYWORD2 beginShape_ -bezier KEYWORD2 bezier_ -bezierDetail KEYWORD2 bezierDetail_ -bezierPoint KEYWORD2 bezierPoint_ -bezierTangent KEYWORD2 bezierTangent_ -bezierVertex KEYWORD2 bezierVertex_ -binary KEYWORD2 binary_ -binary KEYWORD2 bitwiseAND_ -| bitwiseOR -blend KEYWORD2 blend_ -blendColor KEYWORD2 blendColor_ -blue KEYWORD2 blue_ -boolean KEYWORD1 boolean -boolean KEYWORD2 boolean_ -box KEYWORD2 box_ -break KEYWORD1 break -brightness KEYWORD2 brightness_ -BufferedReader KEYWORD2 BufferedReader_ -readLine KEYWORD2 BufferedReader_readLine_ -byte KEYWORD1 byte -byte KEYWORD2 byte_ -camera KEYWORD2 camera_ -case KEYWORD1 case -catch KEYWORD1 catch -ceil KEYWORD2 ceil_ -char KEYWORD1 char -char KEYWORD2 char_ -char KEYWORD2 class_ -color KEYWORD2 color_ -color KEYWORD1 color_datatype -colorMode KEYWORD2 colorMode_ -, comma -// comment -concat KEYWORD2 concat_ -?: KEYWORD1 conditional_ -constrain KEYWORD2 constrain_ -continue KEYWORD1 continue -copy KEYWORD2 copy_ -cos KEYWORD2 cos_ -createFont KEYWORD2 createFont_ -createGraphics KEYWORD2 createGraphics_ -createImage KEYWORD2 createImage_ -createInput KEYWORD2 createInput_ -createOutput KEYWORD2 createOutput_ -createReader KEYWORD2 createReader_ -createWriter KEYWORD2 createWriter_ -{} curlybraces -cursor KEYWORD2 cursor_ -curve KEYWORD2 curve_ -curveDetail KEYWORD2 curveDetail_ -curvePoint KEYWORD2 curvePoint_ -curveTangent KEYWORD2 curveTangent_ -curveTightness KEYWORD2 curveTightness_ -curveVertex KEYWORD2 curveVertex_ -day KEYWORD2 day_ --- decrement -default KEYWORD1 default -degrees KEYWORD2 degrees_ -delay KEYWORD2 delay_ -directionalLight KEYWORD2 directionalLight_ -dist KEYWORD2 dist_ -/ divide -/= divideassign -/** doccomment -. dot -double KEYWORD1 double -draw KEYWORD3 draw_ -ellipse KEYWORD2 ellipse_ -ellipseMode KEYWORD2 ellipseMode_ -else KEYWORD1 else -emissive KEYWORD2 emissive_ -endCamera KEYWORD2 endCamera_ -endRaw KEYWORD2 endRaw_ -endRecord KEYWORD2 endRecord_ -endShape KEYWORD2 endShape_ -== equality -exit KEYWORD2 exit_ -exp KEYWORD2 exp_ -expand KEYWORD2 expand_ -extends KEYWORD1 extends -false KEYWORD1 false -fill KEYWORD2 fill_ -filter KEYWORD2 filter_ -final KEYWORD1 final -float KEYWORD1 float -float KEYWORD2 float_ -floor KEYWORD2 floor_ -focusGained KEYWORD3 focusGained_ -focusLost KEYWORD3 focusLost_ -focused LITERAL2 focused -for KEYWORD1 for_ -frameCount LITERAL2 frameCount -frameRate KEYWORD2 frameRate_ -frameRate LITERAL2 frameRate -frustum KEYWORD2 frustum_ -get KEYWORD2 get_ -< greaterthan -<= greaterthanorequalto -green KEYWORD2 green_ -HALF_PI LITERAL2 HALF_PI -HashMap KEYWORD1 HashMap -height LITERAL2 height -hex KEYWORD2 hex_ -hint KEYWORD2 hint_ -hour KEYWORD2 hour_ -hue KEYWORD2 hue_ -if KEYWORD1 if_ -image KEYWORD2 image_ -imageMode KEYWORD2 imageMode_ -implements KEYWORD1 implements -import KEYWORD1 import -++ increment -!= inequality -int KEYWORD1 int -int KEYWORD2 int_ -join KEYWORD2 join_ -key LITERAL2 key -keyCode LITERAL2 keyCode -keyPressed KEYWORD2 keyPressed_ -keyPressed LITERAL2 keyPressed -keyReleased KEYWORD2 keyReleased_ -keyTyped KEYWORD2 keyTyped_ -<< leftshift -lerp KEYWORD2 lerp_ -lerpColor KEYWORD2 lerpColor_ -< lessthan -<= lessthanorequalto -lightFalloff KEYWORD2 lightFalloff_ -lights KEYWORD2 lights_ -lightSpecular KEYWORD2 lightSpecular_ -line KEYWORD2 line_ -link KEYWORD2 link_ -loadBytes KEYWORD2 loadBytes_ -loadFont KEYWORD2 loadFont_ -loadImage KEYWORD2 loadImage_ -loadPixels KEYWORD2 loadPixels_ -loadShape KEYWORD2 loadShape_ -loadStrings KEYWORD2 loadStrings_ -log KEYWORD2 log_ -&& logicalAND -! logicalNOT -|| logicalOR -long KEYWORD1 long -loop KEYWORD2 loop_ -mag KEYWORD2 mag_ -map KEYWORD2 map_ -match KEYWORD2 match_ -matchAll KEYWORD2 matchAll_ -max KEYWORD2 max_ -millis KEYWORD2 millis_ -min KEYWORD2 min_ -- minus -minute KEYWORD2 minute_ -modelX KEYWORD2 modelX_ -modelY KEYWORD2 modelY_ -modelZ KEYWORD2 modelZ_ -% modulo -month KEYWORD2 month_ -mouseButton LITERAL2 mouseButton -mouseClicked KEYWORD2 mouseClicked_ -mouseDragged KEYWORD2 mouseDragged_ -mouseMoved KEYWORD2 mouseMoved_ -mousePressed KEYWORD2 mousePressed_ -mousePressed LITERAL2 mousePressed -mouseReleased KEYWORD2 mouseReleased_ -mouseX LITERAL2 mouseX -mouseY LITERAL2 mouseY -/* multilinecomment -* multiply -*= multiplyassign -new KEYWORD1 new -nf KEYWORD2 nf_ -nfc KEYWORD2 nfc_ -nfp KEYWORD2 nfp_ -nfs KEYWORD2 nfs_ -noCursor KEYWORD2 noCursor_ -noFill KEYWORD2 noFill_ -noise KEYWORD2 noise_ -noiseDetail KEYWORD2 noiseDetail_ -noiseSeed KEYWORD2 noiseSeed_ -noLights KEYWORD2 noLights_ -noLoop KEYWORD2 noLoop_ -norm KEYWORD2 norm_ -normal KEYWORD2 normal_ -noSmooth KEYWORD2 noSmooth_ -noStroke KEYWORD2 noStroke_ -noTint KEYWORD2 noTint_ -null KEYWORD1 null -Object KEYWORD1 Object -online LITERAL2 online -open KEYWORD2 open_ -ortho KEYWORD2 ortho_ -param KEYWORD2 param_ -() parentheses -perspective KEYWORD2 perspective_ -PFont KEYWORD1 PFont -list KEYWORD2 PFont_list_ -PGraphics KEYWORD1 PGraphics -beginDraw KEYWORD2 PGraphics_beginDraw_ -endDraw KEYWORD2 PGraphics_endDraw_ -PI LITERAL2 PI -PImage KEYWORD1 PImage -alpha KEYWORD2 PImage_alpha_ -blend KEYWORD2 PImage_blend_ -copy KEYWORD2 PImage_copy_ -filter KEYWORD2 PImage_filter_ -get KEYWORD2 PImage_get_ -height LITERAL2 PImage_height -loadPixels KEYWORD2 PImage_loadPixels_ -mask KEYWORD2 PImage_mask_ -pixels LITERAL2 PImage_pixels -resize KEYWORD2 PImage_resize_ -save KEYWORD2 PImage_save_ -set KEYWORD2 PImage_set_ -updatePixels KEYWORD2 PImage_updatePixels_ -width LITERAL2 PImage_width -pixels LITERAL2 pixels -pmouseX LITERAL2 pmouseX -pmouseY LITERAL2 pmouseY -point KEYWORD2 point_ -point KEYWORD2 pointLight_ -popMatrix KEYWORD2 popMatrix_ -popStyle KEYWORD3 popStyle_ -pow KEYWORD2 pow_ -print KEYWORD2 print_ -printCamera KEYWORD2 printCamera_ -println KEYWORD2 println_ -printMatrix KEYWORD2 printMatrix_ -printProjection KEYWORD2 printProjection_ -PrintWriter KEYWORD1 PrintWriter -close KEYWORD2 PrintWriter_close_ -flush KEYWORD2 PrintWriter_flush_ -print KEYWORD2 PrintWriter_print_ -println KEYWORD2 PrintWriter_println_ -private KEYWORD1 private -PShape KEYWORD1 PShape -disableStyle KEYWORD2 PShape_disableStyle_ -enableStyle KEYWORD2 PShape_enableStyle_ -getChild KEYWORD2 PShape_getChild_ -height LITERAL2 PShape_height -isVisible KEYWORD2 PShape_isVisible_ -resetMatrix KEYWORD2 PShape_resetMatrix_ -rotate KEYWORD2 PShape_rotate_ -rotateX KEYWORD2 PShape_rotateX_ -rotateY KEYWORD2 PShape_rotateY_ -rotateZ KEYWORD2 PShape_rotateZ_ -scale KEYWORD2 PShape_scale_ -setVisible KEYWORD2 PShape_setVisible_ -translate KEYWORD2 PShape_translate_ -width LITERAL2 PShape_width -public KEYWORD1 public -pushMatrix KEYWORD2 pushMatrix_ -pushStyle KEYWORD3 pushStyle_ -PVector KEYWORD1 PVector -add KEYWORD2 PVector_add_ -angleBetween KEYWORD2 PVector_angleBetween_ -array KEYWORD2 PVector_array_ -copy KEYWORD2 PVector_copy_ -cross KEYWORD2 PVector_cross_ -dist KEYWORD2 PVector_dist_ -div KEYWORD2 PVector_div_ -dot KEYWORD2 PVector_dot_ -get KEYWORD2 PVector_get_ -limit KEYWORD2 PVector_limit_ -mag KEYWORD2 PVector_mag_ -mult KEYWORD2 PVector_mult_ -normalize KEYWORD2 PVector_normalize_ -set KEYWORD2 PVector_set_ -sub KEYWORD2 PVector_sub_ -quad KEYWORD2 quad_ -QUARTER_PI LITERAL2 QUARTER_PI -radians KEYWORD2 radians_ -random KEYWORD2 random_ -randomSeed KEYWORD2 randomSeed_ -rect KEYWORD2 rect_ -rectMode KEYWORD2 rectMode_ -red KEYWORD2 red_ -redraw KEYWORD2 redraw_ -requestImage KEYWORD2 requestImage_ -resetMatrix KEYWORD2 resetMatrix_ -return KEYWORD1 return -reverse KEYWORD2 reverse_ -<< rightshift -rotate KEYWORD2 rotate_ -rotateX KEYWORD2 rotateX_ -rotateY KEYWORD2 rotateY_ -rotateZ KEYWORD2 rotateZ_ -round KEYWORD2 round_ -saturation KEYWORD2 saturation_ -save KEYWORD2 save_ -saveBytes KEYWORD2 saveBytes_ -saveFrame KEYWORD2 saveFrame_ -saveStream KEYWORD2 saveStream_ -saveStrings KEYWORD2 saveStrings_ -scale KEYWORD2 scale_ -screen LITERAL2 screen -screenHeight LITERAL2 screenHeight -screenWidth LITERAL2 screenWidth -screenX KEYWORD2 screenX_ -screenY KEYWORD2 screenY_ -screenZ KEYWORD2 screenZ_ -second KEYWORD2 second_ -selectFolder KEYWORD2 selectFolder_ -selectInput KEYWORD2 selectInput_ -selectOutput KEYWORD2 selectOutput_ -; semicolon -set KEYWORD2 set_ -setup KEYWORD3 setup_ -shape KEYWORD2 shape_ -shapeMode KEYWORD2 shapeMode_ -shearX KEYWORD2 shearX_ -shearY KEYWORD2 shearY_ -shininess KEYWORD2 shininess_ -shorten KEYWORD2 shorten_ -sin KEYWORD2 sin_ -size KEYWORD2 size_ -smooth KEYWORD2 smooth_ -sort KEYWORD2 sort_ -specular KEYWORD2 specular_ -sphere KEYWORD2 sphere_ -sphereDetail KEYWORD2 sphereDetail_ -splice KEYWORD2 splice_ -split KEYWORD2 split_ -splitTokens KEYWORD2 splitTokens_ -spotLight KEYWORD2 spotLight_ -sq KEYWORD2 sq_ -sqrt KEYWORD2 sqrt_ -static KEYWORD1 static -status KEYWORD2 status_ -str KEYWORD2 str_ -String KEYWORD1 String -charAt KEYWORD2 String_charAt_ -equals KEYWORD2 String_equals_ -indexOf KEYWORD2 String_indexOf_ -length KEYWORD2 String_length_ -substring KEYWORD2 String_substring_ -toLowerCase KEYWORD2 String_toLowerCase_ -toUpperCase KEYWORD2 String_toUpperCase_ -stroke KEYWORD2 stroke_ -strokeCap KEYWORD2 strokeCap_ -strokeJoin KEYWORD2 strokeJoin_ -strokeWeight KEYWORD2 strokeWeight_ -subset KEYWORD2 subset_ --= subtractassign -super KEYWORD1 super -switch KEYWORD2 switch_ -tan KEYWORD2 tan_ -text KEYWORD2 text_ -textAlign KEYWORD2 textAlign_ -textAscent KEYWORD2 textAscent_ -textDescent KEYWORD2 textDescent_ -textFont KEYWORD2 textFont_ -textLeading KEYWORD2 textLeading_ -textMode KEYWORD2 textMode_ -textSize KEYWORD2 textSize_ -texture KEYWORD2 texture_ -textureMode KEYWORD2 textureMode_ -textWidth KEYWORD2 textWidth_ -this KEYWORD1 this -tint KEYWORD2 tint_ -translate KEYWORD2 translate_ -triangle KEYWORD2 triangle_ -trim KEYWORD2 trim_ -true KEYWORD1 true -try KEYWORD1 try -TWO_PI LITERAL2 TWO_PI -unbinary KEYWORD2 unbinary_ -unhex KEYWORD2 unhex_ -updatePixels KEYWORD2 updatePixels_ -vertex KEYWORD2 vertex_ -void KEYWORD1 void -while KEYWORD1 while_ -width LITERAL2 width -XMLElement KEYWORD1 XMLElement -getChild KEYWORD2 XMLElement_getChild_ -getChildCount KEYWORD2 XMLElement_getChildCount_ -getChildren KEYWORD2 XMLElement_getChildren_ -getContent KEYWORD2 XMLElement_getContent_ -getFloat KEYWORD2 XMLElement_getFloat_ -getInt KEYWORD2 XMLElement_getInt_ -getName KEYWORD2 XMLElement_getName_ -getString KEYWORD2 XMLElement_getString_ -year KEYWORD2 year_ +alert KEYWORD3 \ No newline at end of file