o aY@sdZddlZddlmZmZmZmZmZmZm Z m Z ddl m Z m Z mZmZmZmZmZmZmZddlmZmZgdZddZGd d d eeZGd d d eeZGd ddeZGdddeZdS)z pygments.lexers.objective ~~~~~~~~~~~~~~~~~~~~~~~~~ Lexers for Objective-C family languages. :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS. :license: BSD, see LICENSE for details. N) RegexLexerincludebygroupsusingthiswordsinheritdefault) TextKeywordNameStringOperatorNumber PunctuationLiteralComment)CLexerCppLexer)ObjectiveCLexerObjectiveCppLexer LogosLexer SwiftLexercs0tdtdGfddd}|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*)?:)cszeZdZdZdedfdefdejfdejfdejfdejfd ej fd ej fd e d fd e dfde dfe ddde fe ddde jfdejfdejfde jfdejfdee edfdee edfdefegdeejeejeedfd eejeejd!fd"eejeejeedfd#eejeejd!fd$eejeedfd%ejd!fgd&eejed'fd(eejed!fged)ed*d+efd,ed-fd.ed!fgd/eeeeeeejd0feged)d1efd2efd3eeeeejfd4ejfd+ed!fd,ed5fed!gd6ed7fd8e d!fed9gd6ed-fd8ed!fed9gd:ed;fdd?Zfd@dAZdBS)Cz-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+))rBoc_forward_classname@z7([a-zA-Z$_][\w$]*)(\s*:\s*)([a-zA-Z$_][\w$]*)?(\s*)(\{))rBoc_ivars.([a-zA-Z$_][\w$]*)(\s*:\s*)([a-zA-Z$_][\w$]*)?rBz6([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*)rDz([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\]) rJrCrDrFrootrMrrQrrTrcs<|rdSd|vr dStd|rdS|rdSdS)N?rg?z@[0-9]+gffffff?r)searchretext) _oc_keywords _oc_message;/usr/lib/python3/dist-packages/pygments/lexers/objective.py analyse_texts   z:objective..GeneratedObjectiveCVariant.analyse_textc3spddlm}m}m}||D]$\}}}|tus|tjur/||vs+||vs+||vr/tjj}|||fVqdSNr)COCOA_INTERFACESCOCOA_PROTOCOLSCOCOA_PRIMITIVES) pygments.lexers._cocoa_builtinsrarbrcget_tokens_unprocessedr r;BuiltinPseudoselfrZrarbrcindextokenvalue) baselexerr]r^re  zDobjective..GeneratedObjectiveCVariant.get_tokens_unprocessedN) __name__ __module__ __qualname____doc__r rCharFloatHexOctIntegerrrr Typer rfrr rrr;LabelrrrFunctionVariabler tokensr_rer]r[r\rmr]r^GeneratedObjectiveCVariant*s    )     x r~)rXcompile)rmr~r]r}r^ objectives rc@.eZdZdZdZgdZddgZdgZdZdS) rzC For Objective-C source code with preprocessor directives. z Objective-C)z objective-c objectiveczobj-cobjcz*.mz*.hztext/x-objective-c皙?N rorprqrrnamealiases filenames mimetypespriorityr]r]r]r^rrc@r) rzE For Objective-C++ source code with preprocessor directives. z Objective-C++)z objective-c++z objectivec++zobj-c++zobjc++z*.mmz*.hhztext/x-objective-c++rNrr]r]r]r^rrrc@sXeZdZdZdZdgZgdZdgZdZde fde e e e e je e fd e e e d fd e e fd e e e e jd fde e e dfegde fde dfde e je e e e fde jfde d fgde e je e jd fde jd fgde e e dfd e e e e jfde e e e je ee fde e e e dfde e e e ee fde e e e fegdZedZdd Zd!S)"rzf For Logos + Objective-C source code with preprocessor directives. .. versionadded:: 1.6 Logoslogos)z*.xz*.xiz*.xmz*.xmiz text/x-logosg?z(%orig|%log)\bz*(%c)\b(\()(\s*)([a-zA-Z$_][\w$]*)(\s*)(\))z (%init)\b(\()logos_init_directivez(%init)(?=\s*;)z%(%hook|%group)(\s+)([a-zA-Z$_][\w$]+)rBz(%subclass)(\s+))rBlogos_classname\s+rN)rrBz'([a-zA-Z$_][\w$]*)(\s*)(=)(\s*)([^);]*)rHrRrGrz*(%config)(\s*\(\s*)(\w+)(\s*=)(.*?)(\)\s*)z(%ctor)(\s*)(\{)rOz(%new)(\s*)(\()(.*?)(\))z(\s*)(%end)(\s*))rJrrrUz%(?:hook|ctor|init|c\()cCstj|rdSdS)NrVr)r_logos_keywordsrWrYr]r]r^r_s zLogosLexer.analyse_textN)rorprqrrrrrrrr rrr r r;rr{r r|rXrrr_r]r]r]r^rsr         + rc@seZdZdZdZdgZdgZdgZdefdefde j d fd e j d fd e j d fe dedddejfedddejjfdejfdejfdejfdejfdejfdejfdedfdefdefdefgedddefdejfed ddejfd!ejfd"ejd#fd$e ejeej!fd%e ejeej"fd&e ejeejfed'ddejfg d(e j#fgded)fe d*d+e j fge d*d,e j fd e j d-fd.e j d)fd/e j fgded)fdej!fe d0gded)fe dd1e j fe d0gd2ej$d3fded)fd4ej%fd5efd6efgd7ej$d-fd8ej$d)fe d0gd9 Z&d:d;Z'd`_ source. .. versionadded:: 2.0 Swiftz*.swiftswiftz text/x-swiftz\nrz//comment-singlez/\* comment-multiz##(if|elseif|else|endif|available)\bpreprockeywords)Array!AutoreleasingUnsafeMutablePointerBidirectionalReverseViewBitBoolCFunctionPointerCOpaquePointerCVaListPointer CharacterClosedIntervalCollectionOfOneContiguousArray DictionaryDictionaryGeneratorDictionaryIndexDoubleEmptyCollectionEmptyGeneratorEnumerateGeneratorEnumerateSequenceFilterCollectionViewFilterCollectionViewIndexFilterGeneratorFilterSequenceViewrtFloat80FloatingPointClassification GeneratorOfGeneratorOfOneGeneratorSequenceHalfOpenInterval HeapBufferHeapBufferStorageImplicitlyUnwrappedOptionalIndexingGeneratorIntInt16Int32Int64Int8LazyBidirectionalCollectionLazyForwardCollectionLazyRandomAccessCollection LazySequenceMapCollectionViewMapSequenceGeneratorMapSequenceViewMirrorDispositionObjectIdentifierOnHeapOptionalPermutationGeneratorQuickLookObjectRandomAccessReverseViewRangeRangeGeneratorRawByteRepeatReverseBidirectionalIndexReverseRandomAccessIndex SequenceOfSinkOfSlice StaticString StrideThroughStrideThroughGeneratorStrideToStrideToGeneratorr UIntUInt16UInt32UInt64UInt8UTF16UTF32UTF8UnicodeDecodingResult 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 CWideCharExtendedGraphemeClusterTypeFloat32Float64FloatLiteralTypeIntMaxIntegerLiteralTypeStringLiteralTypeUIntMaxUWordUnicodeScalarTypeVoidWordNSErrorPointerNSObjectProtocolSelectorr6r7)Kabsadvancealignof alignofValueassertassertionFailurecontainscount countElements debugPrint debugPrintlndistance dropFirstdropLastdump enumerateequalextend fatalErrorfilterfindfirst getVaListindicesinsertisEmptyjoinlastlazylexicographicalComparemapmax maxElementmin minElement numericCastoverlaps partition preconditionpreconditionFailureprefixprintprintlnreducereflect removeAll removeAtIndex removeLast removeRangereversesizeof sizeofValuesortsortedsplicesplit startsWithstridestrideof strideofValuer8swap 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 fallthroughforguardifr1isrepeatreturnz #selectorswitchthrowtrywherewhilez@availability\([^)]+\))) associativity conveniencedynamicdidSetfinalgetindirectinfixr3ryleftmutatingnone nonmutatingoptionaloverridepostfix precedencerProtocolrequiredrethrowsrightsetthrowsrxunownedr$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*))actorassociatedtyper5deinitenum extensionfuncimportinitinternalletoperatorprivateprotocolpublicstaticstruct subscript typealiasvarz2:param: [a-zA-Z_]\w*|:returns?:|(FIXME|MARK|TODO):rBcommentz[^\n]z[^*/]rLz\*/z[*/]rUz [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\\rPrR) rUrrrrrrrrccspddlm}m}m}t||D]$\}}}|tus|tjur/||vs+||vs+||vr/tjj }|||fVqdSr`) rdrarbrcrrer r;rfrgrhr]r]r^rernz!SwiftLexer.get_tokens_unprocessedN)(rorprqrrrrrrr rSingle MultilinePreprocrrr rfrgr{rBinrvrurtrwr rrr ReservedConstant Declarationrr;rzSpecialInterpolEscaper|rer]r]r]r^rs   ?@Bx    $     Hr)rrrXpygments.lexerrrrrrrrr pygments.tokenr r r r rrrrrpygments.lexers.c_cpprr__all__rrrrrr]r]r]r^s (,,  @