|eYdZddlZddlmZmZmZmZmZmZm Z m Z ddl m Z m Z mZmZmZmZmZmZmZddlmZmZgdZdZGdd eeZGd d eeZGd d eZGddeZy)z pygments.lexers.objective ~~~~~~~~~~~~~~~~~~~~~~~~~ Lexers for Objective-C family languages. :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS. :license: BSD, see LICENSE for details. N) RegexLexerincludebygroupsusingthiswordsinheritdefault) TextKeywordNameStringOperatorNumber PunctuationLiteralComment)CLexerCppLexer)ObjectiveCLexerObjectiveCppLexer LogosLexer SwiftLexerc~tjdtjdGfdd}|S)z^ Generate a subclass of baselexer that accepts the Objective-C syntax extensions. z @(?:end|implementation|protocol)z<\[\s*[a-zA-Z_]\w*\s+(?:[a-zA-Z_]\w*\s*\]|(?:[a-zA-Z_]\w*)?:)ceZdZdZdedfdefdej fdejfdejfdejfd ejfd ejfd e d fd e dfde dfe dde fe dde jfdej fdej fde jfdej fdee edfdee edfdefegdeej*eej*eedfd eej*eej*d!fd"eej*eej,eedfd#eej*eej,d!fd$eej*eedfd%ej*d!fgd&eej*ed'fd(eej*ed!fged)ed*d+efd,ed-fd.ed!fgd/eeeeeeej4d0feged)d1efd2efd3eeeeej6fd4ej4fd+ed!fd,ed5fed!gd6ed7fd8e d!fed9gd6ed-fd8ed!fed9gd:ed;fdZdAfd? Zy@)B-objective..GeneratedObjectiveCVariantzU Implements Objective-C syntax on top of an existing C family lexer. @"stringz @(YES|NO)z3@'(\\.|\\[0-7]{1,3}|\\x[a-fA-F0-9]{1,2}|[^\\\'\n])'z&@(\d+\.\d*|\.\d+|\d+)[eE][+-]?\d+[lL]?z@(\d+\.\d*|\.\d+|\d+[fF])[fF]?z@0x[0-9a-fA-F]+[Ll]?z @0[0-7]+[Ll]?z @\d+[Ll]?z@\(literal_numberz@\[ literal_arrayz@\{literal_dictionary)*z @selectorz@privatez @protectedz@publicz@encodez @synchronizedz@tryz@throwz@catchz@finallyz@endz @propertyz @synthesize__bridge__bridge_transfer__autoreleasing__block__weak__strongweakstrongcopyretainassignunsafe_unretainedatomic nonatomicreadonly readwritesettergettertypeofinoutinoutreleaseclassz@dynamicz @optionalz @requiredz@autoreleasepoolz@import\bsuffix) id instancetypeClassIMPSELBOOLIBOutletIBActionunicharz@(true|false|YES|NO)\nz(YES|NO|nil|self|super)\bz3(Boolean|UInt8|SInt8|UInt16|SInt16|UInt32|SInt32)\bz(TRUE|FALSE)\bz!(@interface|@implementation)(\s+))#pop oc_classnamez(@class|@protocol)(\s+))rFoc_forward_classname@z7([a-zA-Z$_][\w$]*)(\s*:\s*)([a-zA-Z$_][\w$]*)?(\s*)(\{))rFoc_ivars.([a-zA-Z$_][\w$]*)(\s*:\s*)([a-zA-Z$_][\w$]*)?rFz6([a-zA-Z$_][\w$]*)(\s*)(\([a-zA-Z$_][\w$]*\))(\s*)(\{)z-([a-zA-Z$_][\w$]*)(\s*)(\([a-zA-Z$_][\w$]*\))z([a-zA-Z$_][\w$]*)(\s*)(\{)([a-zA-Z$_][\w$]*)z([a-zA-Z$_][\w$]*)(\s*,\s*)rHz([a-zA-Z$_][\w$]*)(\s*;?) whitespace statements;z\{#pushz\}z/^([-+])(\s*)(\(.*?\))?(\s*)([a-zA-Z$_][\w$]*:?)method,z\.\.\.z (\(.*?\))(\s*)([a-zA-Z$_][\w$]*)z[a-zA-Z$_][\w$]*:function\(literal_number_inner\) statementz\[literal_array_innerz\]) rNrGrHrJrootrQrrUr rXr!cj|ryd|vrytjd|ryj|ryy)N?rg?z@[0-9]+gffffff?r)searchre)text _oc_keywords _oc_messages ;/usr/lib/python3/dist-packages/pygments/lexers/objective.py analyse_textz:objective..GeneratedObjectiveCVariant.analyse_textsC""4(9d+##D)c3Kddlm}m}m} j |||D]M\}}}|t us|t j ur&||vs||vs||vrt jj}|||fOywNr)COCOA_INTERFACESCOCOA_PROTOCOLSCOCOA_PRIMITIVES) pygments.lexers._cocoa_builtinsrfrgrhget_tokens_unprocessedr r?BuiltinPseudo) selfr^stackrfrgrhindextokenvalue baselexers rarjzDobjective..GeneratedObjectiveCVariant.get_tokens_unprocesseds 2 244T4G *#ueD=ETZZ$7 00E_4L#33 $ 3 3UE)) *sA/A2N))rY) __name__ __module__ __qualname____doc__rrCharFloatHexOctIntegerrrr Typer rkrr rr r?LabelrrrFunctionVariabler tokensrbrj)r_r`rrsraGeneratedObjectiveCVariantr*s )v&GU:FLLI2FLLA(&**5!6::.v~~."23/2"67@INO ;CHJ+DLL9-t||<GV"DLL15x7N)++Xgt-D13{#K&RL$**dDJJkJ%'C$**dDJJ7AK$**dDJJkJ%'B$**dDJJ7A0$**dK8:NP& F;!&0$**d+-CE-$**d+V5% % %k" W- V, )+tU4[ /    %{#K(4%+tT]];=%t}}5k6* Z0  %;<( $  W- V, $%  %:;( $  W- V, $$ ( $#ev p  *rcr)r]compile)rrrr_r`s` @@ra objectiversF::ABL**45KS*S*YS*j &%rcc2eZdZdZdZdZgdZddgZdgZdZ y ) rzC For Objective-C source code with preprocessor directives. z Objective-Czhttps://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/Introduction/Introduction.html)z objective-c objectiveczobj-cobjcz*.mz*.hztext/x-objective-c皙?N) rsrtrurvnameurlaliases filenames mimetypespriorityrcrarrs1 D PC @ (4$"? @   7)FV!bjj!;fd#ej@d$fd%e!ej@e ejDfd&e!ej@e ejFfd'e!ej@e ej&fed(dej@fg d)e jHfgde d*fed+d,e jfged+d-e jfd e jd.fd/e jd*fd0e jfgde d*fdejDfed1gde d*fedd2e jfed1gd3ejJd4fded*fd5ejLfd6efd7efgd8ejJd.fd9ejJd*fed1gd: Z'd;Z(y<)=rz6 For Swift source. .. versionadded:: 2.0 Swiftzhttps://www.swift.org/z*.swiftswiftz text/x-swiftz\nrz//comment-singlez/\* comment-multiz##(if|elseif|else|endif|available)\bpreprockeywords)Array!AutoreleasingUnsafeMutablePointerBidirectionalReverseViewBitBoolCFunctionPointerCOpaquePointerCVaListPointer CharacterClosedIntervalCollectionOfOneContiguousArray DictionaryDictionaryGeneratorDictionaryIndexDoubleEmptyCollectionEmptyGeneratorEnumerateGeneratorEnumerateSequenceFilterCollectionViewFilterCollectionViewIndexFilterGeneratorFilterSequenceViewrxFloat80FloatingPointClassification GeneratorOfGeneratorOfOneGeneratorSequenceHalfOpenInterval HeapBufferHeapBufferStorageImplicitlyUnwrappedOptionalIndexingGeneratorIntInt16Int32Int64Int8LazyBidirectionalCollectionLazyForwardCollectionLazyRandomAccessCollection LazySequenceMapCollectionViewMapSequenceGeneratorMapSequenceViewMirrorDispositionObjectIdentifierOnHeapOptionalPermutationGeneratorQuickLookObjectRandomAccessReverseViewRangeRangeGeneratorRawByteRepeatReverseBidirectionalIndexReverseRandomAccessIndex SequenceOfSinkOfSlice StaticString StrideThroughStrideThroughGeneratorStrideToStrideToGeneratorrUIntUInt16UInt32UInt64UInt8UTF16UTF32UTF8UnicodeDecodingResult UnicodeScalar UnmanagedUnsafeBufferPointerUnsafeBufferPointerGeneratorUnsafeMutableBufferPointerUnsafeMutablePointer UnsafePointerZip2 ZipGenerator2AbsoluteValuable AnyObjectArrayLiteralConvertibleBidirectionalIndexTypeBitwiseOperationsTypeBooleanLiteralConvertible BooleanType CVarArgTypeCollectionType ComparableDebugPrintableDictionaryLiteralConvertible Equatable)ExtendedGraphemeClusterLiteralConvertibleExtensibleCollectionTypeFloatLiteralConvertibleFloatingPointTypeForwardIndexType GeneratorTypeHashableIntegerArithmeticTypeIntegerLiteralConvertible IntegerType IntervalType MirrorTypeMutableCollectionTypeMutableSliceableNilLiteralConvertibleOutputStreamType PrintableRandomAccessIndexTypeRangeReplaceableCollectionTypeRawOptionSetTypeRawRepresentable Reflectable SequenceTypeSignedIntegerTypeSignedNumberTypeSinkType Sliceable Streamable StrideableStringInterpolationConvertibleStringLiteralConvertibleUnicodeCodecTypeUnicodeScalarLiteralConvertibleUnsignedIntegerType_ArrayBufferType_BidirectionalIndexType_CocoaStringType_CollectionType _Comparable_ExtensibleCollectionType_ForwardIndexType_Incrementable_IntegerArithmeticType _IntegerType_ObjectiveCBridgeable_RandomAccessIndexType_RawOptionSetType _SequenceType_Sequence_Type_SignedIntegerType_SignedNumberType _Sliceable _Strideable"_SwiftNSArrayRequiredOverridesType_SwiftNSArrayType_SwiftNSCopyingType'_SwiftNSDictionaryRequiredOverridesType_SwiftNSDictionaryType_SwiftNSEnumeratorType_SwiftNSFastEnumerationType#_SwiftNSStringRequiredOverridesType_SwiftNSStringType_UnsignedIntegerTypeC_ARGCC_ARGVProcessAnyAnyClassBooleanLiteralTypeCBoolCCharCChar16CChar32CDoubleCFloatCIntCLong CLongLongCShort CSignedChar CUnsignedInt CUnsignedLongCUnsignedShort CWideCharExtendedGraphemeClusterTypeFloat32Float64FloatLiteralTypeIntMaxIntegerLiteralTypeStringLiteralTypeUIntMaxUWordUnicodeScalarTypeVoidWordNSErrorPointerNSObjectProtocolSelectorr:r;)Kabsadvancealignof alignofValueassertassertionFailurecontainscount countElements debugPrint debugPrintlndistance dropFirstdropLastdump enumerateequalextend fatalErrorfilterfindfirst getVaListindicesinsertisEmptyjoinlastlazylexicographicalComparemapmax maxElementmin minElement numericCastoverlaps partition preconditionpreconditionFailureprefixprintprintlnreducereflect removeAll removeAtIndex removeLast removeRangereversesizeof sizeofValuesortsortedsplicesplit startsWithstridestrideof strideofValuer<swap toDebugStringtoString transcodeunderestimateCountunsafeAddressOf unsafeBitCastunsafeDowncastwithExtendedLifetimewithUnsafeMutablePointerwithUnsafeMutablePointerswithUnsafePointerwithUnsafePointers withVaListz\$\d+z0b[01_]+z 0o[0-7_]+z0x[0-9a-fA-F_]+zD[0-9][0-9_]*(\.[0-9_]+[eE][+\-]?[0-9_]+|\.[0-9_]*|[eE][+\-]?[0-9_]+)z [0-9][0-9_]*"rz/[(){}\[\].,:;=@#`?]|->|[<&?](?=\w)|(?<=\w)[>!?]z[/=\-+!*%<>&|^?~]+z [a-zA-Z_]\w*)asasyncawaitbreakcasecatchcontinuer deferdoelse fallthroughforguardifr5isrepeatreturnz #selectorswitchthrowtrywherewhilez@availability\([^)]+\))) associativity conveniencedynamicdidSetfinalgetindirectinfixr7rleftmutatingnone nonmutatingoptionaloverridepostfix precedencerProtocolrequiredrethrowsrightsetthrowsr|unownedr(willSetz @availabilityz @autoclosurez @noreturnz@NSApplicationMainz @NSCopyingz @NSManagedz@objcz@UIApplicationMainz @IBActionz @IBDesignablez@IBInspectablez @IBOutletz(as|dynamicType|false|is|nil|self|Self|super|true|__COLUMN__|__FILE__|__FUNCTION__|__LINE__|_|#(?:file|line|column|function))\bzimport\bmodulez9(class|enum|extension|struct|protocol)(\s+)([a-zA-Z_]\w*)z(func)(\s+)([a-zA-Z_]\w*)z(var|let)(\s+)([a-zA-Z_]\w*))actorassociatedtyper9deinitenum extensionfuncimportinitinternalletoperatorprivateprotocolpublicstaticstruct subscript typealiasvarz2:param: [a-zA-Z_]\w*|:returns?:|(FIXME|MARK|TODO):rFcommentz[^\n]z[^*/]rPz\*/z[*/]rYz [A-Za-z]\w*z\\\( string-intpzN\\['"\\nrt]|\\x[0-9a-fA-F]{2}|\\[0-7]{1,3}|\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}z[^\\"]+z\\rTrV) rYrrrrrrrrc#Kddlm}m}m}t j ||D]M\}}}|t us|t jur&||vs||vs||vrt jj}|||fOywre) rirfrgrhrrjr r?rkrl)rmr^rfrgrhrorprqs rarjz!SwiftLexer.get_tokens_unprocesseds| . .11$= & E5%} 3,,0H// LL//E% % &sA2A4N))rsrtrurvrrrrrr rSingle MultilinePreprocrrr rkrlrrBinrzryrxr{rrrr ReservedConstant Declarationrr?r~SpecialInterpolEscaperrjrrcrarrs D "C IiG I DM TN GNN$4 5 W&& 8 3W__i P J ?B~KP?Q@\\A@ D',- \\ ! "&t}} %&** % 6:: &  ,-.4ll < fnn - 68 $@ M "H -d #kv p"+0 1    '(8(8 9  /8= >   34;4D4D F'--x 8 I g))4 < > ) g))4 ? A ,hw7J7J 4==/" # ENST  ";" HC __  D& ! I  w~~ & I  w(( ) W&& 0 W&& / g'' (  D& ! djj ) FO D& ! J  W__ - FO  foo} 5 66 "9:@-- I  FO  FOOW - FOOV , FO AEFN &rcr)rvr]pygments.lexerrrrrrrr r pygments.tokenr r r rrrrrrpygments.lexers.c_cpprr__all__rrrrrrrcrars| ***3 Nh&V i'   (+ ="=@^&^&rc