processing function

Mode processing(
  1. Highlight hljs
)

Highlight.js language definition for processing.

Implementation

Mode processing(Highlight hljs) {
  final Mode mode0 = Mode();
  mode0.begin = r'\\[\s\S]';
  mode0.relevance = 0;
  return Mode(
    name: r'Processing',
    aliases: [r'pde'],
    keywords: {
      r'keyword': [
        r'abstract',
        r'assert',
        r'break',
        r'case',
        r'catch',
        r'const',
        r'continue',
        r'default',
        r'else',
        r'enum',
        r'final',
        r'finally',
        r'for',
        r'if',
        r'import',
        r'instanceof',
        r'long',
        r'native',
        r'new',
        r'package',
        r'private',
        r'private',
        r'protected',
        r'protected',
        r'public',
        r'public',
        r'return',
        r'static',
        r'strictfp',
        r'switch',
        r'synchronized',
        r'throw',
        r'throws',
        r'transient',
        r'try',
        r'void',
        r'volatile',
        r'while',
      ],
      r'literal': r'P2D P3D HALF_PI PI QUARTER_PI TAU TWO_PI null true false',
      r'title': r'setup draw',
      r'variable': r'super this',
      r'built_in': [
        r'displayHeight',
        r'displayWidth',
        r'mouseY',
        r'mouseX',
        r'mousePressed',
        r'pmouseX',
        r'pmouseY',
        r'key',
        r'keyCode',
        r'pixels',
        r'focused',
        r'frameCount',
        r'frameRate',
        r'height',
        r'width',
        r'size',
        r'createGraphics',
        r'beginDraw',
        r'createShape',
        r'loadShape',
        r'PShape',
        r'arc',
        r'ellipse',
        r'line',
        r'point',
        r'quad',
        r'rect',
        r'triangle',
        r'bezier',
        r'bezierDetail',
        r'bezierPoint',
        r'bezierTangent',
        r'curve',
        r'curveDetail',
        r'curvePoint',
        r'curveTangent',
        r'curveTightness',
        r'shape',
        r'shapeMode',
        r'beginContour',
        r'beginShape',
        r'bezierVertex',
        r'curveVertex',
        r'endContour',
        r'endShape',
        r'quadraticVertex',
        r'vertex',
        r'ellipseMode',
        r'noSmooth',
        r'rectMode',
        r'smooth',
        r'strokeCap',
        r'strokeJoin',
        r'strokeWeight',
        r'mouseClicked',
        r'mouseDragged',
        r'mouseMoved',
        r'mousePressed',
        r'mouseReleased',
        r'mouseWheel',
        r'keyPressed',
        r'keyPressedkeyReleased',
        r'keyTyped',
        r'print',
        r'println',
        r'save',
        r'saveFrame',
        r'day',
        r'hour',
        r'millis',
        r'minute',
        r'month',
        r'second',
        r'year',
        r'background',
        r'clear',
        r'colorMode',
        r'fill',
        r'noFill',
        r'noStroke',
        r'stroke',
        r'alpha',
        r'blue',
        r'brightness',
        r'color',
        r'green',
        r'hue',
        r'lerpColor',
        r'red',
        r'saturation',
        r'modelX',
        r'modelY',
        r'modelZ',
        r'screenX',
        r'screenY',
        r'screenZ',
        r'ambient',
        r'emissive',
        r'shininess',
        r'specular',
        r'add',
        r'createImage',
        r'beginCamera',
        r'camera',
        r'endCamera',
        r'frustum',
        r'ortho',
        r'perspective',
        r'printCamera',
        r'printProjection',
        r'cursor',
        r'frameRate',
        r'noCursor',
        r'exit',
        r'loop',
        r'noLoop',
        r'popStyle',
        r'pushStyle',
        r'redraw',
        r'binary',
        r'boolean',
        r'byte',
        r'char',
        r'float',
        r'hex',
        r'int',
        r'str',
        r'unbinary',
        r'unhex',
        r'join',
        r'match',
        r'matchAll',
        r'nf',
        r'nfc',
        r'nfp',
        r'nfs',
        r'split',
        r'splitTokens',
        r'trim',
        r'append',
        r'arrayCopy',
        r'concat',
        r'expand',
        r'reverse',
        r'shorten',
        r'sort',
        r'splice',
        r'subset',
        r'box',
        r'sphere',
        r'sphereDetail',
        r'createInput',
        r'createReader',
        r'loadBytes',
        r'loadJSONArray',
        r'loadJSONObject',
        r'loadStrings',
        r'loadTable',
        r'loadXML',
        r'open',
        r'parseXML',
        r'saveTable',
        r'selectFolder',
        r'selectInput',
        r'beginRaw',
        r'beginRecord',
        r'createOutput',
        r'createWriter',
        r'endRaw',
        r'endRecord',
        r'PrintWritersaveBytes',
        r'saveJSONArray',
        r'saveJSONObject',
        r'saveStream',
        r'saveStrings',
        r'saveXML',
        r'selectOutput',
        r'popMatrix',
        r'printMatrix',
        r'pushMatrix',
        r'resetMatrix',
        r'rotate',
        r'rotateX',
        r'rotateY',
        r'rotateZ',
        r'scale',
        r'shearX',
        r'shearY',
        r'translate',
        r'ambientLight',
        r'directionalLight',
        r'lightFalloff',
        r'lights',
        r'lightSpecular',
        r'noLights',
        r'normal',
        r'pointLight',
        r'spotLight',
        r'image',
        r'imageMode',
        r'loadImage',
        r'noTint',
        r'requestImage',
        r'tint',
        r'texture',
        r'textureMode',
        r'textureWrap',
        r'blend',
        r'copy',
        r'filter',
        r'get',
        r'loadPixels',
        r'set',
        r'updatePixels',
        r'blendMode',
        r'loadShader',
        r'PShaderresetShader',
        r'shader',
        r'createFont',
        r'loadFont',
        r'text',
        r'textFont',
        r'textAlign',
        r'textLeading',
        r'textMode',
        r'textSize',
        r'textWidth',
        r'textAscent',
        r'textDescent',
        r'abs',
        r'ceil',
        r'constrain',
        r'dist',
        r'exp',
        r'floor',
        r'lerp',
        r'log',
        r'mag',
        r'map',
        r'max',
        r'min',
        r'norm',
        r'pow',
        r'round',
        r'sq',
        r'sqrt',
        r'acos',
        r'asin',
        r'atan',
        r'atan2',
        r'cos',
        r'degrees',
        r'radians',
        r'sin',
        r'tan',
        r'noise',
        r'noiseDetail',
        r'noiseSeed',
        r'random',
        r'randomGaussian',
        r'randomSeed',
        r'BufferedReader',
        r'PVector',
        r'PFont',
        r'PImage',
        r'PGraphics',
        r'HashMap',
        r'String',
        r'Array',
        r'FloatDict',
        r'ArrayList',
        r'FloatList',
        r'IntDict',
        r'IntList',
        r'JSONArray',
        r'JSONObject',
        r'Object',
        r'StringDict',
        r'StringList',
        r'Table',
        r'TableRow',
        r'XML',
      ],
      r'type': [
        r'boolean',
        r'byte',
        r'char',
        r'color',
        r'double',
        r'float',
        r'int',
        r'long',
        r'short',
      ],
    },
    contains: [
      Mode(
        variants: [
          Mode(
            match: [
              r'class',
              r'\s+',
              r'[a-zA-Z]\w*',
              r'\s+',
              r'extends',
              r'\s+',
              r'[a-zA-Z]\w*',
            ],
          ),
          Mode(match: [r'class', r'\s+', r'[a-zA-Z]\w*']),
        ],
        scope: {
          1: r'keyword',
          3: r'title.class',
          5: r'keyword',
          7: r'title.class.inherited',
        },
      ),
      Mode(
        match: [r'new\s+', r'[a-zA-Z]\w*'],
        scope: {1: r'keyword', 2: r'class.title'},
      ),
      Mode(
        variants: [
          Mode(
            match:
                r'(?:displayHeight|displayWidth|mouseY|mouseX|mousePressed|pmouseX|pmouseY|key|keyCode|pixels|focused|frameCount|frameRate|height|width|size|createGraphics|beginDraw|createShape|loadShape|PShape|arc|ellipse|line|point|quad|rect|triangle|bezier|bezierDetail|bezierPoint|bezierTangent|curve|curveDetail|curvePoint|curveTangent|curveTightness|shape|shapeMode|beginContour|beginShape|bezierVertex|curveVertex|endContour|endShape|quadraticVertex|vertex|ellipseMode|noSmooth|rectMode|smooth|strokeCap|strokeJoin|strokeWeight|mouseClicked|mouseDragged|mouseMoved|mousePressed|mouseReleased|mouseWheel|keyPressed|keyPressedkeyReleased|keyTyped|print|println|save|saveFrame|day|hour|millis|minute|month|second|year|background|clear|colorMode|fill|noFill|noStroke|stroke|alpha|blue|brightness|color|green|hue|lerpColor|red|saturation|modelX|modelY|modelZ|screenX|screenY|screenZ|ambient|emissive|shininess|specular|add|createImage|beginCamera|camera|endCamera|frustum|ortho|perspective|printCamera|printProjection|cursor|frameRate|noCursor|exit|loop|noLoop|popStyle|pushStyle|redraw|binary|boolean|byte|char|float|hex|int|str|unbinary|unhex|join|match|matchAll|nf|nfc|nfp|nfs|split|splitTokens|trim|append|arrayCopy|concat|expand|reverse|shorten|sort|splice|subset|box|sphere|sphereDetail|createInput|createReader|loadBytes|loadJSONArray|loadJSONObject|loadStrings|loadTable|loadXML|open|parseXML|saveTable|selectFolder|selectInput|beginRaw|beginRecord|createOutput|createWriter|endRaw|endRecord|PrintWritersaveBytes|saveJSONArray|saveJSONObject|saveStream|saveStrings|saveXML|selectOutput|popMatrix|printMatrix|pushMatrix|resetMatrix|rotate|rotateX|rotateY|rotateZ|scale|shearX|shearY|translate|ambientLight|directionalLight|lightFalloff|lights|lightSpecular|noLights|normal|pointLight|spotLight|image|imageMode|loadImage|noTint|requestImage|tint|texture|textureMode|textureWrap|blend|copy|filter|get|loadPixels|set|updatePixels|blendMode|loadShader|PShaderresetShader|shader|createFont|loadFont|text|textFont|textAlign|textLeading|textMode|textSize|textWidth|textAscent|textDescent|abs|ceil|constrain|dist|exp|floor|lerp|log|mag|map|max|min|norm|pow|round|sq|sqrt|acos|asin|atan|atan2|cos|degrees|radians|sin|tan|noise|noiseDetail|noiseSeed|random|randomGaussian|randomSeed)(?=\s*\()',
            scope: r'built_in',
          ),
          Mode(
            relevance: 0,
            match: r'\b(?!for|if|while)[a-zA-Z]\w*(?=\s*\()',
            scope: r'title.function',
          ),
        ],
      ),
      Mode(
        relevance: 0,
        match: [r'\.', r'[a-zA-Z]\w*'],
        scope: {2: r'property'},
      ),
      Mode(
        scope: r'comment',
        begin: r'//',
        end: r'$',
        contains: [
          Mode(
            scope: r'doctag',
            begin: r'[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)',
            end: r'(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):',
            excludeBegin: true,
            relevance: 0,
          ),
          Mode(
            begin:
                r"[ ]+((?:I|a|is|so|us|to|at|if|in|it|on|[A-Za-z]+['](d|ve|re|ll|t|s|n)|[A-Za-z]+[-][a-z]+|[A-Za-z][a-z]{2,})[.]?[:]?([.][ ]|[ ])){3}",
          ),
        ],
      ),
      Mode(
        scope: r'comment',
        begin: r'/\*',
        end: r'\*/',
        contains: [
          Mode(
            scope: r'doctag',
            begin: r'[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)',
            end: r'(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):',
            excludeBegin: true,
            relevance: 0,
          ),
          Mode(
            begin:
                r"[ ]+((?:I|a|is|so|us|to|at|if|in|it|on|[A-Za-z]+['](d|ve|re|ll|t|s|n)|[A-Za-z]+[-][a-z]+|[A-Za-z][a-z]{2,})[.]?[:]?([.][ ]|[ ])){3}",
          ),
        ],
      ),
      Mode(
        scope: r'string',
        begin: r"'",
        end: r"'",
        illegal: r'\n',
        contains: [mode0],
      ),
      Mode(
        scope: r'string',
        begin: r'"',
        end: r'"',
        illegal: r'\n',
        contains: [mode0],
      ),
      Mode(
        scope: r'number',
        begin:
            r'(-?)(\b0[xX][a-fA-F0-9]+|(\b\d+(\.\d*)?|\.\d+)([eE][-+]?\d+)?)',
        relevance: 0,
      ),
    ],
  );
}