'// Test various types of includes\n' Comment.Single

'#'           Comment.Preproc
'import <Foundation' Comment.Preproc
'/'           Comment.Preproc
'Foundation.h>' Comment.Preproc
'\n'          Comment.Preproc

'#'           Comment.Preproc
' import <AppKit' Comment.Preproc
'/'           Comment.Preproc
'AppKit.h>'   Comment.Preproc
'\n'          Comment.Preproc

'#'           Comment.Preproc
'import "stdio.h"' Comment.Preproc
'\n'          Comment.Preproc

'#'           Comment.Preproc
'\\'          Comment.Preproc
'\n'          Comment.Preproc

'  import \\' Comment.Preproc
'\n'          Comment.Preproc

'  "stdlib.h"' Comment.Preproc
'\n'          Comment.Preproc

'#'           Comment.Preproc
' '           Comment.Preproc
'/*line1*/'   Comment.Multiline
' \\'         Comment.Preproc
'\n'          Comment.Preproc

'import '     Comment.Preproc
'/* line 2 */' Comment.Multiline
' \\'         Comment.Preproc
'\n'          Comment.Preproc

'"stdlib.h" ' Comment.Preproc
'// line 3\n' Comment.Single

'\n'          Text.Whitespace

'// Commented out code with preprocessor\n' Comment.Single

'#if 0'       Comment.Preproc
'\n'          Comment

'#define MY_NUMBER 3\n' Comment

'#endif\n'    Comment.Preproc

'\n'          Text.Whitespace

' '           Text.Whitespace
'#'           Comment.Preproc
'\\'          Comment.Preproc
'\n'          Comment.Preproc

'  if 1'      Comment.Preproc
'\n'          Comment.Preproc

'#'           Comment.Preproc
'define TEST_NUMBER 3' Comment.Preproc
'\n'          Comment.Preproc

'#'           Comment.Preproc
'endif'       Comment.Preproc
'\n'          Comment.Preproc

'\n'          Text.Whitespace

'// Empty preprocessor\n' Comment.Single

'#'           Comment.Preproc
'\n'          Comment.Preproc

'\n'          Text.Whitespace

'// Class forward declaration\n' Comment.Single

'@class'      Keyword
' '           Text
'MyClass'     Name.Builtin.Pseudo
';'           Text
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'// Empty classes\n' Comment.Single

'@interface'  Keyword
' '           Text
'EmptyClass'  Name.Class
'\n'          Text.Whitespace

'@end'        Keyword
'\n'          Text.Whitespace

'@interface'  Keyword
' '           Text
'EmptyClass2' Name.Class
'\n'          Text

'{'           Punctuation
'\n'          Text.Whitespace

'}'           Punctuation
'\n'          Text.Whitespace

'@end'        Keyword
'\n'          Text.Whitespace

'@interface'  Keyword
' '           Text
'EmptyClass3' Name.Class
' : '         Text
'EmptyClass2' Name.Class
'\n'          Text

'{'           Punctuation
'\n'          Text.Whitespace

'}'           Punctuation
'\n'          Text.Whitespace

'@end'        Keyword
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'// Custom class inheriting from built-in\n' Comment.Single

'@interface'  Keyword
' '           Text
'MyClass'     Name.Builtin.Pseudo
' : '         Text
'NSObject'    Name.Builtin.Pseudo
'\n'          Text

'{'           Punctuation
'\n'          Text.Whitespace

'@public'     Keyword
'\n'          Text.Whitespace

'  '          Text.Whitespace
'NSString'    Name.Builtin.Pseudo
' '           Text.Whitespace
'*'           Operator
'myString'    Name
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'__weak'      Keyword
' '           Text.Whitespace
'NSString'    Name.Builtin.Pseudo
' '           Text.Whitespace
'*'           Operator
'_weakString' Name
';'           Punctuation
'\n'          Text.Whitespace

