blob: 9d7b20ecd0c540e84f35a3e1fec1a620d9a5f208 [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>
4" Last Change: 2015 Dec 14
Bram Moolenaar071d4272004-06-13 20:20:40 +00005
Bram Moolenaarec7944a2013-06-12 21:29:15 +02006""" Preparation for loading ObjC stuff
7if exists("b:current_syntax")
Bram Moolenaar071d4272004-06-13 20:20:40 +00008 finish
9endif
Bram Moolenaarec7944a2013-06-12 21:29:15 +020010if &filetype != 'objcpp'
11 syn clear
12 runtime! syntax/c.vim
13endif
14let s:cpo_save = &cpo
Bram Moolenaar9a7224b2012-04-30 15:56:52 +020015set cpo&vim
Bram Moolenaar071d4272004-06-13 20:20:40 +000016
Bram Moolenaarec7944a2013-06-12 21:29:15 +020017""" ObjC proper stuff follows...
Bram Moolenaar071d4272004-06-13 20:20:40 +000018
Bram Moolenaarec7944a2013-06-12 21:29:15 +020019syn keyword objcPreProcMacro __OBJC__ __OBJC2__ __clang__
Bram Moolenaar071d4272004-06-13 20:20:40 +000020
Bram Moolenaarec7944a2013-06-12 21:29:15 +020021" Defined Types
Bram Moolenaar52b91d82013-06-15 21:39:51 +020022syn keyword objcPrincipalType id Class SEL IMP BOOL instancetype
Bram Moolenaarec7944a2013-06-12 21:29:15 +020023syn keyword objcUsefulTerm nil Nil NO YES
Bram Moolenaar071d4272004-06-13 20:20:40 +000024
Bram Moolenaarec7944a2013-06-12 21:29:15 +020025" Preprocessor Directives
26syn region objcImported display contained start=+"+ skip=+\\\\\|\\"+ end=+"+
Bram Moolenaar256972a2015-12-29 19:10:25 +010027syn match objcImported display contained "\(<\h[-a-zA-Z0-9_/]*\.h>\|<[a-z0-9]\+>\)"
Bram Moolenaarec7944a2013-06-12 21:29:15 +020028syn match objcImport display "^\s*\(%:\|#\)\s*import\>\s*["<]" contains=objcImported
Bram Moolenaar071d4272004-06-13 20:20:40 +000029
Bram Moolenaarec7944a2013-06-12 21:29:15 +020030" ObjC Compiler Directives
31syn match objcObjDef display /@interface\>\|@implementation\>\|@end\>\|@class\>/
32syn match objcProtocol display /@protocol\>\|@optional\>\|@required\>/
33syn match objcProperty display /@property\>\|@synthesize\>\|@dynamic\>/
Bram Moolenaar256972a2015-12-29 19:10:25 +010034syn match objcIvarScope display /@private\>\|@protected\>\|@public\>\|@package\>/
Bram Moolenaarec7944a2013-06-12 21:29:15 +020035syn match objcInternalRep display /@selector\>\|@encode\>/
36syn match objcException display /@try\>\|@throw\>\|@catch\|@finally\>/
37syn match objcThread display /@synchronized\>/
38syn match objcPool display /@autoreleasepool\>/
Bram Moolenaar52b91d82013-06-15 21:39:51 +020039syn match objcModuleImport display /@import\>/
Bram Moolenaar071d4272004-06-13 20:20:40 +000040
Bram Moolenaarec7944a2013-06-12 21:29:15 +020041" ObjC Constant Strings
42syn match objcSpecial display contained "%@"
Bram Moolenaar071d4272004-06-13 20:20:40 +000043syn region objcString start=+\(@"\|"\)+ skip=+\\\\\|\\"+ end=+"+ contains=cFormat,cSpecial,objcSpecial
44
Bram Moolenaarec7944a2013-06-12 21:29:15 +020045" ObjC Hidden Arguments
46syn keyword objcHiddenArgument self _cmd super
47
48" ObjC Type Qualifiers for Blocks
49syn keyword objcBlocksQualifier __block
50" ObjC Type Qualifiers for Object Lifetime
51syn keyword objcObjectLifetimeQualifier __strong __weak __unsafe_unretained __autoreleasing
52" ObjC Type Qualifiers for Toll-Free Bridge
53syn keyword objcTollFreeBridgeQualifier __bridge __bridge_retained __bridge_transfer
54
55" ObjC Type Qualifiers for Remote Messaging
56syn 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
57
Bram Moolenaar256972a2015-12-29 19:10:25 +010058" ObjC Storage Classes
59syn keyword objcStorageClass _Nullable _Nonnull _Null_unspecified
60syn keyword objcStorageClass __nullable __nonnull __null_unspecified
61syn keyword objcStorageClass nullable nonnull null_unspecified
62
63" ObjC type specifier
64syn keyword objcTypeSpecifier __kindof __covariant
65
66" ObjC Type Infomation Parameters
67syn keyword objcTypeInfoParams ObjectType KeyType
68
Bram Moolenaarec7944a2013-06-12 21:29:15 +020069" shorthand
70syn cluster objcTypeQualifier contains=objcBlocksQualifier,objcObjectLifetimeQualifier,objcTollFreeBridgeQualifier,objcRemoteMessagingQualifier
71
72" ObjC Fast Enumeration
73syn match objcFastEnumKeyword display /\sin\(\s\|$\)/
74
75" ObjC Literal Syntax
76syn match objcLiteralSyntaxNumber display /@\(YES\>\|NO\>\|\d\|-\|+\)/ contains=cNumber,cFloat,cOctal
77syn match objcLiteralSyntaxSpecialChar display /@'/ contains=cSpecialCharacter
78syn match objcLiteralSyntaxChar display /@'[^\\]'/
79syn match objcLiteralSyntaxOp display /@\((\|\[\|{\)/me=e-1,he=e-1
80
81" ObjC Declared Property Attributes
82syn match objDeclPropAccessorNameAssign display /\s*=\s*/ contained
83syn region objcDeclPropAccessorName display start=/\(getter\|setter\)/ end=/\h\w*/ contains=objDeclPropAccessorNameAssign
84syn keyword objcDeclPropAccessorType readonly readwrite contained
85syn keyword objcDeclPropAssignSemantics assign retain copy contained
86syn keyword objcDeclPropAtomicity nonatomic contained
87syn keyword objcDeclPropARC strong weak contained
Bram Moolenaar256972a2015-12-29 19:10:25 +010088syn match objcDeclPropNullable /\((\|\s\)nullable\(,\|)\)/ms=s+1,hs=s+1,me=e-1,he=e-1 contained
89syn match objcDeclPropNonnull /\((\|\s\)nonnull\(,\|)\)/ms=s+1,hs=s+1,me=e-1,he=e-1 contained
90syn match objcDeclPropNullUnspecified /\((\|\s\)null_unspecified\(,\|)\)/ms=s+1,hs=s+1,me=e-1,he=e-1 contained
91syn keyword objcDeclProcNullResettable null_resettable contained
92syn 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 +020093
94" To distinguish colons in methods and dictionaries from those in C's labels.
95syn match objcColon display /^\s*\h\w*\s*\:\(\s\|.\)/me=e-1,he=e-1
96
97" To distinguish a protocol list from system header files
Bram Moolenaar256972a2015-12-29 19:10:25 +010098syn match objcProtocolList display /<\h\w*\(\s*,\s*\h\w*\)*>/ contains=objcPrincipalType,cType,Type,objcType,objcTypeInfoParams
99
100" Type info for collection classes
101syn match objcTypeInfo display /<\h\w*\s*<\(\h\w*\s*\**\|\h\w*\)>>/ contains=objcPrincipalType,cType,Type,objcType,objcTypeInfoParams
Bram Moolenaarec7944a2013-06-12 21:29:15 +0200102
103" shorthand
104syn 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 +0100105syn 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 +0200106
Bram Moolenaar071d4272004-06-13 20:20:40 +0000107" Objective-C Message Expressions
Bram Moolenaarec7944a2013-06-12 21:29:15 +0200108syn region objcMethodCall start=/\[/ end=/\]/ contains=objcMethodCall,objcBlocks,@objcObjCEntities,@objcCEntities
Bram Moolenaar071d4272004-06-13 20:20:40 +0000109
Bram Moolenaarec7944a2013-06-12 21:29:15 +0200110" To distinguish class method and instance method
111syn match objcInstanceMethod display /^s*-\s*/
112syn match objcClassMethod display /^s*+\s*/
Bram Moolenaar071d4272004-06-13 20:20:40 +0000113
Bram Moolenaarec7944a2013-06-12 21:29:15 +0200114" ObjC Blocks
115syn region objcBlocks start=/\(\^\s*([^)]\+)\s*{\|\^\s*{\)/ end=/}/ contains=objcBlocks,objcMethodCall,@objcObjCEntities,@objcCEntities
Bram Moolenaar071d4272004-06-13 20:20:40 +0000116
Bram Moolenaarec7944a2013-06-12 21:29:15 +0200117syn cluster cParenGroup add=objcMethodCall
118syn cluster cPreProcGroup add=objcMethodCall
Bram Moolenaar071d4272004-06-13 20:20:40 +0000119
Bram Moolenaarec7944a2013-06-12 21:29:15 +0200120""" Foundation Framework
121syn match objcClass /Protocol\s*\*/me=s+8,he=s+8
Bram Moolenaar071d4272004-06-13 20:20:40 +0000122
Bram Moolenaarec7944a2013-06-12 21:29:15 +0200123"""""""""""""""""
124" NSObjCRuntime.h
125syn keyword objcType NSInteger NSUInteger NSComparator
126syn keyword objcEnum NSComparisonResult
127syn keyword objcEnumValue NSOrderedAscending NSOrderedSame NSOrderedDescending
128syn keyword objcEnum NSEnumerationOptions
129syn keyword objcEnumValue NSEnumerationConcurrent NSEnumerationReverse
130syn keyword objcEnum NSSortOptions
131syn keyword objcEnumValue NSSortConcurrent NSSortStable
132syn keyword objcEnumValue NSNotFound
133syn keyword objcMacro NSIntegerMax NSIntegerMin NSUIntegerMax
Bram Moolenaar256972a2015-12-29 19:10:25 +0100134syn 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
135syn keyword objcEnum NSQualityOfService
136syn keyword objcEnumValue NSQualityOfServiceUserInteractive NSQualityOfServiceUserInitiated NSQualityOfServiceUtility NSQualityOfServiceBackground NSQualityOfServiceDefault
Bram Moolenaarec7944a2013-06-12 21:29:15 +0200137" NSRange.h
138syn keyword objcType NSRange NSRangePointer
139" NSGeometry.h
Bram Moolenaar256972a2015-12-29 19:10:25 +0100140syn keyword objcType NSPoint NSPointPointer NSPointArray NSSize NSSizePointer NSSizeArray NSRect NSRectPointer NSRectArray NSEdgeInsets
Bram Moolenaarec7944a2013-06-12 21:29:15 +0200141syn keyword objcEnum NSRectEdge
142syn keyword objcEnumValue NSMinXEdge NSMinYEdge NSMaxXEdge NSMaxYEdge
Bram Moolenaar256972a2015-12-29 19:10:25 +0100143syn keyword objcEnumValue NSRectEdgeMinX NSRectEdgeMinY NSRectEdgeMaxX NSRectEdgeMaxY
144syn keyword objcConstVar NSZeroPoint NSZeroSize NSZeroRect NSEdgeInsetsZero
Bram Moolenaarec7944a2013-06-12 21:29:15 +0200145syn keyword cType CGFloat CGPoint CGSize CGRect
146syn keyword objcEnum NSAlignmentOptions
147syn keyword objcEnumValue NSAlignMinXInward NSAlignMinYInward NSAlignMaxXInward NSAlignMaxYInward NSAlignWidthInward NSAlignHeightInward NSAlignMinXOutward NSAlignMinYOutward NSAlignMaxXOutward NSAlignMaxYOutward NSAlignWidthOutward NSAlignHeightOutward NSAlignMinXNearest NSAlignMinYNearest NSAlignMaxXNearest NSAlignMaxYNearest NSAlignWidthNearest NSAlignHeightNearest NSAlignRectFlipped NSAlignAllEdgesInward NSAlignAllEdgesOutward NSAlignAllEdgesNearest
148" NSDecimal.h
149syn keyword objcType NSDecimal
150syn keyword objcEnum NSRoundingMode
151syn keyword objcEnumValue NSRoundPlain NSRoundDown NSRoundUp NSRoundBankers
152syn keyword objcEnum NSCalculationError
153syn keyword objcEnumValue NSCalculationNoError NSCalculationLossOfPrecision NSCalculationUnderflow NSCalculationOverflow NSCalculationDivideByZero
Bram Moolenaar256972a2015-12-29 19:10:25 +0100154syn keyword objcConstVar NSDecimalMaxSize NSDecimalNoScale
Bram Moolenaarec7944a2013-06-12 21:29:15 +0200155" NSDate.h
156syn match objcClass /NSDate\s*\*/me=s+6,he=s+6
157syn keyword objcType NSTimeInterval
158syn keyword objcNotificationValue NSSystemClockDidChangeNotification
159syn keyword objcMacro NSTimeIntervalSince1970
160" NSZone.h
161syn match objcType /NSZone\s*\*/me=s+6,he=s+6
Bram Moolenaar256972a2015-12-29 19:10:25 +0100162syn keyword objcEnumValue NSScannedOption NSCollectorDisabledOption
Bram Moolenaarec7944a2013-06-12 21:29:15 +0200163" NSError.h
164syn match objcClass /NSError\s*\*/me=s+7,he=s+7
165syn keyword objcConstVar NSCocoaErrorDomain NSPOSIXErrorDomain NSOSStatusErrorDomain NSMachErrorDomain NSUnderlyingErrorKey NSLocalizedDescriptionKey NSLocalizedFailureReasonErrorKey NSLocalizedRecoverySuggestionErrorKey NSLocalizedRecoveryOptionsErrorKey NSRecoveryAttempterErrorKey NSHelpAnchorErrorKey NSStringEncodingErrorKey NSURLErrorKey NSFilePathErrorKey
166" NSException.h
167syn match objcClass /NSException\s*\*/me=s+11,he=s+11
Bram Moolenaar256972a2015-12-29 19:10:25 +0100168syn match objcClass /NSAssertionHandler\s*\*/me=s+18,he=s+18
Bram Moolenaarec7944a2013-06-12 21:29:15 +0200169syn keyword objcType NSUncaughtExceptionHandler
170syn keyword objcConstVar NSGenericException NSRangeException NSInvalidArgumentException NSInternalInconsistencyException NSMallocException NSObjectInaccessibleException NSObjectNotAvailableException NSDestinationInvalidException NSPortTimeoutException NSInvalidSendPortException NSInvalidReceivePortException NSPortSendException NSPortReceiveException NSOldStyleException
171" NSNotification.h
172syn match objcClass /NSNotification\s*\*/me=s+14,he=s+14
173syn match objcClass /NSNotificationCenter\s*\*/me=s+20,he=s+20
174" NSDistributedNotificationCenter.h
175syn match objcClass /NSDistributedNotificationCenter\s*\*/me=s+31,he=s+31
176syn keyword objcConstVar NSLocalNotificationCenterType
177syn keyword objcEnum NSNotificationSuspensionBehavior
178syn keyword objcEnumValue NSNotificationSuspensionBehaviorDrop NSNotificationSuspensionBehaviorCoalesce NSNotificationSuspensionBehaviorHold NSNotificationSuspensionBehaviorHold NSNotificationSuspensionBehaviorDeliverImmediately
179syn keyword objcEnumValue NSNotificationDeliverImmediately NSNotificationPostToAllSessions
Bram Moolenaar256972a2015-12-29 19:10:25 +0100180syn keyword objcEnum NSDistributedNotificationOptions
181syn keyword objcEnumValue NSDistributedNotificationDeliverImmediately NSDistributedNotificationPostToAllSessions
Bram Moolenaarec7944a2013-06-12 21:29:15 +0200182" NSNotificationQueue.h
183syn match objcClass /NSNotificationQueue\s*\*/me=s+19,he=s+19
184syn keyword objcEnum NSPostingStyle
185syn keyword objcEnumValue NSPostWhenIdle NSPostASAP NSPostNow
186syn keyword objcEnum NSNotificationCoalescing
187syn keyword objcEnumValue NSNotificationNoCoalescing NSNotificationCoalescingOnName NSNotificationCoalescingOnSender
188" NSEnumerator.h
189syn match objcClass /NSEnumerator\s*\*/me=s+12,he=s+12
Bram Moolenaar256972a2015-12-29 19:10:25 +0100190syn match objcClass /NSEnumerator<.*>\s*\*/me=s+12,he=s+12 contains=objcTypeInfoParams
191syn keyword objcType NSFastEnumerationState
Bram Moolenaarec7944a2013-06-12 21:29:15 +0200192" NSIndexSet.h
193syn match objcClass /NSIndexSet\s*\*/me=s+10,he=s+10
194syn match objcClass /NSMutableIndexSet\s*\*/me=s+17,he=s+17
195" NSCharecterSet.h
196syn match objcClass /NSCharacterSet\s*\*/me=s+14,he=s+14
Bram Moolenaar256972a2015-12-29 19:10:25 +0100197syn match objcClass /NSMutableCharacterSet\s*\*/me=s+21,he=s+21
198syn keyword objcConstVar NSOpenStepUnicodeReservedBase
Bram Moolenaarec7944a2013-06-12 21:29:15 +0200199" NSURL.h
200syn match objcClass /NSURL\s*\*/me=s+5,he=s+5
201syn keyword objcEnum NSURLBookmarkCreationOptions
202syn keyword objcEnumValue NSURLBookmarkCreationPreferFileIDResolution NSURLBookmarkCreationMinimalBookmark NSURLBookmarkCreationSuitableForBookmarkFile NSURLBookmarkCreationWithSecurityScope NSURLBookmarkCreationSecurityScopeAllowOnlyReadAccess
203syn keyword objcEnum NSURLBookmarkResolutionOptions
204syn keyword objcEnumValue NSURLBookmarkResolutionWithoutUI NSURLBookmarkResolutionWithoutMounting NSURLBookmarkResolutionWithSecurityScope
205syn keyword objcType NSURLBookmarkFileCreationOptions
206syn keyword objcConstVar NSURLFileScheme NSURLKeysOfUnsetValuesKey
Bram Moolenaar256972a2015-12-29 19:10:25 +0100207syn 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
208syn keyword objcConstVar NSURLFileResourceTypeNamedPipe NSURLFileResourceTypeCharacterSpecial NSURLFileResourceTypeDirectory NSURLFileResourceTypeBlockSpecial NSURLFileResourceTypeRegular NSURLFileResourceTypeSymbolicLink NSURLFileResourceTypeSocket NSURLFileResourceTypeUnknown NSURLThumbnailDictionaryKey NSURLThumbnailKey NSThumbnail1024x1024SizeKey
209syn keyword objcConstVar NSURLFileSizeKey NSURLFileAllocatedSizeKey NSURLTotalFileSizeKey NSURLTotalFileAllocatedSizeKey NSURLIsAliasFileKey NSURLFileProtectionKey NSURLFileProtectionNone NSURLFileProtectionComplete NSURLFileProtectionCompleteUnlessOpen NSURLFileProtectionCompleteUntilFirstUserAuthentication
Bram Moolenaarec7944a2013-06-12 21:29:15 +0200210syn 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 +0100211syn 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 +0200212""""""""""""
213" NSString.h
214syn match objcClass /NSString\s*\*/me=s+8,he=s+8
215syn match objcClass /NSMutableString\s*\*/me=s+15,he=s+15
216syn keyword objcType unichar
217syn keyword objcExceptionValue NSParseErrorException NSCharacterConversionException
218syn keyword objcMacro NSMaximumStringLength
219syn keyword objcEnum NSStringCompareOptions
220syn keyword objcEnumValue NSCaseInsensitiveSearch NSLiteralSearch NSBackwardsSearch NSAnchoredSearch NSNumericSearch NSDiacriticInsensitiveSearch NSWidthInsensitiveSearch NSForcedOrderingSearch NSRegularExpressionSearch
221syn keyword objcEnum NSStringEncoding
Bram Moolenaar256972a2015-12-29 19:10:25 +0100222syn keyword objcEnumValue NSProprietaryStringEncoding
Bram Moolenaarec7944a2013-06-12 21:29:15 +0200223syn 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
224syn keyword objcEnum NSStringEncodingConversionOptions
225syn keyword objcEnumValue NSStringEncodingConversionAllowLossy NSStringEncodingConversionExternalRepresentation
226syn keyword objcEnum NSStringEnumerationOptions
227syn keyword objcEnumValue NSStringEnumerationByLines NSStringEnumerationByParagraphs NSStringEnumerationByComposedCharacterSequences NSStringEnumerationByWords NSStringEnumerationBySentences NSStringEnumerationReverse NSStringEnumerationSubstringNotRequired NSStringEnumerationLocalized
Bram Moolenaar256972a2015-12-29 19:10:25 +0100228syn keyword objcConstVar NSStringTransformLatinToKatakana NSStringTransformLatinToHiragana NSStringTransformLatinToHangul NSStringTransformLatinToArabic NSStringTransformLatinToHebrew NSStringTransformLatinToThai NSStringTransformLatinToCyrillic NSStringTransformLatinToGreek NSStringTransformToLatin NSStringTransformMandarinToLatin NSStringTransformHiraganaToKatakana NSStringTransformFullwidthToHalfwidth NSStringTransformToXMLHex NSStringTransformToUnicodeName NSStringTransformStripCombiningMarks NSStringTransformStripDiacritics
229syn keyword objcConstVar NSStringEncodingDetectionSuggestedEncodingsKey NSStringEncodingDetectionDisallowedEncodingsKey NSStringEncodingDetectionUseOnlySuggestedEncodingsKey NSStringEncodingDetectionAllowLossyKey NSStringEncodingDetectionFromWindowsKey NSStringEncodingDetectionLossySubstitutionKey NSStringEncodingDetectionLikelyLanguageKey
Bram Moolenaarec7944a2013-06-12 21:29:15 +0200230" NSAttributedString.h
231syn match objcClass /NSAttributedString\s*\*/me=s+18,he=s+18
232syn match objcClass /NSMutableAttributedString\s*\*/me=s+25,he=s+25
233syn keyword objcEnum NSAttributedStringEnumerationOptions
234syn keyword objcEnumValue NSAttributedStringEnumerationReverse NSAttributedStringEnumerationLongestEffectiveRangeNotRequired
235" NSValue.h
236syn match objcClass /NSValue\s*\*/me=s+7,he=s+7
237syn match objcClass /NSNumber\s*\*/me=s+8,he=s+8
238" NSDecimalNumber.h
239syn match objcClass /NSDecimalNumber\s*\*/me=s+15,he=s+15
240syn match objcClass /NSDecimalNumberHandler\s*\*/me=s+22,he=s+22
241syn keyword objcExceptionValue NSDecimalNumberExactnessException NSDecimalNumberOverflowException NSDecimalNumberUnderflowException NSDecimalNumberDivideByZeroException
242" NSData.h
243syn match objcClass /NSData\s*\*/me=s+6,he=s+6
244syn match objcClass /NSMutableData\s*\*/me=s+13,he=s+13
245syn keyword objcEnum NSDataReadingOptions
246syn keyword objcEnumValue NSDataReadingMappedIfSafe NSDataReadingUncached NSDataReadingMappedAlways NSDataReadingMapped NSMappedRead NSUncachedRead
247syn keyword objcEnum NSDataWritingOptions
248syn keyword objcEnumValue NSDataWritingAtomic NSDataWritingWithoutOverwriting NSDataWritingFileProtectionNone NSDataWritingFileProtectionComplete NSDataWritingFileProtectionCompleteUnlessOpen NSDataWritingFileProtectionCompleteUntilFirstUserAuthentication NSDataWritingFileProtectionMask NSAtomicWrite
249syn keyword objcEnum NSDataSearchOptions
250syn keyword objcEnumValue NSDataSearchBackwards NSDataSearchAnchored
Bram Moolenaar256972a2015-12-29 19:10:25 +0100251syn keyword objcEnum NSDataBase64EncodingOptions NSDataBase64DecodingOptions
252syn keyword objcEnumValue NSDataBase64Encoding64CharacterLineLength NSDataBase64Encoding76CharacterLineLength NSDataBase64EncodingEndLineWithCarriageReturn NSDataBase64EncodingEndLineWithLineFeed NSDataBase64DecodingIgnoreUnknownCharacters
Bram Moolenaarec7944a2013-06-12 21:29:15 +0200253" NSArray.h
254syn match objcClass /NSArray\s*\*/me=s+7,he=s+7
Bram Moolenaar256972a2015-12-29 19:10:25 +0100255syn match objcClass /NSArray<.*>\s*\*/me=s+7,he=s+7 contains=objcTypeInfoParams
Bram Moolenaarec7944a2013-06-12 21:29:15 +0200256syn match objcClass /NSMutableArray\s*\*/me=s+14,he=s+14
Bram Moolenaar256972a2015-12-29 19:10:25 +0100257syn match objcClass /NSMutableArray<.*>\s*\*/me=s+14,he=s+14 contains=objcTypeInfoParams
Bram Moolenaarec7944a2013-06-12 21:29:15 +0200258syn keyword objcEnum NSBinarySearchingOptions
259syn keyword objcEnumValue NSBinarySearchingFirstEqual NSBinarySearchingLastEqual NSBinarySearchingInsertionIndex
260" NSDictionary.h
261syn match objcClass /NSDictionary\s*\*/me=s+12,he=s+12
Bram Moolenaar256972a2015-12-29 19:10:25 +0100262syn match objcClass /NSDictionary<.*>\s*\*/me=s+12,he=s+12 contains=objcTypeInfoParams
Bram Moolenaarec7944a2013-06-12 21:29:15 +0200263syn match objcClass /NSMutableDictionary\s*\*/me=s+19,he=s+19
Bram Moolenaar256972a2015-12-29 19:10:25 +0100264syn match objcClass /NSMutableDictionary<.*>\s*\*/me=s+19,he=s+19 contains=objcTypeInfoParams
Bram Moolenaarec7944a2013-06-12 21:29:15 +0200265" NSSet.h
266syn match objcClass /NSSet\s*\*/me=s+5,me=s+5
Bram Moolenaar256972a2015-12-29 19:10:25 +0100267syn match objcClass /NSSet<.*>\s*\*/me=s+5,me=s+5 contains=objcTypeInfoParams
Bram Moolenaarec7944a2013-06-12 21:29:15 +0200268syn match objcClass /NSMutableSet\s*\*/me=s+12,me=s+12
Bram Moolenaar256972a2015-12-29 19:10:25 +0100269syn match objcClass /NSMutableSet<.*>\s*\*/me=s+12,me=s+12 contains=objcTypeInfoParams
Bram Moolenaarec7944a2013-06-12 21:29:15 +0200270syn match objcClass /NSCountedSet\s*\*/me=s+12,me=s+12
Bram Moolenaar256972a2015-12-29 19:10:25 +0100271syn match objcClass /NSCountedSet<.*>\s*\*/me=s+12,me=s+12 contains=objcTypeInfoParams
Bram Moolenaarec7944a2013-06-12 21:29:15 +0200272" NSOrderedSet.h
273syn match objcClass /NSOrderedSet\s*\*/me=s+12,me=s+12
Bram Moolenaar256972a2015-12-29 19:10:25 +0100274syn match objcClass /NSOrderedSet<.*>\s*\*/me=s+12,me=s+12 contains=objcTypeInfoParams
Bram Moolenaarec7944a2013-06-12 21:29:15 +0200275syn match objcClass /NSMutableOrderedSet\s*\*/me=s+19,me=s+19
Bram Moolenaar256972a2015-12-29 19:10:25 +0100276syn match objcClass /NSMutableOrderedSet<.*>\s*\*/me=s+19,me=s+19
Bram Moolenaarec7944a2013-06-12 21:29:15 +0200277"""""""""""""""""""
278" NSPathUtilities.h
279syn keyword objcEnum NSSearchPathDirectory
280syn 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
281syn keyword objcEnum NSSearchPathDomainMask
282syn keyword objcEnumValue NSUserDomainMask NSLocalDomainMask NSNetworkDomainMask NSSystemDomainMask NSAllDomainsMask
283" NSFileManger.h
284syn match objcClass /NSFileManager\s*\*/me=s+13,he=s+13
Bram Moolenaar256972a2015-12-29 19:10:25 +0100285syn match objcClass /NSDirectoryEnumerator\s*\*/me=s+21,he=s+21 contains=objcTypeInfoParams
286syn match objcClass /NSDirectoryEnumerator<.*>\s*\*/me=s+21,he=s+21
Bram Moolenaarec7944a2013-06-12 21:29:15 +0200287syn keyword objcEnum NSVolumeEnumerationOptions
288syn keyword objcEnumValue NSVolumeEnumerationSkipHiddenVolumes NSVolumeEnumerationProduceFileReferenceURLs
Bram Moolenaar256972a2015-12-29 19:10:25 +0100289syn keyword objcEnum NSURLRelationship
290syn keyword objcEnumValue NSURLRelationshipContains NSURLRelationshipSame NSURLRelationshipOther
291syn keyword objcEnum NSFileManagerUnmountOptions
292syn keyword objcEnumValue NSFileManagerUnmountAllPartitionsAndEjectDisk NSFileManagerUnmountWithoutUI
293syn keyword objcConstVar NSFileManagerUnmountDissentingProcessIdentifierErrorKey
Bram Moolenaarec7944a2013-06-12 21:29:15 +0200294syn keyword objcEnum NSDirectoryEnumerationOptions
295syn keyword objcEnumValue NSDirectoryEnumerationSkipsSubdirectoryDescendants NSDirectoryEnumerationSkipsPackageDescendants NSDirectoryEnumerationSkipsHiddenFiles
296syn keyword objcEnum NSFileManagerItemReplacementOptions
297syn keyword objcEnumValue NSFileManagerItemReplacementUsingNewMetadataOnly NSFileManagerItemReplacementWithoutDeletingBackupItem
298syn keyword objcNotificationValue NSUbiquityIdentityDidChangeNotification
299syn 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
300" NSFileHandle.h
301syn match objcClass /NSFileHandle\s*\*/me=s+12,he=s+12
302syn keyword objcExceptionValue NSFileHandleOperationException
303syn keyword objcNotificationValue NSFileHandleReadCompletionNotification NSFileHandleReadToEndOfFileCompletionNotification NSFileHandleConnectionAcceptedNotification NSFileHandleDataAvailableNotification NSFileHandleNotificationDataItem NSFileHandleNotificationFileHandleItem NSFileHandleNotificationMonitorModes
304syn match objcClass /NSPipe\s*\*/me=s+6,he=s+6
305""""""""""""
306" NSLocale.h
307syn match objcClass /NSLocale\s*\*/me=s+8,he=s+8
308syn keyword objcEnum NSLocaleLanguageDirection
309syn keyword objcEnumValue NSLocaleLanguageDirectionUnknown NSLocaleLanguageDirectionLeftToRight NSLocaleLanguageDirectionRightToLeft NSLocaleLanguageDirectionTopToBottom NSLocaleLanguageDirectionBottomToTop
310syn keyword objcNotificationValue NSCurrentLocaleDidChangeNotification
311syn 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
312" NSFormatter.h
313syn match objcClass /NSFormatter\s*\*/me=s+11,he=s+11
Bram Moolenaar256972a2015-12-29 19:10:25 +0100314syn keyword objcEnum NSFormattingContext NSFormattingUnitStyle
315syn keyword objcEnumValue NSFormattingContextUnknown NSFormattingContextDynamic NSFormattingContextStandalone NSFormattingContextListItem NSFormattingContextBeginningOfSentence NSFormattingContextMiddleOfSentence NSFormattingUnitStyleShort NSFormattingUnitStyleMedium NSFormattingUnitStyleLong
Bram Moolenaarec7944a2013-06-12 21:29:15 +0200316" NSNumberFormatter.h
317syn match objcClass /NSNumberFormatter\s*\*/me=s+17,he=s+17
318syn keyword objcEnum NSNumberFormatterStyle
Bram Moolenaar256972a2015-12-29 19:10:25 +0100319syn keyword objcEnumValue NSNumberFormatterNoStyle NSNumberFormatterDecimalStyle NSNumberFormatterCurrencyStyle NSNumberFormatterPercentStyle NSNumberFormatterScientificStyle NSNumberFormatterSpellOutStyle NSNumberFormatterOrdinalStyle NSNumberFormatterCurrencyISOCodeStyle NSNumberFormatterCurrencyPluralStyle NSNumberFormatterCurrencyAccountingStyle
Bram Moolenaarec7944a2013-06-12 21:29:15 +0200320syn keyword objcEnum NSNumberFormatterBehavior
321syn keyword objcEnumValue NSNumberFormatterBehaviorDefault NSNumberFormatterBehavior10_0 NSNumberFormatterBehavior10_4
322syn keyword objcEnum NSNumberFormatterPadPosition
323syn keyword objcEnumValue NSNumberFormatterPadBeforePrefix NSNumberFormatterPadAfterPrefix NSNumberFormatterPadBeforeSuffix NSNumberFormatterPadAfterSuffix
324syn keyword objcEnum NSNumberFormatterRoundingMode
325syn keyword objcEnumValue NSNumberFormatterRoundCeiling NSNumberFormatterRoundFloor NSNumberFormatterRoundDown NSNumberFormatterRoundUp NSNumberFormatterRoundHalfEven NSNumberFormatterRoundHalfDown NSNumberFormatterRoundHalfUp
326" NSDateFormatter.h
327syn match objcClass /NSDateFormatter\s*\*/me=s+15,he=s+15
328syn keyword objcEnum NSDateFormatterStyle
329syn keyword objcEnumValue NSDateFormatterNoStyle NSDateFormatterShortStyle NSDateFormatterMediumStyle NSDateFormatterLongStyle NSDateFormatterFullStyle
330syn keyword objcEnum NSDateFormatterBehavior
331syn keyword objcEnumValue NSDateFormatterBehaviorDefault NSDateFormatterBehavior10_0 NSDateFormatterBehavior10_4
332" NSCalendar.h
333syn match objcClass /NSCalendar\s*\*/me=s+10,he=s+10
Bram Moolenaar256972a2015-12-29 19:10:25 +0100334syn 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 +0200335syn keyword objcEnum NSCalendarUnit
Bram Moolenaar256972a2015-12-29 19:10:25 +0100336syn 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 +0200337syn 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 +0100338syn keyword objcEnumValue NSWrapCalendarComponents NSUndefinedDateComponent NSDateComponentUndefined
Bram Moolenaarec7944a2013-06-12 21:29:15 +0200339syn match objcClass /NSDateComponents\s*\*/me=s+16,he=s+16
Bram Moolenaar256972a2015-12-29 19:10:25 +0100340syn keyword objcEnum NSCalendarOptions
341syn keyword objcEnumValue NSCalendarWrapComponents NSCalendarMatchStrictly NSCalendarSearchBackwards NSCalendarMatchPreviousTimePreservingSmallerUnits NSCalendarMatchNextTimePreservingSmallerUnits NSCalendarMatchNextTime NSCalendarMatchFirst NSCalendarMatchLast
342syn keyword objcConstVar NSCalendarDayChangedNotification
Bram Moolenaarec7944a2013-06-12 21:29:15 +0200343" NSTimeZone.h
344syn match objcClass /NSTimeZone\s*\*/me=s+10,he=s+10
345syn keyword objcEnum NSTimeZoneNameStyle
346syn keyword objcEnumValue NSTimeZoneNameStyleStandard NSTimeZoneNameStyleShortStandard NSTimeZoneNameStyleDaylightSaving NSTimeZoneNameStyleShortDaylightSaving NSTimeZoneNameStyleGeneric NSTimeZoneNameStyleShortGeneric
347syn keyword objcNotificationValue NSSystemTimeZoneDidChangeNotification
348"""""""""""
349" NSCoder.h
350syn match objcClass /NSCoder\s*\*/me=s+7,he=s+7
351" NSArchiver.h
352syn match objcClass /NSArchiver\s*\*/me=s+10,he=s+10
353syn match objcClass /NSUnarchiver\s*\*/me=s+12,he=s+12
354syn keyword objcExceptionValue NSInconsistentArchiveException
355" NSKeyedArchiver.h
356syn match objcClass /NSKeyedArchiver\s*\*/me=s+15,he=s+15
357syn match objcClass /NSKeyedUnarchiver\s*\*/me=s+17,he=s+17
358syn keyword objcExceptionValue NSInvalidArchiveOperationException NSInvalidUnarchiveOperationException
Bram Moolenaar256972a2015-12-29 19:10:25 +0100359syn keyword objcConstVar NSKeyedArchiveRootObjectKey
Bram Moolenaarec7944a2013-06-12 21:29:15 +0200360""""""""""""""""""
361" NSPropertyList.h
362syn keyword objcEnum NSPropertyListMutabilityOptions
363syn keyword objcEnumValue NSPropertyListImmutable NSPropertyListMutableContainers NSPropertyListMutableContainersAndLeaves
364syn keyword objcEnum NSPropertyListFormat
365syn keyword objcEnumValue NSPropertyListOpenStepFormat NSPropertyListXMLFormat_v1_0 NSPropertyListBinaryFormat_v1_0
366syn keyword objcType NSPropertyListReadOptions NSPropertyListWriteOptions
367" NSUserDefaults.h
368syn match objcClass /NSUserDefaults\s*\*/me=s+14,he=s+14
369syn keyword objcConstVar NSGlobalDomain NSArgumentDomain NSRegistrationDomain
370syn keyword objcNotificationValue NSUserDefaultsDidChangeNotification
371" NSBundle.h
372syn match objcClass /NSBundle\s*\*/me=s+8,he=s+8
373syn keyword objcEnumValue NSBundleExecutableArchitectureI386 NSBundleExecutableArchitecturePPC NSBundleExecutableArchitectureX86_64 NSBundleExecutableArchitecturePPC64
Bram Moolenaar256972a2015-12-29 19:10:25 +0100374syn keyword objcNotificationValue NSBundleDidLoadNotification NSLoadedClasses NSBundleResourceRequestLowDiskSpaceNotification
375syn keyword objcConstVar NSBundleResourceRequestLoadingPriorityUrgent
Bram Moolenaarec7944a2013-06-12 21:29:15 +0200376"""""""""""""""""
377" NSProcessInfo.h
378syn match objcClass /NSProcessInfo\s*\*/me=s+13,he=s+13
379syn keyword objcEnumValue NSWindowsNTOperatingSystem NSWindows95OperatingSystem NSSolarisOperatingSystem NSHPUXOperatingSystem NSMACHOperatingSystem NSSunOSOperatingSystem NSOSF1OperatingSystem
Bram Moolenaar256972a2015-12-29 19:10:25 +0100380syn keyword objcType NSOperatingSystemVersion
381syn keyword objcEnum NSActivityOptions NSProcessInfoThermalState
382syn keyword objcEnumValue NSActivityIdleDisplaySleepDisabled NSActivityIdleSystemSleepDisabled NSActivitySuddenTerminationDisabled NSActivityAutomaticTerminationDisabled NSActivityUserInitiated NSActivityUserInitiatedAllowingIdleSystemSleep NSActivityBackground NSActivityLatencyCritical NSProcessInfoThermalStateNominal NSProcessInfoThermalStateFair NSProcessInfoThermalStateSerious NSProcessInfoThermalStateCritical
383syn keyword objcNotificationValue NSProcessInfoThermalStateDidChangeNotification NSProcessInfoPowerStateDidChangeNotification
Bram Moolenaarec7944a2013-06-12 21:29:15 +0200384" NSTask.h
385syn match objcClass /NSTask\s*\*/me=s+6,he=s+6
386syn keyword objcEnum NSTaskTerminationReason
387syn keyword objcEnumValue NSTaskTerminationReasonExit NSTaskTerminationReasonUncaughtSignal
388syn keyword objcNotificationValue NSTaskDidTerminateNotification
389" NSThread.h
390syn match objcClass /NSThread\s*\*/me=s+8,he=s+8
391syn keyword objcNotificationValue NSWillBecomeMultiThreadedNotification NSDidBecomeSingleThreadedNotification NSThreadWillExitNotification
392" NSLock.h
393syn match objcClass /NSLock\s*\*/me=s+6,he=s+6
394syn match objcClass /NSConditionLock\s*\*/me=s+15,he=s+15
395syn match objcClass /NSRecursiveLock\s*\*/me=s+15,he=s+15
396" NSDictributedLock
397syn match objcClass /NSDistributedLock\s*\*/me=s+17,he=s+17
398" NSOperation.h
399""""""""""""""""
400syn match objcClass /NSOperation\s*\*/me=s+11,he=s+11
401syn keyword objcEnum NSOperationQueuePriority
402syn keyword objcEnumValue NSOperationQueuePriorityVeryLow NSOperationQueuePriorityLow NSOperationQueuePriorityNormal NSOperationQueuePriorityHigh NSOperationQueuePriorityVeryHigh
403syn match objcClass /NSBlockOperation\s*\*/me=s+16,he=s+16
404syn match objcClass /NSInvocationOperation\s*\*/me=s+21,he=s+21
405syn keyword objcExceptionValue NSInvocationOperationVoidResultException NSInvocationOperationCancelledException
406syn match objcClass /NSOperationQueue\s*\*/me=s+16,he=s+16
407syn keyword objcEnumValue NSOperationQueueDefaultMaxConcurrentOperationCount
408" NSConnection.h
409syn match objcClass /NSConnection\s*\*/me=s+12,he=s+12
410syn keyword objcConstVar NSConnectionReplyMode
411syn keyword objcNotificationValue NSConnectionDidDieNotification NSConnectionDidInitializeNotification
412syn keyword objcExceptionValue NSFailedAuthenticationException
413" NSPort.h
414syn match objcClass /NSPort\s*\*/me=s+6,he=s+6
415syn keyword objcType NSSocketNativeHandle
416syn keyword objcNotificationValue NSPortDidBecomeInvalidNotification
417syn match objcClass /NSMachPort\s*\*/me=s+10,he=s+10
Bram Moolenaar256972a2015-12-29 19:10:25 +0100418syn keyword objcEnum NSMachPortOptions
Bram Moolenaarec7944a2013-06-12 21:29:15 +0200419syn keyword objcEnumValue NSMachPortDeallocateNone NSMachPortDeallocateSendRight NSMachPortDeallocateReceiveRight
420syn match objcClass /NSMessagePort\s*\*/me=s+13,he=s+13
421syn match objcClass /NSSocketPort\s*\*/me=s+12,he=s+12
422" NSPortMessage.h
423syn match objcClass /NSPortMessage\s*\*/me=s+13,he=s+13
424" NSDistantObject.h
425syn match objcClass /NSDistantObject\s*\*/me=s+15,he=s+15
426" NSPortNameServer.h
427syn match objcClass /NSPortNameServer\s*\*/me=s+16,he=s+16
428syn match objcClass /NSMessagePortNameServer\s*\*/me=s+23,he=s+23
429syn match objcClass /NSSocketPortNameServer\s*\*/me=s+22,he=s+22
430" NSHost.h
431syn match objcClass /NSHost\s*\*/me=s+6,he=s+6
432" NSInvocation.h
433syn match objcClass /NSInvocation\s*\*/me=s+12,he=s+12
434" NSMethodSignature.h
435syn match objcClass /NSMethodSignature\s*\*/me=s+17,he=s+17
436"""""
437" NSScanner.h
438syn match objcClass /NSScanner\s*\*/me=s+9,he=s+9
439" NSTimer.h
440syn match objcClass /NSTimer\s*\*/me=s+7,he=s+7
441" NSAutoreleasePool.h
442syn match objcClass /NSAutoreleasePool\s*\*/me=s+17,he=s+17
443" NSRunLoop.h
444syn match objcClass /NSRunLoop\s*\*/me=s+9,he=s+9
445syn keyword objcConstVar NSDefaultRunLoopMode NSRunLoopCommonModes
446" NSNull.h
447syn match objcClass /NSNull\s*\*/me=s+6,he=s+6
448" NSProxy.h
449syn match objcClass /NSProxy\s*\*/me=s+7,he=s+7
450" NSObject.h
451syn match objcClass /NSObject\s*\*/me=s+8,he=s+8
452
Bram Moolenaar256972a2015-12-29 19:10:25 +0100453
454" NSCache.h
455syn match objcClass /NSCache\s*\*/me=s+7,he=s+7
456syn match objcClass /NSCache<.*>\s*\*/me=s+7,he=s+7 contains=objcTypeInfoParams
457" NSHashTable.h
458syn match objcClass /NSHashTable\s*\*/me=s+11,he=s+11
459syn match objcClass /NSHashTable<.*>\s*\*/me=s+11,he=s+11 contains=objcTypeInfoParams
460syn keyword objcConstVar NSHashTableStrongMemory NSHashTableZeroingWeakMemory NSHashTableCopyIn NSHashTableObjectPointerPersonality NSHashTableWeakMemory
461syn keyword objcType NSHashTableOptions NSHashEnumerator NSHashTableCallBacks
462syn keyword objcConstVar NSIntegerHashCallBacks NSNonOwnedPointerHashCallBacks NSNonRetainedObjectHashCallBacks NSObjectHashCallBacks NSOwnedObjectIdentityHashCallBacks NSOwnedPointerHashCallBacks NSPointerToStructHashCallBacks NSOwnedObjectIdentityHashCallBacks NSOwnedObjectIdentityHashCallBacks NSIntHashCallBacks
463" NSMapTable.h
464syn match objcClass /NSMapTable\s*\*/me=s+10,he=s+10
465syn match objcClass /NSMapTable<.*>\s*\*/me=s+10,he=s+10 contains=objcTypeInfoParams
466syn keyword objcConstVar NSPointerToStructHashCallBacks NSPointerToStructHashCallBacks NSPointerToStructHashCallBacks NSPointerToStructHashCallBacks NSPointerToStructHashCallBacks
467syn keyword objcConstVar NSMapTableStrongMemory NSMapTableZeroingWeakMemory NSMapTableCopyIn NSMapTableObjectPointerPersonality NSMapTableWeakMemory
468syn keyword objcType NSMapTableOptions NSMapEnumerator NSMapTableKeyCallBacks NSMapTableValueCallBacks
469syn keyword objcMacro NSNotAnIntMapKey NSNotAnIntegerMapKey NSNotAPointerMapKey
470syn keyword objcConstVar NSIntegerMapKeyCallBacks NSNonOwnedPointerMapKeyCallBacks NSNonOwnedPointerOrNullMapKeyCallBacks NSNonRetainedObjectMapKeyCallBacks NSObjectMapKeyCallBacks NSOwnedPointerMapKeyCallBacks NSIntMapKeyCallBacks NSIntegerMapValueCallBacks NSNonOwnedPointerMapValueCallBacks NSObjectMapValueCallBacks NSNonRetainedObjectMapValueCallBacks NSOwnedPointerMapValueCallBacks NSIntMapValueCallBacks
471
472" NSPointerFunctions.h
473syn match objcClass /NSPointerFunctions\s*\*/me=s+18,he=s+18
474syn keyword objcEnum NSPointerFunctionsOptions
475syn keyword objcEnumValue NSPointerFunctionsStrongMemory NSPointerFunctionsZeroingWeakMemory NSPointerFunctionsOpaqueMemory NSPointerFunctionsMallocMemory NSPointerFunctionsMachVirtualMemory NSPointerFunctionsWeakMemory NSPointerFunctionsObjectPersonality NSPointerFunctionsOpaquePersonality NSPointerFunctionsObjectPointerPersonality NSPointerFunctionsCStringPersonality NSPointerFunctionsStructPersonality NSPointerFunctionsIntegerPersonality NSPointerFunctionsCopyIn
476
477
Bram Moolenaarec7944a2013-06-12 21:29:15 +0200478""" Default Highlighting
479hi def link objcPreProcMacro cConstant
480hi def link objcPrincipalType cType
481hi def link objcUsefulTerm cConstant
482hi def link objcImport cInclude
483hi def link objcImported cString
484hi def link objcObjDef cOperator
485hi def link objcProtocol cOperator
486hi def link objcProperty cOperator
487hi def link objcIvarScope cOperator
488hi def link objcInternalRep cOperator
489hi def link objcException cOperator
490hi def link objcThread cOperator
491hi def link objcPool cOperator
Bram Moolenaar52b91d82013-06-15 21:39:51 +0200492hi def link objcModuleImport cOperator
Bram Moolenaarec7944a2013-06-12 21:29:15 +0200493hi def link objcSpecial cSpecial
494hi def link objcString cString
495hi def link objcHiddenArgument cStatement
496hi def link objcBlocksQualifier cStorageClass
497hi def link objcObjectLifetimeQualifier cStorageClass
498hi def link objcTollFreeBridgeQualifier cStorageClass
499hi def link objcRemoteMessagingQualifier cStorageClass
Bram Moolenaar256972a2015-12-29 19:10:25 +0100500hi def link objcStorageClass cStorageClass
Bram Moolenaarec7944a2013-06-12 21:29:15 +0200501hi def link objcFastEnumKeyword cStatement
502hi def link objcLiteralSyntaxNumber cNumber
503hi def link objcLiteralSyntaxChar cCharacter
504hi def link objcLiteralSyntaxSpecialChar cCharacter
505hi def link objcLiteralSyntaxOp cOperator
506hi def link objcDeclPropAccessorName cConstant
507hi def link objcDeclPropAccessorType cConstant
508hi def link objcDeclPropAssignSemantics cConstant
509hi def link objcDeclPropAtomicity cConstant
510hi def link objcDeclPropARC cConstant
Bram Moolenaar256972a2015-12-29 19:10:25 +0100511hi def link objcDeclPropNullable cConstant
512hi def link objcDeclPropNonnull cConstant
513hi def link objcDeclPropNullUnspecified cConstant
514hi def link objcDeclProcNullResettable cConstant
Bram Moolenaarec7944a2013-06-12 21:29:15 +0200515hi def link objcInstanceMethod Function
516hi def link objcClassMethod Function
517hi def link objcType cType
518hi def link objcClass cType
Bram Moolenaar256972a2015-12-29 19:10:25 +0100519hi def link objcTypeSpecifier cType
Bram Moolenaarec7944a2013-06-12 21:29:15 +0200520hi def link objcMacro cConstant
521hi def link objcEnum cType
522hi def link objcEnumValue cConstant
523hi def link objcExceptionValue cConstant
524hi def link objcNotificationValue cConstant
525hi def link objcConstVar cConstant
Bram Moolenaar256972a2015-12-29 19:10:25 +0100526hi def link objcTypeInfoParams Identifier
Bram Moolenaarec7944a2013-06-12 21:29:15 +0200527
528""" Final step
Bram Moolenaar071d4272004-06-13 20:20:40 +0000529let b:current_syntax = "objc"
Bram Moolenaarec7944a2013-06-12 21:29:15 +0200530let &cpo = s:cpo_save
531unlet s:cpo_save
Bram Moolenaar071d4272004-06-13 20:20:40 +0000532
Bram Moolenaarec7944a2013-06-12 21:29:15 +0200533" vim: ts=8 sw=2 sts=2