arduino top-level property

Mode arduino
final

Implementation

final arduino = Mode(
    refs: {
      '~contains~0~contains~6': Mode(className: "string", variants: [
        Mode(ref: '~contains~0~contains~1~contains~1~variants~0'),
        Mode(ref: '~contains~0~contains~1~contains~1~variants~1'),
        Mode(ref: '~contains~0~contains~1~contains~1~variants~2')
      ]),
      '~contains~0~contains~5': Mode(
          className: "number",
          variants: [
            Mode(begin: "\\b(0b[01']+)"),
            Mode(
                begin:
                    "(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)"),
            Mode(
                begin:
                    "(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)")
          ],
          relevance: 0),
      '~contains~0~contains~2':
          Mode(className: "type", begin: "\\b[a-z\\d_]*_t\\b"),
      '~contains~0~contains~1~contains~3':
          Mode(scope: "comment", begin: "//", end: "\$", contains: [
        Mode(begin: "\\\\\\n"),
        Mode(
            scope: "doctag",
            begin: "[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",
            end: "(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):",
            excludeBegin: true,
            relevance: 0),
        Mode(
            begin:
                "[ ]+((?: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}")
      ]),
      '~contains~0~contains~1~contains~1~variants~2': Mode(
          begin: "(?:u8?|U|L)?R\"([^()\\\\ ]{0,16})\\(",
          end: "\\)([^()\\\\ ]{0,16})\"",
          onBegin: endSameAsBeginOnBegin,
          onEnd: endSameAsBeginOnEnd),
      '~contains~0~contains~1~contains~1~variants~1': Mode(
          begin:
              "(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)",
          end: "'",
          illegal: "."),
      '~contains~0~contains~1~contains~1~variants~0': Mode(
          begin: "(u8?|U|L)?\"",
          end: "\"",
          illegal: "\\n",
          contains: [BACKSLASH_ESCAPE]),
      '~contains~0~contains~1': Mode(
          className: "meta",
          begin: "#\\s*[a-z]+\\b",
          end: "\$",
          keywords: {
            "keyword":
                "if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"
          },
          contains: [
            Mode(begin: "\\\\\\n", relevance: 0),
            Mode(className: "string", variants: [
              Mode(ref: '~contains~0~contains~1~contains~1~variants~0'),
              Mode(ref: '~contains~0~contains~1~contains~1~variants~1'),
              Mode(ref: '~contains~0~contains~1~contains~1~variants~2')
            ]),
            Mode(className: "string", begin: "<.*?>"),
            Mode(ref: '~contains~0~contains~1~contains~3'),
            C_BLOCK_COMMENT_MODE
          ]),
      '~contains~0~contains~0': Mode(
          className: "function.dispatch",
          relevance: 0,
          keywords: {
            "_hint": [
              "abort",
              "abs",
              "acos",
              "apply",
              "as_const",
              "asin",
              "atan",
              "atan2",
              "calloc",
              "ceil",
              "cerr",
              "cin",
              "clog",
              "cos",
              "cosh",
              "cout",
              "declval",
              "endl",
              "exchange",
              "exit",
              "exp",
              "fabs",
              "floor",
              "fmod",
              "forward",
              "fprintf",
              "fputs",
              "free",
              "frexp",
              "fscanf",
              "future",
              "invoke",
              "isalnum",
              "isalpha",
              "iscntrl",
              "isdigit",
              "isgraph",
              "islower",
              "isprint",
              "ispunct",
              "isspace",
              "isupper",
              "isxdigit",
              "labs",
              "launder",
              "ldexp",
              "log",
              "log10",
              "make_pair",
              "make_shared",
              "make_shared_for_overwrite",
              "make_tuple",
              "make_unique",
              "malloc",
              "memchr",
              "memcmp",
              "memcpy",
              "memset",
              "modf",
              "move",
              "pow",
              "printf",
              "putchar",
              "puts",
              "realloc",
              "scanf",
              "sin",
              "sinh",
              "snprintf",
              "sprintf",
              "sqrt",
              "sscanf",
              "std",
              "stderr",
              "stdin",
              "stdout",
              "strcat",
              "strchr",
              "strcmp",
              "strcpy",
              "strcspn",
              "strlen",
              "strncat",
              "strncmp",
              "strncpy",
              "strpbrk",
              "strrchr",
              "strspn",
              "strstr",
              "swap",
              "tan",
              "tanh",
              "terminate",
              "to_underlying",
              "tolower",
              "toupper",
              "vfprintf",
              "visit",
              "vprintf",
              "vsprintf"
            ]
          },
          begin:
              "\\b(?!decltype)(?!if)(?!for)(?!switch)(?!while)[a-zA-Z]\\w*(?=(<[^<>]+>|)\\s*\\()"),
    },
    name: "Arduino",
    aliases: ["ino"],
    keywords: {
      "type": [
        "bool",
        "char",
        "char16_t",
        "char32_t",
        "char8_t",
        "double",
        "float",
        "int",
        "long",
        "short",
        "void",
        "wchar_t",
        "unsigned",
        "signed",
        "const",
        "static",
        "boolean",
        "byte",
        "word",
        "String"
      ],
      "keyword": [
        "alignas",
        "alignof",
        "and",
        "and_eq",
        "asm",
        "atomic_cancel",
        "atomic_commit",
        "atomic_noexcept",
        "auto",
        "bitand",
        "bitor",
        "break",
        "case",
        "catch",
        "class",
        "co_await",
        "co_return",
        "co_yield",
        "compl",
        "concept",
        "const_cast|10",
        "consteval",
        "constexpr",
        "constinit",
        "continue",
        "decltype",
        "default",
        "delete",
        "do",
        "dynamic_cast|10",
        "else",
        "enum",
        "explicit",
        "export",
        "extern",
        "false",
        "final",
        "for",
        "friend",
        "goto",
        "if",
        "import",
        "inline",
        "module",
        "mutable",
        "namespace",
        "new",
        "noexcept",
        "not",
        "not_eq",
        "nullptr",
        "operator",
        "or",
        "or_eq",
        "override",
        "private",
        "protected",
        "public",
        "reflexpr",
        "register",
        "reinterpret_cast|10",
        "requires",
        "return",
        "sizeof",
        "static_assert",
        "static_cast|10",
        "struct",
        "switch",
        "synchronized",
        "template",
        "this",
        "thread_local",
        "throw",
        "transaction_safe",
        "transaction_safe_dynamic",
        "true",
        "try",
        "typedef",
        "typeid",
        "typename",
        "union",
        "using",
        "virtual",
        "volatile",
        "while",
        "xor",
        "xor_eq"
      ],
      "literal": [
        "NULL",
        "false",
        "nullopt",
        "nullptr",
        "true",
        "DIGITAL_MESSAGE",
        "FIRMATA_STRING",
        "ANALOG_MESSAGE",
        "REPORT_DIGITAL",
        "REPORT_ANALOG",
        "INPUT_PULLUP",
        "SET_PIN_MODE",
        "INTERNAL2V56",
        "SYSTEM_RESET",
        "LED_BUILTIN",
        "INTERNAL1V1",
        "SYSEX_START",
        "INTERNAL",
        "EXTERNAL",
        "DEFAULT",
        "OUTPUT",
        "INPUT",
        "HIGH",
        "LOW"
      ],
      "built_in": [
        "_Pragma",
        "KeyboardController",
        "MouseController",
        "SoftwareSerial",
        "EthernetServer",
        "EthernetClient",
        "LiquidCrystal",
        "RobotControl",
        "GSMVoiceCall",
        "EthernetUDP",
        "EsploraTFT",
        "HttpClient",
        "RobotMotor",
        "WiFiClient",
        "GSMScanner",
        "FileSystem",
        "Scheduler",
        "GSMServer",
        "YunClient",
        "YunServer",
        "IPAddress",
        "GSMClient",
        "GSMModem",
        "Keyboard",
        "Ethernet",
        "Console",
        "GSMBand",
        "Esplora",
        "Stepper",
        "Process",
        "WiFiUDP",
        "GSM_SMS",
        "Mailbox",
        "USBHost",
        "Firmata",
        "PImage",
        "Client",
        "Server",
        "GSMPIN",
        "FileIO",
        "Bridge",
        "Serial",
        "EEPROM",
        "Stream",
        "Mouse",
        "Audio",
        "Servo",
        "File",
        "Task",
        "GPRS",
        "WiFi",
        "Wire",
        "TFT",
        "GSM",
        "SPI",
        "SD"
      ],
      "_type_hints": [
        "any",
        "auto_ptr",
        "barrier",
        "binary_semaphore",
        "bitset",
        "complex",
        "condition_variable",
        "condition_variable_any",
        "counting_semaphore",
        "deque",
        "false_type",
        "future",
        "imaginary",
        "initializer_list",
        "istringstream",
        "jthread",
        "latch",
        "lock_guard",
        "multimap",
        "multiset",
        "mutex",
        "optional",
        "ostringstream",
        "packaged_task",
        "pair",
        "promise",
        "priority_queue",
        "queue",
        "recursive_mutex",
        "recursive_timed_mutex",
        "scoped_lock",
        "set",
        "shared_future",
        "shared_lock",
        "shared_mutex",
        "shared_timed_mutex",
        "shared_ptr",
        "stack",
        "string_view",
        "stringstream",
        "timed_mutex",
        "thread",
        "true_type",
        "tuple",
        "unique_lock",
        "unique_ptr",
        "unordered_map",
        "unordered_multimap",
        "unordered_multiset",
        "unordered_set",
        "variant",
        "vector",
        "weak_ptr",
        "wstring",
        "wstring_view"
      ],
      "_hints": [
        "setup",
        "loop",
        "runShellCommandAsynchronously",
        "analogWriteResolution",
        "retrieveCallingNumber",
        "printFirmwareVersion",
        "analogReadResolution",
        "sendDigitalPortPair",
        "noListenOnLocalhost",
        "readJoystickButton",
        "setFirmwareVersion",
        "readJoystickSwitch",
        "scrollDisplayRight",
        "getVoiceCallStatus",
        "scrollDisplayLeft",
        "writeMicroseconds",
        "delayMicroseconds",
        "beginTransmission",
        "getSignalStrength",
        "runAsynchronously",
        "getAsynchronously",
        "listenOnLocalhost",
        "getCurrentCarrier",
        "readAccelerometer",
        "messageAvailable",
        "sendDigitalPorts",
        "lineFollowConfig",
        "countryNameWrite",
        "runShellCommand",
        "readStringUntil",
        "rewindDirectory",
        "readTemperature",
        "setClockDivider",
        "readLightSensor",
        "endTransmission",
        "analogReference",
        "detachInterrupt",
        "countryNameRead",
        "attachInterrupt",
        "encryptionType",
        "readBytesUntil",
        "robotNameWrite",
        "readMicrophone",
        "robotNameRead",
        "cityNameWrite",
        "userNameWrite",
        "readJoystickY",
        "readJoystickX",
        "mouseReleased",
        "openNextFile",
        "scanNetworks",
        "noInterrupts",
        "digitalWrite",
        "beginSpeaker",
        "mousePressed",
        "isActionDone",
        "mouseDragged",
        "displayLogos",
        "noAutoscroll",
        "addParameter",
        "remoteNumber",
        "getModifiers",
        "keyboardRead",
        "userNameRead",
        "waitContinue",
        "processInput",
        "parseCommand",
        "printVersion",
        "readNetworks",
        "writeMessage",
        "blinkVersion",
        "cityNameRead",
        "readMessage",
        "setDataMode",
        "parsePacket",
        "isListening",
        "setBitOrder",
        "beginPacket",
        "isDirectory",
        "motorsWrite",
        "drawCompass",
        "digitalRead",
        "clearScreen",
        "serialEvent",
        "rightToLeft",
        "setTextSize",
        "leftToRight",
        "requestFrom",
        "keyReleased",
        "compassRead",
        "analogWrite",
        "interrupts",
        "WiFiServer",
        "disconnect",
        "playMelody",
        "parseFloat",
        "autoscroll",
        "getPINUsed",
        "setPINUsed",
        "setTimeout",
        "sendAnalog",
        "readSlider",
        "analogRead",
        "beginWrite",
        "createChar",
        "motorsStop",
        "keyPressed",
        "tempoWrite",
        "readButton",
        "subnetMask",
        "debugPrint",
        "macAddress",
        "writeGreen",
        "randomSeed",
        "attachGPRS",
        "readString",
        "sendString",
        "remotePort",
        "releaseAll",
        "mouseMoved",
        "background",
        "getXChange",
        "getYChange",
        "answerCall",
        "getResult",
        "voiceCall",
        "endPacket",
        "constrain",
        "getSocket",
        "writeJSON",
        "getButton",
        "available",
        "connected",
        "findUntil",
        "readBytes",
        "exitValue",
        "readGreen",
        "writeBlue",
        "startLoop",
        "IPAddress",
        "isPressed",
        "sendSysex",
        "pauseMode",
        "gatewayIP",
        "setCursor",
        "getOemKey",
        "tuneWrite",
        "noDisplay",
        "loadImage",
        "switchPIN",
        "onRequest",
        "onReceive",
        "changePIN",
        "playFile",
        "noBuffer",
        "parseInt",
        "overflow",
        "checkPIN",
        "knobRead",
        "beginTFT",
        "bitClear",
        "updateIR",
        "bitWrite",
        "position",
        "writeRGB",
        "highByte",
        "writeRed",
        "setSpeed",
        "readBlue",
        "noStroke",
        "remoteIP",
        "transfer",
        "shutdown",
        "hangCall",
        "beginSMS",
        "endWrite",
        "attached",
        "maintain",
        "noCursor",
        "checkReg",
        "checkPUK",
        "shiftOut",
        "isValid",
        "shiftIn",
        "pulseIn",
        "connect",
        "println",
        "localIP",
        "pinMode",
        "getIMEI",
        "display",
        "noBlink",
        "process",
        "getBand",
        "running",
        "beginSD",
        "drawBMP",
        "lowByte",
        "setBand",
        "release",
        "bitRead",
        "prepare",
        "pointTo",
        "readRed",
        "setMode",
        "noFill",
        "remove",
        "listen",
        "stroke",
        "detach",
        "attach",
        "noTone",
        "exists",
        "buffer",
        "height",
        "bitSet",
        "circle",
        "config",
        "cursor",
        "random",
        "IRread",
        "setDNS",
        "endSMS",
        "getKey",
        "micros",
        "millis",
        "begin",
        "print",
        "write",
        "ready",
        "flush",
        "width",
        "isPIN",
        "blink",
        "clear",
        "press",
        "mkdir",
        "rmdir",
        "close",
        "point",
        "yield",
        "image",
        "BSSID",
        "click",
        "delay",
        "read",
        "text",
        "move",
        "peek",
        "beep",
        "rect",
        "line",
        "open",
        "seek",
        "fill",
        "size",
        "turn",
        "stop",
        "home",
        "find",
        "step",
        "tone",
        "sqrt",
        "RSSI",
        "SSID",
        "end",
        "bit",
        "tan",
        "cos",
        "sin",
        "pow",
        "map",
        "abs",
        "max",
        "min",
        "get",
        "run",
        "put"
      ]
    },
    illegal: "</",
    classNameAliases: {"function.dispatch": "built_in"},
    contains: [
      Mode(variants: [
        Mode(begin: "=", end: ";"),
        Mode(begin: "\\(", end: "\\)"),
        Mode(beginKeywords: "new throw return else", end: ";")
      ], keywords: {
        "type": [
          "bool",
          "char",
          "char16_t",
          "char32_t",
          "char8_t",
          "double",
          "float",
          "int",
          "long",
          "short",
          "void",
          "wchar_t",
          "unsigned",
          "signed",
          "const",
          "static",
          "boolean",
          "byte",
          "word",
          "String"
        ],
        "keyword": [
          "alignas",
          "alignof",
          "and",
          "and_eq",
          "asm",
          "atomic_cancel",
          "atomic_commit",
          "atomic_noexcept",
          "auto",
          "bitand",
          "bitor",
          "break",
          "case",
          "catch",
          "class",
          "co_await",
          "co_return",
          "co_yield",
          "compl",
          "concept",
          "const_cast|10",
          "consteval",
          "constexpr",
          "constinit",
          "continue",
          "decltype",
          "default",
          "delete",
          "do",
          "dynamic_cast|10",
          "else",
          "enum",
          "explicit",
          "export",
          "extern",
          "false",
          "final",
          "for",
          "friend",
          "goto",
          "if",
          "import",
          "inline",
          "module",
          "mutable",
          "namespace",
          "new",
          "noexcept",
          "not",
          "not_eq",
          "nullptr",
          "operator",
          "or",
          "or_eq",
          "override",
          "private",
          "protected",
          "public",
          "reflexpr",
          "register",
          "reinterpret_cast|10",
          "requires",
          "return",
          "sizeof",
          "static_assert",
          "static_cast|10",
          "struct",
          "switch",
          "synchronized",
          "template",
          "this",
          "thread_local",
          "throw",
          "transaction_safe",
          "transaction_safe_dynamic",
          "true",
          "try",
          "typedef",
          "typeid",
          "typename",
          "union",
          "using",
          "virtual",
          "volatile",
          "while",
          "xor",
          "xor_eq"
        ],
        "literal": [
          "NULL",
          "false",
          "nullopt",
          "nullptr",
          "true",
          "DIGITAL_MESSAGE",
          "FIRMATA_STRING",
          "ANALOG_MESSAGE",
          "REPORT_DIGITAL",
          "REPORT_ANALOG",
          "INPUT_PULLUP",
          "SET_PIN_MODE",
          "INTERNAL2V56",
          "SYSTEM_RESET",
          "LED_BUILTIN",
          "INTERNAL1V1",
          "SYSEX_START",
          "INTERNAL",
          "EXTERNAL",
          "DEFAULT",
          "OUTPUT",
          "INPUT",
          "HIGH",
          "LOW"
        ],
        "built_in": [
          "_Pragma",
          "KeyboardController",
          "MouseController",
          "SoftwareSerial",
          "EthernetServer",
          "EthernetClient",
          "LiquidCrystal",
          "RobotControl",
          "GSMVoiceCall",
          "EthernetUDP",
          "EsploraTFT",
          "HttpClient",
          "RobotMotor",
          "WiFiClient",
          "GSMScanner",
          "FileSystem",
          "Scheduler",
          "GSMServer",
          "YunClient",
          "YunServer",
          "IPAddress",
          "GSMClient",
          "GSMModem",
          "Keyboard",
          "Ethernet",
          "Console",
          "GSMBand",
          "Esplora",
          "Stepper",
          "Process",
          "WiFiUDP",
          "GSM_SMS",
          "Mailbox",
          "USBHost",
          "Firmata",
          "PImage",
          "Client",
          "Server",
          "GSMPIN",
          "FileIO",
          "Bridge",
          "Serial",
          "EEPROM",
          "Stream",
          "Mouse",
          "Audio",
          "Servo",
          "File",
          "Task",
          "GPRS",
          "WiFi",
          "Wire",
          "TFT",
          "GSM",
          "SPI",
          "SD"
        ],
        "_type_hints": [
          "any",
          "auto_ptr",
          "barrier",
          "binary_semaphore",
          "bitset",
          "complex",
          "condition_variable",
          "condition_variable_any",
          "counting_semaphore",
          "deque",
          "false_type",
          "future",
          "imaginary",
          "initializer_list",
          "istringstream",
          "jthread",
          "latch",
          "lock_guard",
          "multimap",
          "multiset",
          "mutex",
          "optional",
          "ostringstream",
          "packaged_task",
          "pair",
          "promise",
          "priority_queue",
          "queue",
          "recursive_mutex",
          "recursive_timed_mutex",
          "scoped_lock",
          "set",
          "shared_future",
          "shared_lock",
          "shared_mutex",
          "shared_timed_mutex",
          "shared_ptr",
          "stack",
          "string_view",
          "stringstream",
          "timed_mutex",
          "thread",
          "true_type",
          "tuple",
          "unique_lock",
          "unique_ptr",
          "unordered_map",
          "unordered_multimap",
          "unordered_multiset",
          "unordered_set",
          "variant",
          "vector",
          "weak_ptr",
          "wstring",
          "wstring_view"
        ],
        "_hints": [
          "setup",
          "loop",
          "runShellCommandAsynchronously",
          "analogWriteResolution",
          "retrieveCallingNumber",
          "printFirmwareVersion",
          "analogReadResolution",
          "sendDigitalPortPair",
          "noListenOnLocalhost",
          "readJoystickButton",
          "setFirmwareVersion",
          "readJoystickSwitch",
          "scrollDisplayRight",
          "getVoiceCallStatus",
          "scrollDisplayLeft",
          "writeMicroseconds",
          "delayMicroseconds",
          "beginTransmission",
          "getSignalStrength",
          "runAsynchronously",
          "getAsynchronously",
          "listenOnLocalhost",
          "getCurrentCarrier",
          "readAccelerometer",
          "messageAvailable",
          "sendDigitalPorts",
          "lineFollowConfig",
          "countryNameWrite",
          "runShellCommand",
          "readStringUntil",
          "rewindDirectory",
          "readTemperature",
          "setClockDivider",
          "readLightSensor",
          "endTransmission",
          "analogReference",
          "detachInterrupt",
          "countryNameRead",
          "attachInterrupt",
          "encryptionType",
          "readBytesUntil",
          "robotNameWrite",
          "readMicrophone",
          "robotNameRead",
          "cityNameWrite",
          "userNameWrite",
          "readJoystickY",
          "readJoystickX",
          "mouseReleased",
          "openNextFile",
          "scanNetworks",
          "noInterrupts",
          "digitalWrite",
          "beginSpeaker",
          "mousePressed",
          "isActionDone",
          "mouseDragged",
          "displayLogos",
          "noAutoscroll",
          "addParameter",
          "remoteNumber",
          "getModifiers",
          "keyboardRead",
          "userNameRead",
          "waitContinue",
          "processInput",
          "parseCommand",
          "printVersion",
          "readNetworks",
          "writeMessage",
          "blinkVersion",
          "cityNameRead",
          "readMessage",
          "setDataMode",
          "parsePacket",
          "isListening",
          "setBitOrder",
          "beginPacket",
          "isDirectory",
          "motorsWrite",
          "drawCompass",
          "digitalRead",
          "clearScreen",
          "serialEvent",
          "rightToLeft",
          "setTextSize",
          "leftToRight",
          "requestFrom",
          "keyReleased",
          "compassRead",
          "analogWrite",
          "interrupts",
          "WiFiServer",
          "disconnect",
          "playMelody",
          "parseFloat",
          "autoscroll",
          "getPINUsed",
          "setPINUsed",
          "setTimeout",
          "sendAnalog",
          "readSlider",
          "analogRead",
          "beginWrite",
          "createChar",
          "motorsStop",
          "keyPressed",
          "tempoWrite",
          "readButton",
          "subnetMask",
          "debugPrint",
          "macAddress",
          "writeGreen",
          "randomSeed",
          "attachGPRS",
          "readString",
          "sendString",
          "remotePort",
          "releaseAll",
          "mouseMoved",
          "background",
          "getXChange",
          "getYChange",
          "answerCall",
          "getResult",
          "voiceCall",
          "endPacket",
          "constrain",
          "getSocket",
          "writeJSON",
          "getButton",
          "available",
          "connected",
          "findUntil",
          "readBytes",
          "exitValue",
          "readGreen",
          "writeBlue",
          "startLoop",
          "IPAddress",
          "isPressed",
          "sendSysex",
          "pauseMode",
          "gatewayIP",
          "setCursor",
          "getOemKey",
          "tuneWrite",
          "noDisplay",
          "loadImage",
          "switchPIN",
          "onRequest",
          "onReceive",
          "changePIN",
          "playFile",
          "noBuffer",
          "parseInt",
          "overflow",
          "checkPIN",
          "knobRead",
          "beginTFT",
          "bitClear",
          "updateIR",
          "bitWrite",
          "position",
          "writeRGB",
          "highByte",
          "writeRed",
          "setSpeed",
          "readBlue",
          "noStroke",
          "remoteIP",
          "transfer",
          "shutdown",
          "hangCall",
          "beginSMS",
          "endWrite",
          "attached",
          "maintain",
          "noCursor",
          "checkReg",
          "checkPUK",
          "shiftOut",
          "isValid",
          "shiftIn",
          "pulseIn",
          "connect",
          "println",
          "localIP",
          "pinMode",
          "getIMEI",
          "display",
          "noBlink",
          "process",
          "getBand",
          "running",
          "beginSD",
          "drawBMP",
          "lowByte",
          "setBand",
          "release",
          "bitRead",
          "prepare",
          "pointTo",
          "readRed",
          "setMode",
          "noFill",
          "remove",
          "listen",
          "stroke",
          "detach",
          "attach",
          "noTone",
          "exists",
          "buffer",
          "height",
          "bitSet",
          "circle",
          "config",
          "cursor",
          "random",
          "IRread",
          "setDNS",
          "endSMS",
          "getKey",
          "micros",
          "millis",
          "begin",
          "print",
          "write",
          "ready",
          "flush",
          "width",
          "isPIN",
          "blink",
          "clear",
          "press",
          "mkdir",
          "rmdir",
          "close",
          "point",
          "yield",
          "image",
          "BSSID",
          "click",
          "delay",
          "read",
          "text",
          "move",
          "peek",
          "beep",
          "rect",
          "line",
          "open",
          "seek",
          "fill",
          "size",
          "turn",
          "stop",
          "home",
          "find",
          "step",
          "tone",
          "sqrt",
          "RSSI",
          "SSID",
          "end",
          "bit",
          "tan",
          "cos",
          "sin",
          "pow",
          "map",
          "abs",
          "max",
          "min",
          "get",
          "run",
          "put"
        ]
      }, contains: [
        Mode(ref: '~contains~0~contains~0'),
        Mode(ref: '~contains~0~contains~1'),
        Mode(ref: '~contains~0~contains~2'),
        Mode(ref: '~contains~0~contains~1~contains~3'),
        C_BLOCK_COMMENT_MODE,
        Mode(ref: '~contains~0~contains~5'),
        Mode(ref: '~contains~0~contains~6'),
        Mode(
            begin: "\\(",
            end: "\\)",
            keywords: {
              "type": [
                "bool",
                "char",
                "char16_t",
                "char32_t",
                "char8_t",
                "double",
                "float",
                "int",
                "long",
                "short",
                "void",
                "wchar_t",
                "unsigned",
                "signed",
                "const",
                "static",
                "boolean",
                "byte",
                "word",
                "String"
              ],
              "keyword": [
                "alignas",
                "alignof",
                "and",
                "and_eq",
                "asm",
                "atomic_cancel",
                "atomic_commit",
                "atomic_noexcept",
                "auto",
                "bitand",
                "bitor",
                "break",
                "case",
                "catch",
                "class",
                "co_await",
                "co_return",
                "co_yield",
                "compl",
                "concept",
                "const_cast|10",
                "consteval",
                "constexpr",
                "constinit",
                "continue",
                "decltype",
                "default",
                "delete",
                "do",
                "dynamic_cast|10",
                "else",
                "enum",
                "explicit",
                "export",
                "extern",
                "false",
                "final",
                "for",
                "friend",
                "goto",
                "if",
                "import",
                "inline",
                "module",
                "mutable",
                "namespace",
                "new",
                "noexcept",
                "not",
                "not_eq",
                "nullptr",
                "operator",
                "or",
                "or_eq",
                "override",
                "private",
                "protected",
                "public",
                "reflexpr",
                "register",
                "reinterpret_cast|10",
                "requires",
                "return",
                "sizeof",
                "static_assert",
                "static_cast|10",
                "struct",
                "switch",
                "synchronized",
                "template",
                "this",
                "thread_local",
                "throw",
                "transaction_safe",
                "transaction_safe_dynamic",
                "true",
                "try",
                "typedef",
                "typeid",
                "typename",
                "union",
                "using",
                "virtual",
                "volatile",
                "while",
                "xor",
                "xor_eq"
              ],
              "literal": [
                "NULL",
                "false",
                "nullopt",
                "nullptr",
                "true",
                "DIGITAL_MESSAGE",
                "FIRMATA_STRING",
                "ANALOG_MESSAGE",
                "REPORT_DIGITAL",
                "REPORT_ANALOG",
                "INPUT_PULLUP",
                "SET_PIN_MODE",
                "INTERNAL2V56",
                "SYSTEM_RESET",
                "LED_BUILTIN",
                "INTERNAL1V1",
                "SYSEX_START",
                "INTERNAL",
                "EXTERNAL",
                "DEFAULT",
                "OUTPUT",
                "INPUT",
                "HIGH",
                "LOW"
              ],
              "built_in": [
                "_Pragma",
                "KeyboardController",
                "MouseController",
                "SoftwareSerial",
                "EthernetServer",
                "EthernetClient",
                "LiquidCrystal",
                "RobotControl",
                "GSMVoiceCall",
                "EthernetUDP",
                "EsploraTFT",
                "HttpClient",
                "RobotMotor",
                "WiFiClient",
                "GSMScanner",
                "FileSystem",
                "Scheduler",
                "GSMServer",
                "YunClient",
                "YunServer",
                "IPAddress",
                "GSMClient",
                "GSMModem",
                "Keyboard",
                "Ethernet",
                "Console",
                "GSMBand",
                "Esplora",
                "Stepper",
                "Process",
                "WiFiUDP",
                "GSM_SMS",
                "Mailbox",
                "USBHost",
                "Firmata",
                "PImage",
                "Client",
                "Server",
                "GSMPIN",
                "FileIO",
                "Bridge",
                "Serial",
                "EEPROM",
                "Stream",
                "Mouse",
                "Audio",
                "Servo",
                "File",
                "Task",
                "GPRS",
                "WiFi",
                "Wire",
                "TFT",
                "GSM",
                "SPI",
                "SD"
              ],
              "_type_hints": [
                "any",
                "auto_ptr",
                "barrier",
                "binary_semaphore",
                "bitset",
                "complex",
                "condition_variable",
                "condition_variable_any",
                "counting_semaphore",
                "deque",
                "false_type",
                "future",
                "imaginary",
                "initializer_list",
                "istringstream",
                "jthread",
                "latch",
                "lock_guard",
                "multimap",
                "multiset",
                "mutex",
                "optional",
                "ostringstream",
                "packaged_task",
                "pair",
                "promise",
                "priority_queue",
                "queue",
                "recursive_mutex",
                "recursive_timed_mutex",
                "scoped_lock",
                "set",
                "shared_future",
                "shared_lock",
                "shared_mutex",
                "shared_timed_mutex",
                "shared_ptr",
                "stack",
                "string_view",
                "stringstream",
                "timed_mutex",
                "thread",
                "true_type",
                "tuple",
                "unique_lock",
                "unique_ptr",
                "unordered_map",
                "unordered_multimap",
                "unordered_multiset",
                "unordered_set",
                "variant",
                "vector",
                "weak_ptr",
                "wstring",
                "wstring_view"
              ],
              "_hints": [
                "setup",
                "loop",
                "runShellCommandAsynchronously",
                "analogWriteResolution",
                "retrieveCallingNumber",
                "printFirmwareVersion",
                "analogReadResolution",
                "sendDigitalPortPair",
                "noListenOnLocalhost",
                "readJoystickButton",
                "setFirmwareVersion",
                "readJoystickSwitch",
                "scrollDisplayRight",
                "getVoiceCallStatus",
                "scrollDisplayLeft",
                "writeMicroseconds",
                "delayMicroseconds",
                "beginTransmission",
                "getSignalStrength",
                "runAsynchronously",
                "getAsynchronously",
                "listenOnLocalhost",
                "getCurrentCarrier",
                "readAccelerometer",
                "messageAvailable",
                "sendDigitalPorts",
                "lineFollowConfig",
                "countryNameWrite",
                "runShellCommand",
                "readStringUntil",
                "rewindDirectory",
                "readTemperature",
                "setClockDivider",
                "readLightSensor",
                "endTransmission",
                "analogReference",
                "detachInterrupt",
                "countryNameRead",
                "attachInterrupt",
                "encryptionType",
                "readBytesUntil",
                "robotNameWrite",
                "readMicrophone",
                "robotNameRead",
                "cityNameWrite",
                "userNameWrite",
                "readJoystickY",
                "readJoystickX",
                "mouseReleased",
                "openNextFile",
                "scanNetworks",
                "noInterrupts",
                "digitalWrite",
                "beginSpeaker",
                "mousePressed",
                "isActionDone",
                "mouseDragged",
                "displayLogos",
                "noAutoscroll",
                "addParameter",
                "remoteNumber",
                "getModifiers",
                "keyboardRead",
                "userNameRead",
                "waitContinue",
                "processInput",
                "parseCommand",
                "printVersion",
                "readNetworks",
                "writeMessage",
                "blinkVersion",
                "cityNameRead",
                "readMessage",
                "setDataMode",
                "parsePacket",
                "isListening",
                "setBitOrder",
                "beginPacket",
                "isDirectory",
                "motorsWrite",
                "drawCompass",
                "digitalRead",
                "clearScreen",
                "serialEvent",
                "rightToLeft",
                "setTextSize",
                "leftToRight",
                "requestFrom",
                "keyReleased",
                "compassRead",
                "analogWrite",
                "interrupts",
                "WiFiServer",
                "disconnect",
                "playMelody",
                "parseFloat",
                "autoscroll",
                "getPINUsed",
                "setPINUsed",
                "setTimeout",
                "sendAnalog",
                "readSlider",
                "analogRead",
                "beginWrite",
                "createChar",
                "motorsStop",
                "keyPressed",
                "tempoWrite",
                "readButton",
                "subnetMask",
                "debugPrint",
                "macAddress",
                "writeGreen",
                "randomSeed",
                "attachGPRS",
                "readString",
                "sendString",
                "remotePort",
                "releaseAll",
                "mouseMoved",
                "background",
                "getXChange",
                "getYChange",
                "answerCall",
                "getResult",
                "voiceCall",
                "endPacket",
                "constrain",
                "getSocket",
                "writeJSON",
                "getButton",
                "available",
                "connected",
                "findUntil",
                "readBytes",
                "exitValue",
                "readGreen",
                "writeBlue",
                "startLoop",
                "IPAddress",
                "isPressed",
                "sendSysex",
                "pauseMode",
                "gatewayIP",
                "setCursor",
                "getOemKey",
                "tuneWrite",
                "noDisplay",
                "loadImage",
                "switchPIN",
                "onRequest",
                "onReceive",
                "changePIN",
                "playFile",
                "noBuffer",
                "parseInt",
                "overflow",
                "checkPIN",
                "knobRead",
                "beginTFT",
                "bitClear",
                "updateIR",
                "bitWrite",
                "position",
                "writeRGB",
                "highByte",
                "writeRed",
                "setSpeed",
                "readBlue",
                "noStroke",
                "remoteIP",
                "transfer",
                "shutdown",
                "hangCall",
                "beginSMS",
                "endWrite",
                "attached",
                "maintain",
                "noCursor",
                "checkReg",
                "checkPUK",
                "shiftOut",
                "isValid",
                "shiftIn",
                "pulseIn",
                "connect",
                "println",
                "localIP",
                "pinMode",
                "getIMEI",
                "display",
                "noBlink",
                "process",
                "getBand",
                "running",
                "beginSD",
                "drawBMP",
                "lowByte",
                "setBand",
                "release",
                "bitRead",
                "prepare",
                "pointTo",
                "readRed",
                "setMode",
                "noFill",
                "remove",
                "listen",
                "stroke",
                "detach",
                "attach",
                "noTone",
                "exists",
                "buffer",
                "height",
                "bitSet",
                "circle",
                "config",
                "cursor",
                "random",
                "IRread",
                "setDNS",
                "endSMS",
                "getKey",
                "micros",
                "millis",
                "begin",
                "print",
                "write",
                "ready",
                "flush",
                "width",
                "isPIN",
                "blink",
                "clear",
                "press",
                "mkdir",
                "rmdir",
                "close",
                "point",
                "yield",
                "image",
                "BSSID",
                "click",
                "delay",
                "read",
                "text",
                "move",
                "peek",
                "beep",
                "rect",
                "line",
                "open",
                "seek",
                "fill",
                "size",
                "turn",
                "stop",
                "home",
                "find",
                "step",
                "tone",
                "sqrt",
                "RSSI",
                "SSID",
                "end",
                "bit",
                "tan",
                "cos",
                "sin",
                "pow",
                "map",
                "abs",
                "max",
                "min",
                "get",
                "run",
                "put"
              ]
            },
            contains: [
              Mode(ref: '~contains~0~contains~0'),
              Mode(ref: '~contains~0~contains~1'),
              Mode(ref: '~contains~0~contains~2'),
              Mode(ref: '~contains~0~contains~1~contains~3'),
              C_BLOCK_COMMENT_MODE,
              Mode(ref: '~contains~0~contains~5'),
              Mode(ref: '~contains~0~contains~6'),
              Mode(self: true)
            ],
            relevance: 0)
      ], relevance: 0),
      Mode(
          className: "function",
          begin:
              "((?!struct)(decltype\\(auto\\)|(?:[a-zA-Z_]\\w*::)?[a-zA-Z_]\\w*(?:<[^<>]+>)?)[\\*&\\s]+)+(?:[a-zA-Z_]\\w*::)?[a-zA-Z]\\w*\\s*\\(",
          returnBegin: true,
          end: "[{;=]",
          excludeEnd: true,
          keywords: {
            "type": [
              "bool",
              "char",
              "char16_t",
              "char32_t",
              "char8_t",
              "double",
              "float",
              "int",
              "long",
              "short",
              "void",
              "wchar_t",
              "unsigned",
              "signed",
              "const",
              "static",
              "boolean",
              "byte",
              "word",
              "String"
            ],
            "keyword": [
              "alignas",
              "alignof",
              "and",
              "and_eq",
              "asm",
              "atomic_cancel",
              "atomic_commit",
              "atomic_noexcept",
              "auto",
              "bitand",
              "bitor",
              "break",
              "case",
              "catch",
              "class",
              "co_await",
              "co_return",
              "co_yield",
              "compl",
              "concept",
              "const_cast|10",
              "consteval",
              "constexpr",
              "constinit",
              "continue",
              "decltype",
              "default",
              "delete",
              "do",
              "dynamic_cast|10",
              "else",
              "enum",
              "explicit",
              "export",
              "extern",
              "false",
              "final",
              "for",
              "friend",
              "goto",
              "if",
              "import",
              "inline",
              "module",
              "mutable",
              "namespace",
              "new",
              "noexcept",
              "not",
              "not_eq",
              "nullptr",
              "operator",
              "or",
              "or_eq",
              "override",
              "private",
              "protected",
              "public",
              "reflexpr",
              "register",
              "reinterpret_cast|10",
              "requires",
              "return",
              "sizeof",
              "static_assert",
              "static_cast|10",
              "struct",
              "switch",
              "synchronized",
              "template",
              "this",
              "thread_local",
              "throw",
              "transaction_safe",
              "transaction_safe_dynamic",
              "true",
              "try",
              "typedef",
              "typeid",
              "typename",
              "union",
              "using",
              "virtual",
              "volatile",
              "while",
              "xor",
              "xor_eq"
            ],
            "literal": [
              "NULL",
              "false",
              "nullopt",
              "nullptr",
              "true",
              "DIGITAL_MESSAGE",
              "FIRMATA_STRING",
              "ANALOG_MESSAGE",
              "REPORT_DIGITAL",
              "REPORT_ANALOG",
              "INPUT_PULLUP",
              "SET_PIN_MODE",
              "INTERNAL2V56",
              "SYSTEM_RESET",
              "LED_BUILTIN",
              "INTERNAL1V1",
              "SYSEX_START",
              "INTERNAL",
              "EXTERNAL",
              "DEFAULT",
              "OUTPUT",
              "INPUT",
              "HIGH",
              "LOW"
            ],
            "built_in": [
              "_Pragma",
              "KeyboardController",
              "MouseController",
              "SoftwareSerial",
              "EthernetServer",
              "EthernetClient",
              "LiquidCrystal",
              "RobotControl",
              "GSMVoiceCall",
              "EthernetUDP",
              "EsploraTFT",
              "HttpClient",
              "RobotMotor",
              "WiFiClient",
              "GSMScanner",
              "FileSystem",
              "Scheduler",
              "GSMServer",
              "YunClient",
              "YunServer",
              "IPAddress",
              "GSMClient",
              "GSMModem",
              "Keyboard",
              "Ethernet",
              "Console",
              "GSMBand",
              "Esplora",
              "Stepper",
              "Process",
              "WiFiUDP",
              "GSM_SMS",
              "Mailbox",
              "USBHost",
              "Firmata",
              "PImage",
              "Client",
              "Server",
              "GSMPIN",
              "FileIO",
              "Bridge",
              "Serial",
              "EEPROM",
              "Stream",
              "Mouse",
              "Audio",
              "Servo",
              "File",
              "Task",
              "GPRS",
              "WiFi",
              "Wire",
              "TFT",
              "GSM",
              "SPI",
              "SD"
            ],
            "_type_hints": [
              "any",
              "auto_ptr",
              "barrier",
              "binary_semaphore",
              "bitset",
              "complex",
              "condition_variable",
              "condition_variable_any",
              "counting_semaphore",
              "deque",
              "false_type",
              "future",
              "imaginary",
              "initializer_list",
              "istringstream",
              "jthread",
              "latch",
              "lock_guard",
              "multimap",
              "multiset",
              "mutex",
              "optional",
              "ostringstream",
              "packaged_task",
              "pair",
              "promise",
              "priority_queue",
              "queue",
              "recursive_mutex",
              "recursive_timed_mutex",
              "scoped_lock",
              "set",
              "shared_future",
              "shared_lock",
              "shared_mutex",
              "shared_timed_mutex",
              "shared_ptr",
              "stack",
              "string_view",
              "stringstream",
              "timed_mutex",
              "thread",
              "true_type",
              "tuple",
              "unique_lock",
              "unique_ptr",
              "unordered_map",
              "unordered_multimap",
              "unordered_multiset",
              "unordered_set",
              "variant",
              "vector",
              "weak_ptr",
              "wstring",
              "wstring_view"
            ],
            "_hints": [
              "setup",
              "loop",
              "runShellCommandAsynchronously",
              "analogWriteResolution",
              "retrieveCallingNumber",
              "printFirmwareVersion",
              "analogReadResolution",
              "sendDigitalPortPair",
              "noListenOnLocalhost",
              "readJoystickButton",
              "setFirmwareVersion",
              "readJoystickSwitch",
              "scrollDisplayRight",
              "getVoiceCallStatus",
              "scrollDisplayLeft",
              "writeMicroseconds",
              "delayMicroseconds",
              "beginTransmission",
              "getSignalStrength",
              "runAsynchronously",
              "getAsynchronously",
              "listenOnLocalhost",
              "getCurrentCarrier",
              "readAccelerometer",
              "messageAvailable",
              "sendDigitalPorts",
              "lineFollowConfig",
              "countryNameWrite",
              "runShellCommand",
              "readStringUntil",
              "rewindDirectory",
              "readTemperature",
              "setClockDivider",
              "readLightSensor",
              "endTransmission",
              "analogReference",
              "detachInterrupt",
              "countryNameRead",
              "attachInterrupt",
              "encryptionType",
              "readBytesUntil",
              "robotNameWrite",
              "readMicrophone",
              "robotNameRead",
              "cityNameWrite",
              "userNameWrite",
              "readJoystickY",
              "readJoystickX",
              "mouseReleased",
              "openNextFile",
              "scanNetworks",
              "noInterrupts",
              "digitalWrite",
              "beginSpeaker",
              "mousePressed",
              "isActionDone",
              "mouseDragged",
              "displayLogos",
              "noAutoscroll",
              "addParameter",
              "remoteNumber",
              "getModifiers",
              "keyboardRead",
              "userNameRead",
              "waitContinue",
              "processInput",
              "parseCommand",
              "printVersion",
              "readNetworks",
              "writeMessage",
              "blinkVersion",
              "cityNameRead",
              "readMessage",
              "setDataMode",
              "parsePacket",
              "isListening",
              "setBitOrder",
              "beginPacket",
              "isDirectory",
              "motorsWrite",
              "drawCompass",
              "digitalRead",
              "clearScreen",
              "serialEvent",
              "rightToLeft",
              "setTextSize",
              "leftToRight",
              "requestFrom",
              "keyReleased",
              "compassRead",
              "analogWrite",
              "interrupts",
              "WiFiServer",
              "disconnect",
              "playMelody",
              "parseFloat",
              "autoscroll",
              "getPINUsed",
              "setPINUsed",
              "setTimeout",
              "sendAnalog",
              "readSlider",
              "analogRead",
              "beginWrite",
              "createChar",
              "motorsStop",
              "keyPressed",
              "tempoWrite",
              "readButton",
              "subnetMask",
              "debugPrint",
              "macAddress",
              "writeGreen",
              "randomSeed",
              "attachGPRS",
              "readString",
              "sendString",
              "remotePort",
              "releaseAll",
              "mouseMoved",
              "background",
              "getXChange",
              "getYChange",
              "answerCall",
              "getResult",
              "voiceCall",
              "endPacket",
              "constrain",
              "getSocket",
              "writeJSON",
              "getButton",
              "available",
              "connected",
              "findUntil",
              "readBytes",
              "exitValue",
              "readGreen",
              "writeBlue",
              "startLoop",
              "IPAddress",
              "isPressed",
              "sendSysex",
              "pauseMode",
              "gatewayIP",
              "setCursor",
              "getOemKey",
              "tuneWrite",
              "noDisplay",
              "loadImage",
              "switchPIN",
              "onRequest",
              "onReceive",
              "changePIN",
              "playFile",
              "noBuffer",
              "parseInt",
              "overflow",
              "checkPIN",
              "knobRead",
              "beginTFT",
              "bitClear",
              "updateIR",
              "bitWrite",
              "position",
              "writeRGB",
              "highByte",
              "writeRed",
              "setSpeed",
              "readBlue",
              "noStroke",
              "remoteIP",
              "transfer",
              "shutdown",
              "hangCall",
              "beginSMS",
              "endWrite",
              "attached",
              "maintain",
              "noCursor",
              "checkReg",
              "checkPUK",
              "shiftOut",
              "isValid",
              "shiftIn",
              "pulseIn",
              "connect",
              "println",
              "localIP",
              "pinMode",
              "getIMEI",
              "display",
              "noBlink",
              "process",
              "getBand",
              "running",
              "beginSD",
              "drawBMP",
              "lowByte",
              "setBand",
              "release",
              "bitRead",
              "prepare",
              "pointTo",
              "readRed",
              "setMode",
              "noFill",
              "remove",
              "listen",
              "stroke",
              "detach",
              "attach",
              "noTone",
              "exists",
              "buffer",
              "height",
              "bitSet",
              "circle",
              "config",
              "cursor",
              "random",
              "IRread",
              "setDNS",
              "endSMS",
              "getKey",
              "micros",
              "millis",
              "begin",
              "print",
              "write",
              "ready",
              "flush",
              "width",
              "isPIN",
              "blink",
              "clear",
              "press",
              "mkdir",
              "rmdir",
              "close",
              "point",
              "yield",
              "image",
              "BSSID",
              "click",
              "delay",
              "read",
              "text",
              "move",
              "peek",
              "beep",
              "rect",
              "line",
              "open",
              "seek",
              "fill",
              "size",
              "turn",
              "stop",
              "home",
              "find",
              "step",
              "tone",
              "sqrt",
              "RSSI",
              "SSID",
              "end",
              "bit",
              "tan",
              "cos",
              "sin",
              "pow",
              "map",
              "abs",
              "max",
              "min",
              "get",
              "run",
              "put"
            ]
          },
          illegal: "[^\\w\\s\\*&:<>.]",
          contains: [
            Mode(
                begin: "decltype\\(auto\\)",
                keywords: {
                  "type": [
                    "bool",
                    "char",
                    "char16_t",
                    "char32_t",
                    "char8_t",
                    "double",
                    "float",
                    "int",
                    "long",
                    "short",
                    "void",
                    "wchar_t",
                    "unsigned",
                    "signed",
                    "const",
                    "static",
                    "boolean",
                    "byte",
                    "word",
                    "String"
                  ],
                  "keyword": [
                    "alignas",
                    "alignof",
                    "and",
                    "and_eq",
                    "asm",
                    "atomic_cancel",
                    "atomic_commit",
                    "atomic_noexcept",
                    "auto",
                    "bitand",
                    "bitor",
                    "break",
                    "case",
                    "catch",
                    "class",
                    "co_await",
                    "co_return",
                    "co_yield",
                    "compl",
                    "concept",
                    "const_cast|10",
                    "consteval",
                    "constexpr",
                    "constinit",
                    "continue",
                    "decltype",
                    "default",
                    "delete",
                    "do",
                    "dynamic_cast|10",
                    "else",
                    "enum",
                    "explicit",
                    "export",
                    "extern",
                    "false",
                    "final",
                    "for",
                    "friend",
                    "goto",
                    "if",
                    "import",
                    "inline",
                    "module",
                    "mutable",
                    "namespace",
                    "new",
                    "noexcept",
                    "not",
                    "not_eq",
                    "nullptr",
                    "operator",
                    "or",
                    "or_eq",
                    "override",
                    "private",
                    "protected",
                    "public",
                    "reflexpr",
                    "register",
                    "reinterpret_cast|10",
                    "requires",
                    "return",
                    "sizeof",
                    "static_assert",
                    "static_cast|10",
                    "struct",
                    "switch",
                    "synchronized",
                    "template",
                    "this",
                    "thread_local",
                    "throw",
                    "transaction_safe",
                    "transaction_safe_dynamic",
                    "true",
                    "try",
                    "typedef",
                    "typeid",
                    "typename",
                    "union",
                    "using",
                    "virtual",
                    "volatile",
                    "while",
                    "xor",
                    "xor_eq"
                  ],
                  "literal": [
                    "NULL",
                    "false",
                    "nullopt",
                    "nullptr",
                    "true",
                    "DIGITAL_MESSAGE",
                    "FIRMATA_STRING",
                    "ANALOG_MESSAGE",
                    "REPORT_DIGITAL",
                    "REPORT_ANALOG",
                    "INPUT_PULLUP",
                    "SET_PIN_MODE",
                    "INTERNAL2V56",
                    "SYSTEM_RESET",
                    "LED_BUILTIN",
                    "INTERNAL1V1",
                    "SYSEX_START",
                    "INTERNAL",
                    "EXTERNAL",
                    "DEFAULT",
                    "OUTPUT",
                    "INPUT",
                    "HIGH",
                    "LOW"
                  ],
                  "built_in": [
                    "_Pragma",
                    "KeyboardController",
                    "MouseController",
                    "SoftwareSerial",
                    "EthernetServer",
                    "EthernetClient",
                    "LiquidCrystal",
                    "RobotControl",
                    "GSMVoiceCall",
                    "EthernetUDP",
                    "EsploraTFT",
                    "HttpClient",
                    "RobotMotor",
                    "WiFiClient",
                    "GSMScanner",
                    "FileSystem",
                    "Scheduler",
                    "GSMServer",
                    "YunClient",
                    "YunServer",
                    "IPAddress",
                    "GSMClient",
                    "GSMModem",
                    "Keyboard",
                    "Ethernet",
                    "Console",
                    "GSMBand",
                    "Esplora",
                    "Stepper",
                    "Process",
                    "WiFiUDP",
                    "GSM_SMS",
                    "Mailbox",
                    "USBHost",
                    "Firmata",
                    "PImage",
                    "Client",
                    "Server",
                    "GSMPIN",
                    "FileIO",
                    "Bridge",
                    "Serial",
                    "EEPROM",
                    "Stream",
                    "Mouse",
                    "Audio",
                    "Servo",
                    "File",
                    "Task",
                    "GPRS",
                    "WiFi",
                    "Wire",
                    "TFT",
                    "GSM",
                    "SPI",
                    "SD"
                  ],
                  "_type_hints": [
                    "any",
                    "auto_ptr",
                    "barrier",
                    "binary_semaphore",
                    "bitset",
                    "complex",
                    "condition_variable",
                    "condition_variable_any",
                    "counting_semaphore",
                    "deque",
                    "false_type",
                    "future",
                    "imaginary",
                    "initializer_list",
                    "istringstream",
                    "jthread",
                    "latch",
                    "lock_guard",
                    "multimap",
                    "multiset",
                    "mutex",
                    "optional",
                    "ostringstream",
                    "packaged_task",
                    "pair",
                    "promise",
                    "priority_queue",
                    "queue",
                    "recursive_mutex",
                    "recursive_timed_mutex",
                    "scoped_lock",
                    "set",
                    "shared_future",
                    "shared_lock",
                    "shared_mutex",
                    "shared_timed_mutex",
                    "shared_ptr",
                    "stack",
                    "string_view",
                    "stringstream",
                    "timed_mutex",
                    "thread",
                    "true_type",
                    "tuple",
                    "unique_lock",
                    "unique_ptr",
                    "unordered_map",
                    "unordered_multimap",
                    "unordered_multiset",
                    "unordered_set",
                    "variant",
                    "vector",
                    "weak_ptr",
                    "wstring",
                    "wstring_view"
                  ],
                  "_hints": [
                    "setup",
                    "loop",
                    "runShellCommandAsynchronously",
                    "analogWriteResolution",
                    "retrieveCallingNumber",
                    "printFirmwareVersion",
                    "analogReadResolution",
                    "sendDigitalPortPair",
                    "noListenOnLocalhost",
                    "readJoystickButton",
                    "setFirmwareVersion",
                    "readJoystickSwitch",
                    "scrollDisplayRight",
                    "getVoiceCallStatus",
                    "scrollDisplayLeft",
                    "writeMicroseconds",
                    "delayMicroseconds",
                    "beginTransmission",
                    "getSignalStrength",
                    "runAsynchronously",
                    "getAsynchronously",
                    "listenOnLocalhost",
                    "getCurrentCarrier",
                    "readAccelerometer",
                    "messageAvailable",
                    "sendDigitalPorts",
                    "lineFollowConfig",
                    "countryNameWrite",
                    "runShellCommand",
                    "readStringUntil",
                    "rewindDirectory",
                    "readTemperature",
                    "setClockDivider",
                    "readLightSensor",
                    "endTransmission",
                    "analogReference",
                    "detachInterrupt",
                    "countryNameRead",
                    "attachInterrupt",
                    "encryptionType",
                    "readBytesUntil",
                    "robotNameWrite",
                    "readMicrophone",
                    "robotNameRead",
                    "cityNameWrite",
                    "userNameWrite",
                    "readJoystickY",
                    "readJoystickX",
                    "mouseReleased",
                    "openNextFile",
                    "scanNetworks",
                    "noInterrupts",
                    "digitalWrite",
                    "beginSpeaker",
                    "mousePressed",
                    "isActionDone",
                    "mouseDragged",
                    "displayLogos",
                    "noAutoscroll",
                    "addParameter",
                    "remoteNumber",
                    "getModifiers",
                    "keyboardRead",
                    "userNameRead",
                    "waitContinue",
                    "processInput",
                    "parseCommand",
                    "printVersion",
                    "readNetworks",
                    "writeMessage",
                    "blinkVersion",
                    "cityNameRead",
                    "readMessage",
                    "setDataMode",
                    "parsePacket",
                    "isListening",
                    "setBitOrder",
                    "beginPacket",
                    "isDirectory",
                    "motorsWrite",
                    "drawCompass",
                    "digitalRead",
                    "clearScreen",
                    "serialEvent",
                    "rightToLeft",
                    "setTextSize",
                    "leftToRight",
                    "requestFrom",
                    "keyReleased",
                    "compassRead",
                    "analogWrite",
                    "interrupts",
                    "WiFiServer",
                    "disconnect",
                    "playMelody",
                    "parseFloat",
                    "autoscroll",
                    "getPINUsed",
                    "setPINUsed",
                    "setTimeout",
                    "sendAnalog",
                    "readSlider",
                    "analogRead",
                    "beginWrite",
                    "createChar",
                    "motorsStop",
                    "keyPressed",
                    "tempoWrite",
                    "readButton",
                    "subnetMask",
                    "debugPrint",
                    "macAddress",
                    "writeGreen",
                    "randomSeed",
                    "attachGPRS",
                    "readString",
                    "sendString",
                    "remotePort",
                    "releaseAll",
                    "mouseMoved",
                    "background",
                    "getXChange",
                    "getYChange",
                    "answerCall",
                    "getResult",
                    "voiceCall",
                    "endPacket",
                    "constrain",
                    "getSocket",
                    "writeJSON",
                    "getButton",
                    "available",
                    "connected",
                    "findUntil",
                    "readBytes",
                    "exitValue",
                    "readGreen",
                    "writeBlue",
                    "startLoop",
                    "IPAddress",
                    "isPressed",
                    "sendSysex",
                    "pauseMode",
                    "gatewayIP",
                    "setCursor",
                    "getOemKey",
                    "tuneWrite",
                    "noDisplay",
                    "loadImage",
                    "switchPIN",
                    "onRequest",
                    "onReceive",
                    "changePIN",
                    "playFile",
                    "noBuffer",
                    "parseInt",
                    "overflow",
                    "checkPIN",
                    "knobRead",
                    "beginTFT",
                    "bitClear",
                    "updateIR",
                    "bitWrite",
                    "position",
                    "writeRGB",
                    "highByte",
                    "writeRed",
                    "setSpeed",
                    "readBlue",
                    "noStroke",
                    "remoteIP",
                    "transfer",
                    "shutdown",
                    "hangCall",
                    "beginSMS",
                    "endWrite",
                    "attached",
                    "maintain",
                    "noCursor",
                    "checkReg",
                    "checkPUK",
                    "shiftOut",
                    "isValid",
                    "shiftIn",
                    "pulseIn",
                    "connect",
                    "println",
                    "localIP",
                    "pinMode",
                    "getIMEI",
                    "display",
                    "noBlink",
                    "process",
                    "getBand",
                    "running",
                    "beginSD",
                    "drawBMP",
                    "lowByte",
                    "setBand",
                    "release",
                    "bitRead",
                    "prepare",
                    "pointTo",
                    "readRed",
                    "setMode",
                    "noFill",
                    "remove",
                    "listen",
                    "stroke",
                    "detach",
                    "attach",
                    "noTone",
                    "exists",
                    "buffer",
                    "height",
                    "bitSet",
                    "circle",
                    "config",
                    "cursor",
                    "random",
                    "IRread",
                    "setDNS",
                    "endSMS",
                    "getKey",
                    "micros",
                    "millis",
                    "begin",
                    "print",
                    "write",
                    "ready",
                    "flush",
                    "width",
                    "isPIN",
                    "blink",
                    "clear",
                    "press",
                    "mkdir",
                    "rmdir",
                    "close",
                    "point",
                    "yield",
                    "image",
                    "BSSID",
                    "click",
                    "delay",
                    "read",
                    "text",
                    "move",
                    "peek",
                    "beep",
                    "rect",
                    "line",
                    "open",
                    "seek",
                    "fill",
                    "size",
                    "turn",
                    "stop",
                    "home",
                    "find",
                    "step",
                    "tone",
                    "sqrt",
                    "RSSI",
                    "SSID",
                    "end",
                    "bit",
                    "tan",
                    "cos",
                    "sin",
                    "pow",
                    "map",
                    "abs",
                    "max",
                    "min",
                    "get",
                    "run",
                    "put"
                  ]
                },
                relevance: 0),
            Mode(
                begin: "(?:[a-zA-Z_]\\w*::)?[a-zA-Z]\\w*\\s*\\(",
                returnBegin: true,
                contains: [
                  Mode(
                      className: "title",
                      begin: "(?:[a-zA-Z_]\\w*::)?[a-zA-Z]\\w*",
                      relevance: 0)
                ],
                relevance: 0),
            Mode(begin: "::", relevance: 0),
            Mode(begin: ":", endsWithParent: true, contains: [
              Mode(ref: '~contains~0~contains~6'),
              Mode(ref: '~contains~0~contains~5')
            ]),
            Mode(relevance: 0, match: ","),
            Mode(
                className: "params",
                begin: "\\(",
                end: "\\)",
                keywords: {
                  "type": [
                    "bool",
                    "char",
                    "char16_t",
                    "char32_t",
                    "char8_t",
                    "double",
                    "float",
                    "int",
                    "long",
                    "short",
                    "void",
                    "wchar_t",
                    "unsigned",
                    "signed",
                    "const",
                    "static",
                    "boolean",
                    "byte",
                    "word",
                    "String"
                  ],
                  "keyword": [
                    "alignas",
                    "alignof",
                    "and",
                    "and_eq",
                    "asm",
                    "atomic_cancel",
                    "atomic_commit",
                    "atomic_noexcept",
                    "auto",
                    "bitand",
                    "bitor",
                    "break",
                    "case",
                    "catch",
                    "class",
                    "co_await",
                    "co_return",
                    "co_yield",
                    "compl",
                    "concept",
                    "const_cast|10",
                    "consteval",
                    "constexpr",
                    "constinit",
                    "continue",
                    "decltype",
                    "default",
                    "delete",
                    "do",
                    "dynamic_cast|10",
                    "else",
                    "enum",
                    "explicit",
                    "export",
                    "extern",
                    "false",
                    "final",
                    "for",
                    "friend",
                    "goto",
                    "if",
                    "import",
                    "inline",
                    "module",
                    "mutable",
                    "namespace",
                    "new",
                    "noexcept",
                    "not",
                    "not_eq",
                    "nullptr",
                    "operator",
                    "or",
                    "or_eq",
                    "override",
                    "private",
                    "protected",
                    "public",
                    "reflexpr",
                    "register",
                    "reinterpret_cast|10",
                    "requires",
                    "return",
                    "sizeof",
                    "static_assert",
                    "static_cast|10",
                    "struct",
                    "switch",
                    "synchronized",
                    "template",
                    "this",
                    "thread_local",
                    "throw",
                    "transaction_safe",
                    "transaction_safe_dynamic",
                    "true",
                    "try",
                    "typedef",
                    "typeid",
                    "typename",
                    "union",
                    "using",
                    "virtual",
                    "volatile",
                    "while",
                    "xor",
                    "xor_eq"
                  ],
                  "literal": [
                    "NULL",
                    "false",
                    "nullopt",
                    "nullptr",
                    "true",
                    "DIGITAL_MESSAGE",
                    "FIRMATA_STRING",
                    "ANALOG_MESSAGE",
                    "REPORT_DIGITAL",
                    "REPORT_ANALOG",
                    "INPUT_PULLUP",
                    "SET_PIN_MODE",
                    "INTERNAL2V56",
                    "SYSTEM_RESET",
                    "LED_BUILTIN",
                    "INTERNAL1V1",
                    "SYSEX_START",
                    "INTERNAL",
                    "EXTERNAL",
                    "DEFAULT",
                    "OUTPUT",
                    "INPUT",
                    "HIGH",
                    "LOW"
                  ],
                  "built_in": [
                    "_Pragma",
                    "KeyboardController",
                    "MouseController",
                    "SoftwareSerial",
                    "EthernetServer",
                    "EthernetClient",
                    "LiquidCrystal",
                    "RobotControl",
                    "GSMVoiceCall",
                    "EthernetUDP",
                    "EsploraTFT",
                    "HttpClient",
                    "RobotMotor",
                    "WiFiClient",
                    "GSMScanner",
                    "FileSystem",
                    "Scheduler",
                    "GSMServer",
                    "YunClient",
                    "YunServer",
                    "IPAddress",
                    "GSMClient",
                    "GSMModem",
                    "Keyboard",
                    "Ethernet",
                    "Console",
                    "GSMBand",
                    "Esplora",
                    "Stepper",
                    "Process",
                    "WiFiUDP",
                    "GSM_SMS",
                    "Mailbox",
                    "USBHost",
                    "Firmata",
                    "PImage",
                    "Client",
                    "Server",
                    "GSMPIN",
                    "FileIO",
                    "Bridge",
                    "Serial",
                    "EEPROM",
                    "Stream",
                    "Mouse",
                    "Audio",
                    "Servo",
                    "File",
                    "Task",
                    "GPRS",
                    "WiFi",
                    "Wire",
                    "TFT",
                    "GSM",
                    "SPI",
                    "SD"
                  ],
                  "_type_hints": [
                    "any",
                    "auto_ptr",
                    "barrier",
                    "binary_semaphore",
                    "bitset",
                    "complex",
                    "condition_variable",
                    "condition_variable_any",
                    "counting_semaphore",
                    "deque",
                    "false_type",
                    "future",
                    "imaginary",
                    "initializer_list",
                    "istringstream",
                    "jthread",
                    "latch",
                    "lock_guard",
                    "multimap",
                    "multiset",
                    "mutex",
                    "optional",
                    "ostringstream",
                    "packaged_task",
                    "pair",
                    "promise",
                    "priority_queue",
                    "queue",
                    "recursive_mutex",
                    "recursive_timed_mutex",
                    "scoped_lock",
                    "set",
                    "shared_future",
                    "shared_lock",
                    "shared_mutex",
                    "shared_timed_mutex",
                    "shared_ptr",
                    "stack",
                    "string_view",
                    "stringstream",
                    "timed_mutex",
                    "thread",
                    "true_type",
                    "tuple",
                    "unique_lock",
                    "unique_ptr",
                    "unordered_map",
                    "unordered_multimap",
                    "unordered_multiset",
                    "unordered_set",
                    "variant",
                    "vector",
                    "weak_ptr",
                    "wstring",
                    "wstring_view"
                  ],
                  "_hints": [
                    "setup",
                    "loop",
                    "runShellCommandAsynchronously",
                    "analogWriteResolution",
                    "retrieveCallingNumber",
                    "printFirmwareVersion",
                    "analogReadResolution",
                    "sendDigitalPortPair",
                    "noListenOnLocalhost",
                    "readJoystickButton",
                    "setFirmwareVersion",
                    "readJoystickSwitch",
                    "scrollDisplayRight",
                    "getVoiceCallStatus",
                    "scrollDisplayLeft",
                    "writeMicroseconds",
                    "delayMicroseconds",
                    "beginTransmission",
                    "getSignalStrength",
                    "runAsynchronously",
                    "getAsynchronously",
                    "listenOnLocalhost",
                    "getCurrentCarrier",
                    "readAccelerometer",
                    "messageAvailable",
                    "sendDigitalPorts",
                    "lineFollowConfig",
                    "countryNameWrite",
                    "runShellCommand",
                    "readStringUntil",
                    "rewindDirectory",
                    "readTemperature",
                    "setClockDivider",
                    "readLightSensor",
                    "endTransmission",
                    "analogReference",
                    "detachInterrupt",
                    "countryNameRead",
                    "attachInterrupt",
                    "encryptionType",
                    "readBytesUntil",
                    "robotNameWrite",
                    "readMicrophone",
                    "robotNameRead",
                    "cityNameWrite",
                    "userNameWrite",
                    "readJoystickY",
                    "readJoystickX",
                    "mouseReleased",
                    "openNextFile",
                    "scanNetworks",
                    "noInterrupts",
                    "digitalWrite",
                    "beginSpeaker",
                    "mousePressed",
                    "isActionDone",
                    "mouseDragged",
                    "displayLogos",
                    "noAutoscroll",
                    "addParameter",
                    "remoteNumber",
                    "getModifiers",
                    "keyboardRead",
                    "userNameRead",
                    "waitContinue",
                    "processInput",
                    "parseCommand",
                    "printVersion",
                    "readNetworks",
                    "writeMessage",
                    "blinkVersion",
                    "cityNameRead",
                    "readMessage",
                    "setDataMode",
                    "parsePacket",
                    "isListening",
                    "setBitOrder",
                    "beginPacket",
                    "isDirectory",
                    "motorsWrite",
                    "drawCompass",
                    "digitalRead",
                    "clearScreen",
                    "serialEvent",
                    "rightToLeft",
                    "setTextSize",
                    "leftToRight",
                    "requestFrom",
                    "keyReleased",
                    "compassRead",
                    "analogWrite",
                    "interrupts",
                    "WiFiServer",
                    "disconnect",
                    "playMelody",
                    "parseFloat",
                    "autoscroll",
                    "getPINUsed",
                    "setPINUsed",
                    "setTimeout",
                    "sendAnalog",
                    "readSlider",
                    "analogRead",
                    "beginWrite",
                    "createChar",
                    "motorsStop",
                    "keyPressed",
                    "tempoWrite",
                    "readButton",
                    "subnetMask",
                    "debugPrint",
                    "macAddress",
                    "writeGreen",
                    "randomSeed",
                    "attachGPRS",
                    "readString",
                    "sendString",
                    "remotePort",
                    "releaseAll",
                    "mouseMoved",
                    "background",
                    "getXChange",
                    "getYChange",
                    "answerCall",
                    "getResult",
                    "voiceCall",
                    "endPacket",
                    "constrain",
                    "getSocket",
                    "writeJSON",
                    "getButton",
                    "available",
                    "connected",
                    "findUntil",
                    "readBytes",
                    "exitValue",
                    "readGreen",
                    "writeBlue",
                    "startLoop",
                    "IPAddress",
                    "isPressed",
                    "sendSysex",
                    "pauseMode",
                    "gatewayIP",
                    "setCursor",
                    "getOemKey",
                    "tuneWrite",
                    "noDisplay",
                    "loadImage",
                    "switchPIN",
                    "onRequest",
                    "onReceive",
                    "changePIN",
                    "playFile",
                    "noBuffer",
                    "parseInt",
                    "overflow",
                    "checkPIN",
                    "knobRead",
                    "beginTFT",
                    "bitClear",
                    "updateIR",
                    "bitWrite",
                    "position",
                    "writeRGB",
                    "highByte",
                    "writeRed",
                    "setSpeed",
                    "readBlue",
                    "noStroke",
                    "remoteIP",
                    "transfer",
                    "shutdown",
                    "hangCall",
                    "beginSMS",
                    "endWrite",
                    "attached",
                    "maintain",
                    "noCursor",
                    "checkReg",
                    "checkPUK",
                    "shiftOut",
                    "isValid",
                    "shiftIn",
                    "pulseIn",
                    "connect",
                    "println",
                    "localIP",
                    "pinMode",
                    "getIMEI",
                    "display",
                    "noBlink",
                    "process",
                    "getBand",
                    "running",
                    "beginSD",
                    "drawBMP",
                    "lowByte",
                    "setBand",
                    "release",
                    "bitRead",
                    "prepare",
                    "pointTo",
                    "readRed",
                    "setMode",
                    "noFill",
                    "remove",
                    "listen",
                    "stroke",
                    "detach",
                    "attach",
                    "noTone",
                    "exists",
                    "buffer",
                    "height",
                    "bitSet",
                    "circle",
                    "config",
                    "cursor",
                    "random",
                    "IRread",
                    "setDNS",
                    "endSMS",
                    "getKey",
                    "micros",
                    "millis",
                    "begin",
                    "print",
                    "write",
                    "ready",
                    "flush",
                    "width",
                    "isPIN",
                    "blink",
                    "clear",
                    "press",
                    "mkdir",
                    "rmdir",
                    "close",
                    "point",
                    "yield",
                    "image",
                    "BSSID",
                    "click",
                    "delay",
                    "read",
                    "text",
                    "move",
                    "peek",
                    "beep",
                    "rect",
                    "line",
                    "open",
                    "seek",
                    "fill",
                    "size",
                    "turn",
                    "stop",
                    "home",
                    "find",
                    "step",
                    "tone",
                    "sqrt",
                    "RSSI",
                    "SSID",
                    "end",
                    "bit",
                    "tan",
                    "cos",
                    "sin",
                    "pow",
                    "map",
                    "abs",
                    "max",
                    "min",
                    "get",
                    "run",
                    "put"
                  ]
                },
                relevance: 0,
                contains: [
                  Mode(ref: '~contains~0~contains~1~contains~3'),
                  C_BLOCK_COMMENT_MODE,
                  Mode(ref: '~contains~0~contains~6'),
                  Mode(ref: '~contains~0~contains~5'),
                  Mode(ref: '~contains~0~contains~2'),
                  Mode(
                      begin: "\\(",
                      end: "\\)",
                      keywords: {
                        "type": [
                          "bool",
                          "char",
                          "char16_t",
                          "char32_t",
                          "char8_t",
                          "double",
                          "float",
                          "int",
                          "long",
                          "short",
                          "void",
                          "wchar_t",
                          "unsigned",
                          "signed",
                          "const",
                          "static",
                          "boolean",
                          "byte",
                          "word",
                          "String"
                        ],
                        "keyword": [
                          "alignas",
                          "alignof",
                          "and",
                          "and_eq",
                          "asm",
                          "atomic_cancel",
                          "atomic_commit",
                          "atomic_noexcept",
                          "auto",
                          "bitand",
                          "bitor",
                          "break",
                          "case",
                          "catch",
                          "class",
                          "co_await",
                          "co_return",
                          "co_yield",
                          "compl",
                          "concept",
                          "const_cast|10",
                          "consteval",
                          "constexpr",
                          "constinit",
                          "continue",
                          "decltype",
                          "default",
                          "delete",
                          "do",
                          "dynamic_cast|10",
                          "else",
                          "enum",
                          "explicit",
                          "export",
                          "extern",
                          "false",
                          "final",
                          "for",
                          "friend",
                          "goto",
                          "if",
                          "import",
                          "inline",
                          "module",
                          "mutable",
                          "namespace",
                          "new",
                          "noexcept",
                          "not",
                          "not_eq",
                          "nullptr",
                          "operator",
                          "or",
                          "or_eq",
                          "override",
                          "private",
                          "protected",
                          "public",
                          "reflexpr",
                          "register",
                          "reinterpret_cast|10",
                          "requires",
                          "return",
                          "sizeof",
                          "static_assert",
                          "static_cast|10",
                          "struct",
                          "switch",
                          "synchronized",
                          "template",
                          "this",
                          "thread_local",
                          "throw",
                          "transaction_safe",
                          "transaction_safe_dynamic",
                          "true",
                          "try",
                          "typedef",
                          "typeid",
                          "typename",
                          "union",
                          "using",
                          "virtual",
                          "volatile",
                          "while",
                          "xor",
                          "xor_eq"
                        ],
                        "literal": [
                          "NULL",
                          "false",
                          "nullopt",
                          "nullptr",
                          "true",
                          "DIGITAL_MESSAGE",
                          "FIRMATA_STRING",
                          "ANALOG_MESSAGE",
                          "REPORT_DIGITAL",
                          "REPORT_ANALOG",
                          "INPUT_PULLUP",
                          "SET_PIN_MODE",
                          "INTERNAL2V56",
                          "SYSTEM_RESET",
                          "LED_BUILTIN",
                          "INTERNAL1V1",
                          "SYSEX_START",
                          "INTERNAL",
                          "EXTERNAL",
                          "DEFAULT",
                          "OUTPUT",
                          "INPUT",
                          "HIGH",
                          "LOW"
                        ],
                        "built_in": [
                          "_Pragma",
                          "KeyboardController",
                          "MouseController",
                          "SoftwareSerial",
                          "EthernetServer",
                          "EthernetClient",
                          "LiquidCrystal",
                          "RobotControl",
                          "GSMVoiceCall",
                          "EthernetUDP",
                          "EsploraTFT",
                          "HttpClient",
                          "RobotMotor",
                          "WiFiClient",
                          "GSMScanner",
                          "FileSystem",
                          "Scheduler",
                          "GSMServer",
                          "YunClient",
                          "YunServer",
                          "IPAddress",
                          "GSMClient",
                          "GSMModem",
                          "Keyboard",
                          "Ethernet",
                          "Console",
                          "GSMBand",
                          "Esplora",
                          "Stepper",
                          "Process",
                          "WiFiUDP",
                          "GSM_SMS",
                          "Mailbox",
                          "USBHost",
                          "Firmata",
                          "PImage",
                          "Client",
                          "Server",
                          "GSMPIN",
                          "FileIO",
                          "Bridge",
                          "Serial",
                          "EEPROM",
                          "Stream",
                          "Mouse",
                          "Audio",
                          "Servo",
                          "File",
                          "Task",
                          "GPRS",
                          "WiFi",
                          "Wire",
                          "TFT",
                          "GSM",
                          "SPI",
                          "SD"
                        ],
                        "_type_hints": [
                          "any",
                          "auto_ptr",
                          "barrier",
                          "binary_semaphore",
                          "bitset",
                          "complex",
                          "condition_variable",
                          "condition_variable_any",
                          "counting_semaphore",
                          "deque",
                          "false_type",
                          "future",
                          "imaginary",
                          "initializer_list",
                          "istringstream",
                          "jthread",
                          "latch",
                          "lock_guard",
                          "multimap",
                          "multiset",
                          "mutex",
                          "optional",
                          "ostringstream",
                          "packaged_task",
                          "pair",
                          "promise",
                          "priority_queue",
                          "queue",
                          "recursive_mutex",
                          "recursive_timed_mutex",
                          "scoped_lock",
                          "set",
                          "shared_future",
                          "shared_lock",
                          "shared_mutex",
                          "shared_timed_mutex",
                          "shared_ptr",
                          "stack",
                          "string_view",
                          "stringstream",
                          "timed_mutex",
                          "thread",
                          "true_type",
                          "tuple",
                          "unique_lock",
                          "unique_ptr",
                          "unordered_map",
                          "unordered_multimap",
                          "unordered_multiset",
                          "unordered_set",
                          "variant",
                          "vector",
                          "weak_ptr",
                          "wstring",
                          "wstring_view"
                        ],
                        "_hints": [
                          "setup",
                          "loop",
                          "runShellCommandAsynchronously",
                          "analogWriteResolution",
                          "retrieveCallingNumber",
                          "printFirmwareVersion",
                          "analogReadResolution",
                          "sendDigitalPortPair",
                          "noListenOnLocalhost",
                          "readJoystickButton",
                          "setFirmwareVersion",
                          "readJoystickSwitch",
                          "scrollDisplayRight",
                          "getVoiceCallStatus",
                          "scrollDisplayLeft",
                          "writeMicroseconds",
                          "delayMicroseconds",
                          "beginTransmission",
                          "getSignalStrength",
                          "runAsynchronously",
                          "getAsynchronously",
                          "listenOnLocalhost",
                          "getCurrentCarrier",
                          "readAccelerometer",
                          "messageAvailable",
                          "sendDigitalPorts",
                          "lineFollowConfig",
                          "countryNameWrite",
                          "runShellCommand",
                          "readStringUntil",
                          "rewindDirectory",
                          "readTemperature",
                          "setClockDivider",
                          "readLightSensor",
                          "endTransmission",
                          "analogReference",
                          "detachInterrupt",
                          "countryNameRead",
                          "attachInterrupt",
                          "encryptionType",
                          "readBytesUntil",
                          "robotNameWrite",
                          "readMicrophone",
                          "robotNameRead",
                          "cityNameWrite",
                          "userNameWrite",
                          "readJoystickY",
                          "readJoystickX",
                          "mouseReleased",
                          "openNextFile",
                          "scanNetworks",
                          "noInterrupts",
                          "digitalWrite",
                          "beginSpeaker",
                          "mousePressed",
                          "isActionDone",
                          "mouseDragged",
                          "displayLogos",
                          "noAutoscroll",
                          "addParameter",
                          "remoteNumber",
                          "getModifiers",
                          "keyboardRead",
                          "userNameRead",
                          "waitContinue",
                          "processInput",
                          "parseCommand",
                          "printVersion",
                          "readNetworks",
                          "writeMessage",
                          "blinkVersion",
                          "cityNameRead",
                          "readMessage",
                          "setDataMode",
                          "parsePacket",
                          "isListening",
                          "setBitOrder",
                          "beginPacket",
                          "isDirectory",
                          "motorsWrite",
                          "drawCompass",
                          "digitalRead",
                          "clearScreen",
                          "serialEvent",
                          "rightToLeft",
                          "setTextSize",
                          "leftToRight",
                          "requestFrom",
                          "keyReleased",
                          "compassRead",
                          "analogWrite",
                          "interrupts",
                          "WiFiServer",
                          "disconnect",
                          "playMelody",
                          "parseFloat",
                          "autoscroll",
                          "getPINUsed",
                          "setPINUsed",
                          "setTimeout",
                          "sendAnalog",
                          "readSlider",
                          "analogRead",
                          "beginWrite",
                          "createChar",
                          "motorsStop",
                          "keyPressed",
                          "tempoWrite",
                          "readButton",
                          "subnetMask",
                          "debugPrint",
                          "macAddress",
                          "writeGreen",
                          "randomSeed",
                          "attachGPRS",
                          "readString",
                          "sendString",
                          "remotePort",
                          "releaseAll",
                          "mouseMoved",
                          "background",
                          "getXChange",
                          "getYChange",
                          "answerCall",
                          "getResult",
                          "voiceCall",
                          "endPacket",
                          "constrain",
                          "getSocket",
                          "writeJSON",
                          "getButton",
                          "available",
                          "connected",
                          "findUntil",
                          "readBytes",
                          "exitValue",
                          "readGreen",
                          "writeBlue",
                          "startLoop",
                          "IPAddress",
                          "isPressed",
                          "sendSysex",
                          "pauseMode",
                          "gatewayIP",
                          "setCursor",
                          "getOemKey",
                          "tuneWrite",
                          "noDisplay",
                          "loadImage",
                          "switchPIN",
                          "onRequest",
                          "onReceive",
                          "changePIN",
                          "playFile",
                          "noBuffer",
                          "parseInt",
                          "overflow",
                          "checkPIN",
                          "knobRead",
                          "beginTFT",
                          "bitClear",
                          "updateIR",
                          "bitWrite",
                          "position",
                          "writeRGB",
                          "highByte",
                          "writeRed",
                          "setSpeed",
                          "readBlue",
                          "noStroke",
                          "remoteIP",
                          "transfer",
                          "shutdown",
                          "hangCall",
                          "beginSMS",
                          "endWrite",
                          "attached",
                          "maintain",
                          "noCursor",
                          "checkReg",
                          "checkPUK",
                          "shiftOut",
                          "isValid",
                          "shiftIn",
                          "pulseIn",
                          "connect",
                          "println",
                          "localIP",
                          "pinMode",
                          "getIMEI",
                          "display",
                          "noBlink",
                          "process",
                          "getBand",
                          "running",
                          "beginSD",
                          "drawBMP",
                          "lowByte",
                          "setBand",
                          "release",
                          "bitRead",
                          "prepare",
                          "pointTo",
                          "readRed",
                          "setMode",
                          "noFill",
                          "remove",
                          "listen",
                          "stroke",
                          "detach",
                          "attach",
                          "noTone",
                          "exists",
                          "buffer",
                          "height",
                          "bitSet",
                          "circle",
                          "config",
                          "cursor",
                          "random",
                          "IRread",
                          "setDNS",
                          "endSMS",
                          "getKey",
                          "micros",
                          "millis",
                          "begin",
                          "print",
                          "write",
                          "ready",
                          "flush",
                          "width",
                          "isPIN",
                          "blink",
                          "clear",
                          "press",
                          "mkdir",
                          "rmdir",
                          "close",
                          "point",
                          "yield",
                          "image",
                          "BSSID",
                          "click",
                          "delay",
                          "read",
                          "text",
                          "move",
                          "peek",
                          "beep",
                          "rect",
                          "line",
                          "open",
                          "seek",
                          "fill",
                          "size",
                          "turn",
                          "stop",
                          "home",
                          "find",
                          "step",
                          "tone",
                          "sqrt",
                          "RSSI",
                          "SSID",
                          "end",
                          "bit",
                          "tan",
                          "cos",
                          "sin",
                          "pow",
                          "map",
                          "abs",
                          "max",
                          "min",
                          "get",
                          "run",
                          "put"
                        ]
                      },
                      relevance: 0,
                      contains: [
                        Mode(self: true),
                        Mode(ref: '~contains~0~contains~1~contains~3'),
                        C_BLOCK_COMMENT_MODE,
                        Mode(ref: '~contains~0~contains~6'),
                        Mode(ref: '~contains~0~contains~5'),
                        Mode(ref: '~contains~0~contains~2')
                      ])
                ]),
            Mode(ref: '~contains~0~contains~2'),
            Mode(ref: '~contains~0~contains~1~contains~3'),
            C_BLOCK_COMMENT_MODE,
            Mode(ref: '~contains~0~contains~1')
          ]),
      Mode(ref: '~contains~0~contains~0'),
      Mode(ref: '~contains~0~contains~0'),
      Mode(ref: '~contains~0~contains~1'),
      Mode(ref: '~contains~0~contains~2'),
      Mode(ref: '~contains~0~contains~1~contains~3'),
      C_BLOCK_COMMENT_MODE,
      Mode(ref: '~contains~0~contains~5'),
      Mode(ref: '~contains~0~contains~6'),
      Mode(ref: '~contains~0~contains~1'),
      Mode(
          begin:
              "\\b(deque|list|queue|priority_queue|pair|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array|tuple|optional|variant|function)\\s*<(?!<)",
          end: ">",
          keywords: {
            "type": [
              "bool",
              "char",
              "char16_t",
              "char32_t",
              "char8_t",
              "double",
              "float",
              "int",
              "long",
              "short",
              "void",
              "wchar_t",
              "unsigned",
              "signed",
              "const",
              "static",
              "boolean",
              "byte",
              "word",
              "String"
            ],
            "keyword": [
              "alignas",
              "alignof",
              "and",
              "and_eq",
              "asm",
              "atomic_cancel",
              "atomic_commit",
              "atomic_noexcept",
              "auto",
              "bitand",
              "bitor",
              "break",
              "case",
              "catch",
              "class",
              "co_await",
              "co_return",
              "co_yield",
              "compl",
              "concept",
              "const_cast|10",
              "consteval",
              "constexpr",
              "constinit",
              "continue",
              "decltype",
              "default",
              "delete",
              "do",
              "dynamic_cast|10",
              "else",
              "enum",
              "explicit",
              "export",
              "extern",
              "false",
              "final",
              "for",
              "friend",
              "goto",
              "if",
              "import",
              "inline",
              "module",
              "mutable",
              "namespace",
              "new",
              "noexcept",
              "not",
              "not_eq",
              "nullptr",
              "operator",
              "or",
              "or_eq",
              "override",
              "private",
              "protected",
              "public",
              "reflexpr",
              "register",
              "reinterpret_cast|10",
              "requires",
              "return",
              "sizeof",
              "static_assert",
              "static_cast|10",
              "struct",
              "switch",
              "synchronized",
              "template",
              "this",
              "thread_local",
              "throw",
              "transaction_safe",
              "transaction_safe_dynamic",
              "true",
              "try",
              "typedef",
              "typeid",
              "typename",
              "union",
              "using",
              "virtual",
              "volatile",
              "while",
              "xor",
              "xor_eq"
            ],
            "literal": [
              "NULL",
              "false",
              "nullopt",
              "nullptr",
              "true",
              "DIGITAL_MESSAGE",
              "FIRMATA_STRING",
              "ANALOG_MESSAGE",
              "REPORT_DIGITAL",
              "REPORT_ANALOG",
              "INPUT_PULLUP",
              "SET_PIN_MODE",
              "INTERNAL2V56",
              "SYSTEM_RESET",
              "LED_BUILTIN",
              "INTERNAL1V1",
              "SYSEX_START",
              "INTERNAL",
              "EXTERNAL",
              "DEFAULT",
              "OUTPUT",
              "INPUT",
              "HIGH",
              "LOW"
            ],
            "built_in": [
              "_Pragma",
              "KeyboardController",
              "MouseController",
              "SoftwareSerial",
              "EthernetServer",
              "EthernetClient",
              "LiquidCrystal",
              "RobotControl",
              "GSMVoiceCall",
              "EthernetUDP",
              "EsploraTFT",
              "HttpClient",
              "RobotMotor",
              "WiFiClient",
              "GSMScanner",
              "FileSystem",
              "Scheduler",
              "GSMServer",
              "YunClient",
              "YunServer",
              "IPAddress",
              "GSMClient",
              "GSMModem",
              "Keyboard",
              "Ethernet",
              "Console",
              "GSMBand",
              "Esplora",
              "Stepper",
              "Process",
              "WiFiUDP",
              "GSM_SMS",
              "Mailbox",
              "USBHost",
              "Firmata",
              "PImage",
              "Client",
              "Server",
              "GSMPIN",
              "FileIO",
              "Bridge",
              "Serial",
              "EEPROM",
              "Stream",
              "Mouse",
              "Audio",
              "Servo",
              "File",
              "Task",
              "GPRS",
              "WiFi",
              "Wire",
              "TFT",
              "GSM",
              "SPI",
              "SD"
            ],
            "_type_hints": [
              "any",
              "auto_ptr",
              "barrier",
              "binary_semaphore",
              "bitset",
              "complex",
              "condition_variable",
              "condition_variable_any",
              "counting_semaphore",
              "deque",
              "false_type",
              "future",
              "imaginary",
              "initializer_list",
              "istringstream",
              "jthread",
              "latch",
              "lock_guard",
              "multimap",
              "multiset",
              "mutex",
              "optional",
              "ostringstream",
              "packaged_task",
              "pair",
              "promise",
              "priority_queue",
              "queue",
              "recursive_mutex",
              "recursive_timed_mutex",
              "scoped_lock",
              "set",
              "shared_future",
              "shared_lock",
              "shared_mutex",
              "shared_timed_mutex",
              "shared_ptr",
              "stack",
              "string_view",
              "stringstream",
              "timed_mutex",
              "thread",
              "true_type",
              "tuple",
              "unique_lock",
              "unique_ptr",
              "unordered_map",
              "unordered_multimap",
              "unordered_multiset",
              "unordered_set",
              "variant",
              "vector",
              "weak_ptr",
              "wstring",
              "wstring_view"
            ],
            "_hints": [
              "setup",
              "loop",
              "runShellCommandAsynchronously",
              "analogWriteResolution",
              "retrieveCallingNumber",
              "printFirmwareVersion",
              "analogReadResolution",
              "sendDigitalPortPair",
              "noListenOnLocalhost",
              "readJoystickButton",
              "setFirmwareVersion",
              "readJoystickSwitch",
              "scrollDisplayRight",
              "getVoiceCallStatus",
              "scrollDisplayLeft",
              "writeMicroseconds",
              "delayMicroseconds",
              "beginTransmission",
              "getSignalStrength",
              "runAsynchronously",
              "getAsynchronously",
              "listenOnLocalhost",
              "getCurrentCarrier",
              "readAccelerometer",
              "messageAvailable",
              "sendDigitalPorts",
              "lineFollowConfig",
              "countryNameWrite",
              "runShellCommand",
              "readStringUntil",
              "rewindDirectory",
              "readTemperature",
              "setClockDivider",
              "readLightSensor",
              "endTransmission",
              "analogReference",
              "detachInterrupt",
              "countryNameRead",
              "attachInterrupt",
              "encryptionType",
              "readBytesUntil",
              "robotNameWrite",
              "readMicrophone",
              "robotNameRead",
              "cityNameWrite",
              "userNameWrite",
              "readJoystickY",
              "readJoystickX",
              "mouseReleased",
              "openNextFile",
              "scanNetworks",
              "noInterrupts",
              "digitalWrite",
              "beginSpeaker",
              "mousePressed",
              "isActionDone",
              "mouseDragged",
              "displayLogos",
              "noAutoscroll",
              "addParameter",
              "remoteNumber",
              "getModifiers",
              "keyboardRead",
              "userNameRead",
              "waitContinue",
              "processInput",
              "parseCommand",
              "printVersion",
              "readNetworks",
              "writeMessage",
              "blinkVersion",
              "cityNameRead",
              "readMessage",
              "setDataMode",
              "parsePacket",
              "isListening",
              "setBitOrder",
              "beginPacket",
              "isDirectory",
              "motorsWrite",
              "drawCompass",
              "digitalRead",
              "clearScreen",
              "serialEvent",
              "rightToLeft",
              "setTextSize",
              "leftToRight",
              "requestFrom",
              "keyReleased",
              "compassRead",
              "analogWrite",
              "interrupts",
              "WiFiServer",
              "disconnect",
              "playMelody",
              "parseFloat",
              "autoscroll",
              "getPINUsed",
              "setPINUsed",
              "setTimeout",
              "sendAnalog",
              "readSlider",
              "analogRead",
              "beginWrite",
              "createChar",
              "motorsStop",
              "keyPressed",
              "tempoWrite",
              "readButton",
              "subnetMask",
              "debugPrint",
              "macAddress",
              "writeGreen",
              "randomSeed",
              "attachGPRS",
              "readString",
              "sendString",
              "remotePort",
              "releaseAll",
              "mouseMoved",
              "background",
              "getXChange",
              "getYChange",
              "answerCall",
              "getResult",
              "voiceCall",
              "endPacket",
              "constrain",
              "getSocket",
              "writeJSON",
              "getButton",
              "available",
              "connected",
              "findUntil",
              "readBytes",
              "exitValue",
              "readGreen",
              "writeBlue",
              "startLoop",
              "IPAddress",
              "isPressed",
              "sendSysex",
              "pauseMode",
              "gatewayIP",
              "setCursor",
              "getOemKey",
              "tuneWrite",
              "noDisplay",
              "loadImage",
              "switchPIN",
              "onRequest",
              "onReceive",
              "changePIN",
              "playFile",
              "noBuffer",
              "parseInt",
              "overflow",
              "checkPIN",
              "knobRead",
              "beginTFT",
              "bitClear",
              "updateIR",
              "bitWrite",
              "position",
              "writeRGB",
              "highByte",
              "writeRed",
              "setSpeed",
              "readBlue",
              "noStroke",
              "remoteIP",
              "transfer",
              "shutdown",
              "hangCall",
              "beginSMS",
              "endWrite",
              "attached",
              "maintain",
              "noCursor",
              "checkReg",
              "checkPUK",
              "shiftOut",
              "isValid",
              "shiftIn",
              "pulseIn",
              "connect",
              "println",
              "localIP",
              "pinMode",
              "getIMEI",
              "display",
              "noBlink",
              "process",
              "getBand",
              "running",
              "beginSD",
              "drawBMP",
              "lowByte",
              "setBand",
              "release",
              "bitRead",
              "prepare",
              "pointTo",
              "readRed",
              "setMode",
              "noFill",
              "remove",
              "listen",
              "stroke",
              "detach",
              "attach",
              "noTone",
              "exists",
              "buffer",
              "height",
              "bitSet",
              "circle",
              "config",
              "cursor",
              "random",
              "IRread",
              "setDNS",
              "endSMS",
              "getKey",
              "micros",
              "millis",
              "begin",
              "print",
              "write",
              "ready",
              "flush",
              "width",
              "isPIN",
              "blink",
              "clear",
              "press",
              "mkdir",
              "rmdir",
              "close",
              "point",
              "yield",
              "image",
              "BSSID",
              "click",
              "delay",
              "read",
              "text",
              "move",
              "peek",
              "beep",
              "rect",
              "line",
              "open",
              "seek",
              "fill",
              "size",
              "turn",
              "stop",
              "home",
              "find",
              "step",
              "tone",
              "sqrt",
              "RSSI",
              "SSID",
              "end",
              "bit",
              "tan",
              "cos",
              "sin",
              "pow",
              "map",
              "abs",
              "max",
              "min",
              "get",
              "run",
              "put"
            ]
          },
          contains: [
            Mode(self: true),
            Mode(ref: '~contains~0~contains~2')
          ]),
      Mode(begin: "[a-zA-Z]\\w*::", keywords: {
        "type": [
          "bool",
          "char",
          "char16_t",
          "char32_t",
          "char8_t",
          "double",
          "float",
          "int",
          "long",
          "short",
          "void",
          "wchar_t",
          "unsigned",
          "signed",
          "const",
          "static",
          "boolean",
          "byte",
          "word",
          "String"
        ],
        "keyword": [
          "alignas",
          "alignof",
          "and",
          "and_eq",
          "asm",
          "atomic_cancel",
          "atomic_commit",
          "atomic_noexcept",
          "auto",
          "bitand",
          "bitor",
          "break",
          "case",
          "catch",
          "class",
          "co_await",
          "co_return",
          "co_yield",
          "compl",
          "concept",
          "const_cast|10",
          "consteval",
          "constexpr",
          "constinit",
          "continue",
          "decltype",
          "default",
          "delete",
          "do",
          "dynamic_cast|10",
          "else",
          "enum",
          "explicit",
          "export",
          "extern",
          "false",
          "final",
          "for",
          "friend",
          "goto",
          "if",
          "import",
          "inline",
          "module",
          "mutable",
          "namespace",
          "new",
          "noexcept",
          "not",
          "not_eq",
          "nullptr",
          "operator",
          "or",
          "or_eq",
          "override",
          "private",
          "protected",
          "public",
          "reflexpr",
          "register",
          "reinterpret_cast|10",
          "requires",
          "return",
          "sizeof",
          "static_assert",
          "static_cast|10",
          "struct",
          "switch",
          "synchronized",
          "template",
          "this",
          "thread_local",
          "throw",
          "transaction_safe",
          "transaction_safe_dynamic",
          "true",
          "try",
          "typedef",
          "typeid",
          "typename",
          "union",
          "using",
          "virtual",
          "volatile",
          "while",
          "xor",
          "xor_eq"
        ],
        "literal": [
          "NULL",
          "false",
          "nullopt",
          "nullptr",
          "true",
          "DIGITAL_MESSAGE",
          "FIRMATA_STRING",
          "ANALOG_MESSAGE",
          "REPORT_DIGITAL",
          "REPORT_ANALOG",
          "INPUT_PULLUP",
          "SET_PIN_MODE",
          "INTERNAL2V56",
          "SYSTEM_RESET",
          "LED_BUILTIN",
          "INTERNAL1V1",
          "SYSEX_START",
          "INTERNAL",
          "EXTERNAL",
          "DEFAULT",
          "OUTPUT",
          "INPUT",
          "HIGH",
          "LOW"
        ],
        "built_in": [
          "_Pragma",
          "KeyboardController",
          "MouseController",
          "SoftwareSerial",
          "EthernetServer",
          "EthernetClient",
          "LiquidCrystal",
          "RobotControl",
          "GSMVoiceCall",
          "EthernetUDP",
          "EsploraTFT",
          "HttpClient",
          "RobotMotor",
          "WiFiClient",
          "GSMScanner",
          "FileSystem",
          "Scheduler",
          "GSMServer",
          "YunClient",
          "YunServer",
          "IPAddress",
          "GSMClient",
          "GSMModem",
          "Keyboard",
          "Ethernet",
          "Console",
          "GSMBand",
          "Esplora",
          "Stepper",
          "Process",
          "WiFiUDP",
          "GSM_SMS",
          "Mailbox",
          "USBHost",
          "Firmata",
          "PImage",
          "Client",
          "Server",
          "GSMPIN",
          "FileIO",
          "Bridge",
          "Serial",
          "EEPROM",
          "Stream",
          "Mouse",
          "Audio",
          "Servo",
          "File",
          "Task",
          "GPRS",
          "WiFi",
          "Wire",
          "TFT",
          "GSM",
          "SPI",
          "SD"
        ],
        "_type_hints": [
          "any",
          "auto_ptr",
          "barrier",
          "binary_semaphore",
          "bitset",
          "complex",
          "condition_variable",
          "condition_variable_any",
          "counting_semaphore",
          "deque",
          "false_type",
          "future",
          "imaginary",
          "initializer_list",
          "istringstream",
          "jthread",
          "latch",
          "lock_guard",
          "multimap",
          "multiset",
          "mutex",
          "optional",
          "ostringstream",
          "packaged_task",
          "pair",
          "promise",
          "priority_queue",
          "queue",
          "recursive_mutex",
          "recursive_timed_mutex",
          "scoped_lock",
          "set",
          "shared_future",
          "shared_lock",
          "shared_mutex",
          "shared_timed_mutex",
          "shared_ptr",
          "stack",
          "string_view",
          "stringstream",
          "timed_mutex",
          "thread",
          "true_type",
          "tuple",
          "unique_lock",
          "unique_ptr",
          "unordered_map",
          "unordered_multimap",
          "unordered_multiset",
          "unordered_set",
          "variant",
          "vector",
          "weak_ptr",
          "wstring",
          "wstring_view"
        ],
        "_hints": [
          "setup",
          "loop",
          "runShellCommandAsynchronously",
          "analogWriteResolution",
          "retrieveCallingNumber",
          "printFirmwareVersion",
          "analogReadResolution",
          "sendDigitalPortPair",
          "noListenOnLocalhost",
          "readJoystickButton",
          "setFirmwareVersion",
          "readJoystickSwitch",
          "scrollDisplayRight",
          "getVoiceCallStatus",
          "scrollDisplayLeft",
          "writeMicroseconds",
          "delayMicroseconds",
          "beginTransmission",
          "getSignalStrength",
          "runAsynchronously",
          "getAsynchronously",
          "listenOnLocalhost",
          "getCurrentCarrier",
          "readAccelerometer",
          "messageAvailable",
          "sendDigitalPorts",
          "lineFollowConfig",
          "countryNameWrite",
          "runShellCommand",
          "readStringUntil",
          "rewindDirectory",
          "readTemperature",
          "setClockDivider",
          "readLightSensor",
          "endTransmission",
          "analogReference",
          "detachInterrupt",
          "countryNameRead",
          "attachInterrupt",
          "encryptionType",
          "readBytesUntil",
          "robotNameWrite",
          "readMicrophone",
          "robotNameRead",
          "cityNameWrite",
          "userNameWrite",
          "readJoystickY",
          "readJoystickX",
          "mouseReleased",
          "openNextFile",
          "scanNetworks",
          "noInterrupts",
          "digitalWrite",
          "beginSpeaker",
          "mousePressed",
          "isActionDone",
          "mouseDragged",
          "displayLogos",
          "noAutoscroll",
          "addParameter",
          "remoteNumber",
          "getModifiers",
          "keyboardRead",
          "userNameRead",
          "waitContinue",
          "processInput",
          "parseCommand",
          "printVersion",
          "readNetworks",
          "writeMessage",
          "blinkVersion",
          "cityNameRead",
          "readMessage",
          "setDataMode",
          "parsePacket",
          "isListening",
          "setBitOrder",
          "beginPacket",
          "isDirectory",
          "motorsWrite",
          "drawCompass",
          "digitalRead",
          "clearScreen",
          "serialEvent",
          "rightToLeft",
          "setTextSize",
          "leftToRight",
          "requestFrom",
          "keyReleased",
          "compassRead",
          "analogWrite",
          "interrupts",
          "WiFiServer",
          "disconnect",
          "playMelody",
          "parseFloat",
          "autoscroll",
          "getPINUsed",
          "setPINUsed",
          "setTimeout",
          "sendAnalog",
          "readSlider",
          "analogRead",
          "beginWrite",
          "createChar",
          "motorsStop",
          "keyPressed",
          "tempoWrite",
          "readButton",
          "subnetMask",
          "debugPrint",
          "macAddress",
          "writeGreen",
          "randomSeed",
          "attachGPRS",
          "readString",
          "sendString",
          "remotePort",
          "releaseAll",
          "mouseMoved",
          "background",
          "getXChange",
          "getYChange",
          "answerCall",
          "getResult",
          "voiceCall",
          "endPacket",
          "constrain",
          "getSocket",
          "writeJSON",
          "getButton",
          "available",
          "connected",
          "findUntil",
          "readBytes",
          "exitValue",
          "readGreen",
          "writeBlue",
          "startLoop",
          "IPAddress",
          "isPressed",
          "sendSysex",
          "pauseMode",
          "gatewayIP",
          "setCursor",
          "getOemKey",
          "tuneWrite",
          "noDisplay",
          "loadImage",
          "switchPIN",
          "onRequest",
          "onReceive",
          "changePIN",
          "playFile",
          "noBuffer",
          "parseInt",
          "overflow",
          "checkPIN",
          "knobRead",
          "beginTFT",
          "bitClear",
          "updateIR",
          "bitWrite",
          "position",
          "writeRGB",
          "highByte",
          "writeRed",
          "setSpeed",
          "readBlue",
          "noStroke",
          "remoteIP",
          "transfer",
          "shutdown",
          "hangCall",
          "beginSMS",
          "endWrite",
          "attached",
          "maintain",
          "noCursor",
          "checkReg",
          "checkPUK",
          "shiftOut",
          "isValid",
          "shiftIn",
          "pulseIn",
          "connect",
          "println",
          "localIP",
          "pinMode",
          "getIMEI",
          "display",
          "noBlink",
          "process",
          "getBand",
          "running",
          "beginSD",
          "drawBMP",
          "lowByte",
          "setBand",
          "release",
          "bitRead",
          "prepare",
          "pointTo",
          "readRed",
          "setMode",
          "noFill",
          "remove",
          "listen",
          "stroke",
          "detach",
          "attach",
          "noTone",
          "exists",
          "buffer",
          "height",
          "bitSet",
          "circle",
          "config",
          "cursor",
          "random",
          "IRread",
          "setDNS",
          "endSMS",
          "getKey",
          "micros",
          "millis",
          "begin",
          "print",
          "write",
          "ready",
          "flush",
          "width",
          "isPIN",
          "blink",
          "clear",
          "press",
          "mkdir",
          "rmdir",
          "close",
          "point",
          "yield",
          "image",
          "BSSID",
          "click",
          "delay",
          "read",
          "text",
          "move",
          "peek",
          "beep",
          "rect",
          "line",
          "open",
          "seek",
          "fill",
          "size",
          "turn",
          "stop",
          "home",
          "find",
          "step",
          "tone",
          "sqrt",
          "RSSI",
          "SSID",
          "end",
          "bit",
          "tan",
          "cos",
          "sin",
          "pow",
          "map",
          "abs",
          "max",
          "min",
          "get",
          "run",
          "put"
        ]
      }),
      Mode(match: [
        "\\b(?:enum(?:\\s+(?:class|struct))?|class|struct|union)",
        "\\s+",
        "\\w+"
      ], className: {
        "1": "keyword",
        "3": "title.class"
      })
    ],
    supersetOf: "cpp");