shiki
Version:
A beautiful Syntax Highlighter.
1 lines • 105 kB
JavaScript
const lang = Object.freeze(JSON.parse("{\"displayName\":\"Swift\",\"name\":\"swift\",\"patterns\":[{\"include\":\"#root\"}],\"repository\":{\"async-throws\":{\"captures\":{\"1\":{\"name\":\"invalid.illegal.await-must-precede-throws.swift\"},\"2\":{\"name\":\"storage.modifier.exception.swift\"},\"3\":{\"name\":\"storage.modifier.async.swift\"}},\"match\":\"\\\\b(?:(throws\\\\s+async|rethrows\\\\s+async)|(throws|rethrows)|(async))\\\\b\"},\"attributes\":{\"patterns\":[{\"begin\":\"((@)available)(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.attribute.swift\"},\"2\":{\"name\":\"punctuation.definition.attribute.swift\"},\"3\":{\"name\":\"punctuation.definition.arguments.begin.swift\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.arguments.end.swift\"}},\"name\":\"meta.attribute.available.swift\",\"patterns\":[{\"captures\":{\"1\":{\"name\":\"keyword.other.platform.os.swift\"},\"2\":{\"name\":\"constant.numeric.swift\"}},\"match\":\"\\\\b(swift|(?:iOS|macOS|OSX|watchOS|tvOS|visionOS|UIKitForMac)(?:ApplicationExtension)?)\\\\b(?:\\\\s+(\\\\d+(?:\\\\.\\\\d+)*\\\\b))?\"},{\"begin\":\"\\\\b(introduced|deprecated|obsoleted)\\\\s*(:)\\\\s*\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.other.swift\"},\"2\":{\"name\":\"punctuation.separator.key-value.swift\"}},\"end\":\"(?!\\\\G)\",\"patterns\":[{\"match\":\"\\\\b\\\\d+(?:\\\\.\\\\d+)*\\\\b\",\"name\":\"constant.numeric.swift\"}]},{\"begin\":\"\\\\b(message|renamed)\\\\s*(:)\\\\s*(?=\\\")\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.other.swift\"},\"2\":{\"name\":\"punctuation.separator.key-value.swift\"}},\"end\":\"(?!\\\\G)\",\"patterns\":[{\"include\":\"#literals\"}]},{\"captures\":{\"1\":{\"name\":\"keyword.other.platform.all.swift\"},\"2\":{\"name\":\"keyword.other.swift\"},\"3\":{\"name\":\"invalid.illegal.character-not-allowed-here.swift\"}},\"match\":\"(?:(\\\\*)|\\\\b(deprecated|unavailable|noasync)\\\\b)\\\\s*(.*?)(?=[,)])\"}]},{\"begin\":\"((@)objc)(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.attribute.swift\"},\"2\":{\"name\":\"punctuation.definition.attribute.swift\"},\"3\":{\"name\":\"punctuation.definition.arguments.begin.swift\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.arguments.end.swift\"}},\"name\":\"meta.attribute.objc.swift\",\"patterns\":[{\"captures\":{\"1\":{\"name\":\"invalid.illegal.missing-colon-after-selector-piece.swift\"}},\"match\":\"\\\\w*(?::(?:\\\\w*:)*(\\\\w*))?\",\"name\":\"entity.name.function.swift\"}]},{\"begin\":\"(@)(?<q>`?)[\\\\p{L}_][\\\\p{L}_\\\\p{N}\\\\p{M}]*(\\\\k<q>)\",\"beginCaptures\":{\"0\":{\"name\":\"storage.modifier.attribute.swift\"},\"1\":{\"name\":\"punctuation.definition.attribute.swift\"},\"2\":{\"name\":\"punctuation.definition.identifier.swift\"},\"3\":{\"name\":\"punctuation.definition.identifier.swift\"}},\"comment\":\"any other attribute\",\"end\":\"(?!\\\\G\\\\()\",\"name\":\"meta.attribute.swift\",\"patterns\":[{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.arguments.begin.swift\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.arguments.end.swift\"}},\"name\":\"meta.arguments.attribute.swift\",\"patterns\":[{\"include\":\"#expressions\"}]}]}]},\"builtin-functions\":{\"patterns\":[{\"comment\":\"Member functions in the standard library in Swift 3 which may be used with trailing closures and no parentheses\",\"match\":\"(?<=\\\\.)(?:s(?:ort(?:ed)?|plit)|contains|index|partition|f(?:i(?:lter|rst)|orEach|latMap)|with(?:MutableCharacters|CString|U(?:nsafe(?:Mutable(?:BufferPointer|Pointer(?:s|To(?:Header|Elements)))|BufferPointer)|TF8Buffer))|m(?:in|a(?:p|x)))(?=\\\\s*[({])\\\\b\",\"name\":\"support.function.swift\"},{\"comment\":\"Member functions in the standard library in Swift 3\",\"match\":\"(?<=\\\\.)(?:s(?:ymmetricDifference|t(?:oreBytes|arts|ride)|ortInPlace|u(?:ccessor|ffix|btract(?:ing|InPlace|WithOverflow)?)|quareRoot|amePosition)|h(?:oldsUnique(?:Reference|OrPinnedReference)|as(?:Suffix|Prefix))|ne(?:gate(?:d)?|xt)|c(?:o(?:untByEnumerating|py(?:Bytes)?)|lamp(?:ed)?|reate)|t(?:o(?:IntMax|Opaque|UIntMax)|ake(?:RetainedValue|UnretainedValue)|r(?:uncatingRemainder|a(?:nscodedLength|ilSurrogate)))|i(?:s(?:MutableAndUniquelyReferenced(?:OrPinned)?|S(?:trictSu(?:perset(?:Of)?|bset(?:Of)?)|u(?:perset(?:Of)?|bset(?:Of)?))|Continuation|T(?:otallyOrdered|railSurrogate)|Disjoint(?:With)?|Unique(?:Reference|lyReferenced(?:OrPinned)?)|Equal|Le(?:ss(?:ThanOrEqualTo)?|adSurrogate))|n(?:sert(?:ContentsOf)?|tersect(?:ion|InPlace)?|itialize(?:Memory|From)?|dex(?:Of|ForKey)))|o(?:verlaps|bjectAt)|d(?:i(?:stance(?:To)?|vide(?:d|WithOverflow)?)|e(?:s(?:cendant|troy)|code(?:CString)?|initialize|alloc(?:ate(?:Capacity)?)?)|rop(?:First|Last))|u(?:n(?:ion(?:InPlace)?|derestimateCount|wrappedOrError)|p(?:date(?:Value)?|percased))|join(?:ed|WithSeparator)|p(?:op(?:First|Last)|ass(?:Retained|Unretained)|re(?:decessor|fix))|e(?:scape(?:d)?|n(?:code|umerate(?:d)?)|lementsEqual|xclusiveOr(?:InPlace)?)|f(?:orm(?:Remainder|S(?:ymmetricDifference|quareRoot)|TruncatingRemainder|In(?:tersection|dex)|Union)|latten|rom(?:CString(?:RepairingIllFormedUTF8)?|Opaque))|w(?:i(?:thMemoryRebound|dth)|rite(?:To)?)|l(?:o(?:wercased|ad)|e(?:adSurrogate|xicographical(?:Compare|lyPrecedes)))|a(?:ss(?:ign(?:BackwardFrom|From)?|umingMemoryBound)|d(?:d(?:ing(?:Product)?|Product|WithOverflow)?|vanced(?:By)?)|utorelease|ppend(?:ContentsOf)?|lloc(?:ate)?|bs)|r(?:ound(?:ed)?|e(?:serveCapacity|tain|duce|place(?:Range|Subrange)?|verse(?:d)?|quest(?:NativeBuffer|UniqueMutableBackingBuffer)|lease|m(?:ove(?:Range|Subrange|Value(?:ForKey)?|First|Last|A(?:tIndex|ll))?|ainder(?:WithOverflow)?)))|ge(?:nerate|t(?:Objects|Element))|m(?:in(?:imum(?:Magnitude)?|Element)|ove(?:Initialize(?:Memory|BackwardFrom|From)?|Assign(?:From)?)?|ultipl(?:y(?:WithOverflow)?|ied)|easure|a(?:ke(?:Iterator|Description)|x(?:imum(?:Magnitude)?|Element)))|bindMemory)(?=\\\\s*\\\\()\",\"name\":\"support.function.swift\"},{\"comment\":\"Member functions in the standard library in Swift 2 only\",\"match\":\"(?<=\\\\.)(?:s(?:uperclassMirror|amePositionIn|tartsWith)|nextObject|c(?:haracterAtIndex|o(?:untByEnumeratingWithState|pyWithZone)|ustom(?:Mirror|PlaygroundQuickLook))|is(?:EmptyInput|ASCII)|object(?:Enumerator|ForKey|AtIndex)|join|put|keyEnumerator|withUnsafeMutablePointerToValue|length|getMirror|m(?:oveInitializeAssignFrom|ember))(?=\\\\s*\\\\()\",\"name\":\"support.function.swift\"}]},\"builtin-global-functions\":{\"patterns\":[{\"begin\":\"\\\\b(type)(\\\\()\\\\s*(of)(:)\",\"beginCaptures\":{\"1\":{\"name\":\"support.function.dynamic-type.swift\"},\"2\":{\"name\":\"punctuation.definition.arguments.begin.swift\"},\"3\":{\"name\":\"support.variable.parameter.swift\"},\"4\":{\"name\":\"punctuation.separator.argument-label.begin.swift\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.arguments.end.swift\"}},\"patterns\":[{\"include\":\"#expressions\"}]},{\"comment\":\"Global functions available in Swift 3 which may be used with trailing closures and no parentheses\",\"match\":\"\\\\b(?:anyGenerator|autoreleasepool)(?=\\\\s*[({])\\\\b\",\"name\":\"support.function.swift\"},{\"comment\":\"Global functions available in Swift 3\",\"match\":\"\\\\b(?:s(?:tride(?:of(?:Value)?)?|izeof(?:Value)?|equence|wap)|numericCast|transcode|is(?:UniquelyReferenced(?:NonObjC)?|KnownUniquelyReferenced)|zip|d(?:ump|ebugPrint)|unsafe(?:BitCast|Downcast|Unwrap|Address(?:Of)?)|pr(?:int|econdition(?:Failure)?)|fatalError|with(?:Unsafe(?:MutablePointer|Pointer)|ExtendedLifetime|VaList)|a(?:ssert(?:ionFailure)?|lignof(?:Value)?|bs)|re(?:peatElement|adLine)|getVaList|m(?:in|ax))(?=\\\\s*\\\\()\",\"name\":\"support.function.swift\"},{\"comment\":\"Global functions available in Swift 2 only\",\"match\":\"\\\\b(?:s(?:ort|uffix|pli(?:ce|t))|insert|overlaps|d(?:istance|rop(?:First|Last))|join|prefix|extend|withUnsafe(?:MutablePointers|Pointers)|lazy|advance|re(?:flect|move(?:Range|Last|A(?:tIndex|ll))))(?=\\\\s*\\\\()\",\"name\":\"support.function.swift\"}]},\"builtin-properties\":{\"patterns\":[{\"comment\":\"The simpler (?<=\\\\bProcess\\\\.|\\\\bCommandLine\\\\.) breaks VS Code / Atom, see https://github.com/textmate/swift.tmbundle/issues/29\",\"match\":\"(?<=^Process\\\\.|\\\\WProcess\\\\.|^CommandLine\\\\.|\\\\WCommandLine\\\\.)(arguments|argc|unsafeArgv)\",\"name\":\"support.variable.swift\"},{\"comment\":\"Properties in the standard library in Swift 3\",\"match\":\"(?<=\\\\.)(?:s(?:t(?:artIndex|ri(?:ngValue|de))|i(?:ze|gn(?:BitIndex|ificand(?:Bit(?:Count|Pattern)|Width)?|alingNaN)?)|u(?:perclassMirror|mmary|bscriptBaseAddress))|h(?:eader|as(?:hValue|PointerRepresentation))|n(?:ulTerminatedUTF8|ext(?:Down|Up)|a(?:n|tiveOwner))|c(?:haracters|ount(?:TrailingZeros)?|ustom(?:Mirror|PlaygroundQuickLook)|apacity)|i(?:s(?:S(?:ign(?:Minus|aling(?:NaN)?)|ubnormal)|N(?:ormal|aN)|Canonical|Infinite|Zero|Empty|Finite|ASCII)|n(?:dices|finity)|dentity)|owner|de(?:scription|bugDescription)|u(?:n(?:safelyUnwrapped|icodeScalar(?:s)?|derestimatedCount)|tf(?:16|8(?:Start|C(?:String|odeUnitCount))?)|intValue|ppercaseString|lp(?:OfOne)?)|p(?:i|ointee)|e(?:ndIndex|lements|xponent(?:Bit(?:Count|Pattern))?)|value(?:s)?|keys|quietNaN|f(?:irst(?:ElementAddress(?:IfContiguous)?)?|loatingPointClass)|l(?:ittleEndian|owercaseString|eastNo(?:nzeroMagnitude|rmalMagnitude)|a(?:st|zy))|a(?:l(?:ignment|l(?:ocatedElementCount|Zeros))|rray(?:PropertyIsNativeTypeChecked)?)|ra(?:dix|wValue)|greatestFiniteMagnitude|m(?:in|emory|ax)|b(?:yteS(?:ize|wapped)|i(?:nade|tPattern|gEndian)|uffer|ase(?:Address)?))\\\\b\",\"name\":\"support.variable.swift\"},{\"comment\":\"Properties in the standard library in Swift 2 only\",\"match\":\"(?<=\\\\.)(?:boolValue|disposition|end|objectIdentifier|quickLookObject|start|valueType)\\\\b\",\"name\":\"support.variable.swift\"},{\"comment\":\"Enum cases in the standard library - note that there is some overlap between these and the properties\",\"match\":\"(?<=\\\\.)(?:s(?:calarValue|i(?:ze|gnalingNaN)|o(?:und|me)|uppressed|prite|et)|n(?:one|egative(?:Subnormal|Normal|Infinity|Zero))|c(?:ol(?:or|lection)|ustomized)|t(?:o(?:NearestOr(?:Even|AwayFromZero)|wardZero)|uple|ext)|i(?:nt|mage)|optional|d(?:ictionary|o(?:uble|wn))|u(?:Int|p|rl)|p(?:o(?:sitive(?:Subnormal|Normal|Infinity|Zero)|int)|lus)|e(?:rror|mptyInput)|view|quietNaN|float|a(?:ttributedString|wayFromZero)|r(?:ectangle|ange)|generated|minus|b(?:ool|ezierPath))\\\\b\",\"name\":\"support.variable.swift\"}]},\"builtin-types\":{\"comment\":\"Types provided in the standard library\",\"patterns\":[{\"include\":\"#builtin-types-builtin-class-type\"},{\"include\":\"#builtin-types-builtin-enum-type\"},{\"include\":\"#builtin-types-builtin-protocol-type\"},{\"include\":\"#builtin-types-builtin-struct-type\"},{\"include\":\"#builtin-types-builtin-typealias\"},{\"match\":\"\\\\bAny\\\\b\",\"name\":\"support.type.any.swift\"}]},\"builtin-types-builtin-class-type\":{\"comment\":\"Builtin class types\",\"match\":\"\\\\b(Managed(Buffer|ProtoBuffer)|NonObjectiveCBase|AnyGenerator)\\\\b\",\"name\":\"support.class.swift\"},\"builtin-types-builtin-enum-type\":{\"patterns\":[{\"comment\":\"CommandLine is an enum, but it acts like a constant\",\"match\":\"\\\\b(?:CommandLine|Process(?=\\\\.))\\\\b\",\"name\":\"support.constant.swift\"},{\"comment\":\"The return type of a function that never returns\",\"match\":\"\\\\bNever\\\\b\",\"name\":\"support.constant.never.swift\"},{\"comment\":\"Enum types in the standard library in Swift 3\",\"match\":\"\\\\b(?:ImplicitlyUnwrappedOptional|Representation|MemoryLayout|FloatingPointClassification|SetIndexRepresentation|SetIteratorRepresentation|FloatingPointRoundingRule|UnicodeDecodingResult|Optional|DictionaryIndexRepresentation|AncestorRepresentation|DisplayStyle|PlaygroundQuickLook|Never|FloatingPointSign|Bit|DictionaryIteratorRepresentation)\\\\b\",\"name\":\"support.type.swift\"},{\"comment\":\"Enum types in the standard library in Swift 2 only\",\"match\":\"\\\\b(?:MirrorDisposition|QuickLookObject)\\\\b\",\"name\":\"support.type.swift\"}]},\"builtin-types-builtin-protocol-type\":{\"patterns\":[{\"comment\":\"Protocols in the standard library in Swift 3\",\"match\":\"\\\\b(?:Ra(?:n(?:domAccess(?:Collection|Indexable)|geReplaceable(?:Collection|Indexable))|wRepresentable)|M(?:irrorPath|utable(?:Collection|Indexable))|Bi(?:naryFloatingPoint|twiseOperations|directional(?:Collection|Indexable))|S(?:tr(?:ideable|eamable)|igned(?:Number|Integer)|e(?:tAlgebra|quence))|Hashable|C(?:o(?:llection|mparable)|ustom(?:Reflectable|StringConvertible|DebugStringConvertible|PlaygroundQuickLookable|LeafReflectable)|VarArg)|TextOutputStream|I(?:n(?:teger(?:Arithmetic)?|dexable(?:Base)?)|teratorProtocol)|OptionSet|Un(?:signedInteger|icodeCodec)|E(?:quatable|rror|xpressibleBy(?:BooleanLiteral|String(?:Interpolation|Literal)|NilLiteral|IntegerLiteral|DictionaryLiteral|UnicodeScalarLiteral|ExtendedGraphemeClusterLiteral|FloatLiteral|ArrayLiteral))|FloatingPoint|L(?:osslessStringConvertible|azy(?:SequenceProtocol|CollectionProtocol))|A(?:nyObject|bsoluteValuable))\\\\b\",\"name\":\"support.type.swift\"},{\"comment\":\"Protocols in the standard library in Swift 2 only\",\"match\":\"\\\\b(?:Ran(?:domAccessIndexType|geReplaceableCollectionType)|GeneratorType|M(?:irror(?:Type|PathType)|utable(?:Sliceable|CollectionType))|B(?:i(?:twiseOperationsType|directionalIndexType)|oolean(?:Type|LiteralConvertible))|S(?:tring(?:InterpolationConvertible|LiteralConvertible)|i(?:nkType|gned(?:NumberType|IntegerType))|e(?:tAlgebraType|quenceType)|liceable)|NilLiteralConvertible|C(?:ollectionType|VarArgType)|Inte(?:rvalType|ger(?:Type|LiteralConvertible|ArithmeticType))|O(?:utputStreamType|ptionSetType)|DictionaryLiteralConvertible|Un(?:signedIntegerType|icode(?:ScalarLiteralConvertible|CodecType))|E(?:rrorType|xten(?:sibleCollectionType|dedGraphemeClusterLiteralConvertible))|F(?:orwardIndexType|loat(?:ingPointType|LiteralConvertible))|A(?:nyCollectionType|rrayLiteralConvertible))\\\\b\",\"name\":\"support.type.swift\"}]},\"builtin-types-builtin-struct-type\":{\"patterns\":[{\"comment\":\"Structs in the standard library in Swift 3\",\"match\":\"\\\\b(?:R(?:e(?:peat(?:ed)?|versed(?:RandomAccess(?:Collection|Index)|Collection|Index))|an(?:domAccessSlice|ge(?:Replaceable(?:RandomAccessSlice|BidirectionalSlice|Slice)|Generator)?))|Generator(?:Sequence|OfOne)|M(?:irror|utable(?:Ran(?:domAccessSlice|geReplaceable(?:RandomAccessSlice|BidirectionalSlice|Slice))|BidirectionalSlice|Slice)|anagedBufferPointer)|B(?:idirectionalSlice|ool)|S(?:t(?:aticString|ri(?:ng|deT(?:hrough(?:Generator|Iterator)?|o(?:Generator|Iterator)?)))|et(?:I(?:ndex|terator))?|lice)|HalfOpenInterval|C(?:haracter(?:View)?|o(?:ntiguousArray|untable(?:Range|ClosedRange)|llectionOfOne)|OpaquePointer|losed(?:Range(?:I(?:ndex|terator))?|Interval)|VaListPointer)|I(?:n(?:t(?:16|8|32|64)?|d(?:ices|ex(?:ing(?:Generator|Iterator))?))|terator(?:Sequence|OverOne)?)|Zip2(?:Sequence|Iterator)|O(?:paquePointer|bjectIdentifier)|D(?:ictionary(?:I(?:ndex|terator)|Literal)?|ouble|efault(?:RandomAccessIndices|BidirectionalIndices|Indices))|U(?:n(?:safe(?:RawPointer|Mutable(?:RawPointer|BufferPointer|Pointer)|BufferPointer(?:Generator|Iterator)?|Pointer)|icodeScalar(?:View)?|foldSequence|managed)|TF(?:16(?:View)?|8(?:View)?|32)|Int(?:16|8|32|64)?)|Join(?:Generator|ed(?:Sequence|Iterator))|PermutationGenerator|E(?:numerate(?:Generator|Sequence|d(?:Sequence|Iterator))|mpty(?:Generator|Collection|Iterator))|Fl(?:oat(?:80)?|atten(?:Generator|BidirectionalCollection(?:Index)?|Sequence|Collection(?:Index)?|Iterator))|L(?:egacyChildren|azy(?:RandomAccessCollection|Map(?:RandomAccessCollection|Generator|BidirectionalCollection|Sequence|Collection|Iterator)|BidirectionalCollection|Sequence|Collection|Filter(?:Generator|BidirectionalCollection|Sequence|Collection|I(?:ndex|terator))))|A(?:ny(?:RandomAccessCollection|Generator|BidirectionalCollection|Sequence|Hashable|Collection|I(?:ndex|terator))|utoreleasingUnsafeMutablePointer|rray(?:Slice)?))\\\\b\",\"name\":\"support.type.swift\"},{\"comment\":\"Structs in the standard library in Swift 2 only\",\"match\":\"\\\\b(?:R(?:everse(?:RandomAccess(?:Collection|Index)|Collection|Index)|awByte)|Map(?:Generator|Sequence|Collection)|S(?:inkOf|etGenerator)|Zip2Generator|DictionaryGenerator|Filter(?:Generator|Sequence|Collection(?:Index)?)|LazyForwardCollection|Any(?:RandomAccessIndex|BidirectionalIndex|Forward(?:Collection|Index)))\\\\b\",\"name\":\"support.type.swift\"}]},\"builtin-types-builtin-typealias\":{\"patterns\":[{\"comment\":\"Typealiases in the standard library in Swift 3\",\"match\":\"\\\\b(?:Raw(?:Significand|Exponent|Value)|B(?:ooleanLiteralType|uffer|ase)|S(?:t(?:orage|r(?:i(?:ngLiteralType|de)|eam(?:1|2)))|ubSequence)|NativeBuffer|C(?:hild(?:ren)?|Bool|S(?:hort|ignedChar)|odeUnit|Char(?:16|32)?|Int|Double|Unsigned(?:Short|Char|Int|Long(?:Long)?)|Float|WideChar|Long(?:Long)?)|I(?:n(?:t(?:Max|egerLiteralType)|d(?:ices|ex(?:Distance)?))|terator)|Distance|U(?:n(?:icodeScalar(?:Type|Index|View|LiteralType)|foldFirstSequence)|TF(?:16(?:Index|View)|8Index)|IntMax)|E(?:lement(?:s)?|x(?:tendedGraphemeCluster(?:Type|LiteralType)|ponent))|V(?:oid|alue)|Key|Float(?:32|LiteralType|64)|AnyClass)\\\\b\",\"name\":\"support.type.swift\"},{\"comment\":\"Typealiases in the standard library in Swift 2 only\",\"match\":\"\\\\b(?:Generator|PlaygroundQuickLook|UWord|Word)\\\\b\",\"name\":\"support.type.swift\"}]},\"code-block\":{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.scope.begin.swift\"}},\"end\":\"\\\\}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.scope.end.swift\"}},\"patterns\":[{\"include\":\"$self\"}]},\"comments\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"punctuation.definition.comment.swift\"}},\"match\":\"\\\\A^(#!).*$\\\\n?\",\"name\":\"comment.line.number-sign.swift\"},{\"begin\":\"/\\\\*\\\\*(?!/)\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.begin.swift\"}},\"end\":\"\\\\*/\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.end.swift\"}},\"name\":\"comment.block.documentation.swift\",\"patterns\":[{\"include\":\"#comments-nested\"}]},{\"begin\":\"/\\\\*:\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.begin.swift\"}},\"end\":\"\\\\*/\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.end.swift\"}},\"name\":\"comment.block.documentation.playground.swift\",\"patterns\":[{\"include\":\"#comments-nested\"}]},{\"begin\":\"/\\\\*\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.begin.swift\"}},\"end\":\"\\\\*/\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.end.swift\"}},\"name\":\"comment.block.swift\",\"patterns\":[{\"include\":\"#comments-nested\"}]},{\"match\":\"\\\\*/\",\"name\":\"invalid.illegal.unexpected-end-of-block-comment.swift\"},{\"begin\":\"(^[ \\\\t]+)?(?=//)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.whitespace.comment.leading.swift\"}},\"end\":\"(?!\\\\G)\",\"patterns\":[{\"begin\":\"///\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.swift\"}},\"end\":\"$\",\"name\":\"comment.line.triple-slash.documentation.swift\"},{\"begin\":\"//:\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.swift\"}},\"end\":\"$\",\"name\":\"comment.line.double-slash.documentation.swift\"},{\"begin\":\"//\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.swift\"}},\"end\":\"$\",\"name\":\"comment.line.double-slash.swift\"}]}]},\"comments-nested\":{\"begin\":\"/\\\\*\",\"end\":\"\\\\*/\",\"patterns\":[{\"include\":\"#comments-nested\"}]},\"compiler-control\":{\"patterns\":[{\"begin\":\"^\\\\s*(#)(if|elseif)\\\\s+(false)\\\\b.*?(?=$|//|/\\\\*)\",\"beginCaptures\":{\"0\":{\"name\":\"meta.preprocessor.conditional.swift\"},\"1\":{\"name\":\"punctuation.definition.preprocessor.swift\"},\"2\":{\"name\":\"keyword.control.import.preprocessor.conditional.swift\"},\"3\":{\"name\":\"constant.language.boolean.swift\"}},\"contentName\":\"comment.block.preprocessor.swift\",\"end\":\"(?=^\\\\s*(#(elseif|else|endif)\\\\b))\"},{\"begin\":\"^\\\\s*(#)(if|elseif)\\\\s+\",\"captures\":{\"1\":{\"name\":\"punctuation.definition.preprocessor.swift\"},\"2\":{\"name\":\"keyword.control.import.preprocessor.conditional.swift\"}},\"end\":\"(?=\\\\s*(?://|/\\\\*))|$\",\"name\":\"meta.preprocessor.conditional.swift\",\"patterns\":[{\"match\":\"(&&|\\\\|\\\\|)\",\"name\":\"keyword.operator.logical.swift\"},{\"match\":\"\\\\b(true|false)\\\\b\",\"name\":\"constant.language.boolean.swift\"},{\"captures\":{\"1\":{\"name\":\"keyword.other.condition.swift\"},\"2\":{\"name\":\"punctuation.definition.parameters.begin.swift\"},\"3\":{\"name\":\"support.constant.platform.architecture.swift\"},\"4\":{\"name\":\"punctuation.definition.parameters.end.swift\"}},\"match\":\"\\\\b(arch)\\\\s*(\\\\()\\\\s*(?:(arm|arm64|powerpc64|powerpc64le|i386|x86_64|s390x)|\\\\w+)\\\\s*(\\\\))\"},{\"captures\":{\"1\":{\"name\":\"keyword.other.condition.swift\"},\"2\":{\"name\":\"punctuation.definition.parameters.begin.swift\"},\"3\":{\"name\":\"support.constant.platform.os.swift\"},\"4\":{\"name\":\"punctuation.definition.parameters.end.swift\"}},\"match\":\"\\\\b(os)\\\\s*(\\\\()\\\\s*(?:(macOS|OSX|iOS|tvOS|watchOS|visionOS|Android|Linux|FreeBSD|Windows|PS4)|\\\\w+)\\\\s*(\\\\))\"},{\"captures\":{\"1\":{\"name\":\"keyword.other.condition.swift\"},\"2\":{\"name\":\"punctuation.definition.parameters.begin.swift\"},\"3\":{\"name\":\"entity.name.type.module.swift\"},\"4\":{\"name\":\"punctuation.definition.parameters.end.swift\"}},\"match\":\"\\\\b(canImport)\\\\s*(\\\\()([\\\\p{L}_][\\\\p{L}_\\\\p{N}\\\\p{M}]*)(\\\\))\"},{\"begin\":\"\\\\b(targetEnvironment)\\\\s*(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.other.condition.swift\"},\"2\":{\"name\":\"punctuation.definition.parameters.begin.swift\"}},\"end\":\"(\\\\))|$\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.parameters.end.swift\"}},\"patterns\":[{\"match\":\"\\\\b(simulator|UIKitForMac)\\\\b\",\"name\":\"support.constant.platform.environment.swift\"}]},{\"begin\":\"\\\\b(swift|compiler)\\\\s*(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.other.condition.swift\"},\"2\":{\"name\":\"punctuation.definition.parameters.begin.swift\"}},\"end\":\"(\\\\))|$\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.parameters.end.swift\"}},\"patterns\":[{\"match\":\">=|<\",\"name\":\"keyword.operator.comparison.swift\"},{\"match\":\"\\\\b\\\\d+(?:\\\\.\\\\d+)*\\\\b\",\"name\":\"constant.numeric.swift\"}]}]},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.preprocessor.swift\"},\"2\":{\"name\":\"keyword.control.import.preprocessor.conditional.swift\"},\"3\":{\"patterns\":[{\"match\":\"\\\\S+\",\"name\":\"invalid.illegal.character-not-allowed-here.swift\"}]}},\"match\":\"^\\\\s*(#)(else|endif)(.*?)(?=$|//|/\\\\*)\",\"name\":\"meta.preprocessor.conditional.swift\"},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.preprocessor.swift\"},\"2\":{\"name\":\"keyword.control.import.preprocessor.sourcelocation.swift\"},\"4\":{\"name\":\"punctuation.definition.parameters.begin.swift\"},\"5\":{\"patterns\":[{\"begin\":\"(file)\\\\s*(:)\\\\s*(?=\\\")\",\"beginCaptures\":{\"1\":{\"name\":\"support.variable.parameter.swift\"},\"2\":{\"name\":\"punctuation.separator.key-value.swift\"}},\"end\":\"(?!\\\\G)\",\"patterns\":[{\"include\":\"#literals\"}]},{\"captures\":{\"1\":{\"name\":\"support.variable.parameter.swift\"},\"2\":{\"name\":\"punctuation.separator.key-value.swift\"},\"3\":{\"name\":\"constant.numeric.integer.swift\"}},\"match\":\"(line)\\\\s*(:)\\\\s*(\\\\d+)\"},{\"match\":\",\",\"name\":\"punctuation.separator.parameters.swift\"},{\"match\":\"\\\\S+\",\"name\":\"invalid.illegal.character-not-allowed-here.swift\"}]},\"6\":{\"name\":\"punctuation.definition.parameters.begin.swift\"},\"7\":{\"patterns\":[{\"match\":\"\\\\S+\",\"name\":\"invalid.illegal.character-not-allowed-here.swift\"}]}},\"match\":\"^\\\\s*(#)(sourceLocation)((\\\\()([^)]*)(\\\\)))(.*?)(?=$|//|/\\\\*)\",\"name\":\"meta.preprocessor.sourcelocation.swift\"}]},\"conditionals\":{\"patterns\":[{\"begin\":\"(?<!\\\\.)\\\\b(if|guard|switch|for)\\\\b\",\"beginCaptures\":{\"1\":{\"patterns\":[{\"include\":\"#keywords\"}]}},\"end\":\"(?=\\\\{)\",\"patterns\":[{\"include\":\"#expressions-without-trailing-closures\"}]},{\"begin\":\"(?<!\\\\.)\\\\b(while)\\\\b\",\"beginCaptures\":{\"1\":{\"patterns\":[{\"include\":\"#keywords\"}]}},\"comment\":\"while can be the end of a repeat-while statement so doesn't necessarily have braces after it\",\"end\":\"(?=\\\\{)|$\",\"patterns\":[{\"include\":\"#expressions-without-trailing-closures\"}]}]},\"declarations\":{\"patterns\":[{\"include\":\"#declarations-function\"},{\"include\":\"#declarations-function-initializer\"},{\"include\":\"#declarations-function-subscript\"},{\"include\":\"#declarations-typed-variable-declaration\"},{\"include\":\"#declarations-import\"},{\"include\":\"#declarations-operator\"},{\"include\":\"#declarations-precedencegroup\"},{\"include\":\"#declarations-protocol\"},{\"include\":\"#declarations-type\"},{\"include\":\"#declarations-extension\"},{\"include\":\"#declarations-typealias\"},{\"include\":\"#declarations-macro\"}]},\"declarations-available-types\":{\"patterns\":[{\"include\":\"#comments\"},{\"include\":\"#builtin-types\"},{\"include\":\"#attributes\"},{\"match\":\"\\\\basync\\\\b\",\"name\":\"storage.modifier.async.swift\"},{\"match\":\"\\\\b(?:throws|rethrows)\\\\b\",\"name\":\"storage.modifier.exception.swift\"},{\"match\":\"\\\\bsome\\\\b\",\"name\":\"keyword.other.operator.type.opaque.swift\"},{\"match\":\"\\\\bany\\\\b\",\"name\":\"keyword.other.operator.type.existential.swift\"},{\"match\":\"\\\\b(?:repeat|each)\\\\b\",\"name\":\"keyword.control.loop.swift\"},{\"match\":\"\\\\b(?:inout|isolated|borrowing|consuming)\\\\b\",\"name\":\"storage.modifier.swift\"},{\"match\":\"\\\\bSelf\\\\b\",\"name\":\"variable.language.swift\"},{\"captures\":{\"1\":{\"name\":\"keyword.operator.type.function.swift\"}},\"match\":\"(?<![/=\\\\-+!*%<>&|\\\\^~.])(->)(?![/=\\\\-+!*%<>&|\\\\^~.])\"},{\"captures\":{\"1\":{\"name\":\"keyword.operator.type.composition.swift\"}},\"comment\":\"Swift 3: A & B\",\"match\":\"(?<![/=\\\\-+!*%<>&|\\\\^~.])(&)(?![/=\\\\-+!*%<>&|\\\\^~.])\"},{\"match\":\"[?!]\",\"name\":\"keyword.operator.type.optional.swift\"},{\"match\":\"\\\\.\\\\.\\\\.\",\"name\":\"keyword.operator.function.variadic-parameter.swift\"},{\"comment\":\"Swift 2: protocol<A, B>\",\"match\":\"\\\\bprotocol\\\\b\",\"name\":\"keyword.other.type.composition.swift\"},{\"match\":\"(?<=\\\\.)(?:Protocol|Type)\\\\b\",\"name\":\"keyword.other.type.metatype.swift\"},{\"include\":\"#declarations-available-types-tuple-type\"},{\"include\":\"#declarations-available-types-collection-type\"},{\"include\":\"#declarations-generic-argument-clause\"}]},\"declarations-available-types-collection-type\":{\"begin\":\"\\\\[\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.collection-type.begin.swift\"}},\"comment\":\"array and dictionary types [Value] and [Key: Value]\",\"end\":\"\\\\]|(?=[>){}])\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.collection-type.end.swift\"}},\"patterns\":[{\"include\":\"#declarations-available-types\"},{\"begin\":\":\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.separator.key-value.swift\"}},\"end\":\"(?=\\\\]|[>){}])\",\"patterns\":[{\"match\":\":\",\"name\":\"invalid.illegal.extra-colon-in-dictionary-type.swift\"},{\"include\":\"#declarations-available-types\"}]}]},\"declarations-available-types-tuple-type\":{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.tuple-type.begin.swift\"}},\"end\":\"\\\\)|(?=[>\\\\]{}])\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.tuple-type.end.swift\"}},\"patterns\":[{\"include\":\"#declarations-available-types\"}]},\"declarations-extension\":{\"begin\":\"\\\\b(extension)\\\\s+((?<q>`?)[\\\\p{L}_][\\\\p{L}_\\\\p{N}\\\\p{M}]*(\\\\k<q>))\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.$1.swift\"},\"2\":{\"name\":\"entity.name.type.swift\",\"patterns\":[{\"include\":\"#declarations-available-types\"}]},\"3\":{\"name\":\"punctuation.definition.identifier.swift\"},\"4\":{\"name\":\"punctuation.definition.identifier.swift\"}},\"end\":\"(?<=\\\\})\",\"name\":\"meta.definition.type.$1.swift\",\"patterns\":[{\"include\":\"#comments\"},{\"comment\":\"SE-0143: Conditional Conformances\",\"include\":\"#declarations-generic-where-clause\"},{\"include\":\"#declarations-inheritance-clause\"},{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.type.begin.swift\"}},\"end\":\"\\\\}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.type.end.swift\"}},\"name\":\"meta.definition.type.body.swift\",\"patterns\":[{\"include\":\"$self\"}]}]},\"declarations-function\":{\"begin\":\"\\\\b(func)\\\\s+((?<q>`?)[\\\\p{L}_][\\\\p{L}_\\\\p{N}\\\\p{M}]*(\\\\k<q>)|(?:((?<oph>[/=\\\\-+!*%<>&|^~?]|[\\\\x{00A1}-\\\\x{00A7}]|[\\\\x{00A9}\\\\x{00AB}]|[\\\\x{00AC}\\\\x{00AE}]|[\\\\x{00B0}-\\\\x{00B1}\\\\x{00B6}\\\\x{00BB}\\\\x{00BF}\\\\x{00D7}\\\\x{00F7}]|[\\\\x{2016}-\\\\x{2017}\\\\x{2020}-\\\\x{2027}]|[\\\\x{2030}-\\\\x{203E}]|[\\\\x{2041}-\\\\x{2053}]|[\\\\x{2055}-\\\\x{205E}]|[\\\\x{2190}-\\\\x{23FF}]|[\\\\x{2500}-\\\\x{2775}]|[\\\\x{2794}-\\\\x{2BFF}]|[\\\\x{2E00}-\\\\x{2E7F}]|[\\\\x{3001}-\\\\x{3003}]|[\\\\x{3008}-\\\\x{3030}])(\\\\g<oph>|(?<opc>[\\\\x{0300}-\\\\x{036F}]|[\\\\x{1DC0}-\\\\x{1DFF}]|[\\\\x{20D0}-\\\\x{20FF}]|[\\\\x{FE00}-\\\\x{FE0F}]|[\\\\x{FE20}-\\\\x{FE2F}]|[\\\\x{E0100}-\\\\x{E01EF}]))*)|(\\\\.(\\\\g<oph>|\\\\g<opc>|\\\\.)+)))\\\\s*(?=\\\\(|<)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.function.swift\"},\"2\":{\"name\":\"entity.name.function.swift\"},\"3\":{\"name\":\"punctuation.definition.identifier.swift\"},\"4\":{\"name\":\"punctuation.definition.identifier.swift\"}},\"end\":\"(?<=\\\\})|$\",\"name\":\"meta.definition.function.swift\",\"patterns\":[{\"include\":\"#comments\"},{\"include\":\"#declarations-generic-parameter-clause\"},{\"include\":\"#declarations-parameter-clause\"},{\"include\":\"#declarations-function-result\"},{\"include\":\"#async-throws\"},{\"comment\":\"Swift 3: generic constraints after the parameters and return type\",\"include\":\"#declarations-generic-where-clause\"},{\"begin\":\"(\\\\{)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.section.function.begin.swift\"}},\"end\":\"(\\\\})\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.section.function.end.swift\"}},\"name\":\"meta.definition.function.body.swift\",\"patterns\":[{\"include\":\"$self\"}]}]},\"declarations-function-initializer\":{\"begin\":\"(?<!\\\\.)\\\\b(init[?!]*)\\\\s*(?=\\\\(|<)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.function.swift\",\"patterns\":[{\"match\":\"(?<=[?!])[?!]+\",\"name\":\"invalid.illegal.character-not-allowed-here.swift\"}]}},\"end\":\"(?<=\\\\})|$\",\"name\":\"meta.definition.function.initializer.swift\",\"patterns\":[{\"include\":\"#comments\"},{\"include\":\"#declarations-generic-parameter-clause\"},{\"include\":\"#declarations-parameter-clause\"},{\"include\":\"#async-throws\"},{\"comment\":\"Swift 3: generic constraints after the parameters and return type\",\"include\":\"#declarations-generic-where-clause\"},{\"begin\":\"(\\\\{)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.section.function.begin.swift\"}},\"end\":\"(\\\\})\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.section.function.end.swift\"}},\"name\":\"meta.definition.function.body.swift\",\"patterns\":[{\"include\":\"$self\"}]}]},\"declarations-function-result\":{\"begin\":\"(?<![/=\\\\-+!*%<>&|\\\\^~.])(->)(?![/=\\\\-+!*%<>&|\\\\^~.])\\\\s*\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.function-result.swift\"}},\"end\":\"(?!\\\\G)(?=\\\\{|\\\\bwhere\\\\b|;|=)|$\",\"name\":\"meta.function-result.swift\",\"patterns\":[{\"include\":\"#declarations-available-types\"}]},\"declarations-function-subscript\":{\"begin\":\"(?<!\\\\.)\\\\b(subscript)\\\\s*(?=\\\\(|<)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.function.swift\"}},\"end\":\"(?<=\\\\})|$\",\"name\":\"meta.definition.function.subscript.swift\",\"patterns\":[{\"include\":\"#comments\"},{\"include\":\"#declarations-generic-parameter-clause\"},{\"include\":\"#declarations-parameter-clause\"},{\"include\":\"#declarations-function-result\"},{\"include\":\"#async-throws\"},{\"include\":\"#declarations-generic-where-clause\"},{\"begin\":\"(\\\\{)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.section.function.begin.swift\"}},\"end\":\"(\\\\})\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.section.function.end.swift\"}},\"name\":\"meta.definition.function.body.swift\",\"patterns\":[{\"include\":\"$self\"}]}]},\"declarations-generic-argument-clause\":{\"begin\":\"<\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.separator.generic-argument-clause.begin.swift\"}},\"end\":\">|(?=[)\\\\]{}])\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.separator.generic-argument-clause.end.swift\"}},\"name\":\"meta.generic-argument-clause.swift\",\"patterns\":[{\"include\":\"#declarations-available-types\"}]},\"declarations-generic-parameter-clause\":{\"begin\":\"<\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.separator.generic-parameter-clause.begin.swift\"}},\"end\":\">|(?=[^\\\\w\\\\d:<>\\\\s,=&`])\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.separator.generic-parameter-clause.end.swift\"}},\"name\":\"meta.generic-parameter-clause.swift\",\"patterns\":[{\"include\":\"#comments\"},{\"comment\":\"Swift 2: constraints inside the generic param list\",\"include\":\"#declarations-generic-where-clause\"},{\"match\":\"\\\\beach\\\\b\",\"name\":\"keyword.control.loop.swift\"},{\"captures\":{\"1\":{\"name\":\"variable.language.generic-parameter.swift\"}},\"match\":\"\\\\b((?!\\\\d)\\\\w[\\\\w\\\\d]*)\\\\b\"},{\"match\":\",\",\"name\":\"punctuation.separator.generic-parameters.swift\"},{\"begin\":\"(:)\\\\s*\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.separator.generic-parameter-constraint.swift\"}},\"end\":\"(?=[,>]|(?!\\\\G)\\\\bwhere\\\\b)\",\"name\":\"meta.generic-parameter-constraint.swift\",\"patterns\":[{\"begin\":\"\\\\G\",\"end\":\"(?=[,>]|(?!\\\\G)\\\\bwhere\\\\b)\",\"name\":\"entity.other.inherited-class.swift\",\"patterns\":[{\"include\":\"#declarations-type-identifier\"},{\"include\":\"#declarations-type-operators\"}]}]}]},\"declarations-generic-where-clause\":{\"begin\":\"\\\\b(where)\\\\b\\\\s*\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.other.generic-constraint-introducer.swift\"}},\"end\":\"(?!\\\\G)$|(?=[>{};\\\\n]|//|/\\\\*)\",\"name\":\"meta.generic-where-clause.swift\",\"patterns\":[{\"include\":\"#comments\"},{\"include\":\"#declarations-generic-where-clause-requirement-list\"}]},\"declarations-generic-where-clause-requirement-list\":{\"begin\":\"\\\\G|,\\\\s*\",\"end\":\"(?=[,>{};\\\\n]|//|/\\\\*)\",\"patterns\":[{\"include\":\"#comments\"},{\"include\":\"#constraint\"},{\"include\":\"#declarations-available-types\"},{\"begin\":\"(?<![/=\\\\-+!*%<>&|\\\\^~.])(==)(?![/=\\\\-+!*%<>&|\\\\^~.])\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.generic-constraint.same-type.swift\"}},\"end\":\"(?=\\\\s*[,>{};\\\\n]|//|/\\\\*)\",\"name\":\"meta.generic-where-clause.same-type-requirement.swift\",\"patterns\":[{\"include\":\"#declarations-available-types\"}]},{\"begin\":\"(?<![/=\\\\-+!*%<>&|\\\\^~.])(:)(?![/=\\\\-+!*%<>&|\\\\^~.])\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.generic-constraint.conforms-to.swift\"}},\"end\":\"(?=\\\\s*[,>{};\\\\n]|//|/\\\\*)\",\"name\":\"meta.generic-where-clause.conformance-requirement.swift\",\"patterns\":[{\"begin\":\"\\\\G\\\\s*\",\"contentName\":\"entity.other.inherited-class.swift\",\"end\":\"(?=\\\\s*[,>{};\\\\n]|//|/\\\\*)\",\"patterns\":[{\"include\":\"#declarations-available-types\"}]}]}]},\"declarations-import\":{\"begin\":\"(?<!\\\\.)\\\\b(import)\\\\s+\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.import.swift\"}},\"end\":\"(;)|$\\\\n?|(?=//|/\\\\*)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.terminator.statement.swift\"}},\"name\":\"meta.import.swift\",\"patterns\":[{\"begin\":\"\\\\G(?!;|$|//|/\\\\*)(?:(typealias|struct|class|actor|enum|protocol|var|func)\\\\s+)?\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.swift\"}},\"end\":\"(?=;|$|//|/\\\\*)\",\"patterns\":[{\"captures\":{\"1\":{\"name\":\"punctuation.definition.identifier.swift\"},\"2\":{\"name\":\"punctuation.definition.identifier.swift\"}},\"match\":\"(?<=\\\\G|\\\\.)(?<q>`?)[\\\\p{L}_][\\\\p{L}_\\\\p{N}\\\\p{M}]*(\\\\k<q>)\",\"name\":\"entity.name.type.swift\"},{\"match\":\"(?<=\\\\G|\\\\.)\\\\$\\\\d+\",\"name\":\"entity.name.type.swift\"},{\"captures\":{\"1\":{\"patterns\":[{\"match\":\"\\\\.\",\"name\":\"invalid.illegal.dot-not-allowed-here.swift\"}]}},\"match\":\"(?<=\\\\G|\\\\.)(?:((?<oph>[/=\\\\-+!*%<>&|^~?]|[\\\\x{00A1}-\\\\x{00A7}]|[\\\\x{00A9}\\\\x{00AB}]|[\\\\x{00AC}\\\\x{00AE}]|[\\\\x{00B0}-\\\\x{00B1}\\\\x{00B6}\\\\x{00BB}\\\\x{00BF}\\\\x{00D7}\\\\x{00F7}]|[\\\\x{2016}-\\\\x{2017}\\\\x{2020}-\\\\x{2027}]|[\\\\x{2030}-\\\\x{203E}]|[\\\\x{2041}-\\\\x{2053}]|[\\\\x{2055}-\\\\x{205E}]|[\\\\x{2190}-\\\\x{23FF}]|[\\\\x{2500}-\\\\x{2775}]|[\\\\x{2794}-\\\\x{2BFF}]|[\\\\x{2E00}-\\\\x{2E7F}]|[\\\\x{3001}-\\\\x{3003}]|[\\\\x{3008}-\\\\x{3030}])(\\\\g<oph>|(?<opc>[\\\\x{0300}-\\\\x{036F}]|[\\\\x{1DC0}-\\\\x{1DFF}]|[\\\\x{20D0}-\\\\x{20FF}]|[\\\\x{FE00}-\\\\x{FE0F}]|[\\\\x{FE20}-\\\\x{FE2F}]|[\\\\x{E0100}-\\\\x{E01EF}]))*)|(\\\\.(\\\\g<oph>|\\\\g<opc>|\\\\.)+))(?=\\\\.|;|$|//|/\\\\*|\\\\s)\",\"name\":\"entity.name.type.swift\"},{\"match\":\"\\\\.\",\"name\":\"punctuation.separator.import.swift\"},{\"begin\":\"(?!\\\\s*(;|$|//|/\\\\*))\",\"end\":\"(?=\\\\s*(;|$|//|/\\\\*))\",\"name\":\"invalid.illegal.character-not-allowed-here.swift\"}]}]},\"declarations-inheritance-clause\":{\"begin\":\"(:)(?=\\\\s*\\\\{)|(:)\\\\s*\",\"beginCaptures\":{\"1\":{\"name\":\"invalid.illegal.empty-inheritance-clause.swift\"},\"2\":{\"name\":\"punctuation.separator.inheritance-clause.swift\"}},\"end\":\"(?!\\\\G)$|(?=[={}]|(?!\\\\G)\\\\bwhere\\\\b)\",\"name\":\"meta.inheritance-clause.swift\",\"patterns\":[{\"begin\":\"\\\\bclass\\\\b\",\"beginCaptures\":{\"0\":{\"name\":\"storage.type.class.swift\"}},\"end\":\"(?=[={}]|(?!\\\\G)\\\\bwhere\\\\b)\",\"patterns\":[{\"include\":\"#comments\"},{\"include\":\"#declarations-inheritance-clause-more-types\"}]},{\"begin\":\"\\\\G\",\"end\":\"(?!\\\\G)$|(?=[={}]|(?!\\\\G)\\\\bwhere\\\\b)\",\"patterns\":[{\"include\":\"#comments\"},{\"include\":\"#declarations-inheritance-clause-inherited-type\"},{\"include\":\"#declarations-inheritance-clause-more-types\"},{\"include\":\"#declarations-type-operators\"}]}]},\"declarations-inheritance-clause-inherited-type\":{\"begin\":\"(?=[`\\\\p{L}_])\",\"end\":\"(?!\\\\G)\",\"name\":\"entity.other.inherited-class.swift\",\"patterns\":[{\"include\":\"#declarations-type-identifier\"}]},\"declarations-inheritance-clause-more-types\":{\"begin\":\",\\\\s*\",\"end\":\"(?!\\\\G)(?!//|/\\\\*)|(?=[,={}]|(?!\\\\G)\\\\bwhere\\\\b)\",\"name\":\"meta.inheritance-list.more-types\",\"patterns\":[{\"include\":\"#comments\"},{\"include\":\"#declarations-inheritance-clause-inherited-type\"},{\"include\":\"#declarations-inheritance-clause-more-types\"},{\"include\":\"#declarations-type-operators\"}]},\"declarations-macro\":{\"begin\":\"\\\\b(macro)\\\\s+((?<q>`?)[\\\\p{L}_][\\\\p{L}_\\\\p{N}\\\\p{M}]*(\\\\k<q>))\\\\s*(?=\\\\(|<|=)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.function.swift\"},\"2\":{\"name\":\"entity.name.function.swift\"},\"3\":{\"name\":\"punctuation.definition.identifier.swift\"},\"4\":{\"name\":\"punctuation.definition.identifier.swift\"}},\"end\":\"$|(?=;|//|/\\\\*|\\\\}|=)\",\"name\":\"meta.definition.macro.swift\",\"patterns\":[{\"include\":\"#comments\"},{\"include\":\"#declarations-generic-parameter-clause\"},{\"include\":\"#declarations-parameter-clause\"},{\"include\":\"#declarations-function-result\"},{\"include\":\"#async-throws\"},{\"comment\":\"Swift 3: generic constraints after the parameters and return type\",\"include\":\"#declarations-generic-where-clause\"}]},\"declarations-operator\":{\"begin\":\"(?:\\\\b(prefix|infix|postfix)\\\\s+)?\\\\b(operator)\\\\s+(((?<oph>[/=\\\\-+!*%<>&|^~?]|[\\\\x{00A1}-\\\\x{00A7}]|[\\\\x{00A9}\\\\x{00AB}]|[\\\\x{00AC}\\\\x{00AE}]|[\\\\x{00B0}-\\\\x{00B1}\\\\x{00B6}\\\\x{00BB}\\\\x{00BF}\\\\x{00D7}\\\\x{00F7}]|[\\\\x{2016}-\\\\x{2017}\\\\x{2020}-\\\\x{2027}]|[\\\\x{2030}-\\\\x{203E}]|[\\\\x{2041}-\\\\x{2053}]|[\\\\x{2055}-\\\\x{205E}]|[\\\\x{2190}-\\\\x{23FF}]|[\\\\x{2500}-\\\\x{2775}]|[\\\\x{2794}-\\\\x{2BFF}]|[\\\\x{2E00}-\\\\x{2E7F}]|[\\\\x{3001}-\\\\x{3003}]|[\\\\x{3008}-\\\\x{3030}])(\\\\g<oph>|\\\\.|(?<opc>[\\\\x{0300}-\\\\x{036F}]|[\\\\x{1DC0}-\\\\x{1DFF}]|[\\\\x{20D0}-\\\\x{20FF}]|[\\\\x{FE00}-\\\\x{FE0F}]|[\\\\x{FE20}-\\\\x{FE2F}]|[\\\\x{E0100}-\\\\x{E01EF}]))*+)|(\\\\.(\\\\g<oph>|\\\\g<opc>|\\\\.)++))\\\\s*\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.swift\"},\"2\":{\"name\":\"storage.type.function.operator.swift\"},\"3\":{\"name\":\"entity.name.function.operator.swift\"},\"4\":{\"comment\":\"workaround for https://github.com/microsoft/vscode-textmate/issues/140#issuecomment-1793610346\",\"name\":\"entity.name.function.operator.swift\",\"patterns\":[{\"match\":\"\\\\.\",\"name\":\"invalid.illegal.dot-not-allowed-here.swift\"}]}},\"end\":\"(;)|$\\\\n?|(?=//|/\\\\*)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.terminator.statement.swift\"}},\"name\":\"meta.definition.operator.swift\",\"patterns\":[{\"include\":\"#declarations-operator-swift2\"},{\"include\":\"#declarations-operator-swift3\"},{\"match\":\"((?!$|;|//|/\\\\*)\\\\S)+\",\"name\":\"invalid.illegal.character-not-allowed-here.swift\"}]},\"declarations-operator-swift2\":{\"begin\":\"\\\\G(\\\\{)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.operator.begin.swift\"}},\"end\":\"(\\\\})\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.operator.end.swift\"}},\"patterns\":[{\"include\":\"#comments\"},{\"captures\":{\"1\":{\"name\":\"storage.modifier.swift\"},\"2\":{\"name\":\"keyword.other.operator.associativity.swift\"}},\"match\":\"\\\\b(associativity)\\\\s+(left|right)\\\\b\"},{\"captures\":{\"1\":{\"name\":\"storage.modifier.swift\"},\"2\":{\"name\":\"constant.numeric.integer.swift\"}},\"match\":\"\\\\b(precedence)\\\\s+(\\\\d+)\\\\b\"},{\"captures\":{\"1\":{\"name\":\"storage.modifier.swift\"}},\"match\":\"\\\\b(assignment)\\\\b\"}]},\"declarations-operator-swift3\":{\"captures\":{\"2\":{\"name\":\"entity.other.inherited-class.swift\",\"patterns\":[{\"include\":\"#declarations-types-precedencegroup\"}]},\"3\":{\"name\":\"punctuation.definition.identifier.swift\"},\"4\":{\"name\":\"punctuation.definition.identifier.swift\"}},\"match\":\"\\\\G(:)\\\\s*((?<q>`?)[\\\\p{L}_][\\\\p{L}_\\\\p{N}\\\\p{M}]*(\\\\k<q>))\"},\"declarations-parameter-clause\":{\"begin\":\"(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.parameters.begin.swift\"}},\"end\":\"(\\\\))(?:\\\\s*(async)\\\\b)?\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.parameters.end.swift\"},\"2\":{\"name\":\"storage.modifier.async.swift\"}},\"name\":\"meta.parameter-clause.swift\",\"patterns\":[{\"include\":\"#declarations-parameter-list\"}]},\"declarations-parameter-list\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"entity.name.function.swift\"},\"2\":{\"name\":\"punctuation.definition.identifier.swift\"},\"3\":{\"name\":\"punctuation.definition.identifier.swift\"},\"4\":{\"name\":\"variable.parameter.function.swift\"},\"5\":{\"name\":\"punctuation.definition.identifier.swift\"},\"6\":{\"name\":\"punctuation.definition.identifier.swift\"}},\"comment\":\"External parameter labels are considered part of the function name\",\"match\":\"((?<q1>`?)[\\\\p{L}_][\\\\p{L}_\\\\p{N}\\\\p{M}]*(\\\\k<q1>))\\\\s+((?<q2>`?)[\\\\p{L}_][\\\\p{L}_\\\\p{N}\\\\p{M}]*(\\\\k<q2>))(?=\\\\s*:)\"},{\"captures\":{\"1\":{\"name\":\"variable.parameter.function.swift\"},\"2\":{\"name\":\"entity.name.function.swift\"},\"3\":{\"name\":\"punctuation.definition.identifier.swift\"},\"4\":{\"name\":\"punctuation.definition.identifier.swift\"}},\"comment\":\"If no external label is given, the name is both the external label and the internal variable name\",\"match\":\"(((?<q>`?)[\\\\p{L}_][\\\\p{L}_\\\\p{N}\\\\p{M}]*(\\\\k<q>)))(?=\\\\s*:)\"},{\"begin\":\":\\\\s*(?!\\\\s)\",\"end\":\"(?=[,)])\",\"patterns\":[{\"include\":\"#declarations-available-types\"},{\"match\":\":\",\"name\":\"invalid.illegal.extra-colon-in-parameter-list.swift\"},{\"begin\":\"=\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.operator.assignment.swift\"}},\"comment\":\"a parameter's default value\",\"end\":\"(?=[,)])\",\"patterns\":[{\"include\":\"#expressions\"}]}]}]},\"declarations-precedencegroup\":{\"begin\":\"\\\\b(precedencegroup)\\\\s+((?<q>`?)[\\\\p{L}_][\\\\p{L}_\\\\p{N}\\\\p{M}]*(\\\\k<q>))\\\\s*(?=\\\\{)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.precedencegroup.swift\"},\"2\":{\"name\":\"entity.name.type.precedencegroup.swift\"},\"3\":{\"name\":\"punctuation.definition.identifier.swift\"},\"4\":{\"name\":\"punctuation.definition.identifier.swift\"}},\"end\":\"(?!\\\\G)\",\"name\":\"meta.definition.precedencegroup.swift\",\"patterns\":[{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.precedencegroup.begin.swift\"}},\"end\":\"\\\\}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.precedencegroup.end.swift\"}},\"patterns\":[{\"include\":\"#comments\"},{\"captures\":{\"1\":{\"name\":\"storage.modifier.swift\"},\"2\":{\"name\":\"entity.other.inherited-class.swift\",\"patterns\":[{\"include\":\"#declarations-types-precedencegroup\"}]},\"3\":{\"name\":\"punctuation.definition.identifier.swift\"},\"4\":{\"name\":\"punctuation.definition.identifier.swift\"}},\"match\":\"\\\\b(higherThan|lowerThan)\\\\s*:\\\\s*((?<q>`?)[\\\\p{L}_][\\\\p{L}_\\\\p{N}\\\\p{M}]*(\\\\k<q>))\"},{\"captures\":{\"1\":{\"name\":\"storage.modifier.swift\"},\"2\":{\"name\":\"keyword.other.operator.associativity.swift\"}},\"match\":\"\\\\b(associativity)\\\\b(?:\\\\s*:\\\\s*(right|left|none)\\\\b)?\"},{\"captures\":{\"1\":{\"name\":\"storage.modifier.swift\"},\"2\":{\"name\":\"constant.language.boolean.swift\"}},\"match\":\"\\\\b(assignment)\\\\b(?:\\\\s*:\\\\s*(true|false)\\\\b)?\"}]}]},\"declarations-protocol\":{\"begin\":\"\\\\b(protocol)\\\\s+((?<q>`?)[\\\\p{L}_][\\\\p{L}_\\\\p{N}\\\\p{M}]*(\\\\k<q>))\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.$1.swift\"},\"2\":{\"name\":\"entity.name.type.$1.swift\"},\"3\":{\"name\":\"punctuation.definition.identifier.swift\"},\"4\":{\"name\":\"punctuation.definition.identifier.swift\"}},\"end\":\"(?<=\\\\})\",\"name\":\"meta.definition.type.protocol.swift\",\"patterns\":[{\"include\":\"#comments\"},{\"include\":\"#declarations-inheritance-clause\"},{\"comment\":\"SE-0142: Permit where clauses to constrain associated types\",\"include\":\"#declarations-generic-where-clause\"},{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.type.begin.swift\"}},\"end\":\"\\\\}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.type.end.swift\"}},\"name\":\"meta.definition.type.body.swift\",\"patterns\":[{\"include\":\"#declarations-protocol-protocol-method\"},{\"include\":\"#declarations-protocol-protocol-initializer\"},{\"include\":\"#declarations-protocol-associated-type\"},{\"include\":\"$self\"}]}]},\"declarations-protocol-associated-type\":{\"begin\":\"\\\\b(associatedtype)\\\\s+((?<q>`?)[\\\\p{L}_][\\\\p{L}_\\\\p{N}\\\\p{M}]*(\\\\k<q>))\\\\s*\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.other.declaration-specifier.swift\"},\"2\":{\"name\":\"variable.language.associatedtype.swift\"},\"3\":{\"name\":\"punctuation.definition.identifier.swift\"},\"4\":{\"name\":\"punctuation.definition.identifier.swift\"}},\"end\":\"(?!\\\\G)$|(?=[;}]|$)\",\"name\":\"meta.definition.associatedtype.swift\",\"patterns\":[{\"include\":\"#declarations-inheritance-clause\"},{\"comment\":\"SE-0142: Permit where clauses to constrain associated types\",\"include\":\"#declarations-generic-where-clause\"},{\"include\":\"#declarations-typealias-assignment\"}]},\"declarations-protocol-protocol-initializer\":{\"begin\":\"(?<!\\\\.)\\\\b(init[?!]*)\\\\s*(?=\\\\(|<)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.function.swift\",\"patterns\":[{\"match\":\"(?<=[?!])[?!]+\",\"name\":\"invalid.illegal.character-not-allowed-here.swift\"}]}},\"end\":\"$|(?=;|//|/\\\\*|\\\\})\",\"name\":\"meta.definition.function.initializer.swift\",\"patterns\":[{\"include\":\"#comments\"},{\"include\":\"#declarations-generic-parameter-clause\"},{\"include\":\"#declarations-parameter-clause\"},{\"include\":\"#async-throws\"},{\"comment\":\"Swift 3: generic constraints after the parameters and return type\",\"include\":\"#declarations-generic-where-clause\"},{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.function.begin.swift\"}},\"end\":\"\\\\}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.function.end.swift\"}},\"name\":\"invalid.illegal.function-body-not-allowed-in-protocol.swift\",\"patterns\":[{\"include\":\"$self\"}]}]},\"declarations-protocol-protocol-method\":{\"begin\":\"\\\\b(func)\\\\s+((?<q>`?)[\\\\p{L}_][\\\\p{L}_\\\\p{N}\\\\p{M}]*(\\\\k<q>)|(?:((?<oph>[/=\\\\-+!*%<>&|^~?]|[\\\\x{00A1}-\\\\x{00A7}]|[\\\\x{00A9}\\\\x{00AB}]|[\\\\x{00AC}\\\\x{00AE}]|[\\\\x{00B0}-\\\\x{00B1}\\\\x{00B6}\\\\x{00BB}\\\\x{00BF}\\\\x{00D7}\\\\x{00F7}]|[\\\\x{2016}-\\\\x{2017}\\\\x{2020}-\\\\x{2027}]|[\\\\x{2030}-\\\\x{203E}]|[\\\\x{2041}-\\\\x{2053}]|[\\\\x{2055}-\\\\x{205E}]|[\\\\x{2190}-\\\\x{23FF}]|[\\\\x{2500}-\\\\x{2775}]|[\\\\x{2794}-\\\\x{2BFF}]|[\\\\x{2E00}-\\\\x{2E7F}]|[\\\\x{3001}-\\