summaryrefslogtreecommitdiffstats
path: root/after/syntax/objc.vim
blob: 093688b1fb14514df3f8234129d467ae96dba266 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'objc') == -1

" ARC type modifiers
syn keyword objcTypeModifier __bridge __bridge_retained __bridge_transfer __autoreleasing __strong __weak __unsafe_unretained

" Block modifiers
syn keyword objcTypeModifier __block

" Remote messaging modifiers
syn keyword objcTypeModifier byref

" Property keywords - these are only highlighted inside '@property (...)'
syn keyword objcPropertyAttribute contained getter setter readwrite readonly strong weak copy assign retain nonatomic
syn match objcProperty display "^\s*@property\>\s*([^)]*)" contains=objcPropertyAttribute

" The @property directive must be defined after objcProperty or it won't be
" highlighted
syn match objcDirective "@property\|@synthesize\|@dynamic\|@package"

" Highlight property attributes as if they were type modifiers
hi def link objcPropertyAttribute objcTypeModifier

endif