'@protected'  Keyword
'\n'          Text.Whitespace

'  '          Text.Whitespace
'NSTextField' Name
' '           Text.Whitespace
'*'           Operator
'_textField'  Name
';'           Punctuation
'\n'          Text.Whitespace

'@private'    Keyword
'\n'          Text.Whitespace

'  '          Text.Whitespace
'NSDate'      Name.Builtin.Pseudo
' '           Text.Whitespace
'*'           Operator
'privateDate' Name
';'           Punctuation
'\n'          Text.Whitespace

'}'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'// Various property aatributes\n' Comment.Single

'@property'   Keyword
'('           Punctuation
'copy'        Keyword
','           Punctuation
' '           Text.Whitespace
'readwrite'   Keyword
','           Punctuation
' '           Text.Whitespace
'nonatomic'   Keyword
')'           Punctuation
' '           Text.Whitespace
'NSString'    Name.Builtin.Pseudo
' '           Text.Whitespace
'*'           Operator
'myString'    Name
';'           Punctuation
'\n'          Text.Whitespace

'@property'   Keyword
'('           Punctuation
'weak'        Keyword
')'           Punctuation
' '           Text.Whitespace
'NSString'    Name.Builtin.Pseudo
' '           Text.Whitespace
'*'           Operator
'weakString'  Name
';'           Punctuation
'\n'          Text.Whitespace

'@property'   Keyword
'('           Punctuation
'retain'      Keyword
','           Punctuation
' '           Text.Whitespace
'strong'      Keyword
','           Punctuation
' '           Text.Whitespace
'atomic'      Keyword
')'           Punctuation
' '           Text.Whitespace
'IBOutlet'    Keyword.Type
' '           Text.Whitespace
'NSTextField' Name
' '           Text.Whitespace
'*'           Operator
'textField'   Name
';'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'// Class methods\n' Comment.Single

'+'           Punctuation
' '           Text
'('           Punctuation
'void'        Keyword.Type
')'           Punctuation
'classMethod1:' Name.Function
'('           Punctuation
'NSString'    Name.Builtin.Pseudo
' '           Text.Whitespace
'*'           Operator
')'           Punctuation
'arg'         Name.Variable
';'           Punctuation
'\n'          Text.Whitespace

'+'           Punctuation
' '           Text
'('           Punctuation
'void'        Keyword.Type
')'           Punctuation
'classMethod2:' Name.Function
'('           Punctuation
'NSString'    Name.Builtin.Pseudo
' '           Text.Whitespace
'*'           Operator
')'           Punctuation
' '           Text
'arg'         Name.Variable
';'           Punctuation
' '           Text.Whitespace
'// Test space before arg\n' Comment.Single

'\n'          Text.Whitespace

'@end'        Keyword
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'typedef'     Keyword
' '           Text.Whitespace
'id'          Keyword.Type
' '           Text.Whitespace
'B'           Name
';'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'#'           Comment.Preproc
'pragma mark MyMarker' Comment.Preproc
'\n'          Comment.Preproc

'\n'          Text.Whitespace

'// MyClass.m\n' Comment.Single

'// Class extension to declare private property\n' Comment.Single

'@interface'  Keyword
' '           Text
'MyClass'     Name.Builtin.Pseudo
' '           Text.Whitespace
'('           Punctuation
')'           Punctuation
'\n'          Text.Whitespace

'@property'   Keyword
'('           Punctuation
'retain'      Keyword
')'           Punctuation
' '           Text.Whitespace
'NSDate'      Name.Builtin.Pseudo
' '           Text.Whitespace
'*'           Operator
'privateDate' Name
';'           Punctuation
'\n'          Text.Whitespace

'-'           Punctuation
' '           Text
'('           Punctuation
'void'        Keyword.Type
')'           Punctuation
'hiddenMethod' Name.Function
';'           Punctuation
'\n'          Text.Whitespace

'@end'        Keyword
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'// Special category\n' Comment.Single

