grammars/source.processing.json in github-linguist-7.11.1 vs grammars/source.processing.json in github-linguist-7.12.0

- old
+ new

@@ -1,872 +2 @@ -{ - "name": "Processing", - "scopeName": "source.processing", - "patterns": [ - { - "name": "meta.package.processing", - "match": "^\\s*(package)\\b(?:\\s*([^ ;$]+)\\s*(;)?)?", - "captures": { - "1": { - "name": "keyword.other.package.processing" - }, - "2": { - "name": "storage.modifier.package.processing" - }, - "3": { - "name": "punctuation.terminator.processing" - } - } - }, - { - "name": "meta.import.static.processing", - "match": "^\\s*(import static)\\b(?:\\s*([^ ;$]+)\\s*(;)?)?", - "captures": { - "1": { - "name": "keyword.other.import.static.processing" - }, - "2": { - "name": "storage.modifier.import.processing" - }, - "3": { - "name": "punctuation.terminator.processing" - } - } - }, - { - "name": "meta.import.processing", - "match": "^\\s*(import)\\b(?:\\s*([^ ;$]+)\\s*(;)?)?", - "captures": { - "1": { - "name": "keyword.other.import.processing" - }, - "2": { - "name": "storage.modifier.import.processing" - }, - "3": { - "name": "punctuation.terminator.processing" - } - } - }, - { - "include": "#class-body" - } - ], - "repository": { - "all-types": { - "patterns": [ - { - "include": "#primitive-arrays" - }, - { - "include": "#primitive-types" - }, - { - "include": "#object-types" - } - ] - }, - "annotations": { - "patterns": [ - { - "name": "meta.declaration.annotation.processing", - "begin": "(@[^ (]+)(\\()", - "end": "(\\))", - "patterns": [ - { - "match": "(\\w*)\\s*(=)", - "captures": { - "1": { - "name": "constant.other.key.processing" - }, - "2": { - "name": "keyword.operator.assignment.processing" - } - } - }, - { - "include": "#code" - }, - { - "name": "punctuation.seperator.property.processing", - "match": "," - } - ], - "beginCaptures": { - "1": { - "name": "storage.type.annotation.processing" - }, - "2": { - "name": "punctuation.definition.annotation-arguments.begin.processing" - } - }, - "endCaptures": { - "1": { - "name": "punctuation.definition.annotation-arguments.end.processing" - } - } - }, - { - "name": "storage.type.annotation.processing", - "match": "@\\w*" - } - ] - }, - "anonymous-classes-and-new": { - "begin": "\\bnew\\b", - "end": "(?\u003c=\\)|\\])(?!\\s*{)|(?\u003c=})|(?=;)", - "patterns": [ - { - "begin": "(\\w+)\\s*(?=\\[)", - "end": "}|(?=\\s*(?:;|\\)))", - "patterns": [ - { - "begin": "\\[", - "end": "\\]", - "patterns": [ - { - "include": "#code" - } - ] - }, - { - "begin": "{", - "end": "(?=})", - "patterns": [ - { - "include": "#code" - } - ] - } - ], - "beginCaptures": { - "1": { - "name": "storage.type.processing" - } - } - }, - { - "begin": "(?=\\w.*\\()", - "end": "(?\u003c=\\))", - "patterns": [ - { - "include": "#object-types" - }, - { - "begin": "\\(", - "end": "\\)", - "patterns": [ - { - "include": "#code" - } - ], - "beginCaptures": { - "1": { - "name": "storage.type.processing" - } - } - } - ] - }, - { - "name": "meta.inner-class.processing", - "begin": "{", - "end": "}", - "patterns": [ - { - "include": "#class-body" - } - ] - } - ], - "beginCaptures": { - "0": { - "name": "keyword.control.new.processing" - } - } - }, - "assertions": { - "patterns": [ - { - "name": "meta.declaration.assertion.processing", - "begin": "\\b(assert)\\s", - "end": "$", - "patterns": [ - { - "name": "keyword.operator.assert.expression-seperator.processing", - "match": ":" - }, - { - "include": "#code" - } - ], - "beginCaptures": { - "1": { - "name": "keyword.control.assert.processing" - } - } - } - ] - }, - "class": { - "name": "meta.class.processing", - "begin": "(?=\\w?[\\w\\s]*(?:class|(?:@)?interface|enum)\\s+\\w+)", - "end": "}", - "patterns": [ - { - "include": "#storage-modifiers" - }, - { - "include": "#comments" - }, - { - "name": "meta.class.identifier.processing", - "match": "(class|(?:@)?interface|enum)\\s+(\\w+)", - "captures": { - "1": { - "name": "storage.modifier.processing" - }, - "2": { - "name": "entity.name.type.class.processing" - } - } - }, - { - "name": "meta.definition.class.inherited.classes.processing", - "begin": "extends", - "end": "(?={|implements)", - "patterns": [ - { - "include": "#object-types-inherited" - }, - { - "include": "#comments" - } - ], - "beginCaptures": { - "0": { - "name": "storage.modifier.extends.processing" - } - } - }, - { - "name": "meta.definition.class.implemented.interfaces.processing", - "begin": "(implements)\\s", - "end": "(?=\\s*extends|\\{)", - "patterns": [ - { - "include": "#object-types-inherited" - }, - { - "include": "#comments" - } - ], - "beginCaptures": { - "1": { - "name": "storage.modifier.implements.processing" - } - } - }, - { - "name": "meta.class.body.processing", - "begin": "{", - "end": "(?=})", - "patterns": [ - { - "include": "#class-body" - } - ] - } - ], - "endCaptures": { - "0": { - "name": "punctuation.section.class.end.processing" - } - } - }, - "class-body": { - "patterns": [ - { - "include": "#comments" - }, - { - "include": "#class" - }, - { - "include": "#enums" - }, - { - "include": "#methods" - }, - { - "include": "#annotations" - }, - { - "include": "#storage-modifiers" - }, - { - "include": "#code" - } - ] - }, - "code": { - "patterns": [ - { - "include": "#comments" - }, - { - "include": "#class" - }, - { - "begin": "{", - "end": "}", - "patterns": [ - { - "include": "#code" - } - ] - }, - { - "include": "#assertions" - }, - { - "include": "#parens" - }, - { - "include": "#constants-and-special-vars" - }, - { - "include": "#anonymous-classes-and-new" - }, - { - "include": "#keywords" - }, - { - "include": "#storage-modifiers" - }, - { - "include": "#strings" - }, - { - "include": "#all-types" - }, - { - "include": "#processing-methods" - }, - { - "include": "#processing-classes" - } - ] - }, - "comments": { - "patterns": [ - { - "name": "comment.block.empty.processing", - "match": "/\\*\\*/", - "captures": { - "0": { - "name": "punctuation.definition.comment.processing" - } - } - }, - { - "include": "#comments-javadoc" - }, - { - "include": "#comments-inline" - } - ] - }, - "comments-inline": { - "patterns": [ - { - "name": "comment.block.processing", - "begin": "/\\*(?!\\*)", - "end": "\\*/", - "captures": { - "0": { - "name": "punctuation.definition.comment.processing" - } - } - }, - { - "begin": "(^[ \\t]+)?(?=//)", - "end": "(?!\\G)", - "patterns": [ - { - "name": "comment.line.double-slash.processing", - "begin": "//", - "end": "\\n", - "beginCaptures": { - "0": { - "name": "punctuation.definition.comment.processing" - } - } - } - ], - "beginCaptures": { - "1": { - "name": "punctuation.whitespace.comment.leading.processing" - } - } - } - ] - }, - "comments-javadoc": { - "patterns": [ - { - "name": "comment.block.documentation.processing", - "begin": "/\\*\\*", - "end": "\\*/", - "patterns": [ - { - "match": "\\{\\s*(@link)\\s*([a-zA-Z_][a-zA-Z0-9_]+)\\s*\\}", - "captures": { - "0": { - "name": "keyword.other.documentation.inlinetag.processing" - }, - "1": { - "name": "keyword.other.documentation.tag.processing" - }, - "2": { - "name": "keyword.other.documentation.value.processing" - } - } - }, - { - "include": "#comments-javadoc-tags" - } - ], - "captures": { - "0": { - "name": "punctuation.definition.comment.processing" - } - } - } - ] - }, - "comments-javadoc-tags": { - "patterns": [ - { - "match": "(@param)\\s+([a-zA-Z_][a-zA-Z0-9_]+)\\b", - "captures": { - "1": { - "name": "keyword.other.documentation.params.processing" - }, - "2": { - "name": "keyword.other.documentation.value.processing" - } - } - }, - { - "name": "keyword.other.documentation.tag.processing", - "match": "@[a-zA-Z]+\\b" - } - ] - }, - "constants-and-special-vars": { - "patterns": [ - { - "include": "#processing-variables-and-constants" - }, - { - "name": "constant.language.processing", - "match": "\\b(true|false|null)\\b" - }, - { - "name": "variable.language.processing", - "match": "\\b(this|super)\\b" - }, - { - "name": "constant.numeric.processing", - "match": "\\b((0(x|X)[0-9a-fA-F]*)|(([0-9]+\\.?[0-9]*)|(\\.[0-9]+))((e|E)(\\+|-)?[0-9]+)?)([LlFfUuDd]|UL|ul)?\\b" - }, - { - "name": "constant.other.processing", - "match": "(\\.)?\\b([A-Z][A-Z0-9_]+)(?!\u003c|\\.class|\\s*\\w+\\s*=)\\b", - "captures": { - "1": { - "name": "keyword.operator.dereference.processing" - } - } - } - ] - }, - "enums": { - "begin": "^(?=\\s*[A-Z0-9_]+\\s*({|\\(|,))", - "end": "(?=;|})", - "patterns": [ - { - "name": "meta.enum.processing", - "begin": "\\w+", - "end": "(?=,|;|})", - "patterns": [ - { - "include": "#parens" - }, - { - "begin": "{", - "end": "}", - "patterns": [ - { - "include": "#class-body" - } - ] - } - ], - "beginCaptures": { - "0": { - "name": "constant.other.enum.processing" - } - } - } - ] - }, - "keywords": { - "patterns": [ - { - "name": "keyword.operator.assignment.bitwise.processing", - "match": "((\u0026|\\^|\\||\u003c\u003c|\u003e\u003e\u003e?)=)" - }, - { - "name": "keyword.operator.bitwise.processing", - "match": "(\u003c\u003c|\u003e\u003e\u003e?|~|\\^)" - }, - { - "name": "keyword.control.catch-exception.processing", - "match": "\\b(try|catch|finally|throw)\\b" - }, - { - "name": "keyword.control.ternary.processing", - "match": "\\?|:" - }, - { - "name": "keyword.control.processing", - "match": "\\b(return|break|case|continue|default|do|while|for|switch|if|else)\\b" - }, - { - "name": "keyword.operator.instanceof.processing", - "match": "\\b(instanceof)\\b" - }, - { - "name": "keyword.operator.comparison.processing", - "match": "(===?|!=|\u003c=|\u003e=|\u003c\u003e|\u003c|\u003e)" - }, - { - "name": "keyword.operator.assignment.arithmetic.processing", - "match": "([+*/%-]=)" - }, - { - "name": "keyword.operator.assignment.processing", - "match": "(=)" - }, - { - "name": "keyword.operator.increment-decrement.processing", - "match": "(\\-\\-|\\+\\+)" - }, - { - "name": "keyword.operator.arithmetic.processing", - "match": "(\\-|\\+|\\*|\\/|%)" - }, - { - "name": "keyword.operator.logical.processing", - "match": "(!|\u0026\u0026|\\|\\|)" - }, - { - "name": "keyword.operator.bitwise.processing", - "match": "(\\||\u0026)" - }, - { - "name": "keyword.operator.dereference.processing", - "match": "(?\u003c=\\S)\\.(?=\\S)" - }, - { - "name": "punctuation.terminator.processing", - "match": ";" - } - ] - }, - "methods": { - "name": "meta.method.processing", - "begin": "(?!new)(?=\\w.*\\s+)(?=[^=]+\\()(?=.+{)", - "end": "}|(?=;)", - "patterns": [ - { - "include": "#storage-modifiers" - }, - { - "name": "meta.method.identifier.processing", - "begin": "(\\w+)\\s*\\(", - "end": "\\)", - "patterns": [ - { - "include": "#parameters" - } - ], - "beginCaptures": { - "1": { - "name": "entity.name.function.processing" - } - } - }, - { - "name": "meta.method.return-type.processing", - "begin": "(?=\\w.*\\s+\\w+\\s*\\()", - "end": "(?=\\w+\\s*\\()", - "patterns": [ - { - "include": "#all-types" - } - ] - }, - { - "include": "#throws" - }, - { - "name": "meta.method.body.processing", - "begin": "{", - "end": "(?=})", - "patterns": [ - { - "include": "#code" - } - ] - } - ] - }, - "object-types": { - "patterns": [ - { - "include": "#processing-classes" - }, - { - "name": "storage.type.generic.processing", - "begin": "\\b((?:[a-z]\\w*\\.)*[A-Z]+\\w*)\u003c", - "end": "\u003e|[^\\w\\s,\\?\u003c\\[\\]]", - "patterns": [ - { - "include": "#object-types" - }, - { - "name": "storage.type.generic.processing", - "begin": "\u003c", - "end": "\u003e|[^\\w\\s,\\[\\]\u003c]" - } - ] - }, - { - "name": "storage.type.object.array.processing", - "begin": "\\b((?:[a-z]\\w*\\.)*[A-Z]+\\w*)(?=\\[)", - "end": "(?=[^\\]\\s])", - "patterns": [ - { - "begin": "\\[", - "end": "\\]", - "patterns": [ - { - "include": "#code" - } - ] - } - ] - }, - { - "name": "storage.type.processing", - "match": "\\b(?:[a-z]\\w*(\\.))*[A-Z]+\\w*\\b", - "captures": { - "1": { - "name": "keyword.operator.dereference.processing" - } - } - } - ] - }, - "object-types-inherited": { - "patterns": [ - { - "name": "entity.other.inherited-class.processing", - "begin": "\\b((?:[a-z]\\w*\\.)*[A-Z]+\\w*)\u003c", - "end": "\u003e|[^\\w\\s,\u003c]", - "patterns": [ - { - "include": "#object-types" - }, - { - "name": "storage.type.generic.processing", - "begin": "\u003c", - "end": "\u003e|[^\\w\\s,\u003c]" - } - ] - }, - { - "name": "entity.other.inherited-class.processing", - "match": "\\b(?:[a-z]\\w*(\\.))*[A-Z]+\\w*", - "captures": { - "1": { - "name": "keyword.operator.dereference.processing" - } - } - } - ] - }, - "parameters": { - "patterns": [ - { - "name": "storage.modifier.processing", - "match": "final" - }, - { - "include": "#primitive-arrays" - }, - { - "include": "#primitive-types" - }, - { - "include": "#object-types" - }, - { - "name": "variable.parameter.processing", - "match": "\\w+" - } - ] - }, - "parens": { - "begin": "\\(", - "end": "\\)", - "patterns": [ - { - "include": "#code" - } - ] - }, - "primitive-arrays": { - "patterns": [ - { - "name": "storage.type.primitive.array.processing", - "match": "\\b(?:void|boolean|byte|char|color|short|int|float|long|double)(?=(\\[\\s*\\])+)\\b" - } - ] - }, - "primitive-types": { - "patterns": [ - { - "name": "storage.type.primitive.processing", - "match": "\\b(?:void|boolean|byte|char|color|short|int|float|long|double)(?!\\s*\\()\\b" - } - ] - }, - "processing-classes": { - "patterns": [ - { - "name": "support.type.object.processing", - "match": "\\b(P(Applet|Constants|Font|Graphics|Graphics2D|Graphics3D|GraphicsJava2D|Image|Line|Matrix|Matrix2D|Matrix3D|Polygon|Shape|ShapeSVG|SmoothTriangle|Style|Triangle|Vector)|StdXML(Builder|Parser|Reader)|XML(Element|EntityResolver|Exception|ParseException|ValidationException|Validator|Writer))\\b" - } - ] - }, - "processing-methods": { - "patterns": [ - { - "name": "support.function.processing", - "match": "\\b(?\u003c!\\.)(abs|acos|alpha|ambient|ambientLight|append|applyMatrix|arc|arrayCopy|asin|atan|atan2|background|beginCamera|beginRaw|beginRecord|beginShape|bezier|bezierDetail|bezierPoint|bezierTangent|bezierVertex|binary|blend|blendColor|blue|boolean|box|brightness|byte|cache|camera|ceil|char|charAt|color|colorMode|concat|constrain|contract|copy|cos|createFont|createGraphics|createImage|createInput|createOutput|createReader|createWriter|cursor|curve|curveDetail|curvePoint|curveSegments|curveTangent|curveTightness|curveVertex|day|degrees|delay|directionalLight|dist|draw|duration|ellipse|ellipseMode|emissive|endCamera|endRaw|endRecord|endShape|equals|exit|exp|expand|fill|filter|float|floor|frameRate|frustum|get|green|hex|hint|hour|hue|image|imageMode|indexOf|int|join|keyPressed|keyReleased|keyTyped|length|lerp|lerpColor|lightFalloff|lights|lightSpecular|line|link|list|loadBytes|loadFont|loadImage|loadPixels|loadShape|loadSound|loadStrings|log|lookat|loop|mag|map|mask|match|matchAll|max|millis|min|minute|modelX|modelY|modelZ|month|mouseClicked|mouseDragged|mouseMoved|mousePressed|mouseReleased|nf|nfc|nfp|nfs|noCursor|noFill|noise|noiseDetail|noiseSeed|noLights|noLoop|norm|normal|noSmooth|noStroke|noTint|open|openStream|ortho|param|pause|perspective|play|point|pointLight|popMatrix|popStyle|pow|print|printCamera|println|printMatrix|printProjection|pushMatrix|pushStyle|quad|radians|random|randomSeed|rect|rectMode|red|redraw|requestImage|resetMatrix|reverse|rotate|rotateX|rotateY|rotateZ|round|saturation|save|saveBytes|saveFrame|saveStream|saveStrings|scale|screenX|screenY|screenZ|second|selectFolder|selectInput|selectOutput|set|setup|shape|shapeMode|shininess|shorten|sin|size|skewX|skewY|smooth|sort|specular|sphere|sphereDetail|splice|split|splitTokens|spotLight|sq|sqrt|status|stop|str|stroke|strokeCap|strokeJoin|strokeWeight|subset|substring|tan|text|textAlign|textAscent|textDescent|textFont|textLeading|textMode|textSize|texture|textureMode|textWidth|time|tint|toLowerCase|toUpperCase|translate|triangle|trim|unbinary|unhex|unHint|updatePixels|vertex|volume|year)(?=\\s*\\()" - } - ] - }, - "processing-variables-and-constants": { - "patterns": [ - { - "name": "variable.other.processing", - "match": "\\b(focused|frameCount|frameRate|height|height|key|keyCode|keyPressed|mouseButton|mousePressed|mouseX|mouseY|online|pixels|pmouseX|pmouseY|screen|width)(?!\\s*\\()\\b" - }, - { - "name": "support.constant.processing", - "match": "\\b(ADD|ALIGN_CENTER|ALIGN_LEFT|ALIGN_RIGHT|ALPHA|ALPHA_MASK|ALT|AMBIENT|ARGB|ARROW|BACKSPACE|BEVEL|BLEND|BLEND|BLUE_MASK|BLUR|CENTER|CENTER_RADIUS|CHATTER|CODED|COMPLAINT|COMPONENT|COMPOSITE|CONCAVE_POLYGON|CONTROL|CONVEX_POLYGON|CORNER|CORNERS|CROSS|CUSTOM|DARKEST|DEGREES|DEG_TO_RAD|DELETE|DIFFERENCE|DIFFUSE|DISABLED|DISABLE_TEXT_SMOOTH|DOWN|ENTER|EPSILON|ESC|GIF|GREEN_MASK|GREY|HALF|HALF_PI|HALF_PI|HAND|HARD_LIGHT|HSB|IMAGE|INVERT|JAVA2D|JPEG|LEFT|LIGHTEST|LINES|LINE_LOOP|LINE_STRIP|MAX_FLOAT|MITER|MODEL|MOVE|MULTIPLY|NORMALIZED|NO_DEPTH_TEST|NTSC|ONE|OPAQUE|OPENGL|ORTHOGRAPHIC|OVERLAY|P2D|P3D|PAL|PERSPECTIVE|PI|PI|PIXEL_CENTER|POINTS|POLYGON|POSTERIZE|PROBLEM|PROJECT|QUADS|QUAD_STRIP|QUARTER_PI|RADIANS|RAD_TO_DEG|RED_MASK|REPLACE|RETURN|RGB|RIGHT|ROUND|SCREEN|SECAM|SHIFT|SOFT_LIGHT|SPECULAR|SQUARE|SUBTRACT|SVIDEO|TAB|TARGA|TEXT|TFF|THIRD_PI|THRESHOLD|TIFF|TRIANGLES|TRIANGLE_FAN|TRIANGLE_STRIP|TUNER|TWO|TWO_PI|TWO_PI|UP|WAIT|WHITESPACE)\\b" - } - ] - }, - "storage-modifiers": { - "match": "\\b(public|private|protected|static|final|native|synchronized|abstract|threadsafe|transient)\\b", - "captures": { - "1": { - "name": "storage.modifier.processing" - } - } - }, - "strings": { - "patterns": [ - { - "name": "string.quoted.double.processing", - "begin": "\"", - "end": "\"", - "patterns": [ - { - "name": "constant.character.escape.processing", - "match": "\\\\." - } - ], - "beginCaptures": { - "0": { - "name": "punctuation.definition.string.begin.processing" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.definition.string.end.processing" - } - } - }, - { - "name": "string.quoted.single.processing", - "begin": "'", - "end": "'", - "patterns": [ - { - "name": "constant.character.escape.literal.processing", - "match": "\\\\([0-7]{3}|u[A-Fa-f0-9]{4})" - }, - { - "name": "constant.character.escape.processing", - "match": "\\\\." - } - ], - "beginCaptures": { - "0": { - "name": "punctuation.definition.string.begin.processing" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.definition.string.end.processing" - } - } - } - ] - }, - "throws": { - "name": "meta.throwables.processing", - "begin": "throws", - "end": "(?={|;)", - "patterns": [ - { - "include": "#object-types" - } - ], - "beginCaptures": { - "0": { - "name": "storage.modifier.processing" - } - } - }, - "values": { - "patterns": [ - { - "include": "#strings" - }, - { - "include": "#object-types" - }, - { - "include": "#constants-and-special-vars" - } - ] - } - } -} +{"name":"Processing","scopeName":"source.processing","patterns":[{"name":"meta.package.processing","match":"^\\s*(package)\\b(?:\\s*([^ ;$]+)\\s*(;)?)?","captures":{"1":{"name":"keyword.other.package.processing"},"2":{"name":"storage.modifier.package.processing"},"3":{"name":"punctuation.terminator.processing"}}},{"name":"meta.import.static.processing","match":"^\\s*(import static)\\b(?:\\s*([^ ;$]+)\\s*(;)?)?","captures":{"1":{"name":"keyword.other.import.static.processing"},"2":{"name":"storage.modifier.import.processing"},"3":{"name":"punctuation.terminator.processing"}}},{"name":"meta.import.processing","match":"^\\s*(import)\\b(?:\\s*([^ ;$]+)\\s*(;)?)?","captures":{"1":{"name":"keyword.other.import.processing"},"2":{"name":"storage.modifier.import.processing"},"3":{"name":"punctuation.terminator.processing"}}},{"include":"#class-body"}],"repository":{"all-types":{"patterns":[{"include":"#primitive-arrays"},{"include":"#primitive-types"},{"include":"#object-types"}]},"annotations":{"patterns":[{"name":"meta.declaration.annotation.processing","begin":"(@[^ (]+)(\\()","end":"(\\))","patterns":[{"match":"(\\w*)\\s*(=)","captures":{"1":{"name":"constant.other.key.processing"},"2":{"name":"keyword.operator.assignment.processing"}}},{"include":"#code"},{"name":"punctuation.seperator.property.processing","match":","}],"beginCaptures":{"1":{"name":"storage.type.annotation.processing"},"2":{"name":"punctuation.definition.annotation-arguments.begin.processing"}},"endCaptures":{"1":{"name":"punctuation.definition.annotation-arguments.end.processing"}}},{"name":"storage.type.annotation.processing","match":"@\\w*"}]},"anonymous-classes-and-new":{"begin":"\\bnew\\b","end":"(?\u003c=\\)|\\])(?!\\s*{)|(?\u003c=})|(?=;)","patterns":[{"begin":"(\\w+)\\s*(?=\\[)","end":"}|(?=\\s*(?:;|\\)))","patterns":[{"begin":"\\[","end":"\\]","patterns":[{"include":"#code"}]},{"begin":"{","end":"(?=})","patterns":[{"include":"#code"}]}],"beginCaptures":{"1":{"name":"storage.type.processing"}}},{"begin":"(?=\\w.*\\()","end":"(?\u003c=\\))","patterns":[{"include":"#object-types"},{"begin":"\\(","end":"\\)","patterns":[{"include":"#code"}],"beginCaptures":{"1":{"name":"storage.type.processing"}}}]},{"name":"meta.inner-class.processing","begin":"{","end":"}","patterns":[{"include":"#class-body"}]}],"beginCaptures":{"0":{"name":"keyword.control.new.processing"}}},"assertions":{"patterns":[{"name":"meta.declaration.assertion.processing","begin":"\\b(assert)\\s","end":"$","patterns":[{"name":"keyword.operator.assert.expression-seperator.processing","match":":"},{"include":"#code"}],"beginCaptures":{"1":{"name":"keyword.control.assert.processing"}}}]},"class":{"name":"meta.class.processing","begin":"(?=\\w?[\\w\\s]*(?:class|(?:@)?interface|enum)\\s+\\w+)","end":"}","patterns":[{"include":"#storage-modifiers"},{"include":"#comments"},{"name":"meta.class.identifier.processing","match":"(class|(?:@)?interface|enum)\\s+(\\w+)","captures":{"1":{"name":"storage.modifier.processing"},"2":{"name":"entity.name.type.class.processing"}}},{"name":"meta.definition.class.inherited.classes.processing","begin":"extends","end":"(?={|implements)","patterns":[{"include":"#object-types-inherited"},{"include":"#comments"}],"beginCaptures":{"0":{"name":"storage.modifier.extends.processing"}}},{"name":"meta.definition.class.implemented.interfaces.processing","begin":"(implements)\\s","end":"(?=\\s*extends|\\{)","patterns":[{"include":"#object-types-inherited"},{"include":"#comments"}],"beginCaptures":{"1":{"name":"storage.modifier.implements.processing"}}},{"name":"meta.class.body.processing","begin":"{","end":"(?=})","patterns":[{"include":"#class-body"}]}],"endCaptures":{"0":{"name":"punctuation.section.class.end.processing"}}},"class-body":{"patterns":[{"include":"#comments"},{"include":"#class"},{"include":"#enums"},{"include":"#methods"},{"include":"#annotations"},{"include":"#storage-modifiers"},{"include":"#code"}]},"code":{"patterns":[{"include":"#comments"},{"include":"#class"},{"begin":"{","end":"}","patterns":[{"include":"#code"}]},{"include":"#assertions"},{"include":"#parens"},{"include":"#constants-and-special-vars"},{"include":"#anonymous-classes-and-new"},{"include":"#keywords"},{"include":"#storage-modifiers"},{"include":"#strings"},{"include":"#all-types"},{"include":"#processing-methods"},{"include":"#processing-classes"}]},"comments":{"patterns":[{"name":"comment.block.empty.processing","match":"/\\*\\*/","captures":{"0":{"name":"punctuation.definition.comment.processing"}}},{"include":"#comments-javadoc"},{"include":"#comments-inline"}]},"comments-inline":{"patterns":[{"name":"comment.block.processing","begin":"/\\*(?!\\*)","end":"\\*/","captures":{"0":{"name":"punctuation.definition.comment.processing"}}},{"begin":"(^[ \\t]+)?(?=//)","end":"(?!\\G)","patterns":[{"name":"comment.line.double-slash.processing","begin":"//","end":"\\n","beginCaptures":{"0":{"name":"punctuation.definition.comment.processing"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.processing"}}}]},"comments-javadoc":{"patterns":[{"name":"comment.block.documentation.processing","begin":"/\\*\\*","end":"\\*/","patterns":[{"match":"\\{\\s*(@link)\\s*([a-zA-Z_][a-zA-Z0-9_]+)\\s*\\}","captures":{"0":{"name":"keyword.other.documentation.inlinetag.processing"},"1":{"name":"keyword.other.documentation.tag.processing"},"2":{"name":"keyword.other.documentation.value.processing"}}},{"include":"#comments-javadoc-tags"}],"captures":{"0":{"name":"punctuation.definition.comment.processing"}}}]},"comments-javadoc-tags":{"patterns":[{"match":"(@param)\\s+([a-zA-Z_][a-zA-Z0-9_]+)\\b","captures":{"1":{"name":"keyword.other.documentation.params.processing"},"2":{"name":"keyword.other.documentation.value.processing"}}},{"name":"keyword.other.documentation.tag.processing","match":"@[a-zA-Z]+\\b"}]},"constants-and-special-vars":{"patterns":[{"include":"#processing-variables-and-constants"},{"name":"constant.language.processing","match":"\\b(true|false|null)\\b"},{"name":"variable.language.processing","match":"\\b(this|super)\\b"},{"name":"constant.numeric.processing","match":"\\b((0(x|X)[0-9a-fA-F]*)|(([0-9]+\\.?[0-9]*)|(\\.[0-9]+))((e|E)(\\+|-)?[0-9]+)?)([LlFfUuDd]|UL|ul)?\\b"},{"name":"constant.other.processing","match":"(\\.)?\\b([A-Z][A-Z0-9_]+)(?!\u003c|\\.class|\\s*\\w+\\s*=)\\b","captures":{"1":{"name":"keyword.operator.dereference.processing"}}}]},"enums":{"begin":"^(?=\\s*[A-Z0-9_]+\\s*({|\\(|,))","end":"(?=;|})","patterns":[{"name":"meta.enum.processing","begin":"\\w+","end":"(?=,|;|})","patterns":[{"include":"#parens"},{"begin":"{","end":"}","patterns":[{"include":"#class-body"}]}],"beginCaptures":{"0":{"name":"constant.other.enum.processing"}}}]},"keywords":{"patterns":[{"name":"keyword.operator.assignment.bitwise.processing","match":"((\u0026|\\^|\\||\u003c\u003c|\u003e\u003e\u003e?)=)"},{"name":"keyword.operator.bitwise.processing","match":"(\u003c\u003c|\u003e\u003e\u003e?|~|\\^)"},{"name":"keyword.control.catch-exception.processing","match":"\\b(try|catch|finally|throw)\\b"},{"name":"keyword.control.ternary.processing","match":"\\?|:"},{"name":"keyword.control.processing","match":"\\b(return|break|case|continue|default|do|while|for|switch|if|else)\\b"},{"name":"keyword.operator.instanceof.processing","match":"\\b(instanceof)\\b"},{"name":"keyword.operator.comparison.processing","match":"(===?|!=|\u003c=|\u003e=|\u003c\u003e|\u003c|\u003e)"},{"name":"keyword.operator.assignment.arithmetic.processing","match":"([+*/%-]=)"},{"name":"keyword.operator.assignment.processing","match":"(=)"},{"name":"keyword.operator.increment-decrement.processing","match":"(\\-\\-|\\+\\+)"},{"name":"keyword.operator.arithmetic.processing","match":"(\\-|\\+|\\*|\\/|%)"},{"name":"keyword.operator.logical.processing","match":"(!|\u0026\u0026|\\|\\|)"},{"name":"keyword.operator.bitwise.processing","match":"(\\||\u0026)"},{"name":"keyword.operator.dereference.processing","match":"(?\u003c=\\S)\\.(?=\\S)"},{"name":"punctuation.terminator.processing","match":";"}]},"methods":{"name":"meta.method.processing","begin":"(?!new)(?=\\w.*\\s+)(?=[^=]+\\()(?=.+{)","end":"}|(?=;)","patterns":[{"include":"#storage-modifiers"},{"name":"meta.method.identifier.processing","begin":"(\\w+)\\s*\\(","end":"\\)","patterns":[{"include":"#parameters"}],"beginCaptures":{"1":{"name":"entity.name.function.processing"}}},{"name":"meta.method.return-type.processing","begin":"(?=\\w.*\\s+\\w+\\s*\\()","end":"(?=\\w+\\s*\\()","patterns":[{"include":"#all-types"}]},{"include":"#throws"},{"name":"meta.method.body.processing","begin":"{","end":"(?=})","patterns":[{"include":"#code"}]}]},"object-types":{"patterns":[{"include":"#processing-classes"},{"name":"storage.type.generic.processing","begin":"\\b((?:[a-z]\\w*\\.)*[A-Z]+\\w*)\u003c","end":"\u003e|[^\\w\\s,\\?\u003c\\[\\]]","patterns":[{"include":"#object-types"},{"name":"storage.type.generic.processing","begin":"\u003c","end":"\u003e|[^\\w\\s,\\[\\]\u003c]"}]},{"name":"storage.type.object.array.processing","begin":"\\b((?:[a-z]\\w*\\.)*[A-Z]+\\w*)(?=\\[)","end":"(?=[^\\]\\s])","patterns":[{"begin":"\\[","end":"\\]","patterns":[{"include":"#code"}]}]},{"name":"storage.type.processing","match":"\\b(?:[a-z]\\w*(\\.))*[A-Z]+\\w*\\b","captures":{"1":{"name":"keyword.operator.dereference.processing"}}}]},"object-types-inherited":{"patterns":[{"name":"entity.other.inherited-class.processing","begin":"\\b((?:[a-z]\\w*\\.)*[A-Z]+\\w*)\u003c","end":"\u003e|[^\\w\\s,\u003c]","patterns":[{"include":"#object-types"},{"name":"storage.type.generic.processing","begin":"\u003c","end":"\u003e|[^\\w\\s,\u003c]"}]},{"name":"entity.other.inherited-class.processing","match":"\\b(?:[a-z]\\w*(\\.))*[A-Z]+\\w*","captures":{"1":{"name":"keyword.operator.dereference.processing"}}}]},"parameters":{"patterns":[{"name":"storage.modifier.processing","match":"final"},{"include":"#primitive-arrays"},{"include":"#primitive-types"},{"include":"#object-types"},{"name":"variable.parameter.processing","match":"\\w+"}]},"parens":{"begin":"\\(","end":"\\)","patterns":[{"include":"#code"}]},"primitive-arrays":{"patterns":[{"name":"storage.type.primitive.array.processing","match":"\\b(?:void|boolean|byte|char|color|short|int|float|long|double)(?=(\\[\\s*\\])+)\\b"}]},"primitive-types":{"patterns":[{"name":"storage.type.primitive.processing","match":"\\b(?:void|boolean|byte|char|color|short|int|float|long|double)(?!\\s*\\()\\b"}]},"processing-classes":{"patterns":[{"name":"support.type.object.processing","match":"\\b(P(Applet|Constants|Font|Graphics|Graphics2D|Graphics3D|GraphicsJava2D|Image|Line|Matrix|Matrix2D|Matrix3D|Polygon|Shape|ShapeSVG|SmoothTriangle|Style|Triangle|Vector)|StdXML(Builder|Parser|Reader)|XML(Element|EntityResolver|Exception|ParseException|ValidationException|Validator|Writer))\\b"}]},"processing-methods":{"patterns":[{"name":"support.function.processing","match":"\\b(?\u003c!\\.)(abs|acos|alpha|ambient|ambientLight|append|applyMatrix|arc|arrayCopy|asin|atan|atan2|background|beginCamera|beginRaw|beginRecord|beginShape|bezier|bezierDetail|bezierPoint|bezierTangent|bezierVertex|binary|blend|blendColor|blue|boolean|box|brightness|byte|cache|camera|ceil|char|charAt|color|colorMode|concat|constrain|contract|copy|cos|createFont|createGraphics|createImage|createInput|createOutput|createReader|createWriter|cursor|curve|curveDetail|curvePoint|curveSegments|curveTangent|curveTightness|curveVertex|day|degrees|delay|directionalLight|dist|draw|duration|ellipse|ellipseMode|emissive|endCamera|endRaw|endRecord|endShape|equals|exit|exp|expand|fill|filter|float|floor|frameRate|frustum|get|green|hex|hint|hour|hue|image|imageMode|indexOf|int|join|keyPressed|keyReleased|keyTyped|length|lerp|lerpColor|lightFalloff|lights|lightSpecular|line|link|list|loadBytes|loadFont|loadImage|loadPixels|loadShape|loadSound|loadStrings|log|lookat|loop|mag|map|mask|match|matchAll|max|millis|min|minute|modelX|modelY|modelZ|month|mouseClicked|mouseDragged|mouseMoved|mousePressed|mouseReleased|nf|nfc|nfp|nfs|noCursor|noFill|noise|noiseDetail|noiseSeed|noLights|noLoop|norm|normal|noSmooth|noStroke|noTint|open|openStream|ortho|param|pause|perspective|play|point|pointLight|popMatrix|popStyle|pow|print|printCamera|println|printMatrix|printProjection|pushMatrix|pushStyle|quad|radians|random|randomSeed|rect|rectMode|red|redraw|requestImage|resetMatrix|reverse|rotate|rotateX|rotateY|rotateZ|round|saturation|save|saveBytes|saveFrame|saveStream|saveStrings|scale|screenX|screenY|screenZ|second|selectFolder|selectInput|selectOutput|set|setup|shape|shapeMode|shininess|shorten|sin|size|skewX|skewY|smooth|sort|specular|sphere|sphereDetail|splice|split|splitTokens|spotLight|sq|sqrt|status|stop|str|stroke|strokeCap|strokeJoin|strokeWeight|subset|substring|tan|text|textAlign|textAscent|textDescent|textFont|textLeading|textMode|textSize|texture|textureMode|textWidth|time|tint|toLowerCase|toUpperCase|translate|triangle|trim|unbinary|unhex|unHint|updatePixels|vertex|volume|year)(?=\\s*\\()"}]},"processing-variables-and-constants":{"patterns":[{"name":"variable.other.processing","match":"\\b(focused|frameCount|frameRate|height|height|key|keyCode|keyPressed|mouseButton|mousePressed|mouseX|mouseY|online|pixels|pmouseX|pmouseY|screen|width)(?!\\s*\\()\\b"},{"name":"support.constant.processing","match":"\\b(ADD|ALIGN_CENTER|ALIGN_LEFT|ALIGN_RIGHT|ALPHA|ALPHA_MASK|ALT|AMBIENT|ARGB|ARROW|BACKSPACE|BEVEL|BLEND|BLEND|BLUE_MASK|BLUR|CENTER|CENTER_RADIUS|CHATTER|CODED|COMPLAINT|COMPONENT|COMPOSITE|CONCAVE_POLYGON|CONTROL|CONVEX_POLYGON|CORNER|CORNERS|CROSS|CUSTOM|DARKEST|DEGREES|DEG_TO_RAD|DELETE|DIFFERENCE|DIFFUSE|DISABLED|DISABLE_TEXT_SMOOTH|DOWN|ENTER|EPSILON|ESC|GIF|GREEN_MASK|GREY|HALF|HALF_PI|HALF_PI|HAND|HARD_LIGHT|HSB|IMAGE|INVERT|JAVA2D|JPEG|LEFT|LIGHTEST|LINES|LINE_LOOP|LINE_STRIP|MAX_FLOAT|MITER|MODEL|MOVE|MULTIPLY|NORMALIZED|NO_DEPTH_TEST|NTSC|ONE|OPAQUE|OPENGL|ORTHOGRAPHIC|OVERLAY|P2D|P3D|PAL|PERSPECTIVE|PI|PI|PIXEL_CENTER|POINTS|POLYGON|POSTERIZE|PROBLEM|PROJECT|QUADS|QUAD_STRIP|QUARTER_PI|RADIANS|RAD_TO_DEG|RED_MASK|REPLACE|RETURN|RGB|RIGHT|ROUND|SCREEN|SECAM|SHIFT|SOFT_LIGHT|SPECULAR|SQUARE|SUBTRACT|SVIDEO|TAB|TARGA|TEXT|TFF|THIRD_PI|THRESHOLD|TIFF|TRIANGLES|TRIANGLE_FAN|TRIANGLE_STRIP|TUNER|TWO|TWO_PI|TWO_PI|UP|WAIT|WHITESPACE)\\b"}]},"storage-modifiers":{"match":"\\b(public|private|protected|static|final|native|synchronized|abstract|threadsafe|transient)\\b","captures":{"1":{"name":"storage.modifier.processing"}}},"strings":{"patterns":[{"name":"string.quoted.double.processing","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.processing","match":"\\\\."}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.processing"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.processing"}}},{"name":"string.quoted.single.processing","begin":"'","end":"'","patterns":[{"name":"constant.character.escape.literal.processing","match":"\\\\([0-7]{3}|u[A-Fa-f0-9]{4})"},{"name":"constant.character.escape.processing","match":"\\\\."}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.processing"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.processing"}}}]},"throws":{"name":"meta.throwables.processing","begin":"throws","end":"(?={|;)","patterns":[{"include":"#object-types"}],"beginCaptures":{"0":{"name":"storage.modifier.processing"}}},"values":{"patterns":[{"include":"#strings"},{"include":"#object-types"},{"include":"#constants-and-special-vars"}]}}}