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"}]}}}