'@interface'  Keyword
' '           Text
'MyClass'     Name.Builtin.Pseudo
' '           Text
'(Special)'   Name.Label
'\n'          Text.Whitespace

'@property'   Keyword
'('           Punctuation
'retain'      Keyword
')'           Punctuation
' '           Text.Whitespace
'NSDate'      Name.Builtin.Pseudo
' '           Text.Whitespace
'*'           Operator
'specialDate' Name
';'           Punctuation
'\n'          Text.Whitespace

'@end'        Keyword
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'@implementation' Keyword
' '           Text
'MyClass'     Name.Builtin.Pseudo
'\n'          Text.Whitespace

'@synthesize' Keyword
' '           Text.Whitespace
'myString'    Name
';'           Punctuation
'\n'          Text.Whitespace

'@synthesize' Keyword
' '           Text.Whitespace
'privateDate' Name
';'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'-'           Punctuation
' '           Text
'('           Punctuation
'id'          Keyword.Type
')'           Punctuation
'a:'          Name.Function
'('           Punctuation
'B'           Name
')'           Punctuation
'b'           Name.Variable
' '           Text.Whitespace
'{'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'/**\n   * C-style comment\n   */' Comment.Multiline
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'  '          Text.Whitespace
'// Selector keywords/types\n' Comment.Single

'  '          Text.Whitespace
'SEL'         Keyword.Type
' '           Text.Whitespace
'someMethod'  Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'@selector'   Keyword
'('           Punctuation
'hiddenMethod' Name
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'  '          Text.Whitespace
'// Boolean types\n' Comment.Single

'  '          Text.Whitespace
'Boolean'     Keyword.Type
' '           Text.Whitespace
'b1'          Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'FALSE'       Name.Builtin
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'BOOL'        Keyword.Type
' '           Text.Whitespace
'b2'          Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'NO'          Name.Builtin
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'bool'        Keyword.Type
' '           Text.Whitespace
'b3'          Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'true'        Name.Builtin
';'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'  '          Text.Whitespace
'/**\n   * Number literals\n   */' Comment.Multiline
'\n'          Text.Whitespace

'  '          Text.Whitespace
'// Int Literal\n' Comment.Single

'  '          Text.Whitespace
'NSNumber'    Name.Builtin.Pseudo
' '           Text.Whitespace
'*'           Operator
'n1'          Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'@('          Literal
' '           Text.Whitespace
'1'           Literal.Number.Integer
' '           Text.Whitespace
')'           Literal
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'// Method call\n' Comment.Single

'  '          Text.Whitespace
'NSNumber'    Name.Builtin.Pseudo
' '           Text.Whitespace
'*'           Operator
'n2'          Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'@('          Literal
' '           Text.Whitespace
'['           Punctuation
'b'           Name
' '           Text.Whitespace
'length'      Name
']'           Punctuation
' '           Text.Whitespace
')'           Literal
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'// Define variable\n' Comment.Single

'  '          Text.Whitespace
'NSNumber'    Name.Builtin.Pseudo
' '           Text.Whitespace
'*'           Operator
'n3'          Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'@('          Literal
' '           Text.Whitespace
'TEST_NUMBER' Name
' '           Text.Whitespace
')'           Literal
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'// Arthimetic expression\n' Comment.Single

'  '          Text.Whitespace
'NSNumber'    Name.Builtin.Pseudo
' '           Text.Whitespace
'*'           Operator
'n4'          Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'@('          Literal
'1'           Literal.Number.Integer
' '           Text.Whitespace
'+'           Operator
' '           Text.Whitespace
'2'           Literal.Number.Integer
')'           Literal
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'// From variable\n' Comment.Single

'  '          Text.Whitespace
'int'         Keyword.Type
' '           Text.Whitespace
'myInt'       Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'5'           Literal.Number.Integer
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'NSNumber'    Name.Builtin.Pseudo
' '           Text.Whitespace
'*'           Operator
'n5'          Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'@('          Literal
'myInt'       Name
')'           Literal
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'// Nest expression\n' Comment.Single

