grammars/source.processing.json in github-linguist-5.3.3 vs grammars/source.processing.json in github-linguist-6.0.0

- old
+ new

@@ -1,60 +1,55 @@ { - "comment": "This grammar is based on the Java grammar (https://github.com/textmate/java.tmbundle)", - "fileTypes": [ - "pde" - ], - "keyEquivalent": "^~P", "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" } - }, - "match": "^\\s*(package)\\b(?:\\s*([^ ;$]+)\\s*(;)?)?", - "name": "meta.package.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" } - }, - "match": "^\\s*(import static)\\b(?:\\s*([^ ;$]+)\\s*(;)?)?", - "name": "meta.import.static.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" } - }, - "match": "^\\s*(import)\\b(?:\\s*([^ ;$]+)\\s*(;)?)?", - "name": "meta.import.processing" + } }, { - "comment": ".pde preprocessing wrap the contents of a .pde file inside a class definition. Hence, the body of a .pde file is a Java class body", "include": "#class-body" } ], "repository": { "all-types": { @@ -71,69 +66,59 @@ ] }, "annotations": { "patterns": [ { + "name": "meta.declaration.annotation.processing", "begin": "(@[^ (]+)(\\()", - "beginCaptures": { - "1": { - "name": "storage.type.annotation.processing" - }, - "2": { - "name": "punctuation.definition.annotation-arguments.begin.processing" - } - }, "end": "(\\))", - "endCaptures": { - "1": { - "name": "punctuation.definition.annotation-arguments.end.processing" - } - }, - "name": "meta.declaration.annotation.processing", "patterns": [ { + "match": "(\\w*)\\s*(=)", "captures": { "1": { "name": "constant.other.key.processing" }, "2": { "name": "keyword.operator.assignment.processing" } - }, - "match": "(\\w*)\\s*(=)" + } }, { "include": "#code" }, { - "match": ",", - "name": "punctuation.seperator.property.processing" + "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" + } + } }, { - "match": "@\\w*", - "name": "storage.type.annotation.processing" + "name": "storage.type.annotation.processing", + "match": "@\\w*" } ] }, "anonymous-classes-and-new": { "begin": "\\bnew\\b", - "beginCaptures": { - "0": { - "name": "keyword.control.new.processing" - } - }, - "end": "(?<=\\)|\\])(?!\\s*{)|(?<=})|(?=;)", + "end": "(?\u003c=\\)|\\])(?!\\s*{)|(?\u003c=})|(?=;)", "patterns": [ { "begin": "(\\w+)\\s*(?=\\[)", - "beginCaptures": { - "1": { - "name": "storage.type.processing" - } - }, "end": "}|(?=\\s*(?:;|\\)))", "patterns": [ { "begin": "\\[", "end": "\\]", @@ -150,145 +135,155 @@ { "include": "#code" } ] } - ] + ], + "beginCaptures": { + "1": { + "name": "storage.type.processing" + } + } }, { "begin": "(?=\\w.*\\()", - "end": "(?<=\\))", + "end": "(?\u003c=\\))", "patterns": [ { "include": "#object-types" }, { "begin": "\\(", - "beginCaptures": { - "1": { - "name": "storage.type.processing" - } - }, "end": "\\)", "patterns": [ { "include": "#code" } - ] + ], + "beginCaptures": { + "1": { + "name": "storage.type.processing" + } + } } ] }, { + "name": "meta.inner-class.processing", "begin": "{", "end": "}", - "name": "meta.inner-class.processing", "patterns": [ { "include": "#class-body" } ] } - ] + ], + "beginCaptures": { + "0": { + "name": "keyword.control.new.processing" + } + } }, "assertions": { "patterns": [ { + "name": "meta.declaration.assertion.processing", "begin": "\\b(assert)\\s", - "beginCaptures": { - "1": { - "name": "keyword.control.assert.processing" - } - }, "end": "$", - "name": "meta.declaration.assertion.processing", "patterns": [ { - "match": ":", - "name": "keyword.operator.assert.expression-seperator.processing" + "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": "}", - "endCaptures": { - "0": { - "name": "punctuation.section.class.end.processing" - } - }, - "name": "meta.class.processing", "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" } - }, - "match": "(class|(?:@)?interface|enum)\\s+(\\w+)", - "name": "meta.class.identifier.processing" + } }, { + "name": "meta.definition.class.inherited.classes.processing", "begin": "extends", - "beginCaptures": { - "0": { - "name": "storage.modifier.extends.processing" - } - }, "end": "(?={|implements)", - "name": "meta.definition.class.inherited.classes.processing", "patterns": [ { "include": "#object-types-inherited" }, { "include": "#comments" } - ] + ], + "beginCaptures": { + "0": { + "name": "storage.modifier.extends.processing" + } + } }, { + "name": "meta.definition.class.implemented.interfaces.processing", "begin": "(implements)\\s", - "beginCaptures": { - "1": { - "name": "storage.modifier.implements.processing" - } - }, "end": "(?=\\s*extends|\\{)", - "name": "meta.definition.class.implemented.interfaces.processing", "patterns": [ { "include": "#object-types-inherited" }, { "include": "#comments" } - ] + ], + "beginCaptures": { + "1": { + "name": "storage.modifier.implements.processing" + } + } }, { + "name": "meta.class.body.processing", "begin": "{", "end": "(?=})", - "name": "meta.class.body.processing", "patterns": [ { "include": "#class-body" } ] } - ] + ], + "endCaptures": { + "0": { + "name": "punctuation.section.class.end.processing" + } + } }, "class-body": { "patterns": [ { "include": "#comments" @@ -363,17 +358,17 @@ ] }, "comments": { "patterns": [ { + "name": "comment.block.empty.processing", + "match": "/\\*\\*/", "captures": { "0": { "name": "punctuation.definition.comment.processing" } - }, - "match": "/\\*\\*/", - "name": "comment.block.empty.processing" + } }, { "include": "#comments-javadoc" }, { @@ -382,135 +377,130 @@ ] }, "comments-inline": { "patterns": [ { + "name": "comment.block.processing", "begin": "/\\*(?!\\*)", + "end": "\\*/", "captures": { "0": { "name": "punctuation.definition.comment.processing" } - }, - "end": "\\*/", - "name": "comment.block.processing" + } }, { "begin": "(^[ \\t]+)?(?=//)", - "beginCaptures": { - "1": { - "name": "punctuation.whitespace.comment.leading.processing" - } - }, "end": "(?!\\G)", "patterns": [ { + "name": "comment.line.double-slash.processing", "begin": "//", + "end": "\\n", "beginCaptures": { "0": { "name": "punctuation.definition.comment.processing" } - }, - "end": "\\n", - "name": "comment.line.double-slash.processing" + } } - ] + ], + "beginCaptures": { + "1": { + "name": "punctuation.whitespace.comment.leading.processing" + } + } } ] }, "comments-javadoc": { "patterns": [ { + "name": "comment.block.documentation.processing", "begin": "/\\*\\*", - "captures": { - "0": { - "name": "punctuation.definition.comment.processing" - } - }, "end": "\\*/", - "name": "comment.block.documentation.processing", "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" } - }, - "match": "\\{\\s*(@link)\\s*([a-zA-Z_][a-zA-Z0-9_]+)\\s*\\}" + } }, { "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" } - }, - "match": "(@param)\\s+([a-zA-Z_][a-zA-Z0-9_]+)\\b" + } }, { - "match": "@[a-zA-Z]+\\b", - "name": "keyword.other.documentation.tag.processing" + "name": "keyword.other.documentation.tag.processing", + "match": "@[a-zA-Z]+\\b" } ] }, "constants-and-special-vars": { "patterns": [ { "include": "#processing-variables-and-constants" }, { - "match": "\\b(true|false|null)\\b", - "name": "constant.language.processing" + "name": "constant.language.processing", + "match": "\\b(true|false|null)\\b" }, { - "match": "\\b(this|super)\\b", - "name": "variable.language.processing" + "name": "variable.language.processing", + "match": "\\b(this|super)\\b" }, { - "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.numeric.processing" + "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" } - }, - "match": "(\\.)?\\b([A-Z][A-Z0-9_]+)(?!<|\\.class|\\s*\\w+\\s*=)\\b", - "name": "constant.other.processing" + } } ] }, "enums": { "begin": "^(?=\\s*[A-Z0-9_]+\\s*({|\\(|,))", "end": "(?=;|})", "patterns": [ { + "name": "meta.enum.processing", "begin": "\\w+", - "beginCaptures": { - "0": { - "name": "constant.other.enum.processing" - } - }, "end": "(?=,|;|})", - "name": "meta.enum.processing", "patterns": [ { "include": "#parens" }, { @@ -520,119 +510,123 @@ { "include": "#class-body" } ] } - ] + ], + "beginCaptures": { + "0": { + "name": "constant.other.enum.processing" + } + } } ] }, "keywords": { "patterns": [ { - "match": "((&|\\^|\\||<<|>>>?)=)", - "name": "keyword.operator.assignment.bitwise.processing" + "name": "keyword.operator.assignment.bitwise.processing", + "match": "((\u0026|\\^|\\||\u003c\u003c|\u003e\u003e\u003e?)=)" }, { - "match": "(<<|>>>?|~|\\^)", - "name": "keyword.operator.bitwise.processing" + "name": "keyword.operator.bitwise.processing", + "match": "(\u003c\u003c|\u003e\u003e\u003e?|~|\\^)" }, { - "match": "\\b(try|catch|finally|throw)\\b", - "name": "keyword.control.catch-exception.processing" + "name": "keyword.control.catch-exception.processing", + "match": "\\b(try|catch|finally|throw)\\b" }, { - "match": "\\?|:", - "name": "keyword.control.ternary.processing" + "name": "keyword.control.ternary.processing", + "match": "\\?|:" }, { - "match": "\\b(return|break|case|continue|default|do|while|for|switch|if|else)\\b", - "name": "keyword.control.processing" + "name": "keyword.control.processing", + "match": "\\b(return|break|case|continue|default|do|while|for|switch|if|else)\\b" }, { - "match": "\\b(instanceof)\\b", - "name": "keyword.operator.instanceof.processing" + "name": "keyword.operator.instanceof.processing", + "match": "\\b(instanceof)\\b" }, { - "match": "(===?|!=|<=|>=|<>|<|>)", - "name": "keyword.operator.comparison.processing" + "name": "keyword.operator.comparison.processing", + "match": "(===?|!=|\u003c=|\u003e=|\u003c\u003e|\u003c|\u003e)" }, { - "match": "([+*/%-]=)", - "name": "keyword.operator.assignment.arithmetic.processing" + "name": "keyword.operator.assignment.arithmetic.processing", + "match": "([+*/%-]=)" }, { - "match": "(=)", - "name": "keyword.operator.assignment.processing" + "name": "keyword.operator.assignment.processing", + "match": "(=)" }, { - "match": "(\\-\\-|\\+\\+)", - "name": "keyword.operator.increment-decrement.processing" + "name": "keyword.operator.increment-decrement.processing", + "match": "(\\-\\-|\\+\\+)" }, { - "match": "(\\-|\\+|\\*|\\/|%)", - "name": "keyword.operator.arithmetic.processing" + "name": "keyword.operator.arithmetic.processing", + "match": "(\\-|\\+|\\*|\\/|%)" }, { - "match": "(!|&&|\\|\\|)", - "name": "keyword.operator.logical.processing" + "name": "keyword.operator.logical.processing", + "match": "(!|\u0026\u0026|\\|\\|)" }, { - "match": "(\\||&)", - "name": "keyword.operator.bitwise.processing" + "name": "keyword.operator.bitwise.processing", + "match": "(\\||\u0026)" }, { - "match": "(?<=\\S)\\.(?=\\S)", - "name": "keyword.operator.dereference.processing" + "name": "keyword.operator.dereference.processing", + "match": "(?\u003c=\\S)\\.(?=\\S)" }, { - "match": ";", - "name": "punctuation.terminator.processing" + "name": "punctuation.terminator.processing", + "match": ";" } ] }, "methods": { + "name": "meta.method.processing", "begin": "(?!new)(?=\\w.*\\s+)(?=[^=]+\\()(?=.+{)", - "comment": "Method defs have to look-ahead for the opening bracket to be distinguished from a method call", "end": "}|(?=;)", - "name": "meta.method.processing", "patterns": [ { "include": "#storage-modifiers" }, { + "name": "meta.method.identifier.processing", "begin": "(\\w+)\\s*\\(", - "beginCaptures": { - "1": { - "name": "entity.name.function.processing" - } - }, "end": "\\)", - "name": "meta.method.identifier.processing", "patterns": [ { "include": "#parameters" } - ] + ], + "beginCaptures": { + "1": { + "name": "entity.name.function.processing" + } + } }, { + "name": "meta.method.return-type.processing", "begin": "(?=\\w.*\\s+\\w+\\s*\\()", "end": "(?=\\w+\\s*\\()", - "name": "meta.method.return-type.processing", "patterns": [ { "include": "#all-types" } ] }, { "include": "#throws" }, { + "name": "meta.method.body.processing", "begin": "{", "end": "(?=})", - "name": "meta.method.body.processing", "patterns": [ { "include": "#code" } ] @@ -643,29 +637,28 @@ "patterns": [ { "include": "#processing-classes" }, { - "begin": "\\b((?:[a-z]\\w*\\.)*[A-Z]+\\w*)<", - "end": ">|[^\\w\\s,\\?<\\[\\]]", "name": "storage.type.generic.processing", + "begin": "\\b((?:[a-z]\\w*\\.)*[A-Z]+\\w*)\u003c", + "end": "\u003e|[^\\w\\s,\\?\u003c\\[\\]]", "patterns": [ { "include": "#object-types" }, { - "begin": "<", - "comment": "This is just to support <>'s with no actual type prefix", - "end": ">|[^\\w\\s,\\[\\]<]", - "name": "storage.type.generic.processing" + "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])", - "name": "storage.type.object.array.processing", "patterns": [ { "begin": "\\[", "end": "\\]", "patterns": [ @@ -675,54 +668,53 @@ ] } ] }, { + "name": "storage.type.processing", + "match": "\\b(?:[a-z]\\w*(\\.))*[A-Z]+\\w*\\b", "captures": { "1": { "name": "keyword.operator.dereference.processing" } - }, - "match": "\\b(?:[a-z]\\w*(\\.))*[A-Z]+\\w*\\b", - "name": "storage.type.processing" + } } ] }, "object-types-inherited": { "patterns": [ { - "begin": "\\b((?:[a-z]\\w*\\.)*[A-Z]+\\w*)<", - "end": ">|[^\\w\\s,<]", "name": "entity.other.inherited-class.processing", + "begin": "\\b((?:[a-z]\\w*\\.)*[A-Z]+\\w*)\u003c", + "end": "\u003e|[^\\w\\s,\u003c]", "patterns": [ { "include": "#object-types" }, { - "begin": "<", - "comment": "This is just to support <>'s with no actual type prefix", - "end": ">|[^\\w\\s,<]", - "name": "storage.type.generic.processing" + "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" } - }, - "match": "\\b(?:[a-z]\\w*(\\.))*[A-Z]+\\w*", - "name": "entity.other.inherited-class.processing" + } } ] }, "parameters": { "patterns": [ { - "match": "final", - "name": "storage.modifier.processing" + "name": "storage.modifier.processing", + "match": "final" }, { "include": "#primitive-arrays" }, { @@ -730,12 +722,12 @@ }, { "include": "#object-types" }, { - "match": "\\w+", - "name": "variable.parameter.processing" + "name": "variable.parameter.processing", + "match": "\\w+" } ] }, "parens": { "begin": "\\(", @@ -747,126 +739,123 @@ ] }, "primitive-arrays": { "patterns": [ { - "match": "\\b(?:void|boolean|byte|char|color|short|int|float|long|double)(?=(\\[\\s*\\])+)\\b", - "name": "storage.type.primitive.array.processing" + "name": "storage.type.primitive.array.processing", + "match": "\\b(?:void|boolean|byte|char|color|short|int|float|long|double)(?=(\\[\\s*\\])+)\\b" } ] }, "primitive-types": { "patterns": [ { - "comment": "Most of, if not all, types have a casting method of the same name in Processing. Hence the negative lookahead to check for that", - "match": "\\b(?:void|boolean|byte|char|color|short|int|float|long|double)(?!\\s*\\()\\b", - "name": "storage.type.primitive.processing" + "name": "storage.type.primitive.processing", + "match": "\\b(?:void|boolean|byte|char|color|short|int|float|long|double)(?!\\s*\\()\\b" } ] }, "processing-classes": { "patterns": [ { - "comment": "Includes only Processing-supplied classes - not the standard Java classes (Array, String, etc.), though they're mentioned in the Processing reference", - "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", - "name": "support.type.object.processing" + "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": [ { - "comment": "Note the neg. look-behind at the beginning and the look-ahead at the end. This distinguishes methods like array.size() from size(), and frameRate() from the frameRate variable, respectively", - "match": "\\b(?<!\\.)(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*\\()", - "name": "support.function.processing" + "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": [ { - "match": "\\b(focused|frameCount|frameRate|height|height|key|keyCode|keyPressed|mouseButton|mousePressed|mouseX|mouseY|online|pixels|pmouseX|pmouseY|screen|width)(?!\\s*\\()\\b", - "name": "variable.other.processing" + "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" }, { - "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", - "name": "support.constant.processing" + "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" } - }, - "match": "\\b(public|private|protected|static|final|native|synchronized|abstract|threadsafe|transient)\\b" + } }, "strings": { "patterns": [ { + "name": "string.quoted.double.processing", "begin": "\"", + "end": "\"", + "patterns": [ + { + "name": "constant.character.escape.processing", + "match": "\\\\." + } + ], "beginCaptures": { "0": { "name": "punctuation.definition.string.begin.processing" } }, - "end": "\"", "endCaptures": { "0": { "name": "punctuation.definition.string.end.processing" } - }, - "name": "string.quoted.double.processing", - "patterns": [ - { - "match": "\\\\.", - "name": "constant.character.escape.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" } }, - "end": "'", "endCaptures": { "0": { "name": "punctuation.definition.string.end.processing" } - }, - "name": "string.quoted.single.processing", - "patterns": [ - { - "match": "\\\\([0-7]{3}|u[A-Fa-f0-9]{4})", - "name": "constant.character.escape.literal.processing" - }, - { - "match": "\\\\.", - "name": "constant.character.escape.processing" - } - ] + } } ] }, "throws": { + "name": "meta.throwables.processing", "begin": "throws", - "beginCaptures": { - "0": { - "name": "storage.modifier.processing" - } - }, "end": "(?={|;)", - "name": "meta.throwables.processing", "patterns": [ { "include": "#object-types" } - ] + ], + "beginCaptures": { + "0": { + "name": "storage.modifier.processing" + } + } }, "values": { "patterns": [ { "include": "#strings" @@ -877,9 +866,7 @@ { "include": "#constants-and-special-vars" } ] } - }, - "scopeName": "source.processing", - "uuid": "EF0D256C-2FCB-4A87-9250-0F5F82A366B9" -} \ No newline at end of file + } +}