blob: 7c6e2d51283b3e6023ca86a20b2fb02a3d08c63e [file] [log] [blame]
Bram Moolenaar071d4272004-06-13 20:20:40 +00001" Vim syntax file
Bram Moolenaarec7944a2013-06-12 21:29:15 +02002" Language: Objective-C
Bram Moolenaar256972a2015-12-29 19:10:25 +01003" Maintainer: Kazunobu Kuriyama <kazunobu.kuriyama@gmail.com>
Bram Moolenaar65e0d772020-06-14 17:29:55 +02004" Last Change: 2020 Jun 07
5" Last Change By Maintainer: 2015 Dec 14
Bram Moolenaar071d4272004-06-13 20:20:40 +00006
Bram Moolenaarec7944a2013-06-12 21:29:15 +02007""" Preparation for loading ObjC stuff
8if exists("b:current_syntax")
Bram Moolenaar071d4272004-06-13 20:20:40 +00009 finish
10endif
Bram Moolenaarec7944a2013-06-12 21:29:15 +020011if &filetype != 'objcpp'
12 syn clear
13 runtime! syntax/c.vim
14endif
15let s:cpo_save = &cpo
Bram Moolenaar9a7224b2012-04-30 15:56:52 +020016set cpo&vim
Bram Moolenaar071d4272004-06-13 20:20:40 +000017
Bram Moolenaarec7944a2013-06-12 21:29:15 +020018""" ObjC proper stuff follows...
Bram Moolenaar071d4272004-06-13 20:20:40 +000019
Bram Moolenaarec7944a2013-06-12 21:29:15 +020020syn keyword objcPreProcMacro __OBJC__ __OBJC2__ __clang__
Bram Moolenaar071d4272004-06-13 20:20:40 +000021
Bram Moolenaarec7944a2013-06-12 21:29:15 +020022" Defined Types
Bram Moolenaar52b91d82013-06-15 21:39:51 +020023syn keyword objcPrincipalType id Class SEL IMP BOOL instancetype
Bram Moolenaarec7944a2013-06-12 21:29:15 +020024syn keyword objcUsefulTerm nil Nil NO YES
Bram Moolenaar071d4272004-06-13 20:20:40 +000025
Bram Moolenaarec7944a2013-06-12 21:29:15 +020026" Preprocessor Directives
27syn region objcImported display contained start=+"+ skip=+\\\\\|\\"+ end=+"+
Bram Moolenaar65e0d772020-06-14 17:29:55 +020028syn match objcImported display contained "\(<\h[-+a-zA-Z0-9_/]*\.h>\|<[a-z0-9]\+>\)"
Bram Moolenaarec7944a2013-06-12 21:29:15 +020029syn match objcImport display "^\s*\(%:\|#\)\s*import\>\s*["<]" contains=objcImported
Bram Moolenaar071d4272004-06-13 20:20:40 +000030
Bram Moolenaarec7944a2013-06-12 21:29:15 +020031" ObjC Compiler Directives
32syn match objcObjDef display /@interface\>\|@implementation\>\|@end\>\|@class\>/
33syn match objcProtocol display /@protocol\>\|@optional\>\|@required\>/
34syn match objcProperty display /@property\>\|@synthesize\>\|@dynamic\>/
Bram Moolenaar256972a2015-12-29 19:10:25 +010035syn match objcIvarScope display /@private\>\|@protected\>\|@public\>\|@package\>/
Bram Moolenaarec7944a2013-06-12 21:29:15 +020036syn match objcInternalRep display /@selector\>\|@encode\>/
37syn match objcException display /@try\>\|@throw\>\|@catch\|@finally\>/
38syn match objcThread display /@synchronized\>/
39syn match objcPool display /@autoreleasepool\>/
Bram Moolenaar52b91d82013-06-15 21:39:51 +020040syn match objcModuleImport display /@import\>/
Bram Moolenaar071d4272004-06-13 20:20:40 +000041
Bram Moolenaarec7944a2013-06-12 21:29:15 +020042" ObjC Constant Strings
43syn match objcSpecial display contained "%@"
Bram Moolenaar071d4272004-06-13 20:20:40 +000044syn region objcString start=+\(@"\|"\)+ skip=+\\\\\|\\"+ end=+"+ contains=cFormat,cSpecial,objcSpecial
45
Bram Moolenaarec7944a2013-06-12 21:29:15 +020046" ObjC Hidden Arguments
47syn keyword objcHiddenArgument self _cmd super
48
49" ObjC Type Qualifiers for Blocks
50syn keyword objcBlocksQualifier __block
51" ObjC Type Qualifiers for Object Lifetime
52syn keyword objcObjectLifetimeQualifier __strong __weak __unsafe_unretained __autoreleasing
53" ObjC Type Qualifiers for Toll-Free Bridge
54syn keyword objcTollFreeBridgeQualifier __bridge __bridge_retained __bridge_transfer
55
56" ObjC Type Qualifiers for Remote Messaging
57syn 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
58
Bram Moolenaar256972a2015-12-29 19:10:25 +010059" ObjC Storage Classes
60syn keyword objcStorageClass _Nullable _Nonnull _Null_unspecified
61syn keyword objcStorageClass __nullable __nonnull __null_unspecified
62syn keyword objcStorageClass nullable nonnull null_unspecified
63
64" ObjC type specifier
65syn keyword objcTypeSpecifier __kindof __covariant
66
Bram Moolenaar6c391a72021-09-09 21:55:11 +020067" ObjC Type Information Parameters
Bram Moolenaar256972a2015-12-29 19:10:25 +010068syn keyword objcTypeInfoParams ObjectType KeyType
69
Bram Moolenaarec7944a2013-06-12 21:29:15 +020070" shorthand
71syn cluster objcTypeQualifier contains=objcBlocksQualifier,objcObjectLifetimeQualifier,objcTollFreeBridgeQualifier,objcRemoteMessagingQualifier
72
73" ObjC Fast Enumeration
74syn match objcFastEnumKeyword display /\sin\(\s\|$\)/
75
76" ObjC Literal Syntax
77syn match objcLiteralSyntaxNumber display /@\(YES\>\|NO\>\|\d\|-\|+\)/ contains=cNumber,cFloat,cOctal
78syn match objcLiteralSyntaxSpecialChar display /@'/ contains=cSpecialCharacter
79syn match objcLiteralSyntaxChar display /@'[^\\]'/
80syn match objcLiteralSyntaxOp display /@\((\|\[\|{\)/me=e-1,he=e-1
81
82" ObjC Declared Property Attributes
83syn match objDeclPropAccessorNameAssign display /\s*=\s*/ contained
84syn region objcDeclPropAccessorName display start=/\(getter\|setter\)/ end=/\h\w*/ contains=objDeclPropAccessorNameAssign
85syn keyword objcDeclPropAccessorType readonly readwrite contained
86syn keyword objcDeclPropAssignSemantics assign retain copy contained
87syn keyword objcDeclPropAtomicity nonatomic contained
88syn keyword objcDeclPropARC strong weak contained
Bram Moolenaar256972a2015-12-29 19:10:25 +010089syn match objcDeclPropNullable /\((\|\s\)nullable\(,\|)\)/ms=s+1,hs=s+1,me=e-1,he=e-1 contained
90syn match objcDeclPropNonnull /\((\|\s\)nonnull\(,\|)\)/ms=s+1,hs=s+1,me=e-1,he=e-1 contained
91syn match objcDeclPropNullUnspecified /\((\|\s\)null_unspecified\(,\|)\)/ms=s+1,hs=s+1,me=e-1,he=e-1 contained
92syn keyword objcDeclProcNullResettable null_resettable contained
93syn region objcDeclProp display transparent keepend start=/@property\s*(/ end=/)/ contains=objcProperty,objcDeclPropAccessorName,objcDeclPropAccessorType,objcDeclPropAssignSemantics,objcDeclPropAtomicity,objcDeclPropARC,objcDeclPropNullable,objcDeclPropNonnull,objcDeclPropNullUnspecified,objcDeclProcNullResettable
Bram Moolenaarec7944a2013-06-12 21:29:15 +020094
95" To distinguish colons in methods and dictionaries from those in C's labels.
96syn match objcColon display /^\s*\h\w*\s*\:\(\s\|.\)/me=e-1,he=e-1
97
98" To distinguish a protocol list from system header files
Bram Moolenaar256972a2015-12-29 19:10:25 +010099syn match objcProtocolList display /<\h\w*\(\s*,\s*\h\w*\)*>/ contains=objcPrincipalType,cType,Type,objcType,objcTypeInfoParams
100
101" Type info for collection classes
102syn match objcTypeInfo display /<\h\w*\s*<\(\h\w*\s*\**\|\h\w*\)>>/ contains=objcPrincipalType,cType,Type,objcType,objcTypeInfoParams
Bram Moolenaarec7944a2013-06-12 21:29:15 +0200103
104" shorthand
105syn cluster objcCEntities contains=cType,cStructure,cStorageClass,cString,cCharacter,cSpecialCharacter,cNumbers,cConstant,cOperator,cComment,cCommentL,cStatement,cLabel,cConditional,cRepeat
Bram Moolenaar256972a2015-12-29 19:10:25 +0100106syn 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
Bram Moolenaarec7944a2013-06-12 21:29:15 +0200107
Bram Moolenaar071d4272004-06-13 20:20:40 +0000108" Objective-C Message Expressions
Bram Moolenaarec7944a2013-06-12 21:29:15 +0200109syn region objcMethodCall start=/\[/ end=/\]/ contains=objcMethodCall,objcBlocks,@objcObjCEntities,@objcCEntities
Bram Moolenaar071d4272004-06-13 20:20:40 +0000110
Bram Moolenaarec7944a2013-06-12 21:29:15 +0200111" To distinguish class method and instance method
112syn match objcInstanceMethod display /^s*-\s*/
113syn match objcClassMethod display /^s*+\s*/
Bram Moolenaar071d4272004-06-13 20:20:40 +0000114
Bram Moolenaarec7944a2013-06-12 21:29:15 +0200115" ObjC Blocks
116syn region objcBlocks start=/\(\^\s*([^)]\+)\s*{\|\^\s*{\)/ end=/}/ contains=objcBlocks,objcMethodCall,@objcObjCEntities,@objcCEntities
Bram Moolenaar071d4272004-06-13 20:20:40 +0000117
Bram Moolenaarec7944a2013-06-12 21:29:15 +0200118syn cluster cParenGroup add=objcMethodCall
119syn cluster cPreProcGroup add=objcMethodCall
Bram Moolenaar071d4272004-06-13 20:20:40 +0000120
Bram Moolenaarec7944a2013-06-12 21:29:15 +0200121""" Foundation Framework
122syn match objcClass /Protocol\s*\*/me=s+8,he=s+8
Bram Moolenaar071d4272004-06-13 20:20:40 +0000123
Bram Moolenaarec7944a2013-06-12 21:29:15 +0200124"""""""""""""""""
125" NSObjCRuntime.h
126syn keyword objcType NSInteger NSUInteger NSComparator
127syn keyword objcEnum NSComparisonResult
128syn keyword objcEnumValue NSOrderedAscending NSOrderedSame NSOrderedDescending
129syn keyword objcEnum NSEnumerationOptions
130syn keyword objcEnumValue NSEnumerationConcurrent NSEnumerationReverse
131syn keyword objcEnum NSSortOptions
132syn keyword objcEnumValue NSSortConcurrent NSSortStable
133syn keyword objcEnumValue NSNotFound
134syn keyword objcMacro NSIntegerMax NSIntegerMin NSUIntegerMax
Bram Moolenaar256972a2015-12-29 19:10:25 +0100135syn 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
136syn keyword objcEnum NSQualityOfService
137syn keyword objcEnumValue NSQualityOfServiceUserInteractive NSQualityOfServiceUserInitiated NSQualityOfServiceUtility NSQualityOfServiceBackground NSQualityOfServiceDefault
Bram Moolenaarec7944a2013-06-12 21:29:15 +0200138" NSRange.h
139syn keyword objcType NSRange NSRangePointer
140" NSGeometry.h
Bram Moolenaar256972a2015-12-29 19:10:25 +0100141syn keyword objcType NSPoint NSPointPointer NSPointArray NSSize NSSizePointer NSSizeArray NSRect NSRectPointer NSRectArray NSEdgeInsets
Bram Moolenaarec7944a2013-06-12 21:29:15 +0200142syn keyword objcEnum NSRectEdge
143syn keyword objcEnumValue NSMinXEdge NSMinYEdge NSMaxXEdge NSMaxYEdge
Bram Moolenaar256972a2015-12-29 19:10:25 +0100144syn keyword objcEnumValue NSRectEdgeMinX NSRectEdgeMinY NSRectEdgeMaxX NSRectEdgeMaxY
145syn keyword objcConstVar NSZeroPoint NSZeroSize NSZeroRect NSEdgeInsetsZero
Bram Moolenaarec7944a2013-06-12 21:29:15 +0200146syn keyword cType CGFloat CGPoint CGSize CGRect
147syn keyword objcEnum NSAlignmentOptions
148syn keyword objcEnumValue NSAlignMinXInward NSAlignMinYInward NSAlignMaxXInward NSAlignMaxYInward NSAlignWidthInward NSAlignHeightInward NSAlignMinXOutward NSAlignMinYOutward NSAlignMaxXOutward NSAlignMaxYOutward NSAlignWidthOutward NSAlignHeightOutward NSAlignMinXNearest NSAlignMinYNearest NSAlignMaxXNearest NSAlignMaxYNearest NSAlignWidthNearest NSAlignHeightNearest NSAlignRectFlipped NSAlignAllEdgesInward NSAlignAllEdgesOutward NSAlignAllEdgesNearest
149" NSDecimal.h
150syn keyword objcType NSDecimal
151syn keyword objcEnum NSRoundingMode
152syn keyword objcEnumValue NSRoundPlain NSRoundDown NSRoundUp NSRoundBankers
153syn keyword objcEnum NSCalculationError
154syn keyword objcEnumValue NSCalculationNoError NSCalculationLossOfPrecision NSCalculationUnderflow NSCalculationOverflow NSCalculationDivideByZero
Bram Moolenaar256972a2015-12-29 19:10:25 +0100155syn keyword objcConstVar NSDecimalMaxSize NSDecimalNoScale
Bram Moolenaarec7944a2013-06-12 21:29:15 +0200156" NSDate.h
157syn match objcClass /NSDate\s*\*/me=s+6,he=s+6
158syn keyword objcType NSTimeInterval
159syn keyword objcNotificationValue NSSystemClockDidChangeNotification
160syn keyword objcMacro NSTimeIntervalSince1970
161" NSZone.h
162syn match objcType /NSZone\s*\*/me=s+6,he=s+6
Bram Moolenaar256972a2015-12-29 19:10:25 +0100163syn keyword objcEnumValue NSScannedOption NSCollectorDisabledOption
Bram Moolenaarec7944a2013-06-12 21:29:15 +0200164" NSError.h
165syn match objcClass /NSError\s*\*/me=s+7,he=s+7
166syn keyword objcConstVar NSCocoaErrorDomain NSPOSIXErrorDomain NSOSStatusErrorDomain NSMachErrorDomain NSUnderlyingErrorKey NSLocalizedDescriptionKey NSLocalizedFailureReasonErrorKey NSLocalizedRecoverySuggestionErrorKey NSLocalizedRecoveryOptionsErrorKey NSRecoveryAttempterErrorKey NSHelpAnchorErrorKey NSStringEncodingErrorKey NSURLErrorKey NSFilePathErrorKey
167" NSException.h
168syn match objcClass /NSException\s*\*/me=s+11,he=s+11
Bram Moolenaar256972a2015-12-29 19:10:25 +0100169syn match objcClass /NSAssertionHandler\s*\*/me=s+18,he=s+18
Bram Moolenaarec7944a2013-06-12 21:29:15 +0200170syn keyword objcType NSUncaughtExceptionHandler
171syn keyword objcConstVar NSGenericException NSRangeException NSInvalidArgumentException NSInternalInconsistencyException NSMallocException NSObjectInaccessibleException NSObjectNotAvailableException NSDestinationInvalidException NSPortTimeoutException NSInvalidSendPortException NSInvalidReceivePortException NSPortSendException NSPortReceiveException NSOldStyleException
172" NSNotification.h
173syn match objcClass /NSNotification\s*\*/me=s+14,he=s+14
174syn match objcClass /NSNotificationCenter\s*\*/me=s+20,he=s+20
175" NSDistributedNotificationCenter.h
176syn match objcClass /NSDistributedNotificationCenter\s*\*/me=s+31,he=s+31
177syn keyword objcConstVar NSLocalNotificationCenterType
178syn keyword objcEnum NSNotificationSuspensionBehavior
179syn keyword objcEnumValue NSNotificationSuspensionBehaviorDrop NSNotificationSuspensionBehaviorCoalesce NSNotificationSuspensionBehaviorHold NSNotificationSuspensionBehaviorHold NSNotificationSuspensionBehaviorDeliverImmediately
180syn keyword objcEnumValue NSNotificationDeliverImmediately NSNotificationPostToAllSessions
Bram Moolenaar256972a2015-12-29 19:10:25 +0100181syn keyword objcEnum NSDistributedNotificationOptions
182syn keyword objcEnumValue NSDistributedNotificationDeliverImmediately NSDistributedNotificationPostToAllSessions
Bram Moolenaarec7944a2013-06-12 21:29:15 +0200183" NSNotificationQueue.h
184syn match objcClass /NSNotificationQueue\s*\*/me=s+19,he=s+19
185syn keyword objcEnum NSPostingStyle
186syn keyword objcEnumValue NSPostWhenIdle NSPostASAP NSPostNow
187syn keyword objcEnum NSNotificationCoalescing
188syn keyword objcEnumValue NSNotificationNoCoalescing NSNotificationCoalescingOnName NSNotificationCoalescingOnSender
189" NSEnumerator.h
190syn match objcClass /NSEnumerator\s*\*/me=s+12,he=s+12
Bram Moolenaar256972a2015-12-29 19:10:25 +0100191syn match objcClass /NSEnumerator<.*>\s*\*/me=s+12,he=s+12 contains=objcTypeInfoParams
192syn keyword objcType NSFastEnumerationState
Bram Moolenaarec7944a2013-06-12 21:29:15 +0200193" NSIndexSet.h
194syn match objcClass /NSIndexSet\s*\*/me=s+10,he=s+10
195syn match objcClass /NSMutableIndexSet\s*\*/me=s+17,he=s+17
196" NSCharecterSet.h
197syn match objcClass /NSCharacterSet\s*\*/me=s+14,he=s+14
Bram Moolenaar256972a2015-12-29 19:10:25 +0100198syn match objcClass /NSMutableCharacterSet\s*\*/me=s+21,he=s+21
199syn keyword objcConstVar NSOpenStepUnicodeReservedBase
Bram Moolenaarec7944a2013-06-12 21:29:15 +0200200" NSURL.h
201syn match objcClass /NSURL\s*\*/me=s+5,he=s+5
202syn keyword objcEnum NSURLBookmarkCreationOptions
203syn keyword objcEnumValue NSURLBookmarkCreationPreferFileIDResolution NSURLBookmarkCreationMinimalBookmark NSURLBookmarkCreationSuitableForBookmarkFile NSURLBookmarkCreationWithSecurityScope NSURLBookmarkCreationSecurityScopeAllowOnlyReadAccess
204syn keyword objcEnum NSURLBookmarkResolutionOptions
205syn keyword objcEnumValue NSURLBookmarkResolutionWithoutUI NSURLBookmarkResolutionWithoutMounting NSURLBookmarkResolutionWithSecurityScope
206syn keyword objcType NSURLBookmarkFileCreationOptions
207syn keyword objcConstVar NSURLFileScheme NSURLKeysOfUnsetValuesKey
Bram Moolenaar256972a2015-12-29 19:10:25 +0100208syn 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
209syn keyword objcConstVar NSURLFileResourceTypeNamedPipe NSURLFileResourceTypeCharacterSpecial NSURLFileResourceTypeDirectory NSURLFileResourceTypeBlockSpecial NSURLFileResourceTypeRegular NSURLFileResourceTypeSymbolicLink NSURLFileResourceTypeSocket NSURLFileResourceTypeUnknown NSURLThumbnailDictionaryKey NSURLThumbnailKey NSThumbnail1024x1024SizeKey
210syn keyword objcConstVar NSURLFileSizeKey NSURLFileAllocatedSizeKey NSURLTotalFileSizeKey NSURLTotalFileAllocatedSizeKey NSURLIsAliasFileKey NSURLFileProtectionKey NSURLFileProtectionNone NSURLFileProtectionComplete NSURLFileProtectionCompleteUnlessOpen NSURLFileProtectionCompleteUntilFirstUserAuthentication
Bram Moolenaarec7944a2013-06-12 21:29:15 +0200211syn 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
Bram Moolenaar256972a2015-12-29 19:10:25 +0100212syn keyword objcConstVar NSURLIsUbiquitousItemKey NSURLUbiquitousItemHasUnresolvedConflictsKey NSURLUbiquitousItemIsDownloadedKey NSURLUbiquitousItemIsDownloadingKey NSURLUbiquitousItemIsUploadedKey NSURLUbiquitousItemIsUploadingKey NSURLUbiquitousItemPercentDownloadedKey NSURLUbiquitousItemPercentUploadedKey NSURLUbiquitousItemDownloadingStatusKey NSURLUbiquitousItemDownloadingErrorKey NSURLUbiquitousItemUploadingErrorKey NSURLUbiquitousItemDownloadRequestedKey NSURLUbiquitousItemContainerDisplayNameKey NSURLUbiquitousItemDownloadingStatusNotDownloaded NSURLUbiquitousItemDownloadingStatusDownloaded NSURLUbiquitousItemDownloadingStatusCurrent
Bram Moolenaarec7944a2013-06-12 21:29:15 +0200213""""""""""""
214" NSString.h
215syn match objcClass /NSString\s*\*/me=s+8,he=s+8
216syn match objcClass /NSMutableString\s*\*/me=s+15,he=s+15
217syn keyword objcType unichar
218syn keyword objcExceptionValue NSParseErrorException NSCharacterConversionException
219syn keyword objcMacro NSMaximumStringLength
220syn keyword objcEnum NSStringCompareOptions
221syn keyword objcEnumValue NSCaseInsensitiveSearch NSLiteralSearch NSBackwardsSearch NSAnchoredSearch NSNumericSearch NSDiacriticInsensitiveSearch NSWidthInsensitiveSearch NSForcedOrderingSearch NSRegularExpressionSearch
222syn keyword objcEnum NSStringEncoding
Bram Moolenaar256972a2015-12-29 19:10:25 +0100223syn keyword objcEnumValue NSProprietaryStringEncoding
Bram Moolenaarec7944a2013-06-12 21:29:15 +0200224syn 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
225syn keyword objcEnum NSStringEncodingConversionOptions
226syn keyword objcEnumValue NSStringEncodingConversionAllowLossy NSStringEncodingConversionExternalRepresentation
227syn keyword objcEnum NSStringEnumerationOptions
228syn keyword objcEnumValue NSStringEnumerationByLines NSStringEnumerationByParagraphs NSStringEnumerationByComposedCharacterSequences NSStringEnumerationByWords NSStringEnumerationBySentences NSStringEnumerationReverse NSStringEnumerationSubstringNotRequired NSStringEnumerationLocalized
Bram Moolenaar256972a2015-12-29 19:10:25 +0100229syn keyword objcConstVar NSStringTransformLatinToKatakana NSStringTransformLatinToHiragana NSStringTransformLatinToHangul NSStringTransformLatinToArabic NSStringTransformLatinToHebrew NSStringTransformLatinToThai NSStringTransformLatinToCyrillic NSStringTransformLatinToGreek NSStringTransformToLatin NSStringTransformMandarinToLatin NSStringTransformHiraganaToKatakana NSStringTransformFullwidthToHalfwidth NSStringTransformToXMLHex NSStringTransformToUnicodeName NSStringTransformStripCombiningMarks NSStringTransformStripDiacritics
230syn keyword objcConstVar NSStringEncodingDetectionSuggestedEncodingsKey NSStringEncodingDetectionDisallowedEncodingsKey NSStringEncodingDetectionUseOnlySuggestedEncodingsKey NSStringEncodingDetectionAllowLossyKey NSStringEncodingDetectionFromWindowsKey NSStringEncodingDetectionLossySubstitutionKey NSStringEncodingDetectionLikelyLanguageKey
Bram Moolenaarec7944a2013-06-12 21:29:15 +0200231" NSAttributedString.h
232syn match objcClass /NSAttributedString\s*\*/me=s+18,he=s+18
233syn match objcClass /NSMutableAttributedString\s*\*/me=s+25,he=s+25
234syn keyword objcEnum NSAttributedStringEnumerationOptions
235syn keyword objcEnumValue NSAttributedStringEnumerationReverse NSAttributedStringEnumerationLongestEffectiveRangeNotRequired
236" NSValue.h
237syn match objcClass /NSValue\s*\*/me=s+7,he=s+7
238syn match objcClass /NSNumber\s*\*/me=s+8,he=s+8
239" NSDecimalNumber.h
240syn match objcClass /NSDecimalNumber\s*\*/me=s+15,he=s+15
241syn match objcClass /NSDecimalNumberHandler\s*\*/me=s+22,he=s+22
242syn keyword objcExceptionValue NSDecimalNumberExactnessException NSDecimalNumberOverflowException NSDecimalNumberUnderflowException NSDecimalNumberDivideByZeroException
243" NSData.h
244syn match objcClass /NSData\s*\*/me=s+6,he=s+6
245syn match objcClass /NSMutableData\s*\*/me=s+13,he=s+13
246syn keyword objcEnum NSDataReadingOptions
247syn keyword objcEnumValue NSDataReadingMappedIfSafe NSDataReadingUncached NSDataReadingMappedAlways NSDataReadingMapped NSMappedRead NSUncachedRead
248syn keyword objcEnum NSDataWritingOptions
249syn keyword objcEnumValue NSDataWritingAtomic NSDataWritingWithoutOverwriting NSDataWritingFileProtectionNone NSDataWritingFileProtectionComplete NSDataWritingFileProtectionCompleteUnlessOpen NSDataWritingFileProtectionCompleteUntilFirstUserAuthentication NSDataWritingFileProtectionMask NSAtomicWrite
250syn keyword objcEnum NSDataSearchOptions
251syn keyword objcEnumValue NSDataSearchBackwards NSDataSearchAnchored
Bram Moolenaar256972a2015-12-29 19:10:25 +0100252syn keyword objcEnum NSDataBase64EncodingOptions NSDataBase64DecodingOptions
253syn keyword objcEnumValue NSDataBase64Encoding64CharacterLineLength NSDataBase64Encoding76CharacterLineLength NSDataBase64EncodingEndLineWithCarriageReturn NSDataBase64EncodingEndLineWithLineFeed NSDataBase64DecodingIgnoreUnknownCharacters
Bram Moolenaarec7944a2013-06-12 21:29:15 +0200254" NSArray.h
255syn match objcClass /NSArray\s*\*/me=s+7,he=s+7
Bram Moolenaar256972a2015-12-29 19:10:25 +0100256syn match objcClass /NSArray<.*>\s*\*/me=s+7,he=s+7 contains=objcTypeInfoParams
Bram Moolenaarec7944a2013-06-12 21:29:15 +0200257syn match objcClass /NSMutableArray\s*\*/me=s+14,he=s+14
Bram Moolenaar256972a2015-12-29 19:10:25 +0100258syn match objcClass /NSMutableArray<.*>\s*\*/me=s+14,he=s+14 contains=objcTypeInfoParams
Bram Moolenaarec7944a2013-06-12 21:29:15 +0200259syn keyword objcEnum NSBinarySearchingOptions
260syn keyword objcEnumValue NSBinarySearchingFirstEqual NSBinarySearchingLastEqual NSBinarySearchingInsertionIndex
261" NSDictionary.h
262syn match objcClass /NSDictionary\s*\*/me=s+12,he=s+12
Bram Moolenaar256972a2015-12-29 19:10:25 +0100263syn match objcClass /NSDictionary<.*>\s*\*/me=s+12,he=s+12 contains=objcTypeInfoParams
Bram Moolenaarec7944a2013-06-12 21:29:15 +0200264syn match objcClass /NSMutableDictionary\s*\*/me=s+19,he=s+19
Bram Moolenaar256972a2015-12-29 19:10:25 +0100265syn match objcClass /NSMutableDictionary<.*>\s*\*/me=s+19,he=s+19 contains=objcTypeInfoParams
Bram Moolenaarec7944a2013-06-12 21:29:15 +0200266" NSSet.h
267syn match objcClass /NSSet\s*\*/me=s+5,me=s+5
Bram Moolenaar256972a2015-12-29 19:10:25 +0100268syn match objcClass /NSSet<.*>\s*\*/me=s+5,me=s+5 contains=objcTypeInfoParams
Bram Moolenaarec7944a2013-06-12 21:29:15 +0200269syn match objcClass /NSMutableSet\s*\*/me=s+12,me=s+12
Bram Moolenaar256972a2015-12-29 19:10:25 +0100270syn match objcClass /NSMutableSet<.*>\s*\*/me=s+12,me=s+12 contains=objcTypeInfoParams
Bram Moolenaarec7944a2013-06-12 21:29:15 +0200271syn match objcClass /NSCountedSet\s*\*/me=s+12,me=s+12
Bram Moolenaar256972a2015-12-29 19:10:25 +0100272syn match objcClass /NSCountedSet<.*>\s*\*/me=s+12,me=s+12 contains=objcTypeInfoParams
Bram Moolenaarec7944a2013-06-12 21:29:15 +0200273" NSOrderedSet.h
274syn match objcClass /NSOrderedSet\s*\*/me=s+12,me=s+12
Bram Moolenaar256972a2015-12-29 19:10:25 +0100275syn match objcClass /NSOrderedSet<.*>\s*\*/me=s+12,me=s+12 contains=objcTypeInfoParams
Bram Moolenaarec7944a2013-06-12 21:29:15 +0200276syn match objcClass /NSMutableOrderedSet\s*\*/me=s+19,me=s+19
Bram Moolenaar256972a2015-12-29 19:10:25 +0100277syn match objcClass /NSMutableOrderedSet<.*>\s*\*/me=s+19,me=s+19
Bram Moolenaarec7944a2013-06-12 21:29:15 +0200278"""""""""""""""""""
279" NSPathUtilities.h
280syn keyword objcEnum NSSearchPathDirectory
281syn 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
282syn keyword objcEnum NSSearchPathDomainMask
283syn keyword objcEnumValue NSUserDomainMask NSLocalDomainMask NSNetworkDomainMask NSSystemDomainMask NSAllDomainsMask
284" NSFileManger.h
285syn match objcClass /NSFileManager\s*\*/me=s+13,he=s+13
Bram Moolenaar256972a2015-12-29 19:10:25 +0100286syn match objcClass /NSDirectoryEnumerator\s*\*/me=s+21,he=s+21 contains=objcTypeInfoParams
287syn match objcClass /NSDirectoryEnumerator<.*>\s*\*/me=s+21,he=s+21
Bram Moolenaarec7944a2013-06-12 21:29:15 +0200288syn keyword objcEnum NSVolumeEnumerationOptions
289syn keyword objcEnumValue NSVolumeEnumerationSkipHiddenVolumes NSVolumeEnumerationProduceFileReferenceURLs
Bram Moolenaar256972a2015-12-29 19:10:25 +0100290syn keyword objcEnum NSURLRelationship
291syn keyword objcEnumValue NSURLRelationshipContains NSURLRelationshipSame NSURLRelationshipOther
292syn keyword objcEnum NSFileManagerUnmountOptions
293syn keyword objcEnumValue NSFileManagerUnmountAllPartitionsAndEjectDisk NSFileManagerUnmountWithoutUI
294syn keyword objcConstVar NSFileManagerUnmountDissentingProcessIdentifierErrorKey
Bram Moolenaarec7944a2013-06-12 21:29:15 +0200295syn keyword objcEnum NSDirectoryEnumerationOptions
296syn keyword objcEnumValue NSDirectoryEnumerationSkipsSubdirectoryDescendants NSDirectoryEnumerationSkipsPackageDescendants NSDirectoryEnumerationSkipsHiddenFiles
297syn keyword objcEnum NSFileManagerItemReplacementOptions
298syn keyword objcEnumValue NSFileManagerItemReplacementUsingNewMetadataOnly NSFileManagerItemReplacementWithoutDeletingBackupItem
299syn keyword objcNotificationValue NSUbiquityIdentityDidChangeNotification
300syn 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
301" NSFileHandle.h
302syn match objcClass /NSFileHandle\s*\*/me=s+12,he=s+12
303syn keyword objcExceptionValue NSFileHandleOperationException
304syn keyword objcNotificationValue NSFileHandleReadCompletionNotification NSFileHandleReadToEndOfFileCompletionNotification NSFileHandleConnectionAcceptedNotification NSFileHandleDataAvailableNotification NSFileHandleNotificationDataItem NSFileHandleNotificationFileHandleItem NSFileHandleNotificationMonitorModes
305syn match objcClass /NSPipe\s*\*/me=s+6,he=s+6
306""""""""""""
307" NSLocale.h
308syn match objcClass /NSLocale\s*\*/me=s+8,he=s+8
309syn keyword objcEnum NSLocaleLanguageDirection
310syn keyword objcEnumValue NSLocaleLanguageDirectionUnknown NSLocaleLanguageDirectionLeftToRight NSLocaleLanguageDirectionRightToLeft NSLocaleLanguageDirectionTopToBottom NSLocaleLanguageDirectionBottomToTop
311syn keyword objcNotificationValue NSCurrentLocaleDidChangeNotification
312syn 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
313" NSFormatter.h
314syn match objcClass /NSFormatter\s*\*/me=s+11,he=s+11
Bram Moolenaar256972a2015-12-29 19:10:25 +0100315syn keyword objcEnum NSFormattingContext NSFormattingUnitStyle
316syn keyword objcEnumValue NSFormattingContextUnknown NSFormattingContextDynamic NSFormattingContextStandalone NSFormattingContextListItem NSFormattingContextBeginningOfSentence NSFormattingContextMiddleOfSentence NSFormattingUnitStyleShort NSFormattingUnitStyleMedium NSFormattingUnitStyleLong
Bram Moolenaarec7944a2013-06-12 21:29:15 +0200317" NSNumberFormatter.h
318syn match objcClass /NSNumberFormatter\s*\*/me=s+17,he=s+17
319syn keyword objcEnum NSNumberFormatterStyle
Bram Moolenaar256972a2015-12-29 19:10:25 +0100320syn keyword objcEnumValue NSNumberFormatterNoStyle NSNumberFormatterDecimalStyle NSNumberFormatterCurrencyStyle NSNumberFormatterPercentStyle NSNumberFormatterScientificStyle NSNumberFormatterSpellOutStyle NSNumberFormatterOrdinalStyle NSNumberFormatterCurrencyISOCodeStyle NSNumberFormatterCurrencyPluralStyle NSNumberFormatterCurrencyAccountingStyle
Bram Moolenaarec7944a2013-06-12 21:29:15 +0200321syn keyword objcEnum NSNumberFormatterBehavior
322syn keyword objcEnumValue NSNumberFormatterBehaviorDefault NSNumberFormatterBehavior10_0 NSNumberFormatterBehavior10_4
323syn keyword objcEnum NSNumberFormatterPadPosition
324syn keyword objcEnumValue NSNumberFormatterPadBeforePrefix NSNumberFormatterPadAfterPrefix NSNumberFormatterPadBeforeSuffix NSNumberFormatterPadAfterSuffix
325syn keyword objcEnum NSNumberFormatterRoundingMode
326syn keyword objcEnumValue NSNumberFormatterRoundCeiling NSNumberFormatterRoundFloor NSNumberFormatterRoundDown NSNumberFormatterRoundUp NSNumberFormatterRoundHalfEven NSNumberFormatterRoundHalfDown NSNumberFormatterRoundHalfUp
327" NSDateFormatter.h
328syn match objcClass /NSDateFormatter\s*\*/me=s+15,he=s+15
329syn keyword objcEnum NSDateFormatterStyle
330syn keyword objcEnumValue NSDateFormatterNoStyle NSDateFormatterShortStyle NSDateFormatterMediumStyle NSDateFormatterLongStyle NSDateFormatterFullStyle
331syn keyword objcEnum NSDateFormatterBehavior
332syn keyword objcEnumValue NSDateFormatterBehaviorDefault NSDateFormatterBehavior10_0 NSDateFormatterBehavior10_4
333" NSCalendar.h
334syn match objcClass /NSCalendar\s*\*/me=s+10,he=s+10
Bram Moolenaar256972a2015-12-29 19:10:25 +0100335syn keyword objcConstVar NSCalendarIdentifierGregorian NSCalendarIdentifierBuddhist NSCalendarIdentifierChinese NSCalendarIdentifierCoptic NSCalendarIdentifierEthiopicAmeteMihret NSCalendarIdentifierEthiopicAmeteAlem NSCalendarIdentifierHebrew NSCalendarIdentifierISO8601 NSCalendarIdentifierIndian NSCalendarIdentifierIslamic NSCalendarIdentifierIslamicCivil NSCalendarIdentifierJapanese NSCalendarIdentifierPersian NSCalendarIdentifierRepublicOfChina NSCalendarIdentifierIslamicTabular NSCalendarIdentifierIslamicUmmAlQura
Bram Moolenaarec7944a2013-06-12 21:29:15 +0200336syn keyword objcEnum NSCalendarUnit
Bram Moolenaar256972a2015-12-29 19:10:25 +0100337syn keyword objcEnumValue NSCalendarUnitEra NSCalendarUnitYear NSCalendarUnitMonth NSCalendarUnitDay NSCalendarUnitHour NSCalendarUnitMinute NSCalendarUnitSecond NSCalendarUnitWeekday NSCalendarUnitWeekdayOrdinal NSCalendarUnitQuarter NSCalendarUnitWeekOfMonth NSCalendarUnitWeekOfYear NSCalendarUnitYearForWeekOfYear NSCalendarUnitNanosecond NSCalendarUnitCalendar NSCalendarUnitTimeZone
Bram Moolenaarec7944a2013-06-12 21:29:15 +0200338syn keyword objcEnumValue NSEraCalendarUnit NSYearCalendarUnit NSMonthCalendarUnit NSDayCalendarUnit NSHourCalendarUnit NSMinuteCalendarUnit NSSecondCalendarUnit NSWeekCalendarUnit NSWeekdayCalendarUnit NSWeekdayOrdinalCalendarUnit NSQuarterCalendarUnit NSWeekOfMonthCalendarUnit NSWeekOfYearCalendarUnit NSYearForWeekOfYearCalendarUnit NSCalendarCalendarUnit NSTimeZoneCalendarUnit
Bram Moolenaar256972a2015-12-29 19:10:25 +0100339syn keyword objcEnumValue NSWrapCalendarComponents NSUndefinedDateComponent NSDateComponentUndefined
Bram Moolenaarec7944a2013-06-12 21:29:15 +0200340syn match objcClass /NSDateComponents\s*\*/me=s+16,he=s+16
Bram Moolenaar256972a2015-12-29 19:10:25 +0100341syn keyword objcEnum NSCalendarOptions
342syn keyword objcEnumValue NSCalendarWrapComponents NSCalendarMatchStrictly NSCalendarSearchBackwards NSCalendarMatchPreviousTimePreservingSmallerUnits NSCalendarMatchNextTimePreservingSmallerUnits NSCalendarMatchNextTime NSCalendarMatchFirst NSCalendarMatchLast
343syn keyword objcConstVar NSCalendarDayChangedNotification
Bram Moolenaarec7944a2013-06-12 21:29:15 +0200344" NSTimeZone.h
345syn match objcClass /NSTimeZone\s*\*/me=s+10,he=s+10
346syn keyword objcEnum NSTimeZoneNameStyle
347syn keyword objcEnumValue NSTimeZoneNameStyleStandard NSTimeZoneNameStyleShortStandard NSTimeZoneNameStyleDaylightSaving NSTimeZoneNameStyleShortDaylightSaving NSTimeZoneNameStyleGeneric NSTimeZoneNameStyleShortGeneric
348syn keyword objcNotificationValue NSSystemTimeZoneDidChangeNotification
349"""""""""""
350" NSCoder.h
351syn match objcClass /NSCoder\s*\*/me=s+7,he=s+7
352" NSArchiver.h
353syn match objcClass /NSArchiver\s*\*/me=s+10,he=s+10
354syn match objcClass /NSUnarchiver\s*\*/me=s+12,he=s+12
355syn keyword objcExceptionValue NSInconsistentArchiveException
356" NSKeyedArchiver.h
357syn match objcClass /NSKeyedArchiver\s*\*/me=s+15,he=s+15
358syn match objcClass /NSKeyedUnarchiver\s*\*/me=s+17,he=s+17
359syn keyword objcExceptionValue NSInvalidArchiveOperationException NSInvalidUnarchiveOperationException
Bram Moolenaar256972a2015-12-29 19:10:25 +0100360syn keyword objcConstVar NSKeyedArchiveRootObjectKey
Bram Moolenaarec7944a2013-06-12 21:29:15 +0200361""""""""""""""""""
362" NSPropertyList.h
363syn keyword objcEnum NSPropertyListMutabilityOptions
364syn keyword objcEnumValue NSPropertyListImmutable NSPropertyListMutableContainers NSPropertyListMutableContainersAndLeaves
365syn keyword objcEnum NSPropertyListFormat
366syn keyword objcEnumValue NSPropertyListOpenStepFormat NSPropertyListXMLFormat_v1_0 NSPropertyListBinaryFormat_v1_0
367syn keyword objcType NSPropertyListReadOptions NSPropertyListWriteOptions
368" NSUserDefaults.h
369syn match objcClass /NSUserDefaults\s*\*/me=s+14,he=s+14
370syn keyword objcConstVar NSGlobalDomain NSArgumentDomain NSRegistrationDomain
371syn keyword objcNotificationValue NSUserDefaultsDidChangeNotification
372" NSBundle.h
373syn match objcClass /NSBundle\s*\*/me=s+8,he=s+8
374syn keyword objcEnumValue NSBundleExecutableArchitectureI386 NSBundleExecutableArchitecturePPC NSBundleExecutableArchitectureX86_64 NSBundleExecutableArchitecturePPC64
Bram Moolenaar256972a2015-12-29 19:10:25 +0100375syn keyword objcNotificationValue NSBundleDidLoadNotification NSLoadedClasses NSBundleResourceRequestLowDiskSpaceNotification
376syn keyword objcConstVar NSBundleResourceRequestLoadingPriorityUrgent
Bram Moolenaarec7944a2013-06-12 21:29:15 +0200377"""""""""""""""""
378" NSProcessInfo.h
379syn match objcClass /NSProcessInfo\s*\*/me=s+13,he=s+13
380syn keyword objcEnumValue NSWindowsNTOperatingSystem NSWindows95OperatingSystem NSSolarisOperatingSystem NSHPUXOperatingSystem NSMACHOperatingSystem NSSunOSOperatingSystem NSOSF1OperatingSystem
Bram Moolenaar256972a2015-12-29 19:10:25 +0100381syn keyword objcType NSOperatingSystemVersion
382syn keyword objcEnum NSActivityOptions NSProcessInfoThermalState
383syn keyword objcEnumValue NSActivityIdleDisplaySleepDisabled NSActivityIdleSystemSleepDisabled NSActivitySuddenTerminationDisabled NSActivityAutomaticTerminationDisabled NSActivityUserInitiated NSActivityUserInitiatedAllowingIdleSystemSleep NSActivityBackground NSActivityLatencyCritical NSProcessInfoThermalStateNominal NSProcessInfoThermalStateFair NSProcessInfoThermalStateSerious NSProcessInfoThermalStateCritical
384syn keyword objcNotificationValue NSProcessInfoThermalStateDidChangeNotification NSProcessInfoPowerStateDidChangeNotification
Bram Moolenaarec7944a2013-06-12 21:29:15 +0200385" NSTask.h
386syn match objcClass /NSTask\s*\*/me=s+6,he=s+6
387syn keyword objcEnum NSTaskTerminationReason
388syn keyword objcEnumValue NSTaskTerminationReasonExit NSTaskTerminationReasonUncaughtSignal
389syn keyword objcNotificationValue NSTaskDidTerminateNotification
390" NSThread.h
391syn match objcClass /NSThread\s*\*/me=s+8,he=s+8
392syn keyword objcNotificationValue NSWillBecomeMultiThreadedNotification NSDidBecomeSingleThreadedNotification NSThreadWillExitNotification
393" NSLock.h
394syn match objcClass /NSLock\s*\*/me=s+6,he=s+6
395syn match objcClass /NSConditionLock\s*\*/me=s+15,he=s+15
396syn match objcClass /NSRecursiveLock\s*\*/me=s+15,he=s+15
397" NSDictributedLock
398syn match objcClass /NSDistributedLock\s*\*/me=s+17,he=s+17
399" NSOperation.h
400""""""""""""""""
401syn match objcClass /NSOperation\s*\*/me=s+11,he=s+11
402syn keyword objcEnum NSOperationQueuePriority
403syn keyword objcEnumValue NSOperationQueuePriorityVeryLow NSOperationQueuePriorityLow NSOperationQueuePriorityNormal NSOperationQueuePriorityHigh NSOperationQueuePriorityVeryHigh
404syn match objcClass /NSBlockOperation\s*\*/me=s+16,he=s+16
405syn match objcClass /NSInvocationOperation\s*\*/me=s+21,he=s+21
406syn keyword objcExceptionValue NSInvocationOperationVoidResultException NSInvocationOperationCancelledException
407syn match objcClass /NSOperationQueue\s*\*/me=s+16,he=s+16
408syn keyword objcEnumValue NSOperationQueueDefaultMaxConcurrentOperationCount
409" NSConnection.h
410syn match objcClass /NSConnection\s*\*/me=s+12,he=s+12
411syn keyword objcConstVar NSConnectionReplyMode
412syn keyword objcNotificationValue NSConnectionDidDieNotification NSConnectionDidInitializeNotification
413syn keyword objcExceptionValue NSFailedAuthenticationException
414" NSPort.h
415syn match objcClass /NSPort\s*\*/me=s+6,he=s+6
416syn keyword objcType NSSocketNativeHandle
417syn keyword objcNotificationValue NSPortDidBecomeInvalidNotification
418syn match objcClass /NSMachPort\s*\*/me=s+10,he=s+10
Bram Moolenaar256972a2015-12-29 19:10:25 +0100419syn keyword objcEnum NSMachPortOptions
Bram Moolenaarec7944a2013-06-12 21:29:15 +0200420syn keyword objcEnumValue NSMachPortDeallocateNone NSMachPortDeallocateSendRight NSMachPortDeallocateReceiveRight
421syn match objcClass /NSMessagePort\s*\*/me=s+13,he=s+13
422syn match objcClass /NSSocketPort\s*\*/me=s+12,he=s+12
423" NSPortMessage.h
424syn match objcClass /NSPortMessage\s*\*/me=s+13,he=s+13
425" NSDistantObject.h
426syn match objcClass /NSDistantObject\s*\*/me=s+15,he=s+15
427" NSPortNameServer.h
428syn match objcClass /NSPortNameServer\s*\*/me=s+16,he=s+16
429syn match objcClass /NSMessagePortNameServer\s*\*/me=s+23,he=s+23
430syn match objcClass /NSSocketPortNameServer\s*\*/me=s+22,he=s+22
431" NSHost.h
432syn match objcClass /NSHost\s*\*/me=s+6,he=s+6
433" NSInvocation.h
434syn match objcClass /NSInvocation\s*\*/me=s+12,he=s+12
435" NSMethodSignature.h
436syn match objcClass /NSMethodSignature\s*\*/me=s+17,he=s+17
437"""""
438" NSScanner.h
439syn match objcClass /NSScanner\s*\*/me=s+9,he=s+9
440" NSTimer.h
441syn match objcClass /NSTimer\s*\*/me=s+7,he=s+7
442" NSAutoreleasePool.h
443syn match objcClass /NSAutoreleasePool\s*\*/me=s+17,he=s+17
444" NSRunLoop.h
445syn match objcClass /NSRunLoop\s*\*/me=s+9,he=s+9
446syn keyword objcConstVar NSDefaultRunLoopMode NSRunLoopCommonModes
447" NSNull.h
448syn match objcClass /NSNull\s*\*/me=s+6,he=s+6
449" NSProxy.h
450syn match objcClass /NSProxy\s*\*/me=s+7,he=s+7
451" NSObject.h
452syn match objcClass /NSObject\s*\*/me=s+8,he=s+8
453
Bram Moolenaar256972a2015-12-29 19:10:25 +0100454
455" NSCache.h
456syn match objcClass /NSCache\s*\*/me=s+7,he=s+7
457syn match objcClass /NSCache<.*>\s*\*/me=s+7,he=s+7 contains=objcTypeInfoParams
458" NSHashTable.h
459syn match objcClass /NSHashTable\s*\*/me=s+11,he=s+11
460syn match objcClass /NSHashTable<.*>\s*\*/me=s+11,he=s+11 contains=objcTypeInfoParams
461syn keyword objcConstVar NSHashTableStrongMemory NSHashTableZeroingWeakMemory NSHashTableCopyIn NSHashTableObjectPointerPersonality NSHashTableWeakMemory
462syn keyword objcType NSHashTableOptions NSHashEnumerator NSHashTableCallBacks
463syn keyword objcConstVar NSIntegerHashCallBacks NSNonOwnedPointerHashCallBacks NSNonRetainedObjectHashCallBacks NSObjectHashCallBacks NSOwnedObjectIdentityHashCallBacks NSOwnedPointerHashCallBacks NSPointerToStructHashCallBacks NSOwnedObjectIdentityHashCallBacks NSOwnedObjectIdentityHashCallBacks NSIntHashCallBacks
464" NSMapTable.h
465syn match objcClass /NSMapTable\s*\*/me=s+10,he=s+10
466syn match objcClass /NSMapTable<.*>\s*\*/me=s+10,he=s+10 contains=objcTypeInfoParams
467syn keyword objcConstVar NSPointerToStructHashCallBacks NSPointerToStructHashCallBacks NSPointerToStructHashCallBacks NSPointerToStructHashCallBacks NSPointerToStructHashCallBacks
468syn keyword objcConstVar NSMapTableStrongMemory NSMapTableZeroingWeakMemory NSMapTableCopyIn NSMapTableObjectPointerPersonality NSMapTableWeakMemory
469syn keyword objcType NSMapTableOptions NSMapEnumerator NSMapTableKeyCallBacks NSMapTableValueCallBacks
470syn keyword objcMacro NSNotAnIntMapKey NSNotAnIntegerMapKey NSNotAPointerMapKey
471syn keyword objcConstVar NSIntegerMapKeyCallBacks NSNonOwnedPointerMapKeyCallBacks NSNonOwnedPointerOrNullMapKeyCallBacks NSNonRetainedObjectMapKeyCallBacks NSObjectMapKeyCallBacks NSOwnedPointerMapKeyCallBacks NSIntMapKeyCallBacks NSIntegerMapValueCallBacks NSNonOwnedPointerMapValueCallBacks NSObjectMapValueCallBacks NSNonRetainedObjectMapValueCallBacks NSOwnedPointerMapValueCallBacks NSIntMapValueCallBacks
472
473" NSPointerFunctions.h
474syn match objcClass /NSPointerFunctions\s*\*/me=s+18,he=s+18
475syn keyword objcEnum NSPointerFunctionsOptions
476syn keyword objcEnumValue NSPointerFunctionsStrongMemory NSPointerFunctionsZeroingWeakMemory NSPointerFunctionsOpaqueMemory NSPointerFunctionsMallocMemory NSPointerFunctionsMachVirtualMemory NSPointerFunctionsWeakMemory NSPointerFunctionsObjectPersonality NSPointerFunctionsOpaquePersonality NSPointerFunctionsObjectPointerPersonality NSPointerFunctionsCStringPersonality NSPointerFunctionsStructPersonality NSPointerFunctionsIntegerPersonality NSPointerFunctionsCopyIn
477
478
Bram Moolenaarec7944a2013-06-12 21:29:15 +0200479""" Default Highlighting
480hi def link objcPreProcMacro cConstant
481hi def link objcPrincipalType cType
482hi def link objcUsefulTerm cConstant
483hi def link objcImport cInclude
484hi def link objcImported cString
485hi def link objcObjDef cOperator
486hi def link objcProtocol cOperator
487hi def link objcProperty cOperator
488hi def link objcIvarScope cOperator
489hi def link objcInternalRep cOperator
490hi def link objcException cOperator
491hi def link objcThread cOperator
492hi def link objcPool cOperator
Bram Moolenaar52b91d82013-06-15 21:39:51 +0200493hi def link objcModuleImport cOperator
Bram Moolenaarec7944a2013-06-12 21:29:15 +0200494hi def link objcSpecial cSpecial
495hi def link objcString cString
496hi def link objcHiddenArgument cStatement
497hi def link objcBlocksQualifier cStorageClass
498hi def link objcObjectLifetimeQualifier cStorageClass
499hi def link objcTollFreeBridgeQualifier cStorageClass
500hi def link objcRemoteMessagingQualifier cStorageClass
Bram Moolenaar256972a2015-12-29 19:10:25 +0100501hi def link objcStorageClass cStorageClass
Bram Moolenaarec7944a2013-06-12 21:29:15 +0200502hi def link objcFastEnumKeyword cStatement
503hi def link objcLiteralSyntaxNumber cNumber
504hi def link objcLiteralSyntaxChar cCharacter
505hi def link objcLiteralSyntaxSpecialChar cCharacter
506hi def link objcLiteralSyntaxOp cOperator
507hi def link objcDeclPropAccessorName cConstant
508hi def link objcDeclPropAccessorType cConstant
509hi def link objcDeclPropAssignSemantics cConstant
510hi def link objcDeclPropAtomicity cConstant
511hi def link objcDeclPropARC cConstant
Bram Moolenaar256972a2015-12-29 19:10:25 +0100512hi def link objcDeclPropNullable cConstant
513hi def link objcDeclPropNonnull cConstant
514hi def link objcDeclPropNullUnspecified cConstant
515hi def link objcDeclProcNullResettable cConstant
Bram Moolenaarec7944a2013-06-12 21:29:15 +0200516hi def link objcInstanceMethod Function
517hi def link objcClassMethod Function
518hi def link objcType cType
519hi def link objcClass cType
Bram Moolenaar256972a2015-12-29 19:10:25 +0100520hi def link objcTypeSpecifier cType
Bram Moolenaarec7944a2013-06-12 21:29:15 +0200521hi def link objcMacro cConstant
522hi def link objcEnum cType
523hi def link objcEnumValue cConstant
524hi def link objcExceptionValue cConstant
525hi def link objcNotificationValue cConstant
526hi def link objcConstVar cConstant
Bram Moolenaar256972a2015-12-29 19:10:25 +0100527hi def link objcTypeInfoParams Identifier
Bram Moolenaarec7944a2013-06-12 21:29:15 +0200528
529""" Final step
Bram Moolenaar071d4272004-06-13 20:20:40 +0000530let b:current_syntax = "objc"
Bram Moolenaarec7944a2013-06-12 21:29:15 +0200531let &cpo = s:cpo_save
532unlet s:cpo_save
Bram Moolenaar071d4272004-06-13 20:20:40 +0000533
Bram Moolenaarec7944a2013-06-12 21:29:15 +0200534" vim: ts=8 sw=2 sts=2