plugins/geshi/geshi/objc.php
changeset 2 9e3258dfae15
parent 0 441963e5b07a
child 3 f3e2bbbd2155
equal deleted inserted replaced
1:c715631f809a 2:9e3258dfae15
     1 <?php
     1 <?php
     2 /*************************************************************************************
     2 /*************************************************************************************
     3  * objc.php
     3  * objc.php
     4  * --------
     4  * --------
     5  * Author: M. Uli Kusterer (witness.of.teachtext@gmx.net)
     5  * Author: M. Uli Kusterer (witness.of.teachtext@gmx.net)
     6  * Copyright: (c) 2004 M. Uli Kusterer, Nigel McNie (http://qbnz.com/highlighter/)
     6  * Contributors: Quinn Taylor (quinntaylor@mac.com)
     7  * Release Version: 1.0.7.20
     7  * Copyright: (c) 2008 Quinn Taylor, 2004 M. Uli Kusterer, Nigel McNie (http://qbnz.com/highlighter/)
       
     8  * Release Version: 1.0.8.2
     8  * Date Started: 2004/06/04
     9  * Date Started: 2004/06/04
     9  *
    10  *
    10  * Objective C language file for GeSHi.
    11  * Objective-C language file for GeSHi.
    11  *
    12  *
    12  * CHANGES
    13  * CHANGES
    13  * -------
    14  * -------
       
    15  * 2008/07/11 (1.0.8)
       
    16  *   -  Added support for @ before strings being highlighted
       
    17  * 2008/06/10 (1.0.7.22)
       
    18  *   -  Added keywords for Objective-C 2.0 (Leopard+).
       
    19  *   -  Changed colors to match Xcode 3 highlighting more closely.
       
    20  *   -  Updated API for AppKit and Foundation; added CoreData classes.
       
    21  *   -  Updated URLs for AppKit and Foundation; split classes and protocols.
       
    22  *   -  Sorted all keyword group in reverse-alpha order for correct matching.
       
    23  *   -  Changed all keyword groups to be case-sensitive.
    14  * 2004/11/27 (1.0.0)
    24  * 2004/11/27 (1.0.0)
    15  *   -  First Release
    25  *   -  First Release
    16  *
    26  *
    17  * TODO (updated 2004/11/27)
    27  * TODO (updated 2004/11/27)
    18  * -------------------------
    28  * -------------------------
    36  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    46  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    37  *
    47  *
    38  ************************************************************************************/
    48  ************************************************************************************/
    39 
    49 
    40 $language_data = array (
    50 $language_data = array (
    41 	'LANG_NAME' => 'Objective C',
    51     'LANG_NAME' => 'Objective-C',
    42 	'COMMENT_SINGLE' => array(1 => '//', 2 => '#'),
    52     'COMMENT_SINGLE' => array(
    43 	'COMMENT_MULTI' => array('/*' => '*/'),
    53         //Compiler directives
    44 	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
    54         1 => '#',
    45 	'QUOTEMARKS' => array("'", '"'),
    55         //Single line C-Comments
    46 	'ESCAPE_CHAR' => '\\',
    56         2 => '//'
    47 	'KEYWORDS' => array(
    57         ),
    48 		1 => array(
    58     'COMMENT_MULTI' => array('/*' => '*/'),
    49 			'if', 'return', 'while', 'case', 'continue', 'default',
    59     'COMMENT_REGEXP' => array(
    50 			'do', 'else', 'for', 'switch', 'goto'
    60         //Multiline Continuation for single-line comment
    51 			),
    61         2 => '/\/\/(?:\\\\\\\\|\\\\\\n|.)*$/m',
    52 		2 => array(
    62         //Pseudo-Highlighting of the @-sign before strings
    53 			'NULL', 'false', 'break', 'true', 'enum', 'nil', 'Nil', 'errno', 'EDOM',
    63         3 => "/@(?=\")/"
    54 			'ERANGE', 'FLT_RADIX', 'FLT_ROUNDS', 'FLT_DIG', 'DBL_DIG', 'LDBL_DIG',
    64         ),
    55 			'FLT_EPSILON', 'DBL_EPSILON', 'LDBL_EPSILON', 'FLT_MANT_DIG', 'DBL_MANT_DIG',
    65     'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
    56 			'LDBL_MANT_DIG', 'FLT_MAX', 'DBL_MAX', 'LDBL_MAX', 'FLT_MAX_EXP', 'DBL_MAX_EXP',
    66     'QUOTEMARKS' => array('"', "'"),
    57 			'LDBL_MAX_EXP', 'FLT_MIN', 'DBL_MIN', 'LDBL_MIN', 'FLT_MIN_EXP', 'DBL_MIN_EXP',
    67     'ESCAPE_CHAR' => '\\',
    58 			'LDBL_MIN_EXP', 'CHAR_BIT', 'CHAR_MAX', 'CHAR_MIN', 'SCHAR_MAX', 'SCHAR_MIN',
    68 
    59 			'UCHAR_MAX', 'SHRT_MAX', 'SHRT_MIN', 'USHRT_MAX', 'INT_MAX', 'INT_MIN',
    69     'KEYWORDS' => array(
    60 			'UINT_MAX', 'LONG_MAX', 'LONG_MIN', 'ULONG_MAX', 'HUGE_VAL', 'SIGABRT',
    70         // Objective-C keywords
    61 			'SIGFPE', 'SIGILL', 'SIGINT', 'SIGSEGV', 'SIGTERM', 'SIG_DFL', 'SIG_ERR',
    71         1 => array(
    62 			'SIG_IGN', 'BUFSIZ', 'EOF', 'FILENAME_MAX', 'FOPEN_MAX', 'L_tmpnam', 'NULL',
    72             'while', 'switch', 'return', 'in', 'if', 'goto', 'foreach', 'for',
    63 			'SEEK_CUR', 'SEEK_END', 'SEEK_SET', 'TMP_MAX', 'stdin', 'stdout', 'stderr',
    73             'else', 'do', 'default', 'continue', 'case', '@try', '@throw',
    64 			'EXIT_FAILURE', 'EXIT_SUCCESS', 'RAND_MAX', 'CLOCKS_PER_SEC'
    74             '@synthesize', '@synchronized', '@selector', '@public', '@protocol',
    65 			),
    75             '@protected', '@property', '@private', '@interface',
    66 		3 => array(
    76             '@implementation', '@finally', '@end', '@encode', '@defs', '@class',
    67 			'printf', 'fprintf', 'snprintf', 'sprintf', 'assert',
    77             '@catch'
    68 			'isalnum', 'isalpha', 'isdigit', 'iscntrl', 'isgraph', 'islower', 'isprint',
    78             ),
    69 			'ispunct', 'isspace', 'ispunct', 'isupper', 'isxdigit', 'tolower', 'toupper',
    79         // Macros and constants
    70 			'exp', 'log', 'log10', 'pow', 'sqrt', 'ceil', 'floor', 'fabs', 'ldexp',
    80         2 => array(
    71 			'frexp', 'modf', 'fmod', 'sin', 'cos', 'tan', 'asin', 'acos', 'atan', 'atan2',
    81             'YES', 'USHRT_MAX', 'ULONG_MAX', 'UINT_MAX', 'UCHAR_MAX', 'true',
    72 			'sinh', 'cosh', 'tanh', 'setjmp', 'longjmp', 'asin', 'acos', 'atan', 'atan2',
    82             'TMP_MAX', 'stdout', 'stdin', 'stderr', 'SIGTERM', 'SIGSEGV',
    73 			'va_start', 'va_arg', 'va_end', 'offsetof', 'sizeof', 'fopen', 'freopen',
    83             'SIGINT', 'SIGILL', 'SIG_IGN', 'SIGFPE', 'SIG_ERR', 'SIG_DFL',
    74 			'fflush', 'fclose', 'remove', 'rename', 'tmpfile', 'tmpname', 'setvbuf',
    84             'SIGABRT', 'SHRT_MIN', 'SHRT_MAX', 'SEEK_SET', 'SEEK_END',
    75 			'setbuf', 'vfprintf', 'vprintf', 'vsprintf', 'fscanf', 'scanf', 'sscanf',
    85             'SEEK_CUR', 'SCHAR_MIN', 'SCHAR_MAX', 'RAND_MAX', 'NULL',
    76 			'fgetc', 'fgets', 'fputc', 'fputs', 'getc', 'getchar', 'gets', 'putc',
    86             'NO', 'nil', 'Nil', 'L_tmpnam', 'LONG_MIN', 'LONG_MAX',
    77 			'putchar', 'puts', 'ungetc', 'fread', 'fwrite', 'fseek', 'ftell', 'rewind',
    87             'LDBL_MIN_EXP', 'LDBL_MIN', 'LDBL_MAX_EXP', 'LDBL_MAX',
    78 			'fgetpos', 'fsetpos', 'clearerr', 'feof', 'ferror', 'perror', 'abs', 'labs',
    88             'LDBL_MANT_DIG', 'LDBL_EPSILON', 'LDBL_DIG', 'INT_MIN', 'INT_MAX',
    79 			'div', 'ldiv', 'atof', 'atoi', 'atol', 'strtod', 'strtol', 'strtoul', 'calloc',
    89             'HUGE_VAL', 'FOPEN_MAX', 'FLT_ROUNDS', 'FLT_RADIX', 'FLT_MIN_EXP',
    80 			'malloc', 'realloc', 'free', 'abort', 'exit', 'atexit', 'system', 'getenv',
    90             'FLT_MIN', 'FLT_MAX_EXP', 'FLT_MAX', 'FLT_MANT_DIG', 'FLT_EPSILON',
    81 			'bsearch', 'qsort', 'rand', 'srand', 'strcpy', 'strncpy', 'strcat', 'strncat',
    91             'FLT_DIG', 'FILENAME_MAX', 'false', 'EXIT_SUCCESS', 'EXIT_FAILURE',
    82 			'strcmp', 'strncmp', 'strcoll', 'strchr', 'strrchr', 'strspn', 'strcspn',
    92             'errno', 'ERANGE', 'EOF', 'enum', 'EDOM', 'DBL_MIN_EXP', 'DBL_MIN',
    83 			'strpbrk', 'strstr', 'strlen', 'strerror', 'strtok', 'strxfrm', 'memcpy',
    93             'DBL_MAX_EXP', 'DBL_MAX', 'DBL_MANT_DIG', 'DBL_EPSILON', 'DBL_DIG',
    84 			'memmove', 'memcmp', 'memchr', 'memset', 'clock', 'time', 'difftime', 'mktime',
    94             'CLOCKS_PER_SEC', 'CHAR_MIN', 'CHAR_MAX', 'CHAR_BIT', 'BUFSIZ',
    85 			'asctime', 'ctime', 'gmtime', 'localtime', 'strftime'
    95             'break'
    86 			),
    96             ),
    87 		4 => array(   // Data types:
    97         // C standard library functions
    88 			'auto', 'char', 'const', 'double',  'float', 'int', 'long',
    98         3 => array(
    89 			'register', 'short', 'signed', 'sizeof', 'static', 'string', 'struct',
    99             'vsprintf', 'vprintf', 'vfprintf', 'va_start', 'va_end', 'va_arg',
    90 			'typedef', 'union', 'unsigned', 'void', 'volatile', 'extern', 'jmp_buf',
   100             'ungetc', 'toupper', 'tolower', 'tmpname', 'tmpfile', 'time',
    91 			'signal', 'raise', 'va_list', 'ptrdiff_t', 'size_t', 'FILE', 'fpos_t',
   101             'tanh', 'tan', 'system', 'strxfrm', 'strtoul', 'strtol', 'strtok',
    92 			'div_t', 'ldiv_t', 'clock_t', 'time_t', 'tm',
   102             'strtod', 'strstr', 'strspn', 'strrchr', 'strpbrk', 'strncpy',
    93 			// OpenStep/GNUstep/Cocoa:
   103             'strncmp', 'strncat', 'strlen', 'strftime', 'strerror', 'strcspn',
    94 			'SEL', 'id', 'NSRect', 'NSRange', 'NSPoint', 'NSZone', 'Class', 'IMP', 'BOOL',
   104             'strcpy', 'strcoll', 'strcmp', 'strchr', 'strcat', 'sscanf',
    95 			// OpenStep/GNUstep/Cocoa @identifiers
   105             'srand', 'sqrt', 'sprintf', 'snprintf', 'sizeof', 'sinh', 'sin',
    96 			'@selector', '@class', '@protocol', '@interface', '@implementation', '@end',
   106             'setvbuf', 'setjmp', 'setbuf', 'scanf', 'rewind', 'rename',
    97 			'@private', '@protected', '@public', '@try', '@throw', '@catch', '@finally',
   107             'remove', 'realloc', 'rand', 'qsort', 'puts', 'putchar', 'putc',
    98 			'@encode', '@defs', '@synchronized'
   108             'printf', 'pow', 'perror', 'offsetof', 'modf', 'mktime', 'memset',
    99 			),
   109             'memmove', 'memcpy', 'memcmp', 'memchr', 'malloc', 'longjmp',
   100         5 => array( // OpenStep/GNUstep/Cocoa Foundation
   110             'log10', 'log', 'localtime', 'ldiv', 'ldexp', 'labs', 'isxdigit',
   101 			'NSAppleEventDescriptor', 'NSNetService', 'NSAppleEventManager',
   111             'isupper', 'isspace', 'ispunct', 'isprint', 'islower',
   102 			'NSNetServiceBrowser', 'NSAppleScript', 'NSNotification', 'NSArchiver',
   112             'isgraph', 'isdigit', 'iscntrl', 'isalpha', 'isalnum', 'gmtime',
   103 			'NSNotificationCenter', 'NSArray', 'NSNotificationQueue', 'NSAssertionHandler',
   113             'gets', 'getenv', 'getchar', 'getc', 'fwrite', 'ftell', 'fsetpos',
   104 			'NSNull', 'NSAttributedString', 'NSNumber', 'NSAutoreleasePool',
   114             'fseek', 'fscanf', 'frexp', 'freopen', 'free', 'fread', 'fputs',
   105 			'NSNumberFormatter', 'NSBundle', 'NSObject', 'NSCachedURLResponse',
   115             'fputc', 'fprintf', 'fopen', 'fmod', 'floor', 'fgets', 'fgetpos',
   106 			'NSOutputStream', 'NSCalendarDate', 'NSPipe', 'NSCharacterSet', 'NSPort',
   116             'fgetc', 'fflush', 'ferror', 'feof', 'fclose', 'fabs', 'exp',
   107 			'NSClassDescription', 'NSPortCoder', 'NSCloneCommand', 'NSPortMessage',
   117             'exit', 'div', 'difftime', 'ctime', 'cosh', 'cos', 'clock',
   108 			'NSCloseCommand', 'NSPortNameServer', 'NSCoder', 'NSPositionalSpecifier',
   118             'clearerr', 'ceil', 'calloc', 'bsearch', 'atol', 'atoi', 'atof',
   109 			'NSConditionLock', 'NSProcessInfo', 'NSConnection', 'NSPropertyListSerialization',
   119             'atexit', 'atan2', 'atan', 'assert', 'asin', 'asctime', 'acos',
   110 			'NSCountCommand', 'NSPropertySpecifier', 'NSCountedSet', 'NSProtocolChecker',
   120             'abs', 'abort'
   111 			'NSCreateCommand', 'NSProxy', 'NSData', 'NSQuitCommand', 'NSDate',
   121             ),
   112 			'NSRandomSpecifier', 'NSDateFormatter', 'NSRangeSpecifier', 'NSDecimalNumber',
   122         // Data types (C, Objective-C, Cocoa)
   113 			'NSRecursiveLock', 'NSDecimalNumberHandler', 'NSRelativeSpecifier',
   123         4 => array(
   114 			'NSDeleteCommand', 'NSRunLoop', 'NSDeserializer', 'NSScanner', 'NSDictionary',
   124             'volatile', 'void', 'va_list', 'unsigned', 'union', 'typedef', 'tm',
   115 			'NSScriptClassDescription', 'NSDirectoryEnumerator', 'NSScriptCoercionHandler',
   125             'time_t', 'struct', 'string', 'static', 'size_t',
   116 			'NSDistantObject', 'NSScriptCommand', 'NSDistantObjectRequest',
   126             'signed', 'signal', 'short', 'SEL', 'register', 'raise',
   117 			'NSScriptCommandDescription', 'NSDistributedLock', 'NSScriptExecutionContext',
   127             'ptrdiff_t', 'NSZone', 'NSRect', 'NSRange', 'NSPoint', 'long',
   118 			'NSDistributedNotificationCenter', 'NSScriptObjectSpecifier', 'NSEnumerator',
   128             'ldiv_t', 'jmp_buf', 'int', 'IMP', 'id', 'fpos_t', 'float', 'FILE',
   119 			'NSScriptSuiteRegistry', 'NSError', 'NSScriptWhoseTest', 'NSException',
   129             'extern', 'double', 'div_t', 'const', 'clock_t', 'Class', 'char',
   120 			'NSSerializer', 'NSExistsCommand', 'NSSet', 'NSFileHandle', 'NSSetCommand',
   130             'BOOL', 'auto'
   121 			'NSFileManager', 'NSSocketPort', 'NSFormatter', 'NSSocketPortNameServer',
   131             ),
   122 			'NSGetCommand', 'NSSortDescriptor', 'NSHost', 'NSSpecifierTest', 'NSHTTPCookie',
   132         // Foundation classes
   123 			'NSSpellServer', 'NSHTTPCookieStorage', 'NSStream', 'NSHTTPURLResponse',
   133         5 => array(
   124 			'NSString', 'NSIndexSet', 'NSTask', 'NSIndexSpecifier', 'NSThread',
   134             'NSXMLParser', 'NSXMLNode', 'NSXMLElement', 'NSXMLDTDNode',
   125 			'NSInputStream', 'NSTimer', 'NSInvocation', 'NSTimeZone', 'NSKeyedArchiver',
   135             'NSXMLDTD', 'NSXMLDocument', 'NSWhoseSpecifier',
   126 			'NSUnarchiver', 'NSKeyedUnarchiver', 'NSUndoManager', 'NSLock',
   136             'NSValueTransformer', 'NSValue', 'NSUserDefaults', 'NSURLResponse',
   127 			'NSUniqueIDSpecifier', 'NSLogicalTest', 'NSURL', 'NSMachBootstrapServer',
   137             'NSURLRequest', 'NSURLProtocol', 'NSURLProtectionSpace',
   128 			'NSURLAuthenticationChallenge', 'NSMachPort', 'NSURLCache', 'NSMessagePort',
   138             'NSURLHandle', 'NSURLDownload', 'NSURLCredentialStorage',
   129 			'NSURLConnection', 'NSMessagePortNameServer', 'NSURLCredential',
   139             'NSURLCredential', 'NSURLConnection', 'NSURLCache',
   130 			'NSMethodSignature', 'NSURLCredentialStorage', 'NSMiddleSpecifier',
   140             'NSURLAuthenticationChallenge', 'NSURL', 'NSUniqueIDSpecifier',
   131 			'NSURLDownload', 'NSMoveCommand', 'NSURLHandle', 'NSMutableArray',
   141             'NSUndoManager', 'NSUnarchiver', 'NSTimeZone', 'NSTimer',
   132 			'NSURLProtectionSpace', 'NSMutableAttributedString', 'NSURLProtocol',
   142             'NSThread', 'NSTask', 'NSString', 'NSStream', 'NSSpellServer',
   133 			'NSMutableCharacterSet', 'NSURLRequest', 'NSMutableData', 'NSURLResponse',
   143             'NSSpecifierTest', 'NSSortDescriptor', 'NSSocketPortNameServer',
   134 			'NSMutableDictionary', 'NSUserDefaults', 'NSMutableIndexSet', 'NSValue',
   144             'NSSocketPort', 'NSSetCommand', 'NSSet', 'NSSerializer',
   135 			'NSMutableSet', 'NSValueTransformer', 'NSMutableString', 'NSWhoseSpecifier',
   145             'NSScriptWhoseTest', 'NSScriptSuiteRegistry',
   136 			'NSMutableURLRequest', 'NSXMLParser', 'NSNameSpecifier'
   146             'NSScriptObjectSpecifier', 'NSScriptExecutionContext',
   137 		),
   147             'NSScriptCommandDescription', 'NSScriptCommand',
   138 		6 => array( // OpenStep/GNUstep/Cocoa AppKit
   148             'NSScriptCoercionHandler', 'NSScriptClassDescription', 'NSScanner',
   139 			'NSActionCell', 'NSOpenGLPixelFormat', 'NSAffineTransform', 'NSOpenGLView',
   149             'NSRunLoop', 'NSRelativeSpecifier', 'NSRecursiveLock',
   140 			'NSAlert', 'NSOpenPanel', 'NSAppleScript Additions', 'NSOutlineView',
   150             'NSRangeSpecifier', 'NSRandomSpecifier', 'NSQuitCommand', 'NSProxy',
   141 			'NSApplication', 'NSPageLayout', 'NSArrayController', 'NSPanel',
   151             'NSProtocolChecker', 'NSPropertySpecifier',
   142 			'NSATSTypesetter', 'NSParagraphStyle', 'NSPasteboard', 'NSBezierPath',
   152             'NSPropertyListSerialization', 'NSProcessInfo', 'NSPredicate',
   143 			'NSPDFImageRep', 'NSBitmapImageRep', 'NSPICTImageRep', 'NSBox', 'NSPopUpButton',
   153             'NSPositionalSpecifier', 'NSPortNameServer', 'NSPortMessage',
   144 			'NSBrowser', 'NSPopUpButtonCell', 'NSBrowserCell', 'NSPrinter', 'NSPrintInfo',
   154             'NSPortCoder', 'NSPort', 'NSPointerFunctions', 'NSPointerArray',
   145 			'NSButton', 'NSPrintOperation', 'NSButtonCell', 'NSPrintPanel', 'NSCachedImageRep',
   155             'NSPipe', 'NSOutputStream', 'NSOperationQueue', 'NSOperation',
   146 			'NSProgressIndicator', 'NSCell', 'NSQuickDrawView', 'NSClipView', 'NSResponder',
   156             'NSObject', 'NSNumberFormatter', 'NSNumber', 'NSNull',
   147 			'NSRulerMarker', 'NSColor', 'NSRulerView', 'NSColorList', 'NSSavePanel',
   157             'NSNotificationQueue', 'NSNotificationCenter', 'NSNotification',
   148 			'NSColorPanel', 'NSScreen', 'NSColorPicker', 'NSScroller', 'NSColorWell',
   158             'NSNetServiceBrowser', 'NSNetService', 'NSNameSpecifier',
   149 			'NSScrollView', 'NSComboBox', 'NSSearchField', 'NSComboBoxCell',
   159             'NSMutableURLRequest', 'NSMutableString', 'NSMutableSet',
   150 			'NSSearchFieldCell', 'NSControl', 'NSSecureTextField', 'NSController',
   160             'NSMutableIndexSet', 'NSMutableDictionary', 'NSMutableData',
   151 			'NSSecureTextFieldCell', 'NSCursor', 'NSSegmentedCell', 'NSCustomImageRep',
   161             'NSMutableCharacterSet', 'NSMutableAttributedString',
   152 			'NSSegmentedControl', 'NSDocument', 'NSShadow', 'NSDocumentController',
   162             'NSMutableArray', 'NSMoveCommand', 'NSMiddleSpecifier',
   153 			'NSSimpleHorizontalTypesetter', 'NSDrawer', 'NSSlider', 'NSEPSImageRep',
   163             'NSMethodSignature', 'NSMetadataQueryResultGroup',
   154 			'NSSliderCell', 'NSEvent', 'NSSound', 'NSFileWrapper', 'NSSpeechRecognizer',
   164             'NSMetadataQueryAttributeValueTuple', 'NSMetadataQuery',
   155 			'NSFont', 'NSSpeechSynthesizer', 'NSFontDescriptor', 'NSSpellChecker',
   165             'NSMetadataItem', 'NSMessagePortNameServer', 'NSMessagePort',
   156 			'NSFontManager', 'NSSplitView', 'NSFontPanel', 'NSStatusBar', 'NSForm',
   166             'NSMapTable', 'NSMachPort', 'NSMachBootstrapServer',
   157 			'NSStatusItem', 'NSFormCell', 'NSStepper', 'NSGlyphGenerator', 'NSStepperCell',
   167             'NSLogicalTest', 'NSLock', 'NSLocale', 'NSKeyedUnarchiver',
   158 			'NSGlyphInfo', 'NSGraphicsContext', 'NSTableColumn', 'NSHelpManager',
   168             'NSKeyedArchiver', 'NSInvocationOperation', 'NSInvocation',
   159 			'NSTableHeaderCell', 'NSImage', 'NSTableHeaderView', 'NSImageCell', 'NSTableView',
   169             'NSInputStream', 'NSIndexSpecifier', 'NSIndexSet', 'NSIndexPath',
   160 			'NSImageRep', 'NSTabView', 'NSImageView', 'NSTabViewItem', 'NSInputManager',
   170             'NSHTTPURLResponse', 'NSHTTPCookieStorage', 'NSHTTPCookie',
   161 			'NSText', 'NSInputServer', 'NSTextAttachment', 'NSLayoutManager',
   171             'NSHost', 'NSHashTable', 'NSGetCommand', 'NSGarbageCollector',
   162 			'NSTextAttachmentCell', 'NSMatrix', 'NSTextContainer', 'NSMenu', 'NSTextField',
   172             'NSFormatter', 'NSFileManager', 'NSFileHandle', 'NSExpression',
   163 			'NSMenuItem', 'NSTextFieldCell', 'NSMenuItemCell', 'NSTextStorage', 'NSMenuView',
   173             'NSExistsCommand', 'NSException', 'NSError', 'NSEnumerator',
   164 			'NSTextTab', 'NSMovie', 'NSTextView', 'NSMovieView', 'NSToolbar', 'NSToolbarItem',
   174             'NSDistributedNotificationCenter', 'NSDistributedLock',
   165 			'NSMutableParagraphStyle', 'NSTypesetter', 'NSNib', 'NSNibConnector',
   175             'NSDistantObjectRequest', 'NSDistantObject',
   166 			'NSUserDefaultsController', 'NSNibControlConnector', 'NSView',
   176             'NSDirectoryEnumerator', 'NSDictionary', 'NSDeserializer',
   167 			'NSNibOutletConnector', 'NSWindow', 'NSObjectController', 'NSWindowController',
   177             'NSDeleteCommand', 'NSDecimalNumberHandler', 'NSDecimalNumber',
   168 			'NSOpenGLContext', 'NSWorkspace', 'NSOpenGLPixelBuffer'
   178             'NSDateFormatter', 'NSDateComponents', 'NSDate', 'NSData',
   169 		)
   179             'NSCreateCommand', 'NSCountedSet', 'NSCountCommand', 'NSConnection',
   170 	),
   180             'NSConditionLock', 'NSCondition', 'NSCompoundPredicate',
   171 	'SYMBOLS' => array(
   181             'NSComparisonPredicate', 'NSCoder', 'NSCloseCommand',
   172 		'(', ')', '{', '}', '[', ']', '=', '+', '-', '*', '/', '!', '%', '^', '&', ':'
   182             'NSCloneCommand', 'NSClassDescription', 'NSCharacterSet',
   173 		),
   183             'NSCalendarDate', 'NSCalendar', 'NSCachedURLResponse', 'NSBundle',
   174 	'CASE_SENSITIVE' => array(
   184             'NSAutoreleasePool', 'NSAttributedString', 'NSAssertionHandler',
   175 		GESHI_COMMENTS => true,
   185             'NSArray', 'NSArchiver', 'NSAppleScript', 'NSAppleEventManager',
   176 		1 => false,
   186             'NSAppleEventDescriptor', 'NSAffineTransform'
   177 		2 => false,
   187             ),
   178 		3 => false,
   188         // Foundation protocols
   179 		4 => false,
   189         6 => array(
   180 		5 => false,
   190             'NSURLProtocolClient', 'NSURLHandleClient', 'NSURLClient',
   181 		6 => false,
   191             'NSURLAuthenticationChallengeSender', 'NSScriptObjectSpecifiers',
   182 		),
   192             'NSScriptKeyValueCoding', 'NSScriptingComparisonMethods',
   183 	'STYLES' => array(
   193             'NSObjCTypeSerializationCallBack', 'NSMutableCopying',
   184 		'KEYWORDS' => array(
   194             'NSLocking', 'NSKeyValueObserving', 'NSKeyValueCoding',
   185 			1 => 'color: #0000ff;',
   195             'NSFastEnumeration', 'NSErrorRecoveryAttempting',
   186 			2 => 'color: #0000ff;',
   196             'NSDecimalNumberBehaviors', 'NSCopying', 'NSComparisonMethods',
   187 			3 => 'color: #0000dd;',
   197             'NSCoding'
   188 			4 => 'color: #0000ff;',
   198             ),
   189 			5 => 'color: #0000ff;',
   199         // AppKit classes
   190 			6 => 'color: #0000ff;'
   200         7 => array(
   191 			),
   201             'NSWorkspace', 'NSWindowController', 'NSWindow', 'NSViewController',
   192 		'COMMENTS' => array(
   202             'NSViewAnimation', 'NSView', 'NSUserDefaultsController',
   193 			1 => 'color: #ff0000;',
   203             'NSTypesetter', 'NSTreeNode', 'NSTreeController', 'NSTrackingArea',
   194 			2 => 'color: #339900;',
   204             'NSToolbarItemGroup', 'NSToolbarItem', 'NSToolbar',
   195 			'MULTI' => 'color: #ff0000; font-style: italic;'
   205             'NSTokenFieldCell', 'NSTokenField', 'NSTextView',
   196 			),
   206             'NSTextTableBlock', 'NSTextTable', 'NSTextTab', 'NSTextStorage',
   197 		'ESCAPE_CHAR' => array(
   207             'NSTextList', 'NSTextFieldCell', 'NSTextField', 'NSTextContainer',
   198 			0 => 'color: #666666; font-weight: bold;'
   208             'NSTextBlock', 'NSTextAttachmentCell', 'NSTextAttachment', 'NSText',
   199 			),
   209             'NSTabViewItem', 'NSTabView', 'NSTableView', 'NSTableHeaderView',
   200 		'BRACKETS' => array(
   210             'NSTableHeaderCell', 'NSTableColumn', 'NSStepperCell', 'NSStepper',
   201 			0 => 'color: #002200;'
   211             'NSStatusItem', 'NSStatusBar', 'NSSplitView', 'NSSpellChecker',
   202 			),
   212             'NSSpeechSynthesizer', 'NSSpeechRecognizer', 'NSSound',
   203 		'STRINGS' => array(
   213             'NSSliderCell', 'NSSlider', 'NSSimpleHorizontalTypesetter',
   204 			0 => 'color: #666666;'
   214             'NSShadow', 'NSSegmentedControl', 'NSSegmentedCell',
   205 			),
   215             'NSSecureTextFieldCell', 'NSSecureTextField', 'NSSearchFieldCell',
   206 		'NUMBERS' => array(
   216             'NSSearchField', 'NSScrollView', 'NSScroller', 'NSScreen',
   207 			0 => 'color: #0000dd;'
   217             'NSSavePanel', 'NSRulerView', 'NSRulerMarker', 'NSRuleEditor',
   208 			),
   218             'NSResponder', 'NSQuickDrawView', 'NSProgressIndicator',
   209 		'METHODS' => array(
   219             'NSPrintPanel', 'NSPrintOperation', 'NSPrintInfo', 'NSPrinter',
   210 			),
   220             'NSPredicateEditorRowTemplate', 'NSPredicateEditor',
   211 		'SYMBOLS' => array(
   221             'NSPopUpButtonCell', 'NSPopUpButton', 'NSPICTImageRep',
   212 			0 => 'color: #002200;'
   222             'NSPersistentDocument', 'NSPDFImageRep', 'NSPathControl',
   213 			),
   223             'NSPathComponentCell', 'NSPathCell', 'NSPasteboard',
   214 		'REGEXPS' => array(
   224             'NSParagraphStyle', 'NSPanel', 'NSPageLayout', 'NSOutlineView',
   215 			),
   225             'NSOpenPanel', 'NSOpenGLView', 'NSOpenGLPixelFormat',
   216 		'SCRIPT' => array(
   226             'NSOpenGLPixelBuffer', 'NSOpenGLContext', 'NSObjectController',
   217 			)
   227             'NSNibOutletConnector', 'NSNibControlConnector', 'NSNibConnector',
   218 		),
   228             'NSNib', 'NSMutableParagraphStyle', 'NSMovieView', 'NSMovie',
   219 	'URLS' => array(
   229             'NSMenuView', 'NSMenuItemCell', 'NSMenuItem', 'NSMenu', 'NSMatrix',
   220 		1 => '',
   230             'NSLevelIndicatorCell', 'NSLevelIndicator', 'NSLayoutManager',
   221 		2 => '',
   231             'NSInputServer', 'NSInputManager', 'NSImageView', 'NSImageRep',
   222 		3 => 'http://www.opengroup.org/onlinepubs/009695399/functions/{FNAME}.html',
   232             'NSImageCell', 'NSImage', 'NSHelpManager', 'NSGraphicsContext',
   223 		4 => '',
   233             'NSGradient', 'NSGlyphInfo', 'NSGlyphGenerator', 'NSFormCell',
   224 		5 => 'http://developer.apple.com/documentation/Cocoa/Reference/Foundation/ObjC_classic/Classes/{FNAME}.html',
   234             'NSForm', 'NSFontPanel', 'NSFontManager', 'NSFontDescriptor',
   225 		6 => 'http://developer.apple.com/documentation/Cocoa/Reference/ApplicationKit/ObjC_classic/Classes/{FNAME}.html'
   235             'NSFont', 'NSFileWrapper', 'NSEvent', 'NSEPSImageRep', 'NSDrawer',
   226 		),
   236             'NSDocumentController', 'NSDocument', 'NSDockTile',
   227 	'OOLANG' => false,
   237             'NSDictionaryController', 'NSDatePickerCell', 'NSDatePicker',
   228 	'OBJECT_SPLITTERS' => array(
   238             'NSCustomImageRep', 'NSCursor', 'NSController', 'NSControl',
   229 		),
   239             'NSComboBoxCell', 'NSComboBox', 'NSColorWell', 'NSColorSpace',
   230 	'REGEXPS' => array(
   240             'NSColorPicker', 'NSColorPanel', 'NSColorList', 'NSColor',
   231 		),
   241             'NSCollectionViewItem', 'NSCollectionView', 'NSClipView',
   232 	'STRICT_MODE_APPLIES' => GESHI_NEVER,
   242             'NSCIImageRep', 'NSCell', 'NSCachedImageRep', 'NSButtonCell',
   233 	'SCRIPT_DELIMITERS' => array(
   243             'NSButton', 'NSBrowserCell', 'NSBrowser', 'NSBox',
   234 		),
   244             'NSBitmapImageRep', 'NSBezierPath', 'NSATSTypesetter',
   235 	'HIGHLIGHT_STRICT_BLOCK' => array(
   245             'NSArrayController', 'NSApplication', 'NSAnimationContext',
   236 		)
   246             'NSAnimation', 'NSAlert', 'NSActionCell'
       
   247             ),
       
   248         // AppKit protocols
       
   249         8 => array(
       
   250             'NSWindowScripting', 'NSValidatedUserInterfaceItem',
       
   251             'NSUserInterfaceValidations', 'NSToolTipOwner',
       
   252             'NSToolbarItemValidation', 'NSTextInput',
       
   253             'NSTableDataSource', 'NSServicesRequests',
       
   254             'NSPrintPanelAccessorizing', 'NSPlaceholders',
       
   255             'NSPathControlDelegate', 'NSPathCellDelegate',
       
   256             'NSOutlineViewDataSource', 'NSNibAwaking', 'NSMenuValidation',
       
   257             'NSKeyValueBindingCreation', 'NSInputServiceProvider',
       
   258             'NSInputServerMouseTracker', 'NSIgnoreMisspelledWords',
       
   259             'NSGlyphStorage', 'NSFontPanelValidation', 'NSEditorRegistration',
       
   260             'NSEditor', 'NSDraggingSource', 'NSDraggingInfo',
       
   261             'NSDraggingDestination', 'NSDictionaryControllerKeyValuePair',
       
   262             'NSComboBoxDataSource', 'NSComboBoxCellDataSource',
       
   263             'NSColorPickingDefault', 'NSColorPickingCustom', 'NSChangeSpelling',
       
   264             'NSAnimatablePropertyContainer', 'NSAccessibility'
       
   265             ),
       
   266         // CoreData classes
       
   267         9 => array(
       
   268             'NSRelationshipDescription', 'NSPropertyMapping',
       
   269             'NSPropertyDescription', 'NSPersistentStoreCoordinator',
       
   270             'NSPersistentStore', 'NSMigrationManager', 'NSMappingModel',
       
   271             'NSManagedObjectModel', 'NSManagedObjectID',
       
   272             'NSManagedObjectContext', 'NSManagedObject',
       
   273             'NSFetchRequestExpression', 'NSFetchRequest',
       
   274             'NSFetchedPropertyDescription', 'NSEntityMigrationPolicy',
       
   275             'NSEntityMapping', 'NSEntityDescription', 'NSAttributeDescription',
       
   276             'NSAtomicStoreCacheNode', 'NSAtomicStore'
       
   277             )
       
   278         ),
       
   279     'SYMBOLS' => array(
       
   280         '(', ')', '{', '}', '[', ']', '=', '+', '-', '*', '/', '!', '%', '^', '&', ':'
       
   281         ),
       
   282     'CASE_SENSITIVE' => array(
       
   283         GESHI_COMMENTS => true,
       
   284         1 => true,
       
   285         2 => true,
       
   286         3 => true,
       
   287         4 => true,
       
   288         5 => true,
       
   289         6 => true,
       
   290         7 => true,
       
   291         8 => true,
       
   292         9 => true
       
   293         ),
       
   294     // Define the colors for the groups listed above
       
   295     'STYLES' => array(
       
   296         'KEYWORDS' => array(
       
   297             1 => 'color: #a61390;', // Objective-C keywords
       
   298             2 => 'color: #a61390;', // Macros and constants
       
   299             3 => 'color: #a61390;', // C standard library functions
       
   300             4 => 'color: #a61390;', // data types
       
   301             5 => 'color: #400080;', // Foundation classes
       
   302             6 => 'color: #2a6f76;', // Foundation protocols
       
   303             7 => 'color: #400080;', // AppKit classes
       
   304             8 => 'color: #2a6f76;', // AppKit protocols
       
   305             9 => 'color: #400080;' // CoreData classes
       
   306             ),
       
   307         'COMMENTS' => array(
       
   308             1 => 'color: #6e371a;', // Preprocessor directives
       
   309             2 => 'color: #11740a; font-style: italic;', // Normal C single-line comments
       
   310             3 => 'color: #bf1d1a;', // Q-sign in front of Strings
       
   311             'MULTI' => 'color: #11740a; font-style: italic;'
       
   312             ),
       
   313         'ESCAPE_CHAR' => array(
       
   314             0 => 'color: #2400d9;'
       
   315             ),
       
   316         'BRACKETS' => array(
       
   317             0 => 'color: #002200;'
       
   318             ),
       
   319         'STRINGS' => array(
       
   320             0 => 'color: #bf1d1a;'
       
   321             ),
       
   322         'NUMBERS' => array(
       
   323             0 => 'color: #2400d9;'
       
   324             ),
       
   325         'METHODS' => array(
       
   326             ),
       
   327         'SYMBOLS' => array(
       
   328             0 => 'color: #002200;'
       
   329             ),
       
   330         'REGEXPS' => array(
       
   331             ),
       
   332         'SCRIPT' => array(
       
   333             )
       
   334         ),
       
   335     'URLS' => array(
       
   336         1 => '',
       
   337         2 => '',
       
   338         3 => 'http://www.opengroup.org/onlinepubs/009695399/functions/{FNAME}.html',
       
   339         4 => '',
       
   340         5 => 'http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Classes/{FNAME}_Class/',
       
   341         6 => 'http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Protocols/{FNAME}_Protocol/',
       
   342         7 => 'http://developer.apple.com/documentation/Cocoa/Reference/ApplicationKit/Classes/{FNAME}_Class/',
       
   343         8 => 'http://developer.apple.com/documentation/Cocoa/Reference/ApplicationKit/Protocols/{FNAME}_Protocol/',
       
   344         9 => 'http://developer.apple.com/documentation/Cocoa/Reference/CoreDataFramework/Classes/{FNAME}_Class/'
       
   345         ),
       
   346     'OOLANG' => false,
       
   347     'OBJECT_SPLITTERS' => array(
       
   348         ),
       
   349     'REGEXPS' => array(
       
   350         ),
       
   351     'STRICT_MODE_APPLIES' => GESHI_NEVER,
       
   352     'SCRIPT_DELIMITERS' => array(
       
   353         ),
       
   354     'HIGHLIGHT_STRICT_BLOCK' => array(
       
   355         )
   237 );
   356 );
   238 
   357 
   239 ?>
   358 ?>