objc.vim 41 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534
  1. " Vim syntax file
  2. " Language: Objective-C
  3. " Maintainer: Kazunobu Kuriyama <kazunobu.kuriyama@gmail.com>
  4. " Last Change: 2015 Dec 14
  5. """ Preparation for loading ObjC stuff
  6. if exists("b:current_syntax")
  7. finish
  8. endif
  9. if &filetype != 'objcpp'
  10. syn clear
  11. runtime! syntax/c.vim
  12. endif
  13. let s:cpo_save = &cpo
  14. set cpo&vim
  15. """ ObjC proper stuff follows...
  16. syn keyword objcPreProcMacro __OBJC__ __OBJC2__ __clang__
  17. " Defined Types
  18. syn keyword objcPrincipalType id Class SEL IMP BOOL instancetype
  19. syn keyword objcUsefulTerm nil Nil NO YES
  20. " Preprocessor Directives
  21. syn region objcImported display contained start=+"+ skip=+\\\\\|\\"+ end=+"+
  22. syn match objcImported display contained "\(<\h[-a-zA-Z0-9_/]*\.h>\|<[a-z0-9]\+>\)"
  23. syn match objcImport display "^\s*\(%:\|#\)\s*import\>\s*["<]" contains=objcImported
  24. " ObjC Compiler Directives
  25. syn match objcObjDef display /@interface\>\|@implementation\>\|@end\>\|@class\>/
  26. syn match objcProtocol display /@protocol\>\|@optional\>\|@required\>/
  27. syn match objcProperty display /@property\>\|@synthesize\>\|@dynamic\>/
  28. syn match objcIvarScope display /@private\>\|@protected\>\|@public\>\|@package\>/
  29. syn match objcInternalRep display /@selector\>\|@encode\>/
  30. syn match objcException display /@try\>\|@throw\>\|@catch\|@finally\>/
  31. syn match objcThread display /@synchronized\>/
  32. syn match objcPool display /@autoreleasepool\>/
  33. syn match objcModuleImport display /@import\>/
  34. " ObjC Constant Strings
  35. syn match objcSpecial display contained "%@"
  36. syn region objcString start=+\(@"\|"\)+ skip=+\\\\\|\\"+ end=+"+ contains=cFormat,cSpecial,objcSpecial
  37. " ObjC Hidden Arguments
  38. syn keyword objcHiddenArgument self _cmd super
  39. " ObjC Type Qualifiers for Blocks
  40. syn keyword objcBlocksQualifier __block
  41. " ObjC Type Qualifiers for Object Lifetime
  42. syn keyword objcObjectLifetimeQualifier __strong __weak __unsafe_unretained __autoreleasing
  43. " ObjC Type Qualifiers for Toll-Free Bridge
  44. syn keyword objcTollFreeBridgeQualifier __bridge __bridge_retained __bridge_transfer
  45. " ObjC Type Qualifiers for Remote Messaging
  46. syn match objcRemoteMessagingQualifier display contained /\((\s*oneway\s\+\|(\s*in\s\+\|(\s*out\s\+\|(\s*inout\s\+\|(\s*bycopy\s\+\(in\(out\)\?\|out\)\?\|(\s*byref\s\+\(in\(out\)\?\|out\)\?\)/hs=s+1
  47. " ObjC Storage Classes
  48. syn keyword objcStorageClass _Nullable _Nonnull _Null_unspecified
  49. syn keyword objcStorageClass __nullable __nonnull __null_unspecified
  50. syn keyword objcStorageClass nullable nonnull null_unspecified
  51. " ObjC type specifier
  52. syn keyword objcTypeSpecifier __kindof __covariant
  53. " ObjC Type Infomation Parameters
  54. syn keyword objcTypeInfoParams ObjectType KeyType
  55. " shorthand
  56. syn cluster objcTypeQualifier contains=objcBlocksQualifier,objcObjectLifetimeQualifier,objcTollFreeBridgeQualifier,objcRemoteMessagingQualifier
  57. " ObjC Fast Enumeration
  58. syn match objcFastEnumKeyword display /\sin\(\s\|$\)/
  59. " ObjC Literal Syntax
  60. syn match objcLiteralSyntaxNumber display /@\(YES\>\|NO\>\|\d\|-\|+\)/ contains=cNumber,cFloat,cOctal
  61. syn match objcLiteralSyntaxSpecialChar display /@'/ contains=cSpecialCharacter
  62. syn match objcLiteralSyntaxChar display /@'[^\\]'/
  63. syn match objcLiteralSyntaxOp display /@\((\|\[\|{\)/me=e-1,he=e-1
  64. " ObjC Declared Property Attributes
  65. syn match objDeclPropAccessorNameAssign display /\s*=\s*/ contained
  66. syn region objcDeclPropAccessorName display start=/\(getter\|setter\)/ end=/\h\w*/ contains=objDeclPropAccessorNameAssign
  67. syn keyword objcDeclPropAccessorType readonly readwrite contained
  68. syn keyword objcDeclPropAssignSemantics assign retain copy contained
  69. syn keyword objcDeclPropAtomicity nonatomic contained
  70. syn keyword objcDeclPropARC strong weak contained
  71. syn match objcDeclPropNullable /\((\|\s\)nullable\(,\|)\)/ms=s+1,hs=s+1,me=e-1,he=e-1 contained
  72. syn match objcDeclPropNonnull /\((\|\s\)nonnull\(,\|)\)/ms=s+1,hs=s+1,me=e-1,he=e-1 contained
  73. syn match objcDeclPropNullUnspecified /\((\|\s\)null_unspecified\(,\|)\)/ms=s+1,hs=s+1,me=e-1,he=e-1 contained
  74. syn keyword objcDeclProcNullResettable null_resettable contained
  75. syn region objcDeclProp display transparent keepend start=/@property\s*(/ end=/)/ contains=objcProperty,objcDeclPropAccessorName,objcDeclPropAccessorType,objcDeclPropAssignSemantics,objcDeclPropAtomicity,objcDeclPropARC,objcDeclPropNullable,objcDeclPropNonnull,objcDeclPropNullUnspecified,objcDeclProcNullResettable
  76. " To distinguish colons in methods and dictionaries from those in C's labels.
  77. syn match objcColon display /^\s*\h\w*\s*\:\(\s\|.\)/me=e-1,he=e-1
  78. " To distinguish a protocol list from system header files
  79. syn match objcProtocolList display /<\h\w*\(\s*,\s*\h\w*\)*>/ contains=objcPrincipalType,cType,Type,objcType,objcTypeInfoParams
  80. " Type info for collection classes
  81. syn match objcTypeInfo display /<\h\w*\s*<\(\h\w*\s*\**\|\h\w*\)>>/ contains=objcPrincipalType,cType,Type,objcType,objcTypeInfoParams
  82. " shorthand
  83. syn cluster objcCEntities contains=cType,cStructure,cStorageClass,cString,cCharacter,cSpecialCharacter,cNumbers,cConstant,cOperator,cComment,cCommentL,cStatement,cLabel,cConditional,cRepeat
  84. syn cluster objcObjCEntities contains=objcHiddenArgument,objcPrincipalType,objcString,objcUsefulTerm,objcProtocol,objcInternalRep,objcException,objcThread,objcPool,objcModuleImport,@objcTypeQualifier,objcLiteralSyntaxNumber,objcLiteralSyntaxOp,objcLiteralSyntaxChar,objcLiteralSyntaxSpecialChar,objcProtocolList,objcColon,objcFastEnumKeyword,objcType,objcClass,objcMacro,objcEnum,objcEnumValue,objcExceptionValue,objcNotificationValue,objcConstVar,objcPreProcMacro,objcTypeInfo
  85. " Objective-C Message Expressions
  86. syn region objcMethodCall start=/\[/ end=/\]/ contains=objcMethodCall,objcBlocks,@objcObjCEntities,@objcCEntities
  87. " To distinguish class method and instance method
  88. syn match objcInstanceMethod display /^s*-\s*/
  89. syn match objcClassMethod display /^s*+\s*/
  90. " ObjC Blocks
  91. syn region objcBlocks start=/\(\^\s*([^)]\+)\s*{\|\^\s*{\)/ end=/}/ contains=objcBlocks,objcMethodCall,@objcObjCEntities,@objcCEntities
  92. syn cluster cParenGroup add=objcMethodCall
  93. syn cluster cPreProcGroup add=objcMethodCall
  94. """ Foundation Framework
  95. syn match objcClass /Protocol\s*\*/me=s+8,he=s+8
  96. """""""""""""""""
  97. " NSObjCRuntime.h
  98. syn keyword objcType NSInteger NSUInteger NSComparator
  99. syn keyword objcEnum NSComparisonResult
  100. syn keyword objcEnumValue NSOrderedAscending NSOrderedSame NSOrderedDescending
  101. syn keyword objcEnum NSEnumerationOptions
  102. syn keyword objcEnumValue NSEnumerationConcurrent NSEnumerationReverse
  103. syn keyword objcEnum NSSortOptions
  104. syn keyword objcEnumValue NSSortConcurrent NSSortStable
  105. syn keyword objcEnumValue NSNotFound
  106. syn keyword objcMacro NSIntegerMax NSIntegerMin NSUIntegerMax
  107. syn keyword objcMacro NS_INLINE NS_BLOCKS_AVAILABLE NS_NONATOMIC_IOSONLY NS_FORMAT_FUNCTION NS_FORMAT_ARGUMENT NS_RETURNS_RETAINED NS_RETURNS_NOT_RETAINED NS_RETURNS_INNER_POINTER NS_AUTOMATED_REFCOUNT_UNAVAILABLE NS_AUTOMATED_REFCOUNT_WEAK_UNAVAILABLE NS_REQUIRES_PROPERTY_DEFINITIONS NS_REPLACES_RECEIVER NS_RELEASES_ARGUMENT NS_VALID_UNTIL_END_OF_SCOPE NS_ROOT_CLASS NS_REQUIRES_SUPER NS_PROTOCOL_REQUIRES_EXPLICIT_IMPLEMENTATION NS_DESIGNATED_INITIALIZER NS_REQUIRES_NIL_TERMINATION
  108. syn keyword objcEnum NSQualityOfService
  109. syn keyword objcEnumValue NSQualityOfServiceUserInteractive NSQualityOfServiceUserInitiated NSQualityOfServiceUtility NSQualityOfServiceBackground NSQualityOfServiceDefault
  110. " NSRange.h
  111. syn keyword objcType NSRange NSRangePointer
  112. " NSGeometry.h
  113. syn keyword objcType NSPoint NSPointPointer NSPointArray NSSize NSSizePointer NSSizeArray NSRect NSRectPointer NSRectArray NSEdgeInsets
  114. syn keyword objcEnum NSRectEdge
  115. syn keyword objcEnumValue NSMinXEdge NSMinYEdge NSMaxXEdge NSMaxYEdge
  116. syn keyword objcEnumValue NSRectEdgeMinX NSRectEdgeMinY NSRectEdgeMaxX NSRectEdgeMaxY
  117. syn keyword objcConstVar NSZeroPoint NSZeroSize NSZeroRect NSEdgeInsetsZero
  118. syn keyword cType CGFloat CGPoint CGSize CGRect
  119. syn keyword objcEnum NSAlignmentOptions
  120. syn keyword objcEnumValue NSAlignMinXInward NSAlignMinYInward NSAlignMaxXInward NSAlignMaxYInward NSAlignWidthInward NSAlignHeightInward NSAlignMinXOutward NSAlignMinYOutward NSAlignMaxXOutward NSAlignMaxYOutward NSAlignWidthOutward NSAlignHeightOutward NSAlignMinXNearest NSAlignMinYNearest NSAlignMaxXNearest NSAlignMaxYNearest NSAlignWidthNearest NSAlignHeightNearest NSAlignRectFlipped NSAlignAllEdgesInward NSAlignAllEdgesOutward NSAlignAllEdgesNearest
  121. " NSDecimal.h
  122. syn keyword objcType NSDecimal
  123. syn keyword objcEnum NSRoundingMode
  124. syn keyword objcEnumValue NSRoundPlain NSRoundDown NSRoundUp NSRoundBankers
  125. syn keyword objcEnum NSCalculationError
  126. syn keyword objcEnumValue NSCalculationNoError NSCalculationLossOfPrecision NSCalculationUnderflow NSCalculationOverflow NSCalculationDivideByZero
  127. syn keyword objcConstVar NSDecimalMaxSize NSDecimalNoScale
  128. " NSDate.h
  129. syn match objcClass /NSDate\s*\*/me=s+6,he=s+6
  130. syn keyword objcType NSTimeInterval
  131. syn keyword objcNotificationValue NSSystemClockDidChangeNotification
  132. syn keyword objcMacro NSTimeIntervalSince1970
  133. " NSZone.h
  134. syn match objcType /NSZone\s*\*/me=s+6,he=s+6
  135. syn keyword objcEnumValue NSScannedOption NSCollectorDisabledOption
  136. " NSError.h
  137. syn match objcClass /NSError\s*\*/me=s+7,he=s+7
  138. syn keyword objcConstVar NSCocoaErrorDomain NSPOSIXErrorDomain NSOSStatusErrorDomain NSMachErrorDomain NSUnderlyingErrorKey NSLocalizedDescriptionKey NSLocalizedFailureReasonErrorKey NSLocalizedRecoverySuggestionErrorKey NSLocalizedRecoveryOptionsErrorKey NSRecoveryAttempterErrorKey NSHelpAnchorErrorKey NSStringEncodingErrorKey NSURLErrorKey NSFilePathErrorKey
  139. " NSException.h
  140. syn match objcClass /NSException\s*\*/me=s+11,he=s+11
  141. syn match objcClass /NSAssertionHandler\s*\*/me=s+18,he=s+18
  142. syn keyword objcType NSUncaughtExceptionHandler
  143. syn keyword objcConstVar NSGenericException NSRangeException NSInvalidArgumentException NSInternalInconsistencyException NSMallocException NSObjectInaccessibleException NSObjectNotAvailableException NSDestinationInvalidException NSPortTimeoutException NSInvalidSendPortException NSInvalidReceivePortException NSPortSendException NSPortReceiveException NSOldStyleException
  144. " NSNotification.h
  145. syn match objcClass /NSNotification\s*\*/me=s+14,he=s+14
  146. syn match objcClass /NSNotificationCenter\s*\*/me=s+20,he=s+20
  147. " NSDistributedNotificationCenter.h
  148. syn match objcClass /NSDistributedNotificationCenter\s*\*/me=s+31,he=s+31
  149. syn keyword objcConstVar NSLocalNotificationCenterType
  150. syn keyword objcEnum NSNotificationSuspensionBehavior
  151. syn keyword objcEnumValue NSNotificationSuspensionBehaviorDrop NSNotificationSuspensionBehaviorCoalesce NSNotificationSuspensionBehaviorHold NSNotificationSuspensionBehaviorHold NSNotificationSuspensionBehaviorDeliverImmediately
  152. syn keyword objcEnumValue NSNotificationDeliverImmediately NSNotificationPostToAllSessions
  153. syn keyword objcEnum NSDistributedNotificationOptions
  154. syn keyword objcEnumValue NSDistributedNotificationDeliverImmediately NSDistributedNotificationPostToAllSessions
  155. " NSNotificationQueue.h
  156. syn match objcClass /NSNotificationQueue\s*\*/me=s+19,he=s+19
  157. syn keyword objcEnum NSPostingStyle
  158. syn keyword objcEnumValue NSPostWhenIdle NSPostASAP NSPostNow
  159. syn keyword objcEnum NSNotificationCoalescing
  160. syn keyword objcEnumValue NSNotificationNoCoalescing NSNotificationCoalescingOnName NSNotificationCoalescingOnSender
  161. " NSEnumerator.h
  162. syn match objcClass /NSEnumerator\s*\*/me=s+12,he=s+12
  163. syn match objcClass /NSEnumerator<.*>\s*\*/me=s+12,he=s+12 contains=objcTypeInfoParams
  164. syn keyword objcType NSFastEnumerationState
  165. " NSIndexSet.h
  166. syn match objcClass /NSIndexSet\s*\*/me=s+10,he=s+10
  167. syn match objcClass /NSMutableIndexSet\s*\*/me=s+17,he=s+17
  168. " NSCharecterSet.h
  169. syn match objcClass /NSCharacterSet\s*\*/me=s+14,he=s+14
  170. syn match objcClass /NSMutableCharacterSet\s*\*/me=s+21,he=s+21
  171. syn keyword objcConstVar NSOpenStepUnicodeReservedBase
  172. " NSURL.h
  173. syn match objcClass /NSURL\s*\*/me=s+5,he=s+5
  174. syn keyword objcEnum NSURLBookmarkCreationOptions
  175. syn keyword objcEnumValue NSURLBookmarkCreationPreferFileIDResolution NSURLBookmarkCreationMinimalBookmark NSURLBookmarkCreationSuitableForBookmarkFile NSURLBookmarkCreationWithSecurityScope NSURLBookmarkCreationSecurityScopeAllowOnlyReadAccess
  176. syn keyword objcEnum NSURLBookmarkResolutionOptions
  177. syn keyword objcEnumValue NSURLBookmarkResolutionWithoutUI NSURLBookmarkResolutionWithoutMounting NSURLBookmarkResolutionWithSecurityScope
  178. syn keyword objcType NSURLBookmarkFileCreationOptions
  179. syn keyword objcConstVar NSURLFileScheme NSURLKeysOfUnsetValuesKey
  180. syn keyword objcConstVar NSURLNameKey NSURLLocalizedNameKey NSURLIsRegularFileKey NSURLIsDirectoryKey NSURLIsSymbolicLinkKey NSURLIsVolumeKey NSURLIsPackageKey NSURLIsApplicationKey NSURLApplicationIsScriptableKey NSURLIsSystemImmutableKey NSURLIsUserImmutableKey NSURLIsHiddenKey NSURLHasHiddenExtensionKey NSURLCreationDateKey NSURLContentAccessDateKey NSURLContentModificationDateKey NSURLAttributeModificationDateKey NSURLLinkCountKey NSURLParentDirectoryURLKey NSURLVolumeURLKey NSURLTypeIdentifierKey NSURLLocalizedTypeDescriptionKey NSURLLabelNumberKey NSURLLabelColorKey NSURLLocalizedLabelKey NSURLEffectiveIconKey NSURLCustomIconKey NSURLFileResourceIdentifierKey NSURLVolumeIdentifierKey NSURLPreferredIOBlockSizeKey NSURLIsReadableKey NSURLIsWritableKey NSURLIsExecutableKey NSURLFileSecurityKey NSURLIsExcludedFromBackupKey NSURLTagNamesKey NSURLPathKey NSURLIsMountTriggerKey NSURLGenerationIdentifierKey NSURLDocumentIdentifierKey NSURLAddedToDirectoryDateKey NSURLQuarantinePropertiesKey NSURLFileResourceTypeKey
  181. syn keyword objcConstVar NSURLFileResourceTypeNamedPipe NSURLFileResourceTypeCharacterSpecial NSURLFileResourceTypeDirectory NSURLFileResourceTypeBlockSpecial NSURLFileResourceTypeRegular NSURLFileResourceTypeSymbolicLink NSURLFileResourceTypeSocket NSURLFileResourceTypeUnknown NSURLThumbnailDictionaryKey NSURLThumbnailKey NSThumbnail1024x1024SizeKey
  182. syn keyword objcConstVar NSURLFileSizeKey NSURLFileAllocatedSizeKey NSURLTotalFileSizeKey NSURLTotalFileAllocatedSizeKey NSURLIsAliasFileKey NSURLFileProtectionKey NSURLFileProtectionNone NSURLFileProtectionComplete NSURLFileProtectionCompleteUnlessOpen NSURLFileProtectionCompleteUntilFirstUserAuthentication
  183. syn keyword objcConstVar NSURLVolumeLocalizedFormatDescriptionKey NSURLVolumeTotalCapacityKey NSURLVolumeAvailableCapacityKey NSURLVolumeResourceCountKey NSURLVolumeSupportsPersistentIDsKey NSURLVolumeSupportsSymbolicLinksKey NSURLVolumeSupportsHardLinksKey NSURLVolumeSupportsJournalingKey NSURLVolumeIsJournalingKey NSURLVolumeSupportsSparseFilesKey NSURLVolumeSupportsZeroRunsKey NSURLVolumeSupportsCaseSensitiveNamesKey NSURLVolumeSupportsCasePreservedNamesKey NSURLVolumeSupportsRootDirectoryDatesKey NSURLVolumeSupportsVolumeSizesKey NSURLVolumeSupportsRenamingKey NSURLVolumeSupportsAdvisoryFileLockingKey NSURLVolumeSupportsExtendedSecurityKey NSURLVolumeIsBrowsableKey NSURLVolumeMaximumFileSizeKey NSURLVolumeIsEjectableKey NSURLVolumeIsRemovableKey NSURLVolumeIsInternalKey NSURLVolumeIsAutomountedKey NSURLVolumeIsLocalKey NSURLVolumeIsReadOnlyKey NSURLVolumeCreationDateKey NSURLVolumeURLForRemountingKey NSURLVolumeUUIDStringKey NSURLVolumeNameKey NSURLVolumeLocalizedNameKey
  184. syn keyword objcConstVar NSURLIsUbiquitousItemKey NSURLUbiquitousItemHasUnresolvedConflictsKey NSURLUbiquitousItemIsDownloadedKey NSURLUbiquitousItemIsDownloadingKey NSURLUbiquitousItemIsUploadedKey NSURLUbiquitousItemIsUploadingKey NSURLUbiquitousItemPercentDownloadedKey NSURLUbiquitousItemPercentUploadedKey NSURLUbiquitousItemDownloadingStatusKey NSURLUbiquitousItemDownloadingErrorKey NSURLUbiquitousItemUploadingErrorKey NSURLUbiquitousItemDownloadRequestedKey NSURLUbiquitousItemContainerDisplayNameKey NSURLUbiquitousItemDownloadingStatusNotDownloaded NSURLUbiquitousItemDownloadingStatusDownloaded NSURLUbiquitousItemDownloadingStatusCurrent
  185. """"""""""""
  186. " NSString.h
  187. syn match objcClass /NSString\s*\*/me=s+8,he=s+8
  188. syn match objcClass /NSMutableString\s*\*/me=s+15,he=s+15
  189. syn keyword objcType unichar
  190. syn keyword objcExceptionValue NSParseErrorException NSCharacterConversionException
  191. syn keyword objcMacro NSMaximumStringLength
  192. syn keyword objcEnum NSStringCompareOptions
  193. syn keyword objcEnumValue NSCaseInsensitiveSearch NSLiteralSearch NSBackwardsSearch NSAnchoredSearch NSNumericSearch NSDiacriticInsensitiveSearch NSWidthInsensitiveSearch NSForcedOrderingSearch NSRegularExpressionSearch
  194. syn keyword objcEnum NSStringEncoding
  195. syn keyword objcEnumValue NSProprietaryStringEncoding
  196. syn keyword objcEnumValue NSASCIIStringEncoding NSNEXTSTEPStringEncoding NSJapaneseEUCStringEncoding NSUTF8StringEncoding NSISOLatin1StringEncoding NSSymbolStringEncoding NSNonLossyASCIIStringEncoding NSShiftJISStringEncoding NSISOLatin2StringEncoding NSUnicodeStringEncoding NSWindowsCP1251StringEncoding NSWindowsCP1252StringEncoding NSWindowsCP1253StringEncoding NSWindowsCP1254StringEncoding NSWindowsCP1250StringEncoding NSISO2022JPStringEncoding NSMacOSRomanStringEncoding NSUTF16StringEncoding NSUTF16BigEndianStringEncoding NSUTF16LittleEndianStringEncoding NSUTF32StringEncoding NSUTF32BigEndianStringEncoding NSUTF32LittleEndianStringEncoding
  197. syn keyword objcEnum NSStringEncodingConversionOptions
  198. syn keyword objcEnumValue NSStringEncodingConversionAllowLossy NSStringEncodingConversionExternalRepresentation
  199. syn keyword objcEnum NSStringEnumerationOptions
  200. syn keyword objcEnumValue NSStringEnumerationByLines NSStringEnumerationByParagraphs NSStringEnumerationByComposedCharacterSequences NSStringEnumerationByWords NSStringEnumerationBySentences NSStringEnumerationReverse NSStringEnumerationSubstringNotRequired NSStringEnumerationLocalized
  201. syn keyword objcConstVar NSStringTransformLatinToKatakana NSStringTransformLatinToHiragana NSStringTransformLatinToHangul NSStringTransformLatinToArabic NSStringTransformLatinToHebrew NSStringTransformLatinToThai NSStringTransformLatinToCyrillic NSStringTransformLatinToGreek NSStringTransformToLatin NSStringTransformMandarinToLatin NSStringTransformHiraganaToKatakana NSStringTransformFullwidthToHalfwidth NSStringTransformToXMLHex NSStringTransformToUnicodeName NSStringTransformStripCombiningMarks NSStringTransformStripDiacritics
  202. syn keyword objcConstVar NSStringEncodingDetectionSuggestedEncodingsKey NSStringEncodingDetectionDisallowedEncodingsKey NSStringEncodingDetectionUseOnlySuggestedEncodingsKey NSStringEncodingDetectionAllowLossyKey NSStringEncodingDetectionFromWindowsKey NSStringEncodingDetectionLossySubstitutionKey NSStringEncodingDetectionLikelyLanguageKey
  203. " NSAttributedString.h
  204. syn match objcClass /NSAttributedString\s*\*/me=s+18,he=s+18
  205. syn match objcClass /NSMutableAttributedString\s*\*/me=s+25,he=s+25
  206. syn keyword objcEnum NSAttributedStringEnumerationOptions
  207. syn keyword objcEnumValue NSAttributedStringEnumerationReverse NSAttributedStringEnumerationLongestEffectiveRangeNotRequired
  208. " NSValue.h
  209. syn match objcClass /NSValue\s*\*/me=s+7,he=s+7
  210. syn match objcClass /NSNumber\s*\*/me=s+8,he=s+8
  211. " NSDecimalNumber.h
  212. syn match objcClass /NSDecimalNumber\s*\*/me=s+15,he=s+15
  213. syn match objcClass /NSDecimalNumberHandler\s*\*/me=s+22,he=s+22
  214. syn keyword objcExceptionValue NSDecimalNumberExactnessException NSDecimalNumberOverflowException NSDecimalNumberUnderflowException NSDecimalNumberDivideByZeroException
  215. " NSData.h
  216. syn match objcClass /NSData\s*\*/me=s+6,he=s+6
  217. syn match objcClass /NSMutableData\s*\*/me=s+13,he=s+13
  218. syn keyword objcEnum NSDataReadingOptions
  219. syn keyword objcEnumValue NSDataReadingMappedIfSafe NSDataReadingUncached NSDataReadingMappedAlways NSDataReadingMapped NSMappedRead NSUncachedRead
  220. syn keyword objcEnum NSDataWritingOptions
  221. syn keyword objcEnumValue NSDataWritingAtomic NSDataWritingWithoutOverwriting NSDataWritingFileProtectionNone NSDataWritingFileProtectionComplete NSDataWritingFileProtectionCompleteUnlessOpen NSDataWritingFileProtectionCompleteUntilFirstUserAuthentication NSDataWritingFileProtectionMask NSAtomicWrite
  222. syn keyword objcEnum NSDataSearchOptions
  223. syn keyword objcEnumValue NSDataSearchBackwards NSDataSearchAnchored
  224. syn keyword objcEnum NSDataBase64EncodingOptions NSDataBase64DecodingOptions
  225. syn keyword objcEnumValue NSDataBase64Encoding64CharacterLineLength NSDataBase64Encoding76CharacterLineLength NSDataBase64EncodingEndLineWithCarriageReturn NSDataBase64EncodingEndLineWithLineFeed NSDataBase64DecodingIgnoreUnknownCharacters
  226. " NSArray.h
  227. syn match objcClass /NSArray\s*\*/me=s+7,he=s+7
  228. syn match objcClass /NSArray<.*>\s*\*/me=s+7,he=s+7 contains=objcTypeInfoParams
  229. syn match objcClass /NSMutableArray\s*\*/me=s+14,he=s+14
  230. syn match objcClass /NSMutableArray<.*>\s*\*/me=s+14,he=s+14 contains=objcTypeInfoParams
  231. syn keyword objcEnum NSBinarySearchingOptions
  232. syn keyword objcEnumValue NSBinarySearchingFirstEqual NSBinarySearchingLastEqual NSBinarySearchingInsertionIndex
  233. " NSDictionary.h
  234. syn match objcClass /NSDictionary\s*\*/me=s+12,he=s+12
  235. syn match objcClass /NSDictionary<.*>\s*\*/me=s+12,he=s+12 contains=objcTypeInfoParams
  236. syn match objcClass /NSMutableDictionary\s*\*/me=s+19,he=s+19
  237. syn match objcClass /NSMutableDictionary<.*>\s*\*/me=s+19,he=s+19 contains=objcTypeInfoParams
  238. " NSSet.h
  239. syn match objcClass /NSSet\s*\*/me=s+5,me=s+5
  240. syn match objcClass /NSSet<.*>\s*\*/me=s+5,me=s+5 contains=objcTypeInfoParams
  241. syn match objcClass /NSMutableSet\s*\*/me=s+12,me=s+12
  242. syn match objcClass /NSMutableSet<.*>\s*\*/me=s+12,me=s+12 contains=objcTypeInfoParams
  243. syn match objcClass /NSCountedSet\s*\*/me=s+12,me=s+12
  244. syn match objcClass /NSCountedSet<.*>\s*\*/me=s+12,me=s+12 contains=objcTypeInfoParams
  245. " NSOrderedSet.h
  246. syn match objcClass /NSOrderedSet\s*\*/me=s+12,me=s+12
  247. syn match objcClass /NSOrderedSet<.*>\s*\*/me=s+12,me=s+12 contains=objcTypeInfoParams
  248. syn match objcClass /NSMutableOrderedSet\s*\*/me=s+19,me=s+19
  249. syn match objcClass /NSMutableOrderedSet<.*>\s*\*/me=s+19,me=s+19
  250. """""""""""""""""""
  251. " NSPathUtilities.h
  252. syn keyword objcEnum NSSearchPathDirectory
  253. syn keyword objcEnumValue NSApplicationDirectory NSDemoApplicationDirectory NSDeveloperApplicationDirectory NSAdminApplicationDirectory NSLibraryDirectory NSDeveloperDirectory NSUserDirectory NSDocumentationDirectory NSDocumentDirectory NSCoreServiceDirectory NSAutosavedInformationDirectory NSDesktopDirectory NSCachesDirectory NSApplicationSupportDirectory NSDownloadsDirectory NSInputMethodsDirectory NSMoviesDirectory NSMusicDirectory NSPicturesDirectory NSPrinterDescriptionDirectory NSSharedPublicDirectory NSPreferencePanesDirectory NSApplicationScriptsDirectory NSItemReplacementDirectory NSAllApplicationsDirectory NSAllLibrariesDirectory NSTrashDirectory
  254. syn keyword objcEnum NSSearchPathDomainMask
  255. syn keyword objcEnumValue NSUserDomainMask NSLocalDomainMask NSNetworkDomainMask NSSystemDomainMask NSAllDomainsMask
  256. " NSFileManger.h
  257. syn match objcClass /NSFileManager\s*\*/me=s+13,he=s+13
  258. syn match objcClass /NSDirectoryEnumerator\s*\*/me=s+21,he=s+21 contains=objcTypeInfoParams
  259. syn match objcClass /NSDirectoryEnumerator<.*>\s*\*/me=s+21,he=s+21
  260. syn keyword objcEnum NSVolumeEnumerationOptions
  261. syn keyword objcEnumValue NSVolumeEnumerationSkipHiddenVolumes NSVolumeEnumerationProduceFileReferenceURLs
  262. syn keyword objcEnum NSURLRelationship
  263. syn keyword objcEnumValue NSURLRelationshipContains NSURLRelationshipSame NSURLRelationshipOther
  264. syn keyword objcEnum NSFileManagerUnmountOptions
  265. syn keyword objcEnumValue NSFileManagerUnmountAllPartitionsAndEjectDisk NSFileManagerUnmountWithoutUI
  266. syn keyword objcConstVar NSFileManagerUnmountDissentingProcessIdentifierErrorKey
  267. syn keyword objcEnum NSDirectoryEnumerationOptions
  268. syn keyword objcEnumValue NSDirectoryEnumerationSkipsSubdirectoryDescendants NSDirectoryEnumerationSkipsPackageDescendants NSDirectoryEnumerationSkipsHiddenFiles
  269. syn keyword objcEnum NSFileManagerItemReplacementOptions
  270. syn keyword objcEnumValue NSFileManagerItemReplacementUsingNewMetadataOnly NSFileManagerItemReplacementWithoutDeletingBackupItem
  271. syn keyword objcNotificationValue NSUbiquityIdentityDidChangeNotification
  272. syn keyword objcConstVar NSFileType NSFileTypeDirectory NSFileTypeRegular NSFileTypeSymbolicLink NSFileTypeSocket NSFileTypeCharacterSpecial NSFileTypeBlockSpecial NSFileTypeUnknown NSFileSize NSFileModificationDate NSFileReferenceCount NSFileDeviceIdentifier NSFileOwnerAccountName NSFileGroupOwnerAccountName NSFilePosixPermissions NSFileSystemNumber NSFileSystemFileNumber NSFileExtensionHidden NSFileHFSCreatorCode NSFileHFSTypeCode NSFileImmutable NSFileAppendOnly NSFileCreationDate NSFileOwnerAccountID NSFileGroupOwnerAccountID NSFileBusy NSFileProtectionKey NSFileProtectionNone NSFileProtectionComplete NSFileProtectionCompleteUnlessOpen NSFileProtectionCompleteUntilFirstUserAuthentication NSFileSystemSize NSFileSystemFreeSize NSFileSystemNodes NSFileSystemFreeNodes
  273. " NSFileHandle.h
  274. syn match objcClass /NSFileHandle\s*\*/me=s+12,he=s+12
  275. syn keyword objcExceptionValue NSFileHandleOperationException
  276. syn keyword objcNotificationValue NSFileHandleReadCompletionNotification NSFileHandleReadToEndOfFileCompletionNotification NSFileHandleConnectionAcceptedNotification NSFileHandleDataAvailableNotification NSFileHandleNotificationDataItem NSFileHandleNotificationFileHandleItem NSFileHandleNotificationMonitorModes
  277. syn match objcClass /NSPipe\s*\*/me=s+6,he=s+6
  278. """"""""""""
  279. " NSLocale.h
  280. syn match objcClass /NSLocale\s*\*/me=s+8,he=s+8
  281. syn keyword objcEnum NSLocaleLanguageDirection
  282. syn keyword objcEnumValue NSLocaleLanguageDirectionUnknown NSLocaleLanguageDirectionLeftToRight NSLocaleLanguageDirectionRightToLeft NSLocaleLanguageDirectionTopToBottom NSLocaleLanguageDirectionBottomToTop
  283. syn keyword objcNotificationValue NSCurrentLocaleDidChangeNotification
  284. syn keyword objcConstVar NSLocaleIdentifier NSLocaleLanguageCode NSLocaleCountryCode NSLocaleScriptCode NSLocaleVariantCode NSLocaleExemplarCharacterSet NSLocaleCalendar NSLocaleCollationIdentifier NSLocaleUsesMetricSystem NSLocaleMeasurementSystem NSLocaleDecimalSeparator NSLocaleGroupingSeparator NSLocaleCurrencySymbol NSLocaleCurrencyCode NSLocaleCollatorIdentifier NSLocaleQuotationBeginDelimiterKey NSLocaleQuotationEndDelimiterKey NSLocaleAlternateQuotationBeginDelimiterKey NSLocaleAlternateQuotationEndDelimiterKey NSGregorianCalendar NSBuddhistCalendar NSChineseCalendar NSHebrewCalendar NSIslamicCalendar NSIslamicCivilCalendar NSJapaneseCalendar NSRepublicOfChinaCalendar NSPersianCalendar NSIndianCalendar NSISO8601Calendar
  285. " NSFormatter.h
  286. syn match objcClass /NSFormatter\s*\*/me=s+11,he=s+11
  287. syn keyword objcEnum NSFormattingContext NSFormattingUnitStyle
  288. syn keyword objcEnumValue NSFormattingContextUnknown NSFormattingContextDynamic NSFormattingContextStandalone NSFormattingContextListItem NSFormattingContextBeginningOfSentence NSFormattingContextMiddleOfSentence NSFormattingUnitStyleShort NSFormattingUnitStyleMedium NSFormattingUnitStyleLong
  289. " NSNumberFormatter.h
  290. syn match objcClass /NSNumberFormatter\s*\*/me=s+17,he=s+17
  291. syn keyword objcEnum NSNumberFormatterStyle
  292. syn keyword objcEnumValue NSNumberFormatterNoStyle NSNumberFormatterDecimalStyle NSNumberFormatterCurrencyStyle NSNumberFormatterPercentStyle NSNumberFormatterScientificStyle NSNumberFormatterSpellOutStyle NSNumberFormatterOrdinalStyle NSNumberFormatterCurrencyISOCodeStyle NSNumberFormatterCurrencyPluralStyle NSNumberFormatterCurrencyAccountingStyle
  293. syn keyword objcEnum NSNumberFormatterBehavior
  294. syn keyword objcEnumValue NSNumberFormatterBehaviorDefault NSNumberFormatterBehavior10_0 NSNumberFormatterBehavior10_4
  295. syn keyword objcEnum NSNumberFormatterPadPosition
  296. syn keyword objcEnumValue NSNumberFormatterPadBeforePrefix NSNumberFormatterPadAfterPrefix NSNumberFormatterPadBeforeSuffix NSNumberFormatterPadAfterSuffix
  297. syn keyword objcEnum NSNumberFormatterRoundingMode
  298. syn keyword objcEnumValue NSNumberFormatterRoundCeiling NSNumberFormatterRoundFloor NSNumberFormatterRoundDown NSNumberFormatterRoundUp NSNumberFormatterRoundHalfEven NSNumberFormatterRoundHalfDown NSNumberFormatterRoundHalfUp
  299. " NSDateFormatter.h
  300. syn match objcClass /NSDateFormatter\s*\*/me=s+15,he=s+15
  301. syn keyword objcEnum NSDateFormatterStyle
  302. syn keyword objcEnumValue NSDateFormatterNoStyle NSDateFormatterShortStyle NSDateFormatterMediumStyle NSDateFormatterLongStyle NSDateFormatterFullStyle
  303. syn keyword objcEnum NSDateFormatterBehavior
  304. syn keyword objcEnumValue NSDateFormatterBehaviorDefault NSDateFormatterBehavior10_0 NSDateFormatterBehavior10_4
  305. " NSCalendar.h
  306. syn match objcClass /NSCalendar\s*\*/me=s+10,he=s+10
  307. syn keyword objcConstVar NSCalendarIdentifierGregorian NSCalendarIdentifierBuddhist NSCalendarIdentifierChinese NSCalendarIdentifierCoptic NSCalendarIdentifierEthiopicAmeteMihret NSCalendarIdentifierEthiopicAmeteAlem NSCalendarIdentifierHebrew NSCalendarIdentifierISO8601 NSCalendarIdentifierIndian NSCalendarIdentifierIslamic NSCalendarIdentifierIslamicCivil NSCalendarIdentifierJapanese NSCalendarIdentifierPersian NSCalendarIdentifierRepublicOfChina NSCalendarIdentifierIslamicTabular NSCalendarIdentifierIslamicUmmAlQura
  308. syn keyword objcEnum NSCalendarUnit
  309. syn keyword objcEnumValue NSCalendarUnitEra NSCalendarUnitYear NSCalendarUnitMonth NSCalendarUnitDay NSCalendarUnitHour NSCalendarUnitMinute NSCalendarUnitSecond NSCalendarUnitWeekday NSCalendarUnitWeekdayOrdinal NSCalendarUnitQuarter NSCalendarUnitWeekOfMonth NSCalendarUnitWeekOfYear NSCalendarUnitYearForWeekOfYear NSCalendarUnitNanosecond NSCalendarUnitCalendar NSCalendarUnitTimeZone
  310. syn keyword objcEnumValue NSEraCalendarUnit NSYearCalendarUnit NSMonthCalendarUnit NSDayCalendarUnit NSHourCalendarUnit NSMinuteCalendarUnit NSSecondCalendarUnit NSWeekCalendarUnit NSWeekdayCalendarUnit NSWeekdayOrdinalCalendarUnit NSQuarterCalendarUnit NSWeekOfMonthCalendarUnit NSWeekOfYearCalendarUnit NSYearForWeekOfYearCalendarUnit NSCalendarCalendarUnit NSTimeZoneCalendarUnit
  311. syn keyword objcEnumValue NSWrapCalendarComponents NSUndefinedDateComponent NSDateComponentUndefined
  312. syn match objcClass /NSDateComponents\s*\*/me=s+16,he=s+16
  313. syn keyword objcEnum NSCalendarOptions
  314. syn keyword objcEnumValue NSCalendarWrapComponents NSCalendarMatchStrictly NSCalendarSearchBackwards NSCalendarMatchPreviousTimePreservingSmallerUnits NSCalendarMatchNextTimePreservingSmallerUnits NSCalendarMatchNextTime NSCalendarMatchFirst NSCalendarMatchLast
  315. syn keyword objcConstVar NSCalendarDayChangedNotification
  316. " NSTimeZone.h
  317. syn match objcClass /NSTimeZone\s*\*/me=s+10,he=s+10
  318. syn keyword objcEnum NSTimeZoneNameStyle
  319. syn keyword objcEnumValue NSTimeZoneNameStyleStandard NSTimeZoneNameStyleShortStandard NSTimeZoneNameStyleDaylightSaving NSTimeZoneNameStyleShortDaylightSaving NSTimeZoneNameStyleGeneric NSTimeZoneNameStyleShortGeneric
  320. syn keyword objcNotificationValue NSSystemTimeZoneDidChangeNotification
  321. """""""""""
  322. " NSCoder.h
  323. syn match objcClass /NSCoder\s*\*/me=s+7,he=s+7
  324. " NSArchiver.h
  325. syn match objcClass /NSArchiver\s*\*/me=s+10,he=s+10
  326. syn match objcClass /NSUnarchiver\s*\*/me=s+12,he=s+12
  327. syn keyword objcExceptionValue NSInconsistentArchiveException
  328. " NSKeyedArchiver.h
  329. syn match objcClass /NSKeyedArchiver\s*\*/me=s+15,he=s+15
  330. syn match objcClass /NSKeyedUnarchiver\s*\*/me=s+17,he=s+17
  331. syn keyword objcExceptionValue NSInvalidArchiveOperationException NSInvalidUnarchiveOperationException
  332. syn keyword objcConstVar NSKeyedArchiveRootObjectKey
  333. """"""""""""""""""
  334. " NSPropertyList.h
  335. syn keyword objcEnum NSPropertyListMutabilityOptions
  336. syn keyword objcEnumValue NSPropertyListImmutable NSPropertyListMutableContainers NSPropertyListMutableContainersAndLeaves
  337. syn keyword objcEnum NSPropertyListFormat
  338. syn keyword objcEnumValue NSPropertyListOpenStepFormat NSPropertyListXMLFormat_v1_0 NSPropertyListBinaryFormat_v1_0
  339. syn keyword objcType NSPropertyListReadOptions NSPropertyListWriteOptions
  340. " NSUserDefaults.h
  341. syn match objcClass /NSUserDefaults\s*\*/me=s+14,he=s+14
  342. syn keyword objcConstVar NSGlobalDomain NSArgumentDomain NSRegistrationDomain
  343. syn keyword objcNotificationValue NSUserDefaultsDidChangeNotification
  344. " NSBundle.h
  345. syn match objcClass /NSBundle\s*\*/me=s+8,he=s+8
  346. syn keyword objcEnumValue NSBundleExecutableArchitectureI386 NSBundleExecutableArchitecturePPC NSBundleExecutableArchitectureX86_64 NSBundleExecutableArchitecturePPC64
  347. syn keyword objcNotificationValue NSBundleDidLoadNotification NSLoadedClasses NSBundleResourceRequestLowDiskSpaceNotification
  348. syn keyword objcConstVar NSBundleResourceRequestLoadingPriorityUrgent
  349. """""""""""""""""
  350. " NSProcessInfo.h
  351. syn match objcClass /NSProcessInfo\s*\*/me=s+13,he=s+13
  352. syn keyword objcEnumValue NSWindowsNTOperatingSystem NSWindows95OperatingSystem NSSolarisOperatingSystem NSHPUXOperatingSystem NSMACHOperatingSystem NSSunOSOperatingSystem NSOSF1OperatingSystem
  353. syn keyword objcType NSOperatingSystemVersion
  354. syn keyword objcEnum NSActivityOptions NSProcessInfoThermalState
  355. syn keyword objcEnumValue NSActivityIdleDisplaySleepDisabled NSActivityIdleSystemSleepDisabled NSActivitySuddenTerminationDisabled NSActivityAutomaticTerminationDisabled NSActivityUserInitiated NSActivityUserInitiatedAllowingIdleSystemSleep NSActivityBackground NSActivityLatencyCritical NSProcessInfoThermalStateNominal NSProcessInfoThermalStateFair NSProcessInfoThermalStateSerious NSProcessInfoThermalStateCritical
  356. syn keyword objcNotificationValue NSProcessInfoThermalStateDidChangeNotification NSProcessInfoPowerStateDidChangeNotification
  357. " NSTask.h
  358. syn match objcClass /NSTask\s*\*/me=s+6,he=s+6
  359. syn keyword objcEnum NSTaskTerminationReason
  360. syn keyword objcEnumValue NSTaskTerminationReasonExit NSTaskTerminationReasonUncaughtSignal
  361. syn keyword objcNotificationValue NSTaskDidTerminateNotification
  362. " NSThread.h
  363. syn match objcClass /NSThread\s*\*/me=s+8,he=s+8
  364. syn keyword objcNotificationValue NSWillBecomeMultiThreadedNotification NSDidBecomeSingleThreadedNotification NSThreadWillExitNotification
  365. " NSLock.h
  366. syn match objcClass /NSLock\s*\*/me=s+6,he=s+6
  367. syn match objcClass /NSConditionLock\s*\*/me=s+15,he=s+15
  368. syn match objcClass /NSRecursiveLock\s*\*/me=s+15,he=s+15
  369. " NSDictributedLock
  370. syn match objcClass /NSDistributedLock\s*\*/me=s+17,he=s+17
  371. " NSOperation.h
  372. """"""""""""""""
  373. syn match objcClass /NSOperation\s*\*/me=s+11,he=s+11
  374. syn keyword objcEnum NSOperationQueuePriority
  375. syn keyword objcEnumValue NSOperationQueuePriorityVeryLow NSOperationQueuePriorityLow NSOperationQueuePriorityNormal NSOperationQueuePriorityHigh NSOperationQueuePriorityVeryHigh
  376. syn match objcClass /NSBlockOperation\s*\*/me=s+16,he=s+16
  377. syn match objcClass /NSInvocationOperation\s*\*/me=s+21,he=s+21
  378. syn keyword objcExceptionValue NSInvocationOperationVoidResultException NSInvocationOperationCancelledException
  379. syn match objcClass /NSOperationQueue\s*\*/me=s+16,he=s+16
  380. syn keyword objcEnumValue NSOperationQueueDefaultMaxConcurrentOperationCount
  381. " NSConnection.h
  382. syn match objcClass /NSConnection\s*\*/me=s+12,he=s+12
  383. syn keyword objcConstVar NSConnectionReplyMode
  384. syn keyword objcNotificationValue NSConnectionDidDieNotification NSConnectionDidInitializeNotification
  385. syn keyword objcExceptionValue NSFailedAuthenticationException
  386. " NSPort.h
  387. syn match objcClass /NSPort\s*\*/me=s+6,he=s+6
  388. syn keyword objcType NSSocketNativeHandle
  389. syn keyword objcNotificationValue NSPortDidBecomeInvalidNotification
  390. syn match objcClass /NSMachPort\s*\*/me=s+10,he=s+10
  391. syn keyword objcEnum NSMachPortOptions
  392. syn keyword objcEnumValue NSMachPortDeallocateNone NSMachPortDeallocateSendRight NSMachPortDeallocateReceiveRight
  393. syn match objcClass /NSMessagePort\s*\*/me=s+13,he=s+13
  394. syn match objcClass /NSSocketPort\s*\*/me=s+12,he=s+12
  395. " NSPortMessage.h
  396. syn match objcClass /NSPortMessage\s*\*/me=s+13,he=s+13
  397. " NSDistantObject.h
  398. syn match objcClass /NSDistantObject\s*\*/me=s+15,he=s+15
  399. " NSPortNameServer.h
  400. syn match objcClass /NSPortNameServer\s*\*/me=s+16,he=s+16
  401. syn match objcClass /NSMessagePortNameServer\s*\*/me=s+23,he=s+23
  402. syn match objcClass /NSSocketPortNameServer\s*\*/me=s+22,he=s+22
  403. " NSHost.h
  404. syn match objcClass /NSHost\s*\*/me=s+6,he=s+6
  405. " NSInvocation.h
  406. syn match objcClass /NSInvocation\s*\*/me=s+12,he=s+12
  407. " NSMethodSignature.h
  408. syn match objcClass /NSMethodSignature\s*\*/me=s+17,he=s+17
  409. """""
  410. " NSScanner.h
  411. syn match objcClass /NSScanner\s*\*/me=s+9,he=s+9
  412. " NSTimer.h
  413. syn match objcClass /NSTimer\s*\*/me=s+7,he=s+7
  414. " NSAutoreleasePool.h
  415. syn match objcClass /NSAutoreleasePool\s*\*/me=s+17,he=s+17
  416. " NSRunLoop.h
  417. syn match objcClass /NSRunLoop\s*\*/me=s+9,he=s+9
  418. syn keyword objcConstVar NSDefaultRunLoopMode NSRunLoopCommonModes
  419. " NSNull.h
  420. syn match objcClass /NSNull\s*\*/me=s+6,he=s+6
  421. " NSProxy.h
  422. syn match objcClass /NSProxy\s*\*/me=s+7,he=s+7
  423. " NSObject.h
  424. syn match objcClass /NSObject\s*\*/me=s+8,he=s+8
  425. " NSCache.h
  426. syn match objcClass /NSCache\s*\*/me=s+7,he=s+7
  427. syn match objcClass /NSCache<.*>\s*\*/me=s+7,he=s+7 contains=objcTypeInfoParams
  428. " NSHashTable.h
  429. syn match objcClass /NSHashTable\s*\*/me=s+11,he=s+11
  430. syn match objcClass /NSHashTable<.*>\s*\*/me=s+11,he=s+11 contains=objcTypeInfoParams
  431. syn keyword objcConstVar NSHashTableStrongMemory NSHashTableZeroingWeakMemory NSHashTableCopyIn NSHashTableObjectPointerPersonality NSHashTableWeakMemory
  432. syn keyword objcType NSHashTableOptions NSHashEnumerator NSHashTableCallBacks
  433. syn keyword objcConstVar NSIntegerHashCallBacks NSNonOwnedPointerHashCallBacks NSNonRetainedObjectHashCallBacks NSObjectHashCallBacks NSOwnedObjectIdentityHashCallBacks NSOwnedPointerHashCallBacks NSPointerToStructHashCallBacks NSOwnedObjectIdentityHashCallBacks NSOwnedObjectIdentityHashCallBacks NSIntHashCallBacks
  434. " NSMapTable.h
  435. syn match objcClass /NSMapTable\s*\*/me=s+10,he=s+10
  436. syn match objcClass /NSMapTable<.*>\s*\*/me=s+10,he=s+10 contains=objcTypeInfoParams
  437. syn keyword objcConstVar NSPointerToStructHashCallBacks NSPointerToStructHashCallBacks NSPointerToStructHashCallBacks NSPointerToStructHashCallBacks NSPointerToStructHashCallBacks
  438. syn keyword objcConstVar NSMapTableStrongMemory NSMapTableZeroingWeakMemory NSMapTableCopyIn NSMapTableObjectPointerPersonality NSMapTableWeakMemory
  439. syn keyword objcType NSMapTableOptions NSMapEnumerator NSMapTableKeyCallBacks NSMapTableValueCallBacks
  440. syn keyword objcMacro NSNotAnIntMapKey NSNotAnIntegerMapKey NSNotAPointerMapKey
  441. syn keyword objcConstVar NSIntegerMapKeyCallBacks NSNonOwnedPointerMapKeyCallBacks NSNonOwnedPointerOrNullMapKeyCallBacks NSNonRetainedObjectMapKeyCallBacks NSObjectMapKeyCallBacks NSOwnedPointerMapKeyCallBacks NSIntMapKeyCallBacks NSIntegerMapValueCallBacks NSNonOwnedPointerMapValueCallBacks NSObjectMapValueCallBacks NSNonRetainedObjectMapValueCallBacks NSOwnedPointerMapValueCallBacks NSIntMapValueCallBacks
  442. " NSPointerFunctions.h
  443. syn match objcClass /NSPointerFunctions\s*\*/me=s+18,he=s+18
  444. syn keyword objcEnum NSPointerFunctionsOptions
  445. syn keyword objcEnumValue NSPointerFunctionsStrongMemory NSPointerFunctionsZeroingWeakMemory NSPointerFunctionsOpaqueMemory NSPointerFunctionsMallocMemory NSPointerFunctionsMachVirtualMemory NSPointerFunctionsWeakMemory NSPointerFunctionsObjectPersonality NSPointerFunctionsOpaquePersonality NSPointerFunctionsObjectPointerPersonality NSPointerFunctionsCStringPersonality NSPointerFunctionsStructPersonality NSPointerFunctionsIntegerPersonality NSPointerFunctionsCopyIn
  446. """ Default Highlighting
  447. hi def link objcPreProcMacro cConstant
  448. hi def link objcPrincipalType cType
  449. hi def link objcUsefulTerm cConstant
  450. hi def link objcImport cInclude
  451. hi def link objcImported cString
  452. hi def link objcObjDef cOperator
  453. hi def link objcProtocol cOperator
  454. hi def link objcProperty cOperator
  455. hi def link objcIvarScope cOperator
  456. hi def link objcInternalRep cOperator
  457. hi def link objcException cOperator
  458. hi def link objcThread cOperator
  459. hi def link objcPool cOperator
  460. hi def link objcModuleImport cOperator
  461. hi def link objcSpecial cSpecial
  462. hi def link objcString cString
  463. hi def link objcHiddenArgument cStatement
  464. hi def link objcBlocksQualifier cStorageClass
  465. hi def link objcObjectLifetimeQualifier cStorageClass
  466. hi def link objcTollFreeBridgeQualifier cStorageClass
  467. hi def link objcRemoteMessagingQualifier cStorageClass
  468. hi def link objcStorageClass cStorageClass
  469. hi def link objcFastEnumKeyword cStatement
  470. hi def link objcLiteralSyntaxNumber cNumber
  471. hi def link objcLiteralSyntaxChar cCharacter
  472. hi def link objcLiteralSyntaxSpecialChar cCharacter
  473. hi def link objcLiteralSyntaxOp cOperator
  474. hi def link objcDeclPropAccessorName cConstant
  475. hi def link objcDeclPropAccessorType cConstant
  476. hi def link objcDeclPropAssignSemantics cConstant
  477. hi def link objcDeclPropAtomicity cConstant
  478. hi def link objcDeclPropARC cConstant
  479. hi def link objcDeclPropNullable cConstant
  480. hi def link objcDeclPropNonnull cConstant
  481. hi def link objcDeclPropNullUnspecified cConstant
  482. hi def link objcDeclProcNullResettable cConstant
  483. hi def link objcInstanceMethod Function
  484. hi def link objcClassMethod Function
  485. hi def link objcType cType
  486. hi def link objcClass cType
  487. hi def link objcTypeSpecifier cType
  488. hi def link objcMacro cConstant
  489. hi def link objcEnum cType
  490. hi def link objcEnumValue cConstant
  491. hi def link objcExceptionValue cConstant
  492. hi def link objcNotificationValue cConstant
  493. hi def link objcConstVar cConstant
  494. hi def link objcTypeInfoParams Identifier
  495. """ Final step
  496. let b:current_syntax = "objc"
  497. let &cpo = s:cpo_save
  498. unlet s:cpo_save
  499. " vim: ts=8 sw=2 sts=2