'  '          Text.Whitespace
'NSNumber'    Name.Builtin.Pseudo
' '           Text.Whitespace
'*'           Operator
'n6'          Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'@('          Literal
'1'           Literal.Number.Integer
' '           Text.Whitespace
'+'           Operator
' '           Text.Whitespace
'('           Punctuation
'2'           Literal.Number.Integer
' '           Text.Whitespace
'+'           Operator
' '           Text.Whitespace
'6.0'         Literal.Number.Float
')'           Punctuation
')'           Literal
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'// Bool literal\n' Comment.Single

'  '          Text.Whitespace
'NSNumber'    Name.Builtin.Pseudo
' '           Text.Whitespace
'*'           Operator
'n7'          Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'@NO'         Literal.Number
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'// Bool expression\n' Comment.Single

'  '          Text.Whitespace
'NSNumber'    Name.Builtin.Pseudo
' '           Text.Whitespace
'*'           Operator
'n8'          Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'@('          Literal
'YES'         Name.Builtin
')'           Literal
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'// Character\n' Comment.Single

'  '          Text.Whitespace
'NSNumber'    Name.Builtin.Pseudo
' '           Text.Whitespace
'*'           Operator
'n9'          Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
"@'a'"        Literal.String.Char
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'// int\n'    Comment.Single

'  '          Text.Whitespace
'NSNumber'    Name.Builtin.Pseudo
' '           Text.Whitespace
'*'           Operator
'n10'         Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'@123'        Literal.Number.Integer
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'// unsigned\n' Comment.Single

'  '          Text.Whitespace
'NSNumber'    Name.Builtin.Pseudo
' '           Text.Whitespace
'*'           Operator
'n11'         Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'@1234'       Literal.Number.Integer
'U'           Name
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'// long\n'   Comment.Single

'  '          Text.Whitespace
'NSNumber'    Name.Builtin.Pseudo
' '           Text.Whitespace
'*'           Operator
'n12'         Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'@1234567890L' Literal.Number.Integer
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'// float\n'  Comment.Single

'  '          Text.Whitespace
'NSNumber'    Name.Builtin.Pseudo
' '           Text.Whitespace
'*'           Operator
'n13'         Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'@3.14F'      Literal.Number.Float
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'// double\n' Comment.Single

'  '          Text.Whitespace
'NSNumber'    Name.Builtin.Pseudo
' '           Text.Whitespace
'*'           Operator
'n14'         Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'@3.14F'      Literal.Number.Float
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'\n'          Text.Whitespace

'  '          Text.Whitespace
'// Array literals\n' Comment.Single

'  '          Text.Whitespace
'NSArray'     Name.Builtin.Pseudo
' '           Text.Whitespace
'*'           Operator
'arr'         Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'@['          Literal
' '           Text.Whitespace
'@"'          Literal.String
'1'           Literal.String
'"'           Literal.String
','           Punctuation
' '           Text.Whitespace
'@"'          Literal.String
'2'           Literal.String
'"'           Literal.String
' '           Text.Whitespace
']'           Literal
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'arr'         Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'@['          Literal
' '           Text.Whitespace
'@['          Literal
' '           Text.Whitespace
'@"'          Literal.String
'1'           Literal.String
'"'           Literal.String
','           Punctuation
' '           Text.Whitespace
'@"'          Literal.String
'2'           Literal.String
'"'           Literal.String
' '           Text.Whitespace
']'           Literal
','           Punctuation
' '           Text.Whitespace
'['           Punctuation
'arr'         Name
' '           Text.Whitespace
'lastObject'  Name
']'           Punctuation
' '           Text.Whitespace
']'           Literal
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'['           Punctuation
'arr'         Name
' '           Text.Whitespace
'lastObject'  Name
']'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'['           Punctuation
'@['          Literal
' '           Text.Whitespace
'@"'          Literal.String
'1'           Literal.String
'"'           Literal.String
','           Punctuation
' '           Text.Whitespace
'@"'          Literal.String
'2'           Literal.String
'"'           Literal.String
' '           Text.Whitespace
']'           Literal
' '           Text.Whitespace
'lastObject'  Name
']'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'\n'          Text.Whitespace

