swift function

Mode swift(
  1. Highlight hljs
)

Highlight.js language definition for swift.

Implementation

Mode swift(Highlight hljs) {
  final Mode mode0 = Mode();
  final Mode mode1 = Mode();
  final Mode mode2 = Mode();
  final Mode mode3 = Mode();
  final Mode mode4 = Mode();
  final Mode mode5 = Mode();
  final Mode mode6 = Mode();
  final Mode mode7 = Mode();
  final Mode mode8 = Mode();
  final Mode mode9 = Mode();
  final Mode mode10 = Mode();
  final Mode mode11 = Mode();
  final Mode mode12 = Mode();
  final Mode mode13 = Mode();
  final Mode mode14 = Mode();
  final Mode mode15 = Mode();
  final Mode mode16 = Mode();
  final Mode mode17 = Mode();
  final Mode mode18 = Mode();
  final Mode mode19 = Mode();
  final Mode mode20 = Mode();
  final Mode mode21 = Mode();
  final Mode mode22 = Mode();
  final Mode mode23 = Mode();
  final Mode mode24 = Mode();
  final Mode mode25 = Mode();
  final Mode mode26 = Mode();
  final Mode mode27 = Mode();
  final Mode mode28 = Mode();
  final Mode mode29 = Mode();
  final Mode mode30 = Mode();
  final Mode mode31 = Mode();
  final Mode mode32 = Mode();
  final Mode mode33 = Mode();
  final Mode mode34 = Mode();
  final Mode mode35 = Mode();
  final Mode mode36 = Mode();
  final Mode mode37 = Mode();
  final Mode mode38 = Mode();
  final Mode mode39 = Mode();
  final Mode mode40 = Mode();
  final Mode mode41 = Mode();
  final Mode mode42 = Mode();
  final Mode mode43 = Mode();
  final Mode mode44 = Mode();
  final Mode mode45 = Mode();
  final Mode mode46 = Mode();
  final Mode mode47 = Mode();
  final Mode mode48 = Mode();
  final Mode mode49 = Mode();
  final Mode mode50 = Mode();
  final Mode mode51 = Mode();
  final Mode mode52 = Mode();
  final Mode mode53 = Mode();
  final Mode mode54 = Mode();
  final Mode mode55 = Mode();
  final Mode mode56 = Mode();
  final Mode mode57 = Mode();
  final Mode mode58 = Mode();
  final Mode mode59 = Mode();
  final Mode mode60 = Mode();
  final Mode mode61 = Mode();
  final Mode mode62 = Mode();
  final Mode mode63 = Mode();
  final Mode mode64 = Mode();
  final Mode mode65 = Mode();
  final Mode mode66 = Mode();
  final Mode mode67 = Mode();
  final Mode mode68 = Mode();
  final Mode mode69 = Mode();
  final Mode mode70 = Mode();
  final Mode mode71 = Mode();
  final Mode mode72 = Mode();
  final Mode mode73 = Mode();
  final Mode mode74 = Mode();
  final Mode mode75 = Mode();
  final Mode mode76 = Mode();
  final Mode mode77 = Mode();
  final Mode mode78 = Mode();
  final Mode mode79 = Mode();
  final Mode mode80 = Mode();
  final Mode mode81 = Mode();
  final Mode mode82 = Mode();
  final Mode mode83 = Mode();
  final Mode mode84 = Mode();
  final Mode mode85 = Mode();
  final Mode mode86 = Mode();
  final Mode mode87 = Mode();
  final Mode mode88 = Mode();
  final Mode mode89 = Mode();
  final Mode mode90 = Mode();
  final Mode mode91 = Mode();
  final Mode mode92 = Mode();
  final Mode mode93 = Mode();
  final Mode mode94 = Mode();
  final Mode mode95 = Mode();
  final Mode mode96 = Mode();
  final Mode mode97 = Mode();
  final Mode mode98 = Mode();
  final Mode mode99 = Mode();
  final Mode mode100 = Mode();
  final Mode mode101 = Mode();
  final Mode mode102 = Mode();
  final Mode mode103 = Mode();
  final Mode mode104 = Mode();
  final Mode mode105 = Mode();
  final Mode mode106 = Mode();
  mode0.scope = r'comment';
  mode0.begin = r'//';
  mode0.end = r'$';
  mode0.contains = [mode1, mode2];
  mode1.scope = r'doctag';
  mode1.begin = r'[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)';
  mode1.end = r'(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):';
  mode1.excludeBegin = true;
  mode1.relevance = 0;
  mode2.begin =
      r"[ ]+((?:I|a|is|so|us|to|at|if|in|it|on|[A-Za-z]+['](d|ve|re|ll|t|s|n)|[A-Za-z]+[-][a-z]+|[A-Za-z][a-z]{2,})[.]?[:]?([.][ ]|[ ])){3}";
  mode3.scope = r'comment';
  mode3.begin = r'/\*';
  mode3.end = r'\*/';
  mode3.contains = [r'self', mode4, mode5];
  mode4.scope = r'doctag';
  mode4.begin = r'[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)';
  mode4.end = r'(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):';
  mode4.excludeBegin = true;
  mode4.relevance = 0;
  mode5.begin =
      r"[ ]+((?:I|a|is|so|us|to|at|if|in|it|on|[A-Za-z]+['](d|ve|re|ll|t|s|n)|[A-Za-z]+[-][a-z]+|[A-Za-z][a-z]{2,})[.]?[:]?([.][ ]|[ ])){3}";
  mode6.begin = r'<';
  mode6.end = r'>';
  mode6.keywords = r'repeat each';
  mode6.contains = [mode0, mode3, mode7];
  mode7.match = r'(?=\b[A-Z])';
  mode7.relevance = 0;
  mode7.contains = [mode8, mode9, mode10, mode11, mode12, mode13];
  mode8.scope = r'type';
  mode8.match =
      r'(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)(?:(?:[a-zA-Z_]|[\u00A8\u00AA\u00AD\u00AF\u00B2-\u00B5\u00B7-\u00BA]|[\u00BC-\u00BE\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]|[\u0100-\u02FF\u0370-\u167F\u1681-\u180D\u180F-\u1DBF]|[\u1E00-\u1FFF]|[\u200B-\u200D\u202A-\u202E\u203F-\u2040\u2054\u2060-\u206F]|[\u2070-\u20CF\u2100-\u218F\u2460-\u24FF\u2776-\u2793]|[\u2C00-\u2DFF\u2E80-\u2FFF]|[\u3004-\u3007\u3021-\u302F\u3031-\u303F\u3040-\uD7FF]|[\uF900-\uFD3D\uFD40-\uFDCF\uFDF0-\uFE1F\uFE30-\uFE44]|[\uFE47-\uFEFE\uFF00-\uFFFD])|\d|[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE20-\uFE2F])+';
  mode9.scope = r'type';
  mode9.match =
      r'[A-Z](?:(?:[a-zA-Z_]|[\u00A8\u00AA\u00AD\u00AF\u00B2-\u00B5\u00B7-\u00BA]|[\u00BC-\u00BE\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]|[\u0100-\u02FF\u0370-\u167F\u1681-\u180D\u180F-\u1DBF]|[\u1E00-\u1FFF]|[\u200B-\u200D\u202A-\u202E\u203F-\u2040\u2054\u2060-\u206F]|[\u2070-\u20CF\u2100-\u218F\u2460-\u24FF\u2776-\u2793]|[\u2C00-\u2DFF\u2E80-\u2FFF]|[\u3004-\u3007\u3021-\u302F\u3031-\u303F\u3040-\uD7FF]|[\uF900-\uFD3D\uFD40-\uFDCF\uFDF0-\uFE1F\uFE30-\uFE44]|[\uFE47-\uFEFE\uFF00-\uFFFD])|\d|[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE20-\uFE2F])*';
  mode9.relevance = 0;
  mode10.match = r'[?!]+';
  mode10.relevance = 0;
  mode11.match = r'\.\.\.';
  mode11.relevance = 0;
  mode12.match =
      r'\s+&\s+(?=[A-Z](?:(?:[a-zA-Z_]|[\u00A8\u00AA\u00AD\u00AF\u00B2-\u00B5\u00B7-\u00BA]|[\u00BC-\u00BE\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]|[\u0100-\u02FF\u0370-\u167F\u1681-\u180D\u180F-\u1DBF]|[\u1E00-\u1FFF]|[\u200B-\u200D\u202A-\u202E\u203F-\u2040\u2054\u2060-\u206F]|[\u2070-\u20CF\u2100-\u218F\u2460-\u24FF\u2776-\u2793]|[\u2C00-\u2DFF\u2E80-\u2FFF]|[\u3004-\u3007\u3021-\u302F\u3031-\u303F\u3040-\uD7FF]|[\uF900-\uFD3D\uFD40-\uFDCF\uFDF0-\uFE1F\uFE30-\uFE44]|[\uFE47-\uFEFE\uFF00-\uFFFD])|\d|[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE20-\uFE2F])*)';
  mode12.relevance = 0;
  mode13.begin = r'<';
  mode13.end = r'>';
  mode13.keywords = {
    r'$pattern': r'(?:\b\w+|#\w+)',
    r'keyword': [
      r'actor',
      r'any',
      r'associatedtype',
      r'async',
      r'await',
      r'as',
      r'borrowing',
      r'break',
      r'case',
      r'catch',
      r'class',
      r'consume',
      r'consuming',
      r'continue',
      r'convenience',
      r'copy',
      r'default',
      r'defer',
      r'deinit',
      r'didSet',
      r'distributed',
      r'do',
      r'dynamic',
      r'each',
      r'else',
      r'enum',
      r'extension',
      r'fallthrough',
      r'fileprivate',
      r'final',
      r'for',
      r'func',
      r'get',
      r'guard',
      r'if',
      r'import',
      r'indirect',
      r'infix',
      r'inout',
      r'internal',
      r'in',
      r'is',
      r'isolated',
      r'nonisolated',
      r'lazy',
      r'let',
      r'macro',
      r'mutating',
      r'nonmutating',
      r'open',
      r'operator',
      r'optional',
      r'override',
      r'package',
      r'postfix',
      r'precedencegroup',
      r'prefix',
      r'private',
      r'protocol',
      r'public',
      r'repeat',
      r'required',
      r'rethrows',
      r'return',
      r'set',
      r'some',
      r'static',
      r'struct',
      r'subscript',
      r'super',
      r'switch',
      r'throws',
      r'throw',
      r'try',
      r'typealias',
      r'unowned',
      r'var',
      r'weak',
      r'where',
      r'while',
      r'willSet',
      r'_|0',
      r'#colorLiteral',
      r'#column',
      r'#dsohandle',
      r'#else',
      r'#elseif',
      r'#endif',
      r'#error',
      r'#file',
      r'#fileID',
      r'#fileLiteral',
      r'#filePath',
      r'#function',
      r'#if',
      r'#imageLiteral',
      r'#keyPath',
      r'#line',
      r'#selector',
      r'#sourceLocation',
      r'#warning',
    ],
    r'literal': [r'false', r'nil', r'true'],
  };
  mode13.contains = [
    mode0,
    mode3,
    mode14,
    mode15,
    mode16,
    mode18,
    mode88,
    mode89,
    mode21,
    mode7,
  ];
  mode14.match = [r'\.', r'(?:\bProtocol\b|\bType\b|\binit\b|\bself\b)'];
  mode14.scope = {2: r'keyword'};
  mode15.match =
      r'\.(?:actor|any|associatedtype|async|await|as\?|as!|as|borrowing|break|case|catch|class|consume|consuming|continue|convenience|copy|default|defer|deinit|didSet|distributed|do|dynamic|each|else|enum|extension|fallthrough|fileprivate\(set\)|fileprivate|final|for|func|get|guard|if|import|indirect|infix|init\?|init!|inout|internal\(set\)|internal|in|is|isolated|nonisolated|lazy|let|macro|mutating|nonmutating|open\(set\)|open|operator|optional|override|package|postfix|precedencegroup|prefix|private\(set\)|private|protocol|public\(set\)|public|repeat|required|rethrows|return|set|some|static|struct|subscript|super|switch|throws|throw|try\?|try!|try|typealias|unowned\(safe\)|unowned\(unsafe\)|unowned|var|weak|where|while|willSet)';
  mode15.relevance = 0;
  mode16.variants = [mode17];
  mode17.scope = r'keyword';
  mode17.match =
      r'(?:\bas\?\B|\bas!\B|\bfileprivate\(set\)\B|\binit\?\B|\binit!\B|\binternal\(set\)\B|\bopen\(set\)\B|\bprivate\(set\)\B|\bpublic\(set\)\B|\btry\?\B|\btry!\B|\bunowned\(safe\)\B|\bunowned\(unsafe\)\B|\bAny\b|\bSelf\b|\binit\b|\bself\b)';
  mode18.match = r'(@|#(un)?)available';
  mode18.scope = r'keyword';
  mode18.starts = mode19;
  mode19.contains = [mode20];
  mode20.begin = r'\(';
  mode20.end = r'\)';
  mode20.keywords = [
    r'iOS',
    r'iOSApplicationExtension',
    r'macOS',
    r'macOSApplicationExtension',
    r'macCatalyst',
    r'macCatalystApplicationExtension',
    r'watchOS',
    r'watchOSApplicationExtension',
    r'tvOS',
    r'tvOSApplicationExtension',
    r'swift',
  ];
  mode20.contains = [mode21, mode22, mode25, mode30];
  mode21.match = r'->';
  mode21.relevance = 0;
  mode22.scope = r'operator';
  mode22.relevance = 0;
  mode22.variants = [mode23, mode24];
  mode23.match =
      r'(?:[/=\-+!*%<>&|^~?]|[\u00A1-\u00A7]|[\u00A9\u00AB]|[\u00AC\u00AE]|[\u00B0\u00B1]|[\u00B6\u00BB\u00BF\u00D7\u00F7]|[\u2016-\u2017]|[\u2020-\u2027]|[\u2030-\u203E]|[\u2041-\u2053]|[\u2055-\u205E]|[\u2190-\u23FF]|[\u2500-\u2775]|[\u2794-\u2BFF]|[\u2E00-\u2E7F]|[\u3001-\u3003]|[\u3008-\u3020]|[\u3030])(?:(?:[/=\-+!*%<>&|^~?]|[\u00A1-\u00A7]|[\u00A9\u00AB]|[\u00AC\u00AE]|[\u00B0\u00B1]|[\u00B6\u00BB\u00BF\u00D7\u00F7]|[\u2016-\u2017]|[\u2020-\u2027]|[\u2030-\u203E]|[\u2041-\u2053]|[\u2055-\u205E]|[\u2190-\u23FF]|[\u2500-\u2775]|[\u2794-\u2BFF]|[\u2E00-\u2E7F]|[\u3001-\u3003]|[\u3008-\u3020]|[\u3030])|[\u0300-\u036F]|[\u1DC0-\u1DFF]|[\u20D0-\u20FF]|[\uFE00-\uFE0F]|[\uFE20-\uFE2F])*';
  mode24.match =
      r'\.(\.|(?:(?:[/=\-+!*%<>&|^~?]|[\u00A1-\u00A7]|[\u00A9\u00AB]|[\u00AC\u00AE]|[\u00B0\u00B1]|[\u00B6\u00BB\u00BF\u00D7\u00F7]|[\u2016-\u2017]|[\u2020-\u2027]|[\u2030-\u203E]|[\u2041-\u2053]|[\u2055-\u205E]|[\u2190-\u23FF]|[\u2500-\u2775]|[\u2794-\u2BFF]|[\u2E00-\u2E7F]|[\u3001-\u3003]|[\u3008-\u3020]|[\u3030])|[\u0300-\u036F]|[\u1DC0-\u1DFF]|[\u20D0-\u20FF]|[\uFE00-\uFE0F]|[\uFE20-\uFE2F]))+';
  mode25.scope = r'number';
  mode25.relevance = 0;
  mode25.variants = [mode26, mode27, mode28, mode29];
  mode26.match = r'\b(([0-9]_*)+)(\.(([0-9]_*)+))?([eE][+-]?(([0-9]_*)+))?\b';
  mode27.match =
      r'\b0x(([0-9a-fA-F]_*)+)(\.(([0-9a-fA-F]_*)+))?([pP][+-]?(([0-9]_*)+))?\b';
  mode28.match = r'\b0o([0-7]_*)+\b';
  mode29.match = r'\b0b([01]_*)+\b';
  mode30.scope = r'string';
  mode30.variants = [
    mode31,
    mode43,
    mode50,
    mode57,
    mode64,
    mode70,
    mode76,
    mode82,
  ];
  mode31.begin = r'"""';
  mode31.end = r'"""';
  mode31.contains = [mode32, mode35, mode36];
  mode32.scope = r'subst';
  mode32.variants = [mode33, mode34];
  mode33.match = '\\\\[0\\\\tnr"\']';
  mode34.match = r'\\u\{[0-9a-fA-F]{1,8}\}';
  mode35.scope = r'subst';
  mode35.match = r'\\[\t ]*(?:[\r\n]|\r\n)';
  mode36.scope = r'subst';
  mode36.label = r'interpol';
  mode36.begin = r'\\\(';
  mode36.end = r'\)';
  mode36.keywords = {
    r'$pattern': r'(?:\b\w+|#\w+)',
    r'keyword': [
      r'actor',
      r'any',
      r'associatedtype',
      r'async',
      r'await',
      r'as',
      r'borrowing',
      r'break',
      r'case',
      r'catch',
      r'class',
      r'consume',
      r'consuming',
      r'continue',
      r'convenience',
      r'copy',
      r'default',
      r'defer',
      r'deinit',
      r'didSet',
      r'distributed',
      r'do',
      r'dynamic',
      r'each',
      r'else',
      r'enum',
      r'extension',
      r'fallthrough',
      r'fileprivate',
      r'final',
      r'for',
      r'func',
      r'get',
      r'guard',
      r'if',
      r'import',
      r'indirect',
      r'infix',
      r'inout',
      r'internal',
      r'in',
      r'is',
      r'isolated',
      r'nonisolated',
      r'lazy',
      r'let',
      r'macro',
      r'mutating',
      r'nonmutating',
      r'open',
      r'operator',
      r'optional',
      r'override',
      r'package',
      r'postfix',
      r'precedencegroup',
      r'prefix',
      r'private',
      r'protocol',
      r'public',
      r'repeat',
      r'required',
      r'rethrows',
      r'return',
      r'set',
      r'some',
      r'static',
      r'struct',
      r'subscript',
      r'super',
      r'switch',
      r'throws',
      r'throw',
      r'try',
      r'typealias',
      r'unowned',
      r'var',
      r'weak',
      r'where',
      r'while',
      r'willSet',
      r'_|0',
      r'#colorLiteral',
      r'#column',
      r'#dsohandle',
      r'#else',
      r'#elseif',
      r'#endif',
      r'#error',
      r'#file',
      r'#fileID',
      r'#fileLiteral',
      r'#filePath',
      r'#function',
      r'#if',
      r'#imageLiteral',
      r'#keyPath',
      r'#line',
      r'#selector',
      r'#sourceLocation',
      r'#warning',
    ],
    r'literal': [r'false', r'nil', r'true'],
  };
  mode36.contains = [
    mode14,
    mode15,
    mode16,
    mode37,
    mode38,
    mode21,
    mode22,
    mode25,
    mode30,
    mode39,
    mode40,
    mode41,
    mode42,
  ];
  mode37.match =
      r'\.(?:abs|all|any|assert|assertionFailure|debugPrint|dump|fatalError|getVaList|isKnownUniquelyReferenced|max|min|numericCast|pointwiseMax|pointwiseMin|precondition|preconditionFailure|print|readLine|repeatElement|sequence|stride|swap|swift_unboxFromSwiftValueWithType|transcode|type|unsafeBitCast|unsafeDowncast|withExtendedLifetime|withUnsafeMutablePointer|withUnsafePointer|withVaList|withoutActuallyEscaping|zip)';
  mode37.relevance = 0;
  mode38.scope = r'built_in';
  mode38.match =
      r'\b(?:abs|all|any|assert|assertionFailure|debugPrint|dump|fatalError|getVaList|isKnownUniquelyReferenced|max|min|numericCast|pointwiseMax|pointwiseMin|precondition|preconditionFailure|print|readLine|repeatElement|sequence|stride|swap|swift_unboxFromSwiftValueWithType|transcode|type|unsafeBitCast|unsafeDowncast|withExtendedLifetime|withUnsafeMutablePointer|withUnsafePointer|withVaList|withoutActuallyEscaping|zip)(?=\()';
  mode39.match =
      r'`(?:[a-zA-Z_]|[\u00A8\u00AA\u00AD\u00AF\u00B2-\u00B5\u00B7-\u00BA]|[\u00BC-\u00BE\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]|[\u0100-\u02FF\u0370-\u167F\u1681-\u180D\u180F-\u1DBF]|[\u1E00-\u1FFF]|[\u200B-\u200D\u202A-\u202E\u203F-\u2040\u2054\u2060-\u206F]|[\u2070-\u20CF\u2100-\u218F\u2460-\u24FF\u2776-\u2793]|[\u2C00-\u2DFF\u2E80-\u2FFF]|[\u3004-\u3007\u3021-\u302F\u3031-\u303F\u3040-\uD7FF]|[\uF900-\uFD3D\uFD40-\uFDCF\uFDF0-\uFE1F\uFE30-\uFE44]|[\uFE47-\uFEFE\uFF00-\uFFFD])(?:(?:[a-zA-Z_]|[\u00A8\u00AA\u00AD\u00AF\u00B2-\u00B5\u00B7-\u00BA]|[\u00BC-\u00BE\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]|[\u0100-\u02FF\u0370-\u167F\u1681-\u180D\u180F-\u1DBF]|[\u1E00-\u1FFF]|[\u200B-\u200D\u202A-\u202E\u203F-\u2040\u2054\u2060-\u206F]|[\u2070-\u20CF\u2100-\u218F\u2460-\u24FF\u2776-\u2793]|[\u2C00-\u2DFF\u2E80-\u2FFF]|[\u3004-\u3007\u3021-\u302F\u3031-\u303F\u3040-\uD7FF]|[\uF900-\uFD3D\uFD40-\uFDCF\uFDF0-\uFE1F\uFE30-\uFE44]|[\uFE47-\uFEFE\uFF00-\uFFFD])|\d|[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE20-\uFE2F])*`';
  mode40.scope = r'variable';
  mode40.match = r'\$\d+';
  mode41.scope = r'variable';
  mode41.match =
      r'\$(?:(?:[a-zA-Z_]|[\u00A8\u00AA\u00AD\u00AF\u00B2-\u00B5\u00B7-\u00BA]|[\u00BC-\u00BE\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]|[\u0100-\u02FF\u0370-\u167F\u1681-\u180D\u180F-\u1DBF]|[\u1E00-\u1FFF]|[\u200B-\u200D\u202A-\u202E\u203F-\u2040\u2054\u2060-\u206F]|[\u2070-\u20CF\u2100-\u218F\u2460-\u24FF\u2776-\u2793]|[\u2C00-\u2DFF\u2E80-\u2FFF]|[\u3004-\u3007\u3021-\u302F\u3031-\u303F\u3040-\uD7FF]|[\uF900-\uFD3D\uFD40-\uFDCF\uFDF0-\uFE1F\uFE30-\uFE44]|[\uFE47-\uFEFE\uFF00-\uFFFD])|\d|[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE20-\uFE2F])+';
  mode42.begin = r'\(';
  mode42.end = r'\)';
  mode42.contains = [
    r'self',
    mode14,
    mode15,
    mode16,
    mode37,
    mode38,
    mode21,
    mode22,
    mode25,
    mode30,
    mode39,
    mode40,
    mode41,
  ];
  mode43.begin = r'#"""';
  mode43.end = r'"""#';
  mode43.contains = [mode44, mode47, mode48];
  mode44.scope = r'subst';
  mode44.variants = [mode45, mode46];
  mode45.match = '\\\\#[0\\\\tnr"\']';
  mode46.match = r'\\#u\{[0-9a-fA-F]{1,8}\}';
  mode47.scope = r'subst';
  mode47.match = r'\\#[\t ]*(?:[\r\n]|\r\n)';
  mode48.scope = r'subst';
  mode48.label = r'interpol';
  mode48.begin = r'\\#\(';
  mode48.end = r'\)';
  mode48.keywords = {
    r'$pattern': r'(?:\b\w+|#\w+)',
    r'keyword': [
      r'actor',
      r'any',
      r'associatedtype',
      r'async',
      r'await',
      r'as',
      r'borrowing',
      r'break',
      r'case',
      r'catch',
      r'class',
      r'consume',
      r'consuming',
      r'continue',
      r'convenience',
      r'copy',
      r'default',
      r'defer',
      r'deinit',
      r'didSet',
      r'distributed',
      r'do',
      r'dynamic',
      r'each',
      r'else',
      r'enum',
      r'extension',
      r'fallthrough',
      r'fileprivate',
      r'final',
      r'for',
      r'func',
      r'get',
      r'guard',
      r'if',
      r'import',
      r'indirect',
      r'infix',
      r'inout',
      r'internal',
      r'in',
      r'is',
      r'isolated',
      r'nonisolated',
      r'lazy',
      r'let',
      r'macro',
      r'mutating',
      r'nonmutating',
      r'open',
      r'operator',
      r'optional',
      r'override',
      r'package',
      r'postfix',
      r'precedencegroup',
      r'prefix',
      r'private',
      r'protocol',
      r'public',
      r'repeat',
      r'required',
      r'rethrows',
      r'return',
      r'set',
      r'some',
      r'static',
      r'struct',
      r'subscript',
      r'super',
      r'switch',
      r'throws',
      r'throw',
      r'try',
      r'typealias',
      r'unowned',
      r'var',
      r'weak',
      r'where',
      r'while',
      r'willSet',
      r'_|0',
      r'#colorLiteral',
      r'#column',
      r'#dsohandle',
      r'#else',
      r'#elseif',
      r'#endif',
      r'#error',
      r'#file',
      r'#fileID',
      r'#fileLiteral',
      r'#filePath',
      r'#function',
      r'#if',
      r'#imageLiteral',
      r'#keyPath',
      r'#line',
      r'#selector',
      r'#sourceLocation',
      r'#warning',
    ],
    r'literal': [r'false', r'nil', r'true'],
  };
  mode48.contains = [
    mode14,
    mode15,
    mode16,
    mode37,
    mode38,
    mode21,
    mode22,
    mode25,
    mode30,
    mode39,
    mode40,
    mode41,
    mode49,
  ];
  mode49.begin = r'\(';
  mode49.end = r'\)';
  mode49.contains = [
    r'self',
    mode14,
    mode15,
    mode16,
    mode37,
    mode38,
    mode21,
    mode22,
    mode25,
    mode30,
    mode39,
    mode40,
    mode41,
  ];
  mode50.begin = r'##"""';
  mode50.end = r'"""##';
  mode50.contains = [mode51, mode54, mode55];
  mode51.scope = r'subst';
  mode51.variants = [mode52, mode53];
  mode52.match = '\\\\##[0\\\\tnr"\']';
  mode53.match = r'\\##u\{[0-9a-fA-F]{1,8}\}';
  mode54.scope = r'subst';
  mode54.match = r'\\##[\t ]*(?:[\r\n]|\r\n)';
  mode55.scope = r'subst';
  mode55.label = r'interpol';
  mode55.begin = r'\\##\(';
  mode55.end = r'\)';
  mode55.keywords = {
    r'$pattern': r'(?:\b\w+|#\w+)',
    r'keyword': [
      r'actor',
      r'any',
      r'associatedtype',
      r'async',
      r'await',
      r'as',
      r'borrowing',
      r'break',
      r'case',
      r'catch',
      r'class',
      r'consume',
      r'consuming',
      r'continue',
      r'convenience',
      r'copy',
      r'default',
      r'defer',
      r'deinit',
      r'didSet',
      r'distributed',
      r'do',
      r'dynamic',
      r'each',
      r'else',
      r'enum',
      r'extension',
      r'fallthrough',
      r'fileprivate',
      r'final',
      r'for',
      r'func',
      r'get',
      r'guard',
      r'if',
      r'import',
      r'indirect',
      r'infix',
      r'inout',
      r'internal',
      r'in',
      r'is',
      r'isolated',
      r'nonisolated',
      r'lazy',
      r'let',
      r'macro',
      r'mutating',
      r'nonmutating',
      r'open',
      r'operator',
      r'optional',
      r'override',
      r'package',
      r'postfix',
      r'precedencegroup',
      r'prefix',
      r'private',
      r'protocol',
      r'public',
      r'repeat',
      r'required',
      r'rethrows',
      r'return',
      r'set',
      r'some',
      r'static',
      r'struct',
      r'subscript',
      r'super',
      r'switch',
      r'throws',
      r'throw',
      r'try',
      r'typealias',
      r'unowned',
      r'var',
      r'weak',
      r'where',
      r'while',
      r'willSet',
      r'_|0',
      r'#colorLiteral',
      r'#column',
      r'#dsohandle',
      r'#else',
      r'#elseif',
      r'#endif',
      r'#error',
      r'#file',
      r'#fileID',
      r'#fileLiteral',
      r'#filePath',
      r'#function',
      r'#if',
      r'#imageLiteral',
      r'#keyPath',
      r'#line',
      r'#selector',
      r'#sourceLocation',
      r'#warning',
    ],
    r'literal': [r'false', r'nil', r'true'],
  };
  mode55.contains = [
    mode14,
    mode15,
    mode16,
    mode37,
    mode38,
    mode21,
    mode22,
    mode25,
    mode30,
    mode39,
    mode40,
    mode41,
    mode56,
  ];
  mode56.begin = r'\(';
  mode56.end = r'\)';
  mode56.contains = [
    r'self',
    mode14,
    mode15,
    mode16,
    mode37,
    mode38,
    mode21,
    mode22,
    mode25,
    mode30,
    mode39,
    mode40,
    mode41,
  ];
  mode57.begin = r'###"""';
  mode57.end = r'"""###';
  mode57.contains = [mode58, mode61, mode62];
  mode58.scope = r'subst';
  mode58.variants = [mode59, mode60];
  mode59.match = '\\\\###[0\\\\tnr"\']';
  mode60.match = r'\\###u\{[0-9a-fA-F]{1,8}\}';
  mode61.scope = r'subst';
  mode61.match = r'\\###[\t ]*(?:[\r\n]|\r\n)';
  mode62.scope = r'subst';
  mode62.label = r'interpol';
  mode62.begin = r'\\###\(';
  mode62.end = r'\)';
  mode62.keywords = {
    r'$pattern': r'(?:\b\w+|#\w+)',
    r'keyword': [
      r'actor',
      r'any',
      r'associatedtype',
      r'async',
      r'await',
      r'as',
      r'borrowing',
      r'break',
      r'case',
      r'catch',
      r'class',
      r'consume',
      r'consuming',
      r'continue',
      r'convenience',
      r'copy',
      r'default',
      r'defer',
      r'deinit',
      r'didSet',
      r'distributed',
      r'do',
      r'dynamic',
      r'each',
      r'else',
      r'enum',
      r'extension',
      r'fallthrough',
      r'fileprivate',
      r'final',
      r'for',
      r'func',
      r'get',
      r'guard',
      r'if',
      r'import',
      r'indirect',
      r'infix',
      r'inout',
      r'internal',
      r'in',
      r'is',
      r'isolated',
      r'nonisolated',
      r'lazy',
      r'let',
      r'macro',
      r'mutating',
      r'nonmutating',
      r'open',
      r'operator',
      r'optional',
      r'override',
      r'package',
      r'postfix',
      r'precedencegroup',
      r'prefix',
      r'private',
      r'protocol',
      r'public',
      r'repeat',
      r'required',
      r'rethrows',
      r'return',
      r'set',
      r'some',
      r'static',
      r'struct',
      r'subscript',
      r'super',
      r'switch',
      r'throws',
      r'throw',
      r'try',
      r'typealias',
      r'unowned',
      r'var',
      r'weak',
      r'where',
      r'while',
      r'willSet',
      r'_|0',
      r'#colorLiteral',
      r'#column',
      r'#dsohandle',
      r'#else',
      r'#elseif',
      r'#endif',
      r'#error',
      r'#file',
      r'#fileID',
      r'#fileLiteral',
      r'#filePath',
      r'#function',
      r'#if',
      r'#imageLiteral',
      r'#keyPath',
      r'#line',
      r'#selector',
      r'#sourceLocation',
      r'#warning',
    ],
    r'literal': [r'false', r'nil', r'true'],
  };
  mode62.contains = [
    mode14,
    mode15,
    mode16,
    mode37,
    mode38,
    mode21,
    mode22,
    mode25,
    mode30,
    mode39,
    mode40,
    mode41,
    mode63,
  ];
  mode63.begin = r'\(';
  mode63.end = r'\)';
  mode63.contains = [
    r'self',
    mode14,
    mode15,
    mode16,
    mode37,
    mode38,
    mode21,
    mode22,
    mode25,
    mode30,
    mode39,
    mode40,
    mode41,
  ];
  mode64.begin = r'"';
  mode64.end = r'"';
  mode64.contains = [mode65, mode68];
  mode65.scope = r'subst';
  mode65.variants = [mode66, mode67];
  mode66.match = '\\\\[0\\\\tnr"\']';
  mode67.match = r'\\u\{[0-9a-fA-F]{1,8}\}';
  mode68.scope = r'subst';
  mode68.label = r'interpol';
  mode68.begin = r'\\\(';
  mode68.end = r'\)';
  mode68.keywords = {
    r'$pattern': r'(?:\b\w+|#\w+)',
    r'keyword': [
      r'actor',
      r'any',
      r'associatedtype',
      r'async',
      r'await',
      r'as',
      r'borrowing',
      r'break',
      r'case',
      r'catch',
      r'class',
      r'consume',
      r'consuming',
      r'continue',
      r'convenience',
      r'copy',
      r'default',
      r'defer',
      r'deinit',
      r'didSet',
      r'distributed',
      r'do',
      r'dynamic',
      r'each',
      r'else',
      r'enum',
      r'extension',
      r'fallthrough',
      r'fileprivate',
      r'final',
      r'for',
      r'func',
      r'get',
      r'guard',
      r'if',
      r'import',
      r'indirect',
      r'infix',
      r'inout',
      r'internal',
      r'in',
      r'is',
      r'isolated',
      r'nonisolated',
      r'lazy',
      r'let',
      r'macro',
      r'mutating',
      r'nonmutating',
      r'open',
      r'operator',
      r'optional',
      r'override',
      r'package',
      r'postfix',
      r'precedencegroup',
      r'prefix',
      r'private',
      r'protocol',
      r'public',
      r'repeat',
      r'required',
      r'rethrows',
      r'return',
      r'set',
      r'some',
      r'static',
      r'struct',
      r'subscript',
      r'super',
      r'switch',
      r'throws',
      r'throw',
      r'try',
      r'typealias',
      r'unowned',
      r'var',
      r'weak',
      r'where',
      r'while',
      r'willSet',
      r'_|0',
      r'#colorLiteral',
      r'#column',
      r'#dsohandle',
      r'#else',
      r'#elseif',
      r'#endif',
      r'#error',
      r'#file',
      r'#fileID',
      r'#fileLiteral',
      r'#filePath',
      r'#function',
      r'#if',
      r'#imageLiteral',
      r'#keyPath',
      r'#line',
      r'#selector',
      r'#sourceLocation',
      r'#warning',
    ],
    r'literal': [r'false', r'nil', r'true'],
  };
  mode68.contains = [
    mode14,
    mode15,
    mode16,
    mode37,
    mode38,
    mode21,
    mode22,
    mode25,
    mode30,
    mode39,
    mode40,
    mode41,
    mode69,
  ];
  mode69.begin = r'\(';
  mode69.end = r'\)';
  mode69.contains = [
    r'self',
    mode14,
    mode15,
    mode16,
    mode37,
    mode38,
    mode21,
    mode22,
    mode25,
    mode30,
    mode39,
    mode40,
    mode41,
  ];
  mode70.begin = r'#"';
  mode70.end = r'"#';
  mode70.contains = [mode71, mode74];
  mode71.scope = r'subst';
  mode71.variants = [mode72, mode73];
  mode72.match = '\\\\#[0\\\\tnr"\']';
  mode73.match = r'\\#u\{[0-9a-fA-F]{1,8}\}';
  mode74.scope = r'subst';
  mode74.label = r'interpol';
  mode74.begin = r'\\#\(';
  mode74.end = r'\)';
  mode74.keywords = {
    r'$pattern': r'(?:\b\w+|#\w+)',
    r'keyword': [
      r'actor',
      r'any',
      r'associatedtype',
      r'async',
      r'await',
      r'as',
      r'borrowing',
      r'break',
      r'case',
      r'catch',
      r'class',
      r'consume',
      r'consuming',
      r'continue',
      r'convenience',
      r'copy',
      r'default',
      r'defer',
      r'deinit',
      r'didSet',
      r'distributed',
      r'do',
      r'dynamic',
      r'each',
      r'else',
      r'enum',
      r'extension',
      r'fallthrough',
      r'fileprivate',
      r'final',
      r'for',
      r'func',
      r'get',
      r'guard',
      r'if',
      r'import',
      r'indirect',
      r'infix',
      r'inout',
      r'internal',
      r'in',
      r'is',
      r'isolated',
      r'nonisolated',
      r'lazy',
      r'let',
      r'macro',
      r'mutating',
      r'nonmutating',
      r'open',
      r'operator',
      r'optional',
      r'override',
      r'package',
      r'postfix',
      r'precedencegroup',
      r'prefix',
      r'private',
      r'protocol',
      r'public',
      r'repeat',
      r'required',
      r'rethrows',
      r'return',
      r'set',
      r'some',
      r'static',
      r'struct',
      r'subscript',
      r'super',
      r'switch',
      r'throws',
      r'throw',
      r'try',
      r'typealias',
      r'unowned',
      r'var',
      r'weak',
      r'where',
      r'while',
      r'willSet',
      r'_|0',
      r'#colorLiteral',
      r'#column',
      r'#dsohandle',
      r'#else',
      r'#elseif',
      r'#endif',
      r'#error',
      r'#file',
      r'#fileID',
      r'#fileLiteral',
      r'#filePath',
      r'#function',
      r'#if',
      r'#imageLiteral',
      r'#keyPath',
      r'#line',
      r'#selector',
      r'#sourceLocation',
      r'#warning',
    ],
    r'literal': [r'false', r'nil', r'true'],
  };
  mode74.contains = [
    mode14,
    mode15,
    mode16,
    mode37,
    mode38,
    mode21,
    mode22,
    mode25,
    mode30,
    mode39,
    mode40,
    mode41,
    mode75,
  ];
  mode75.begin = r'\(';
  mode75.end = r'\)';
  mode75.contains = [
    r'self',
    mode14,
    mode15,
    mode16,
    mode37,
    mode38,
    mode21,
    mode22,
    mode25,
    mode30,
    mode39,
    mode40,
    mode41,
  ];
  mode76.begin = r'##"';
  mode76.end = r'"##';
  mode76.contains = [mode77, mode80];
  mode77.scope = r'subst';
  mode77.variants = [mode78, mode79];
  mode78.match = '\\\\##[0\\\\tnr"\']';
  mode79.match = r'\\##u\{[0-9a-fA-F]{1,8}\}';
  mode80.scope = r'subst';
  mode80.label = r'interpol';
  mode80.begin = r'\\##\(';
  mode80.end = r'\)';
  mode80.keywords = {
    r'$pattern': r'(?:\b\w+|#\w+)',
    r'keyword': [
      r'actor',
      r'any',
      r'associatedtype',
      r'async',
      r'await',
      r'as',
      r'borrowing',
      r'break',
      r'case',
      r'catch',
      r'class',
      r'consume',
      r'consuming',
      r'continue',
      r'convenience',
      r'copy',
      r'default',
      r'defer',
      r'deinit',
      r'didSet',
      r'distributed',
      r'do',
      r'dynamic',
      r'each',
      r'else',
      r'enum',
      r'extension',
      r'fallthrough',
      r'fileprivate',
      r'final',
      r'for',
      r'func',
      r'get',
      r'guard',
      r'if',
      r'import',
      r'indirect',
      r'infix',
      r'inout',
      r'internal',
      r'in',
      r'is',
      r'isolated',
      r'nonisolated',
      r'lazy',
      r'let',
      r'macro',
      r'mutating',
      r'nonmutating',
      r'open',
      r'operator',
      r'optional',
      r'override',
      r'package',
      r'postfix',
      r'precedencegroup',
      r'prefix',
      r'private',
      r'protocol',
      r'public',
      r'repeat',
      r'required',
      r'rethrows',
      r'return',
      r'set',
      r'some',
      r'static',
      r'struct',
      r'subscript',
      r'super',
      r'switch',
      r'throws',
      r'throw',
      r'try',
      r'typealias',
      r'unowned',
      r'var',
      r'weak',
      r'where',
      r'while',
      r'willSet',
      r'_|0',
      r'#colorLiteral',
      r'#column',
      r'#dsohandle',
      r'#else',
      r'#elseif',
      r'#endif',
      r'#error',
      r'#file',
      r'#fileID',
      r'#fileLiteral',
      r'#filePath',
      r'#function',
      r'#if',
      r'#imageLiteral',
      r'#keyPath',
      r'#line',
      r'#selector',
      r'#sourceLocation',
      r'#warning',
    ],
    r'literal': [r'false', r'nil', r'true'],
  };
  mode80.contains = [
    mode14,
    mode15,
    mode16,
    mode37,
    mode38,
    mode21,
    mode22,
    mode25,
    mode30,
    mode39,
    mode40,
    mode41,
    mode81,
  ];
  mode81.begin = r'\(';
  mode81.end = r'\)';
  mode81.contains = [
    r'self',
    mode14,
    mode15,
    mode16,
    mode37,
    mode38,
    mode21,
    mode22,
    mode25,
    mode30,
    mode39,
    mode40,
    mode41,
  ];
  mode82.begin = r'###"';
  mode82.end = r'"###';
  mode82.contains = [mode83, mode86];
  mode83.scope = r'subst';
  mode83.variants = [mode84, mode85];
  mode84.match = '\\\\###[0\\\\tnr"\']';
  mode85.match = r'\\###u\{[0-9a-fA-F]{1,8}\}';
  mode86.scope = r'subst';
  mode86.label = r'interpol';
  mode86.begin = r'\\###\(';
  mode86.end = r'\)';
  mode86.keywords = {
    r'$pattern': r'(?:\b\w+|#\w+)',
    r'keyword': [
      r'actor',
      r'any',
      r'associatedtype',
      r'async',
      r'await',
      r'as',
      r'borrowing',
      r'break',
      r'case',
      r'catch',
      r'class',
      r'consume',
      r'consuming',
      r'continue',
      r'convenience',
      r'copy',
      r'default',
      r'defer',
      r'deinit',
      r'didSet',
      r'distributed',
      r'do',
      r'dynamic',
      r'each',
      r'else',
      r'enum',
      r'extension',
      r'fallthrough',
      r'fileprivate',
      r'final',
      r'for',
      r'func',
      r'get',
      r'guard',
      r'if',
      r'import',
      r'indirect',
      r'infix',
      r'inout',
      r'internal',
      r'in',
      r'is',
      r'isolated',
      r'nonisolated',
      r'lazy',
      r'let',
      r'macro',
      r'mutating',
      r'nonmutating',
      r'open',
      r'operator',
      r'optional',
      r'override',
      r'package',
      r'postfix',
      r'precedencegroup',
      r'prefix',
      r'private',
      r'protocol',
      r'public',
      r'repeat',
      r'required',
      r'rethrows',
      r'return',
      r'set',
      r'some',
      r'static',
      r'struct',
      r'subscript',
      r'super',
      r'switch',
      r'throws',
      r'throw',
      r'try',
      r'typealias',
      r'unowned',
      r'var',
      r'weak',
      r'where',
      r'while',
      r'willSet',
      r'_|0',
      r'#colorLiteral',
      r'#column',
      r'#dsohandle',
      r'#else',
      r'#elseif',
      r'#endif',
      r'#error',
      r'#file',
      r'#fileID',
      r'#fileLiteral',
      r'#filePath',
      r'#function',
      r'#if',
      r'#imageLiteral',
      r'#keyPath',
      r'#line',
      r'#selector',
      r'#sourceLocation',
      r'#warning',
    ],
    r'literal': [r'false', r'nil', r'true'],
  };
  mode86.contains = [
    mode14,
    mode15,
    mode16,
    mode37,
    mode38,
    mode21,
    mode22,
    mode25,
    mode30,
    mode39,
    mode40,
    mode41,
    mode87,
  ];
  mode87.begin = r'\(';
  mode87.end = r'\)';
  mode87.contains = [
    r'self',
    mode14,
    mode15,
    mode16,
    mode37,
    mode38,
    mode21,
    mode22,
    mode25,
    mode30,
    mode39,
    mode40,
    mode41,
  ];
  mode88.scope = r'keyword';
  mode88.match =
      r'@(?:attached|autoclosure|convention\((?:swift|block|c)\)|discardableResult|dynamicCallable|dynamicMemberLookup|escaping|freestanding|frozen|GKInspectable|IBAction|IBDesignable|IBInspectable|IBOutlet|IBSegueAction|inlinable|main|nonobjc|NSApplicationMain|NSCopying|NSManaged|objc\((?:[a-zA-Z_]|[\u00A8\u00AA\u00AD\u00AF\u00B2-\u00B5\u00B7-\u00BA]|[\u00BC-\u00BE\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]|[\u0100-\u02FF\u0370-\u167F\u1681-\u180D\u180F-\u1DBF]|[\u1E00-\u1FFF]|[\u200B-\u200D\u202A-\u202E\u203F-\u2040\u2054\u2060-\u206F]|[\u2070-\u20CF\u2100-\u218F\u2460-\u24FF\u2776-\u2793]|[\u2C00-\u2DFF\u2E80-\u2FFF]|[\u3004-\u3007\u3021-\u302F\u3031-\u303F\u3040-\uD7FF]|[\uF900-\uFD3D\uFD40-\uFDCF\uFDF0-\uFE1F\uFE30-\uFE44]|[\uFE47-\uFEFE\uFF00-\uFFFD])(?:(?:[a-zA-Z_]|[\u00A8\u00AA\u00AD\u00AF\u00B2-\u00B5\u00B7-\u00BA]|[\u00BC-\u00BE\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]|[\u0100-\u02FF\u0370-\u167F\u1681-\u180D\u180F-\u1DBF]|[\u1E00-\u1FFF]|[\u200B-\u200D\u202A-\u202E\u203F-\u2040\u2054\u2060-\u206F]|[\u2070-\u20CF\u2100-\u218F\u2460-\u24FF\u2776-\u2793]|[\u2C00-\u2DFF\u2E80-\u2FFF]|[\u3004-\u3007\u3021-\u302F\u3031-\u303F\u3040-\uD7FF]|[\uF900-\uFD3D\uFD40-\uFDCF\uFDF0-\uFE1F\uFE30-\uFE44]|[\uFE47-\uFEFE\uFF00-\uFFFD])|\d|[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE20-\uFE2F])*\)|objc|objcMembers|propertyWrapper|requires_stored_property_inits|resultBuilder|Sendable|testable|UIApplicationMain|unchecked|unknown|usableFromInline|warn_unqualified_access)(?=(?:\(|\s+))';
  mode89.scope = r'meta';
  mode89.match =
      r'@(?:[a-zA-Z_]|[\u00A8\u00AA\u00AD\u00AF\u00B2-\u00B5\u00B7-\u00BA]|[\u00BC-\u00BE\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]|[\u0100-\u02FF\u0370-\u167F\u1681-\u180D\u180F-\u1DBF]|[\u1E00-\u1FFF]|[\u200B-\u200D\u202A-\u202E\u203F-\u2040\u2054\u2060-\u206F]|[\u2070-\u20CF\u2100-\u218F\u2460-\u24FF\u2776-\u2793]|[\u2C00-\u2DFF\u2E80-\u2FFF]|[\u3004-\u3007\u3021-\u302F\u3031-\u303F\u3040-\uD7FF]|[\uF900-\uFD3D\uFD40-\uFDCF\uFDF0-\uFE1F\uFE30-\uFE44]|[\uFE47-\uFEFE\uFF00-\uFFFD])(?:(?:[a-zA-Z_]|[\u00A8\u00AA\u00AD\u00AF\u00B2-\u00B5\u00B7-\u00BA]|[\u00BC-\u00BE\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]|[\u0100-\u02FF\u0370-\u167F\u1681-\u180D\u180F-\u1DBF]|[\u1E00-\u1FFF]|[\u200B-\u200D\u202A-\u202E\u203F-\u2040\u2054\u2060-\u206F]|[\u2070-\u20CF\u2100-\u218F\u2460-\u24FF\u2776-\u2793]|[\u2C00-\u2DFF\u2E80-\u2FFF]|[\u3004-\u3007\u3021-\u302F\u3031-\u303F\u3040-\uD7FF]|[\uF900-\uFD3D\uFD40-\uFDCF\uFDF0-\uFE1F\uFE30-\uFE44]|[\uFE47-\uFEFE\uFF00-\uFFFD])|\d|[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE20-\uFE2F])*';
  mode90.begin = r'\(';
  mode90.end = r'\)';
  mode90.keywords = {
    r'$pattern': r'(?:\b\w+|#\w+)',
    r'keyword': [
      r'actor',
      r'any',
      r'associatedtype',
      r'async',
      r'await',
      r'as',
      r'borrowing',
      r'break',
      r'case',
      r'catch',
      r'class',
      r'consume',
      r'consuming',
      r'continue',
      r'convenience',
      r'copy',
      r'default',
      r'defer',
      r'deinit',
      r'didSet',
      r'distributed',
      r'do',
      r'dynamic',
      r'each',
      r'else',
      r'enum',
      r'extension',
      r'fallthrough',
      r'fileprivate',
      r'final',
      r'for',
      r'func',
      r'get',
      r'guard',
      r'if',
      r'import',
      r'indirect',
      r'infix',
      r'inout',
      r'internal',
      r'in',
      r'is',
      r'isolated',
      r'nonisolated',
      r'lazy',
      r'let',
      r'macro',
      r'mutating',
      r'nonmutating',
      r'open',
      r'operator',
      r'optional',
      r'override',
      r'package',
      r'postfix',
      r'precedencegroup',
      r'prefix',
      r'private',
      r'protocol',
      r'public',
      r'repeat',
      r'required',
      r'rethrows',
      r'return',
      r'set',
      r'some',
      r'static',
      r'struct',
      r'subscript',
      r'super',
      r'switch',
      r'throws',
      r'throw',
      r'try',
      r'typealias',
      r'unowned',
      r'var',
      r'weak',
      r'where',
      r'while',
      r'willSet',
      r'_|0',
      r'#colorLiteral',
      r'#column',
      r'#dsohandle',
      r'#else',
      r'#elseif',
      r'#endif',
      r'#error',
      r'#file',
      r'#fileID',
      r'#fileLiteral',
      r'#filePath',
      r'#function',
      r'#if',
      r'#imageLiteral',
      r'#keyPath',
      r'#line',
      r'#selector',
      r'#sourceLocation',
      r'#warning',
    ],
    r'literal': [r'false', r'nil', r'true'],
  };
  mode90.contains = [
    mode91,
    mode0,
    mode3,
    mode14,
    mode15,
    mode16,
    mode21,
    mode22,
    mode25,
    mode30,
    mode18,
    mode88,
    mode89,
    mode7,
    mode94,
  ];
  mode90.endsParent = true;
  mode90.illegal = '["\']';
  mode91.begin =
      r'(?:(?=(?:[a-zA-Z_]|[\u00A8\u00AA\u00AD\u00AF\u00B2-\u00B5\u00B7-\u00BA]|[\u00BC-\u00BE\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]|[\u0100-\u02FF\u0370-\u167F\u1681-\u180D\u180F-\u1DBF]|[\u1E00-\u1FFF]|[\u200B-\u200D\u202A-\u202E\u203F-\u2040\u2054\u2060-\u206F]|[\u2070-\u20CF\u2100-\u218F\u2460-\u24FF\u2776-\u2793]|[\u2C00-\u2DFF\u2E80-\u2FFF]|[\u3004-\u3007\u3021-\u302F\u3031-\u303F\u3040-\uD7FF]|[\uF900-\uFD3D\uFD40-\uFDCF\uFDF0-\uFE1F\uFE30-\uFE44]|[\uFE47-\uFEFE\uFF00-\uFFFD])(?:(?:[a-zA-Z_]|[\u00A8\u00AA\u00AD\u00AF\u00B2-\u00B5\u00B7-\u00BA]|[\u00BC-\u00BE\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]|[\u0100-\u02FF\u0370-\u167F\u1681-\u180D\u180F-\u1DBF]|[\u1E00-\u1FFF]|[\u200B-\u200D\u202A-\u202E\u203F-\u2040\u2054\u2060-\u206F]|[\u2070-\u20CF\u2100-\u218F\u2460-\u24FF\u2776-\u2793]|[\u2C00-\u2DFF\u2E80-\u2FFF]|[\u3004-\u3007\u3021-\u302F\u3031-\u303F\u3040-\uD7FF]|[\uF900-\uFD3D\uFD40-\uFDCF\uFDF0-\uFE1F\uFE30-\uFE44]|[\uFE47-\uFEFE\uFF00-\uFFFD])|\d|[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE20-\uFE2F])*\s*:)|(?=(?:[a-zA-Z_]|[\u00A8\u00AA\u00AD\u00AF\u00B2-\u00B5\u00B7-\u00BA]|[\u00BC-\u00BE\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]|[\u0100-\u02FF\u0370-\u167F\u1681-\u180D\u180F-\u1DBF]|[\u1E00-\u1FFF]|[\u200B-\u200D\u202A-\u202E\u203F-\u2040\u2054\u2060-\u206F]|[\u2070-\u20CF\u2100-\u218F\u2460-\u24FF\u2776-\u2793]|[\u2C00-\u2DFF\u2E80-\u2FFF]|[\u3004-\u3007\u3021-\u302F\u3031-\u303F\u3040-\uD7FF]|[\uF900-\uFD3D\uFD40-\uFDCF\uFDF0-\uFE1F\uFE30-\uFE44]|[\uFE47-\uFEFE\uFF00-\uFFFD])(?:(?:[a-zA-Z_]|[\u00A8\u00AA\u00AD\u00AF\u00B2-\u00B5\u00B7-\u00BA]|[\u00BC-\u00BE\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]|[\u0100-\u02FF\u0370-\u167F\u1681-\u180D\u180F-\u1DBF]|[\u1E00-\u1FFF]|[\u200B-\u200D\u202A-\u202E\u203F-\u2040\u2054\u2060-\u206F]|[\u2070-\u20CF\u2100-\u218F\u2460-\u24FF\u2776-\u2793]|[\u2C00-\u2DFF\u2E80-\u2FFF]|[\u3004-\u3007\u3021-\u302F\u3031-\u303F\u3040-\uD7FF]|[\uF900-\uFD3D\uFD40-\uFDCF\uFDF0-\uFE1F\uFE30-\uFE44]|[\uFE47-\uFEFE\uFF00-\uFFFD])|\d|[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE20-\uFE2F])*\s+(?:[a-zA-Z_]|[\u00A8\u00AA\u00AD\u00AF\u00B2-\u00B5\u00B7-\u00BA]|[\u00BC-\u00BE\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]|[\u0100-\u02FF\u0370-\u167F\u1681-\u180D\u180F-\u1DBF]|[\u1E00-\u1FFF]|[\u200B-\u200D\u202A-\u202E\u203F-\u2040\u2054\u2060-\u206F]|[\u2070-\u20CF\u2100-\u218F\u2460-\u24FF\u2776-\u2793]|[\u2C00-\u2DFF\u2E80-\u2FFF]|[\u3004-\u3007\u3021-\u302F\u3031-\u303F\u3040-\uD7FF]|[\uF900-\uFD3D\uFD40-\uFDCF\uFDF0-\uFE1F\uFE30-\uFE44]|[\uFE47-\uFEFE\uFF00-\uFFFD])(?:(?:[a-zA-Z_]|[\u00A8\u00AA\u00AD\u00AF\u00B2-\u00B5\u00B7-\u00BA]|[\u00BC-\u00BE\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]|[\u0100-\u02FF\u0370-\u167F\u1681-\u180D\u180F-\u1DBF]|[\u1E00-\u1FFF]|[\u200B-\u200D\u202A-\u202E\u203F-\u2040\u2054\u2060-\u206F]|[\u2070-\u20CF\u2100-\u218F\u2460-\u24FF\u2776-\u2793]|[\u2C00-\u2DFF\u2E80-\u2FFF]|[\u3004-\u3007\u3021-\u302F\u3031-\u303F\u3040-\uD7FF]|[\uF900-\uFD3D\uFD40-\uFDCF\uFDF0-\uFE1F\uFE30-\uFE44]|[\uFE47-\uFEFE\uFF00-\uFFFD])|\d|[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE20-\uFE2F])*\s*:))';
  mode91.end = r':';
  mode91.relevance = 0;
  mode91.contains = [mode92, mode93];
  mode92.scope = r'keyword';
  mode92.match = r'\b_\b';
  mode93.scope = r'params';
  mode93.match =
      r'(?:[a-zA-Z_]|[\u00A8\u00AA\u00AD\u00AF\u00B2-\u00B5\u00B7-\u00BA]|[\u00BC-\u00BE\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]|[\u0100-\u02FF\u0370-\u167F\u1681-\u180D\u180F-\u1DBF]|[\u1E00-\u1FFF]|[\u200B-\u200D\u202A-\u202E\u203F-\u2040\u2054\u2060-\u206F]|[\u2070-\u20CF\u2100-\u218F\u2460-\u24FF\u2776-\u2793]|[\u2C00-\u2DFF\u2E80-\u2FFF]|[\u3004-\u3007\u3021-\u302F\u3031-\u303F\u3040-\uD7FF]|[\uF900-\uFD3D\uFD40-\uFDCF\uFDF0-\uFE1F\uFE30-\uFE44]|[\uFE47-\uFEFE\uFF00-\uFFFD])(?:(?:[a-zA-Z_]|[\u00A8\u00AA\u00AD\u00AF\u00B2-\u00B5\u00B7-\u00BA]|[\u00BC-\u00BE\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]|[\u0100-\u02FF\u0370-\u167F\u1681-\u180D\u180F-\u1DBF]|[\u1E00-\u1FFF]|[\u200B-\u200D\u202A-\u202E\u203F-\u2040\u2054\u2060-\u206F]|[\u2070-\u20CF\u2100-\u218F\u2460-\u24FF\u2776-\u2793]|[\u2C00-\u2DFF\u2E80-\u2FFF]|[\u3004-\u3007\u3021-\u302F\u3031-\u303F\u3040-\uD7FF]|[\uF900-\uFD3D\uFD40-\uFDCF\uFDF0-\uFE1F\uFE30-\uFE44]|[\uFE47-\uFEFE\uFF00-\uFFFD])|\d|[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE20-\uFE2F])*';
  mode94.begin = r'\(';
  mode94.end = r'\)';
  mode94.relevance = 0;
  mode94.keywords = {
    r'$pattern': r'(?:\b\w+|#\w+)',
    r'keyword': [
      r'actor',
      r'any',
      r'associatedtype',
      r'async',
      r'await',
      r'as',
      r'borrowing',
      r'break',
      r'case',
      r'catch',
      r'class',
      r'consume',
      r'consuming',
      r'continue',
      r'convenience',
      r'copy',
      r'default',
      r'defer',
      r'deinit',
      r'didSet',
      r'distributed',
      r'do',
      r'dynamic',
      r'each',
      r'else',
      r'enum',
      r'extension',
      r'fallthrough',
      r'fileprivate',
      r'final',
      r'for',
      r'func',
      r'get',
      r'guard',
      r'if',
      r'import',
      r'indirect',
      r'infix',
      r'inout',
      r'internal',
      r'in',
      r'is',
      r'isolated',
      r'nonisolated',
      r'lazy',
      r'let',
      r'macro',
      r'mutating',
      r'nonmutating',
      r'open',
      r'operator',
      r'optional',
      r'override',
      r'package',
      r'postfix',
      r'precedencegroup',
      r'prefix',
      r'private',
      r'protocol',
      r'public',
      r'repeat',
      r'required',
      r'rethrows',
      r'return',
      r'set',
      r'some',
      r'static',
      r'struct',
      r'subscript',
      r'super',
      r'switch',
      r'throws',
      r'throw',
      r'try',
      r'typealias',
      r'unowned',
      r'var',
      r'weak',
      r'where',
      r'while',
      r'willSet',
      r'_|0',
      r'#colorLiteral',
      r'#column',
      r'#dsohandle',
      r'#else',
      r'#elseif',
      r'#endif',
      r'#error',
      r'#file',
      r'#fileID',
      r'#fileLiteral',
      r'#filePath',
      r'#function',
      r'#if',
      r'#imageLiteral',
      r'#keyPath',
      r'#line',
      r'#selector',
      r'#sourceLocation',
      r'#warning',
    ],
    r'literal': [r'false', r'nil', r'true'],
  };
  mode94.contains = [
    r'self',
    mode95,
    mode0,
    mode3,
    mode96,
    mode14,
    mode15,
    mode16,
    mode37,
    mode38,
    mode21,
    mode22,
    mode25,
    mode30,
    mode39,
    mode40,
    mode41,
    mode18,
    mode88,
    mode89,
    mode7,
  ];
  mode95.match =
      r'(?:[a-zA-Z_]|[\u00A8\u00AA\u00AD\u00AF\u00B2-\u00B5\u00B7-\u00BA]|[\u00BC-\u00BE\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]|[\u0100-\u02FF\u0370-\u167F\u1681-\u180D\u180F-\u1DBF]|[\u1E00-\u1FFF]|[\u200B-\u200D\u202A-\u202E\u203F-\u2040\u2054\u2060-\u206F]|[\u2070-\u20CF\u2100-\u218F\u2460-\u24FF\u2776-\u2793]|[\u2C00-\u2DFF\u2E80-\u2FFF]|[\u3004-\u3007\u3021-\u302F\u3031-\u303F\u3040-\uD7FF]|[\uF900-\uFD3D\uFD40-\uFDCF\uFDF0-\uFE1F\uFE30-\uFE44]|[\uFE47-\uFEFE\uFF00-\uFFFD])(?:(?:[a-zA-Z_]|[\u00A8\u00AA\u00AD\u00AF\u00B2-\u00B5\u00B7-\u00BA]|[\u00BC-\u00BE\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]|[\u0100-\u02FF\u0370-\u167F\u1681-\u180D\u180F-\u1DBF]|[\u1E00-\u1FFF]|[\u200B-\u200D\u202A-\u202E\u203F-\u2040\u2054\u2060-\u206F]|[\u2070-\u20CF\u2100-\u218F\u2460-\u24FF\u2776-\u2793]|[\u2C00-\u2DFF\u2E80-\u2FFF]|[\u3004-\u3007\u3021-\u302F\u3031-\u303F\u3040-\uD7FF]|[\uF900-\uFD3D\uFD40-\uFDCF\uFDF0-\uFE1F\uFE30-\uFE44]|[\uFE47-\uFEFE\uFF00-\uFFFD])|\d|[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE20-\uFE2F])*\s*:';
  mode95.keywords = r'_|0';
  mode95.relevance = 0;
  mode96.scope = r'regexp';
  mode96.variants = [mode97, mode101, mode103, mode105];
  mode97.begin = r'###\/';
  mode97.end = r'\/###';
  mode97.contains = [mode98, mode99, mode100];
  mode98.begin = r'\\[\s\S]';
  mode98.relevance = 0;
  mode99.begin = r'\[';
  mode99.end = r'\]';
  mode99.relevance = 0;
  mode99.contains = [mode98];
  mode100.scope = r'comment';
  mode100.begin = r'#(?!.*\/###)';
  mode100.end = r'$';
  mode101.begin = r'##\/';
  mode101.end = r'\/##';
  mode101.contains = [mode98, mode99, mode102];
  mode102.scope = r'comment';
  mode102.begin = r'#(?!.*\/##)';
  mode102.end = r'$';
  mode103.begin = r'#\/';
  mode103.end = r'\/#';
  mode103.contains = [mode98, mode99, mode104];
  mode104.scope = r'comment';
  mode104.begin = r'#(?!.*\/#)';
  mode104.end = r'$';
  mode105.begin = r'\/[^\s](?=[^/\n]*\/)';
  mode105.end = r'\/';
  mode105.contains = [mode98, mode99];
  mode106.match = r'\s+';
  mode106.relevance = 0;
  return Mode(
    name: r'Swift',
    keywords: {
      r'$pattern': r'(?:\b\w+|#\w+)',
      r'keyword': [
        r'actor',
        r'any',
        r'associatedtype',
        r'async',
        r'await',
        r'as',
        r'borrowing',
        r'break',
        r'case',
        r'catch',
        r'class',
        r'consume',
        r'consuming',
        r'continue',
        r'convenience',
        r'copy',
        r'default',
        r'defer',
        r'deinit',
        r'didSet',
        r'distributed',
        r'do',
        r'dynamic',
        r'each',
        r'else',
        r'enum',
        r'extension',
        r'fallthrough',
        r'fileprivate',
        r'final',
        r'for',
        r'func',
        r'get',
        r'guard',
        r'if',
        r'import',
        r'indirect',
        r'infix',
        r'inout',
        r'internal',
        r'in',
        r'is',
        r'isolated',
        r'nonisolated',
        r'lazy',
        r'let',
        r'macro',
        r'mutating',
        r'nonmutating',
        r'open',
        r'operator',
        r'optional',
        r'override',
        r'package',
        r'postfix',
        r'precedencegroup',
        r'prefix',
        r'private',
        r'protocol',
        r'public',
        r'repeat',
        r'required',
        r'rethrows',
        r'return',
        r'set',
        r'some',
        r'static',
        r'struct',
        r'subscript',
        r'super',
        r'switch',
        r'throws',
        r'throw',
        r'try',
        r'typealias',
        r'unowned',
        r'var',
        r'weak',
        r'where',
        r'while',
        r'willSet',
        r'_|0',
        r'#colorLiteral',
        r'#column',
        r'#dsohandle',
        r'#else',
        r'#elseif',
        r'#endif',
        r'#error',
        r'#file',
        r'#fileID',
        r'#fileLiteral',
        r'#filePath',
        r'#function',
        r'#if',
        r'#imageLiteral',
        r'#keyPath',
        r'#line',
        r'#selector',
        r'#sourceLocation',
        r'#warning',
      ],
      r'literal': [r'false', r'nil', r'true'],
    },
    contains: [
      mode0,
      mode3,
      Mode(
        match: [
          r'(func|macro)',
          r'\s+',
          r'(?:`(?:[a-zA-Z_]|[\u00A8\u00AA\u00AD\u00AF\u00B2-\u00B5\u00B7-\u00BA]|[\u00BC-\u00BE\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]|[\u0100-\u02FF\u0370-\u167F\u1681-\u180D\u180F-\u1DBF]|[\u1E00-\u1FFF]|[\u200B-\u200D\u202A-\u202E\u203F-\u2040\u2054\u2060-\u206F]|[\u2070-\u20CF\u2100-\u218F\u2460-\u24FF\u2776-\u2793]|[\u2C00-\u2DFF\u2E80-\u2FFF]|[\u3004-\u3007\u3021-\u302F\u3031-\u303F\u3040-\uD7FF]|[\uF900-\uFD3D\uFD40-\uFDCF\uFDF0-\uFE1F\uFE30-\uFE44]|[\uFE47-\uFEFE\uFF00-\uFFFD])(?:(?:[a-zA-Z_]|[\u00A8\u00AA\u00AD\u00AF\u00B2-\u00B5\u00B7-\u00BA]|[\u00BC-\u00BE\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]|[\u0100-\u02FF\u0370-\u167F\u1681-\u180D\u180F-\u1DBF]|[\u1E00-\u1FFF]|[\u200B-\u200D\u202A-\u202E\u203F-\u2040\u2054\u2060-\u206F]|[\u2070-\u20CF\u2100-\u218F\u2460-\u24FF\u2776-\u2793]|[\u2C00-\u2DFF\u2E80-\u2FFF]|[\u3004-\u3007\u3021-\u302F\u3031-\u303F\u3040-\uD7FF]|[\uF900-\uFD3D\uFD40-\uFDCF\uFDF0-\uFE1F\uFE30-\uFE44]|[\uFE47-\uFEFE\uFF00-\uFFFD])|\d|[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE20-\uFE2F])*`|(?:[a-zA-Z_]|[\u00A8\u00AA\u00AD\u00AF\u00B2-\u00B5\u00B7-\u00BA]|[\u00BC-\u00BE\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]|[\u0100-\u02FF\u0370-\u167F\u1681-\u180D\u180F-\u1DBF]|[\u1E00-\u1FFF]|[\u200B-\u200D\u202A-\u202E\u203F-\u2040\u2054\u2060-\u206F]|[\u2070-\u20CF\u2100-\u218F\u2460-\u24FF\u2776-\u2793]|[\u2C00-\u2DFF\u2E80-\u2FFF]|[\u3004-\u3007\u3021-\u302F\u3031-\u303F\u3040-\uD7FF]|[\uF900-\uFD3D\uFD40-\uFDCF\uFDF0-\uFE1F\uFE30-\uFE44]|[\uFE47-\uFEFE\uFF00-\uFFFD])(?:(?:[a-zA-Z_]|[\u00A8\u00AA\u00AD\u00AF\u00B2-\u00B5\u00B7-\u00BA]|[\u00BC-\u00BE\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]|[\u0100-\u02FF\u0370-\u167F\u1681-\u180D\u180F-\u1DBF]|[\u1E00-\u1FFF]|[\u200B-\u200D\u202A-\u202E\u203F-\u2040\u2054\u2060-\u206F]|[\u2070-\u20CF\u2100-\u218F\u2460-\u24FF\u2776-\u2793]|[\u2C00-\u2DFF\u2E80-\u2FFF]|[\u3004-\u3007\u3021-\u302F\u3031-\u303F\u3040-\uD7FF]|[\uF900-\uFD3D\uFD40-\uFDCF\uFDF0-\uFE1F\uFE30-\uFE44]|[\uFE47-\uFEFE\uFF00-\uFFFD])|\d|[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE20-\uFE2F])*|(?:[/=\-+!*%<>&|^~?]|[\u00A1-\u00A7]|[\u00A9\u00AB]|[\u00AC\u00AE]|[\u00B0\u00B1]|[\u00B6\u00BB\u00BF\u00D7\u00F7]|[\u2016-\u2017]|[\u2020-\u2027]|[\u2030-\u203E]|[\u2041-\u2053]|[\u2055-\u205E]|[\u2190-\u23FF]|[\u2500-\u2775]|[\u2794-\u2BFF]|[\u2E00-\u2E7F]|[\u3001-\u3003]|[\u3008-\u3020]|[\u3030])(?:(?:[/=\-+!*%<>&|^~?]|[\u00A1-\u00A7]|[\u00A9\u00AB]|[\u00AC\u00AE]|[\u00B0\u00B1]|[\u00B6\u00BB\u00BF\u00D7\u00F7]|[\u2016-\u2017]|[\u2020-\u2027]|[\u2030-\u203E]|[\u2041-\u2053]|[\u2055-\u205E]|[\u2190-\u23FF]|[\u2500-\u2775]|[\u2794-\u2BFF]|[\u2E00-\u2E7F]|[\u3001-\u3003]|[\u3008-\u3020]|[\u3030])|[\u0300-\u036F]|[\u1DC0-\u1DFF]|[\u20D0-\u20FF]|[\uFE00-\uFE0F]|[\uFE20-\uFE2F])*)',
        ],
        scope: {1: r'keyword', 3: r'title.function'},
        contains: [mode6, mode90, mode106],
        illegal: [r'\[', r'%'],
      ),
      Mode(
        match: [r'\b(?:subscript|init[?!]?)', r'\s*(?=[<(])'],
        scope: {1: r'keyword'},
        contains: [mode6, mode90, mode106],
        illegal: r'\[|%',
      ),
      Mode(
        match: [
          r'class\b',
          r'\s+',
          r'func\b',
          r'\s+',
          r'\b[A-Za-z_][A-Za-z0-9_]*\b',
        ],
        scope: {1: r'keyword', 3: r'keyword', 5: r'title.function'},
      ),
      Mode(
        match: [r'class\b', r'\s+', r'var\b'],
        scope: {1: r'keyword', 3: r'keyword'},
      ),
      Mode(
        begin: [
          r'(struct|protocol|class|extension|enum|actor)',
          r'\s+',
          r'(?:[a-zA-Z_]|[\u00A8\u00AA\u00AD\u00AF\u00B2-\u00B5\u00B7-\u00BA]|[\u00BC-\u00BE\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]|[\u0100-\u02FF\u0370-\u167F\u1681-\u180D\u180F-\u1DBF]|[\u1E00-\u1FFF]|[\u200B-\u200D\u202A-\u202E\u203F-\u2040\u2054\u2060-\u206F]|[\u2070-\u20CF\u2100-\u218F\u2460-\u24FF\u2776-\u2793]|[\u2C00-\u2DFF\u2E80-\u2FFF]|[\u3004-\u3007\u3021-\u302F\u3031-\u303F\u3040-\uD7FF]|[\uF900-\uFD3D\uFD40-\uFDCF\uFDF0-\uFE1F\uFE30-\uFE44]|[\uFE47-\uFEFE\uFF00-\uFFFD])(?:(?:[a-zA-Z_]|[\u00A8\u00AA\u00AD\u00AF\u00B2-\u00B5\u00B7-\u00BA]|[\u00BC-\u00BE\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]|[\u0100-\u02FF\u0370-\u167F\u1681-\u180D\u180F-\u1DBF]|[\u1E00-\u1FFF]|[\u200B-\u200D\u202A-\u202E\u203F-\u2040\u2054\u2060-\u206F]|[\u2070-\u20CF\u2100-\u218F\u2460-\u24FF\u2776-\u2793]|[\u2C00-\u2DFF\u2E80-\u2FFF]|[\u3004-\u3007\u3021-\u302F\u3031-\u303F\u3040-\uD7FF]|[\uF900-\uFD3D\uFD40-\uFDCF\uFDF0-\uFE1F\uFE30-\uFE44]|[\uFE47-\uFEFE\uFF00-\uFFFD])|\d|[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE20-\uFE2F])*',
          r'\s*',
        ],
        beginScope: {1: r'keyword', 3: r'title.class'},
        keywords: {
          r'$pattern': r'(?:\b\w+|#\w+)',
          r'keyword': [
            r'actor',
            r'any',
            r'associatedtype',
            r'async',
            r'await',
            r'as',
            r'borrowing',
            r'break',
            r'case',
            r'catch',
            r'class',
            r'consume',
            r'consuming',
            r'continue',
            r'convenience',
            r'copy',
            r'default',
            r'defer',
            r'deinit',
            r'didSet',
            r'distributed',
            r'do',
            r'dynamic',
            r'each',
            r'else',
            r'enum',
            r'extension',
            r'fallthrough',
            r'fileprivate',
            r'final',
            r'for',
            r'func',
            r'get',
            r'guard',
            r'if',
            r'import',
            r'indirect',
            r'infix',
            r'inout',
            r'internal',
            r'in',
            r'is',
            r'isolated',
            r'nonisolated',
            r'lazy',
            r'let',
            r'macro',
            r'mutating',
            r'nonmutating',
            r'open',
            r'operator',
            r'optional',
            r'override',
            r'package',
            r'postfix',
            r'precedencegroup',
            r'prefix',
            r'private',
            r'protocol',
            r'public',
            r'repeat',
            r'required',
            r'rethrows',
            r'return',
            r'set',
            r'some',
            r'static',
            r'struct',
            r'subscript',
            r'super',
            r'switch',
            r'throws',
            r'throw',
            r'try',
            r'typealias',
            r'unowned',
            r'var',
            r'weak',
            r'where',
            r'while',
            r'willSet',
            r'_|0',
            r'#colorLiteral',
            r'#column',
            r'#dsohandle',
            r'#else',
            r'#elseif',
            r'#endif',
            r'#error',
            r'#file',
            r'#fileID',
            r'#fileLiteral',
            r'#filePath',
            r'#function',
            r'#if',
            r'#imageLiteral',
            r'#keyPath',
            r'#line',
            r'#selector',
            r'#sourceLocation',
            r'#warning',
          ],
          r'literal': [r'false', r'nil', r'true'],
        },
        contains: [
          mode6,
          mode14,
          mode15,
          mode16,
          Mode(
            begin: r':',
            end: r'\{',
            keywords: {
              r'$pattern': r'(?:\b\w+|#\w+)',
              r'keyword': [
                r'actor',
                r'any',
                r'associatedtype',
                r'async',
                r'await',
                r'as',
                r'borrowing',
                r'break',
                r'case',
                r'catch',
                r'class',
                r'consume',
                r'consuming',
                r'continue',
                r'convenience',
                r'copy',
                r'default',
                r'defer',
                r'deinit',
                r'didSet',
                r'distributed',
                r'do',
                r'dynamic',
                r'each',
                r'else',
                r'enum',
                r'extension',
                r'fallthrough',
                r'fileprivate',
                r'final',
                r'for',
                r'func',
                r'get',
                r'guard',
                r'if',
                r'import',
                r'indirect',
                r'infix',
                r'inout',
                r'internal',
                r'in',
                r'is',
                r'isolated',
                r'nonisolated',
                r'lazy',
                r'let',
                r'macro',
                r'mutating',
                r'nonmutating',
                r'open',
                r'operator',
                r'optional',
                r'override',
                r'package',
                r'postfix',
                r'precedencegroup',
                r'prefix',
                r'private',
                r'protocol',
                r'public',
                r'repeat',
                r'required',
                r'rethrows',
                r'return',
                r'set',
                r'some',
                r'static',
                r'struct',
                r'subscript',
                r'super',
                r'switch',
                r'throws',
                r'throw',
                r'try',
                r'typealias',
                r'unowned',
                r'var',
                r'weak',
                r'where',
                r'while',
                r'willSet',
                r'_|0',
                r'#colorLiteral',
                r'#column',
                r'#dsohandle',
                r'#else',
                r'#elseif',
                r'#endif',
                r'#error',
                r'#file',
                r'#fileID',
                r'#fileLiteral',
                r'#filePath',
                r'#function',
                r'#if',
                r'#imageLiteral',
                r'#keyPath',
                r'#line',
                r'#selector',
                r'#sourceLocation',
                r'#warning',
              ],
              r'literal': [r'false', r'nil', r'true'],
            },
            contains: [
              Mode(
                scope: r'title.class.inherited',
                match:
                    r'[A-Z](?:(?:[a-zA-Z_]|[\u00A8\u00AA\u00AD\u00AF\u00B2-\u00B5\u00B7-\u00BA]|[\u00BC-\u00BE\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]|[\u0100-\u02FF\u0370-\u167F\u1681-\u180D\u180F-\u1DBF]|[\u1E00-\u1FFF]|[\u200B-\u200D\u202A-\u202E\u203F-\u2040\u2054\u2060-\u206F]|[\u2070-\u20CF\u2100-\u218F\u2460-\u24FF\u2776-\u2793]|[\u2C00-\u2DFF\u2E80-\u2FFF]|[\u3004-\u3007\u3021-\u302F\u3031-\u303F\u3040-\uD7FF]|[\uF900-\uFD3D\uFD40-\uFDCF\uFDF0-\uFE1F\uFE30-\uFE44]|[\uFE47-\uFEFE\uFF00-\uFFFD])|\d|[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE20-\uFE2F])*',
              ),
              mode14,
              mode15,
              mode16,
            ],
            relevance: 0,
          ),
        ],
      ),
      Mode(
        match: [
          r'operator',
          r'\s+',
          r'(?:[/=\-+!*%<>&|^~?]|[\u00A1-\u00A7]|[\u00A9\u00AB]|[\u00AC\u00AE]|[\u00B0\u00B1]|[\u00B6\u00BB\u00BF\u00D7\u00F7]|[\u2016-\u2017]|[\u2020-\u2027]|[\u2030-\u203E]|[\u2041-\u2053]|[\u2055-\u205E]|[\u2190-\u23FF]|[\u2500-\u2775]|[\u2794-\u2BFF]|[\u2E00-\u2E7F]|[\u3001-\u3003]|[\u3008-\u3020]|[\u3030])(?:(?:[/=\-+!*%<>&|^~?]|[\u00A1-\u00A7]|[\u00A9\u00AB]|[\u00AC\u00AE]|[\u00B0\u00B1]|[\u00B6\u00BB\u00BF\u00D7\u00F7]|[\u2016-\u2017]|[\u2020-\u2027]|[\u2030-\u203E]|[\u2041-\u2053]|[\u2055-\u205E]|[\u2190-\u23FF]|[\u2500-\u2775]|[\u2794-\u2BFF]|[\u2E00-\u2E7F]|[\u3001-\u3003]|[\u3008-\u3020]|[\u3030])|[\u0300-\u036F]|[\u1DC0-\u1DFF]|[\u20D0-\u20FF]|[\uFE00-\uFE0F]|[\uFE20-\uFE2F])*',
        ],
        scope: {1: r'keyword', 3: r'title'},
      ),
      Mode(
        begin: [
          r'precedencegroup',
          r'\s+',
          r'[A-Z](?:(?:[a-zA-Z_]|[\u00A8\u00AA\u00AD\u00AF\u00B2-\u00B5\u00B7-\u00BA]|[\u00BC-\u00BE\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]|[\u0100-\u02FF\u0370-\u167F\u1681-\u180D\u180F-\u1DBF]|[\u1E00-\u1FFF]|[\u200B-\u200D\u202A-\u202E\u203F-\u2040\u2054\u2060-\u206F]|[\u2070-\u20CF\u2100-\u218F\u2460-\u24FF\u2776-\u2793]|[\u2C00-\u2DFF\u2E80-\u2FFF]|[\u3004-\u3007\u3021-\u302F\u3031-\u303F\u3040-\uD7FF]|[\uF900-\uFD3D\uFD40-\uFDCF\uFDF0-\uFE1F\uFE30-\uFE44]|[\uFE47-\uFEFE\uFF00-\uFFFD])|\d|[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE20-\uFE2F])*',
        ],
        scope: {1: r'keyword', 3: r'title'},
        contains: [mode7],
        keywords: [
          r'assignment',
          r'associativity',
          r'higherThan',
          r'left',
          r'lowerThan',
          r'none',
          r'right',
          r'false',
          r'nil',
          r'true',
        ],
        end: r'}',
      ),
      Mode(
        beginKeywords: r'import',
        end: r'$',
        contains: [mode0, mode3],
        relevance: 0,
      ),
      mode96,
      mode14,
      mode15,
      mode16,
      mode37,
      mode38,
      mode21,
      mode22,
      mode25,
      mode30,
      mode39,
      mode40,
      mode41,
      mode18,
      mode88,
      mode89,
      mode7,
      mode94,
    ],
  );
}