-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathobjectivec.js
83 lines (82 loc) · 2.88 KB
/
objectivec.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
module.exports = function(hljs) {
var OBJC_KEYWORDS = {
keyword:
'int float while private char catch export sizeof typedef const struct for union ' +
'unsigned long volatile static protected bool mutable if public do return goto void ' +
'enum else break extern asm case short default double throw register explicit ' +
'signed typename try this switch continue wchar_t inline readonly assign property ' +
'self synchronized end synthesize id optional required ' +
'nonatomic super unichar finally dynamic IBOutlet IBAction selector strong ' +
'weak readonly',
literal:
'false true FALSE TRUE nil YES NO NULL',
built_in:
'NSString NSDictionary CGRect CGPoint UIButton UILabel UITextView UIWebView MKMapView ' +
'UISegmentedControl NSObject UITableViewDelegate UITableViewDataSource NSThread ' +
'UIActivityIndicator UITabbar UIToolBar UIBarButtonItem UIImageView NSAutoreleasePool ' +
'UITableView BOOL NSInteger CGFloat NSException NSLog NSMutableString NSMutableArray ' +
'NSMutableDictionary NSURL NSIndexPath CGSize UITableViewCell UIView UIViewController ' +
'UINavigationBar UINavigationController UITabBarController UIPopoverController ' +
'UIPopoverControllerDelegate UIImage NSNumber UISearchBar NSFetchedResultsController ' +
'NSFetchedResultsChangeType UIScrollView UIScrollViewDelegate UIEdgeInsets UIColor ' +
'UIFont UIApplication NSNotFound NSNotificationCenter NSNotification ' +
'UILocalNotification NSBundle NSFileManager NSTimeInterval NSDate NSCalendar ' +
'NSUserDefaults UIWindow NSRange NSArray NSError NSURLRequest NSURLConnection ' +
'UIInterfaceOrientation MPMoviePlayerController dispatch_once_t ' +
'dispatch_queue_t dispatch_sync dispatch_async dispatch_once'
};
return {
keywords: OBJC_KEYWORDS,
illegal: '</',
contains: [
hljs.C_LINE_COMMENT_MODE,
hljs.C_BLOCK_COMMENT_MODE,
hljs.C_NUMBER_MODE,
hljs.QUOTE_STRING_MODE,
{
className: 'string',
begin: '\'',
end: '[^\\\\]\'',
illegal: '[^\\\\][^\']'
},
{
className: 'preprocessor',
begin: '#import',
end: '$',
contains: [
{
className: 'title',
begin: '\"',
end: '\"'
},
{
className: 'title',
begin: '<',
end: '>'
}
]
},
{
className: 'preprocessor',
begin: '#',
end: '$'
},
{
className: 'class',
beginWithKeyword: true,
end: '({|$)',
keywords: 'interface class protocol implementation',
contains: [{
className: 'id',
begin: hljs.UNDERSCORE_IDENT_RE
}
]
},
{
className: 'variable',
begin: '\\.'+hljs.UNDERSCORE_IDENT_RE,
relevance: 0
}
]
};
};