'  '          Text.Whitespace
'// Dictionary literals\n' Comment.Single

'  '          Text.Whitespace
'NSDictionary' Name.Builtin.Pseudo
' '           Text.Whitespace
'*'           Operator
'd'           Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'@{'          Literal
' '           Text.Whitespace
'@"'          Literal.String
'key'         Literal.String
'"'           Literal.String
':'           Operator
' '           Text.Whitespace
'@"'          Literal.String
'value'       Literal.String
'"'           Literal.String
' '           Text.Whitespace
'}'           Literal
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'['           Punctuation
'['           Punctuation
'd'           Name
' '           Text.Whitespace
'allKeys'     Name
']'           Punctuation
' '           Text.Whitespace
'lastObject'  Name
']'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'['           Punctuation
'['           Punctuation
'@{'          Literal
' '           Text.Whitespace
'@"'          Literal.String
'key'         Literal.String
'"'           Literal.String
':'           Operator
' '           Text.Whitespace
'@"'          Literal.String
'value'       Literal.String
'"'           Literal.String
' '           Text.Whitespace
'}'           Literal
' '           Text.Whitespace
'allKeys'     Name
']'           Punctuation
' '           Text.Whitespace
'lastObject'  Name
']'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'd'           Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'@{'          Literal
' '           Text.Whitespace
'@"'          Literal.String
'key'         Literal.String
'"'           Literal.String
':'           Operator
' '           Text.Whitespace
'@{'          Literal
' '           Text.Whitespace
'@"'          Literal.String
'key'         Literal.String
'"'           Literal.String
':'           Operator
' '           Text.Whitespace
'@"'          Literal.String
'value'       Literal.String
'"'           Literal.String
' '           Text.Whitespace
'}'           Literal
' '           Text.Whitespace
'}'           Literal
';'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'  '          Text.Whitespace
'['           Punctuation
'self'        Name.Builtin
' '           Text.Whitespace
'hiddenMethod' Name
']'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'['           Punctuation
'b'           Name
' '           Text.Whitespace
'length'      Name
']'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'['           Punctuation
'privateDate' Name
' '           Text.Whitespace
'class'       Keyword
']'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'  '          Text.Whitespace
'NSDictionary' Name.Builtin.Pseudo
' '           Text.Whitespace
'*'           Operator
'dictionary'  Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'['           Punctuation
'NSDictionary' Name.Builtin.Pseudo
' '           Text.Whitespace
'dictionaryWithObjectsAndKeys' Name
':'           Operator
'\n'          Text.Whitespace

'                              ' Text.Whitespace
'@"'          Literal.String
'1'           Literal.String
'"'           Literal.String
','           Punctuation
' '           Text.Whitespace
'@"'          Literal.String
'one'         Literal.String
'"'           Literal.String
','           Punctuation
' '           Text.Whitespace
'@"'          Literal.String
'2'           Literal.String
'"'           Literal.String
','           Punctuation
' '           Text.Whitespace
'@"'          Literal.String
'two'         Literal.String
'"'           Literal.String
','           Punctuation
' '           Text.Whitespace
'@"'          Literal.String
'3'           Literal.String
'"'           Literal.String
','           Punctuation
' '           Text.Whitespace
'@"'          Literal.String
'three'       Literal.String
'"'           Literal.String
','           Punctuation
' '           Text.Whitespace
'nil'         Name.Builtin
']'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'\n'          Text.Whitespace

'  '          Text.Whitespace
'NSString'    Name.Builtin.Pseudo
' '           Text.Whitespace
'*'           Operator
'key'         Name
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'for'         Keyword
' '           Text.Whitespace
'('           Punctuation
'key'         Name
' '           Text.Whitespace
'in'          Keyword
' '           Text.Whitespace
'dictionary'  Name
')'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'NSLog'       Name
'('           Punctuation
'@"'          Literal.String
'Number: %@, Word: %@' Literal.String
'"'           Literal.String
','           Punctuation
' '           Text.Whitespace
'key'         Name
','           Punctuation
' '           Text.Whitespace
'['           Punctuation
'dictionary'  Name
' '           Text.Whitespace
'valueForKey' Name
':'           Operator
'key'         Name
']'           Punctuation
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'  '          Text.Whitespace
'// Blocks\n' Comment.Single

'  '          Text.Whitespace
'int'         Keyword.Type
' '           Text.Whitespace
'('           Punctuation
'^'           Operator
'myBlock'     Name
')'           Punctuation
'('           Punctuation
'int'         Keyword.Type
' '           Text.Whitespace
'arg1'        Name
','           Punctuation
' '           Text.Whitespace
'int'         Keyword.Type
' '           Text.Whitespace
'arg2'        Name
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'NSString'    Name.Builtin.Pseudo
' '           Text.Whitespace
'*'           Operator
'('           Punctuation
'^'           Operator
'myName'      Name
')'           Punctuation
'('           Punctuation
'NSString'    Name.Builtin.Pseudo
' '           Text.Whitespace
'*'           Operator
')'           Punctuation
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'^'           Operator
'('           Punctuation
'NSString'    Name.Builtin.Pseudo
' '           Text.Whitespace
'*'           Operator
'value'       Name
')'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'return'      Keyword
' '           Text.Whitespace
'value'       Name
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'}'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'  '          Text.Whitespace
'return'      Keyword
' '           Text.Whitespace
'nil'         Name.Builtin
';'           Punctuation
'\n'          Text.Whitespace

'}'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'-'           Punctuation
' '           Text
'('           Punctuation
'void'        Keyword.Type
')'           Punctuation
'hiddenMethod' Name.Function
' '           Text.Whitespace
'{'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'// Synchronized block\n' Comment.Single

'  '          Text.Whitespace
'@synchronized' Keyword
'('           Punctuation
'self'        Name.Builtin
')'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'['           Punctuation
'myString'    Name
' '           Text.Whitespace
'retain'      Keyword
']'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'['           Punctuation
'myString'    Name
' '           Text.Whitespace
'release'     Keyword
']'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'}'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'+'           Punctuation
' '           Text
'('           Punctuation
'void'        Keyword.Type
')'           Punctuation
'classMethod1:' Name.Function
'('           Punctuation
'NSString'    Name.Builtin.Pseudo
' '           Text.Whitespace
'*'           Operator
')'           Punctuation
'arg'         Name.Variable
' '           Text.Whitespace
'{'           Punctuation
'}'           Punctuation
'\n'          Text.Whitespace

'+'           Punctuation
' '           Text
'('           Punctuation
'void'        Keyword.Type
')'           Punctuation
'classMethod2:' Name.Function
'('           Punctuation
'NSString'    Name.Builtin.Pseudo
' '           Text.Whitespace
'*'           Operator
')'           Punctuation
' '           Text
'arg'         Name.Variable
'\n'          Text.Whitespace

'{'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'// Autorelease pool block\n' Comment.Single

'  '          Text.Whitespace
'@autoreleasepool' Keyword
' '           Text.Whitespace
'{'           Punctuation
'\n'          Text.Whitespace

'    '        Text.Whitespace
'NSLog'       Name
'('           Punctuation
'@"'          Literal.String
'Hello, World!' Literal.String
'"'           Literal.String
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'  '          Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'}'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'@end'        Keyword
'\n'          Text.Whitespace
