diff -r c715631f809a -r 9e3258dfae15 plugins/geshi/geshi/objc.php --- a/plugins/geshi/geshi/objc.php Sun Feb 10 19:00:04 2008 -0500 +++ b/plugins/geshi/geshi/objc.php Fri May 29 19:30:59 2009 -0400 @@ -3,14 +3,24 @@ * objc.php * -------- * Author: M. Uli Kusterer (witness.of.teachtext@gmx.net) - * Copyright: (c) 2004 M. Uli Kusterer, Nigel McNie (http://qbnz.com/highlighter/) - * Release Version: 1.0.7.20 + * Contributors: Quinn Taylor (quinntaylor@mac.com) + * Copyright: (c) 2008 Quinn Taylor, 2004 M. Uli Kusterer, Nigel McNie (http://qbnz.com/highlighter/) + * Release Version: 1.0.8.2 * Date Started: 2004/06/04 * - * Objective C language file for GeSHi. + * Objective-C language file for GeSHi. * * CHANGES * ------- + * 2008/07/11 (1.0.8) + * - Added support for @ before strings being highlighted + * 2008/06/10 (1.0.7.22) + * - Added keywords for Objective-C 2.0 (Leopard+). + * - Changed colors to match Xcode 3 highlighting more closely. + * - Updated API for AppKit and Foundation; added CoreData classes. + * - Updated URLs for AppKit and Foundation; split classes and protocols. + * - Sorted all keyword group in reverse-alpha order for correct matching. + * - Changed all keyword groups to be case-sensitive. * 2004/11/27 (1.0.0) * - First Release * @@ -38,202 +48,311 @@ ************************************************************************************/ $language_data = array ( - 'LANG_NAME' => 'Objective C', - 'COMMENT_SINGLE' => array(1 => '//', 2 => '#'), - 'COMMENT_MULTI' => array('/*' => '*/'), - 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, - 'QUOTEMARKS' => array("'", '"'), - 'ESCAPE_CHAR' => '\\', - 'KEYWORDS' => array( - 1 => array( - 'if', 'return', 'while', 'case', 'continue', 'default', - 'do', 'else', 'for', 'switch', 'goto' - ), - 2 => array( - 'NULL', 'false', 'break', 'true', 'enum', 'nil', 'Nil', 'errno', 'EDOM', - 'ERANGE', 'FLT_RADIX', 'FLT_ROUNDS', 'FLT_DIG', 'DBL_DIG', 'LDBL_DIG', - 'FLT_EPSILON', 'DBL_EPSILON', 'LDBL_EPSILON', 'FLT_MANT_DIG', 'DBL_MANT_DIG', - 'LDBL_MANT_DIG', 'FLT_MAX', 'DBL_MAX', 'LDBL_MAX', 'FLT_MAX_EXP', 'DBL_MAX_EXP', - 'LDBL_MAX_EXP', 'FLT_MIN', 'DBL_MIN', 'LDBL_MIN', 'FLT_MIN_EXP', 'DBL_MIN_EXP', - 'LDBL_MIN_EXP', 'CHAR_BIT', 'CHAR_MAX', 'CHAR_MIN', 'SCHAR_MAX', 'SCHAR_MIN', - 'UCHAR_MAX', 'SHRT_MAX', 'SHRT_MIN', 'USHRT_MAX', 'INT_MAX', 'INT_MIN', - 'UINT_MAX', 'LONG_MAX', 'LONG_MIN', 'ULONG_MAX', 'HUGE_VAL', 'SIGABRT', - 'SIGFPE', 'SIGILL', 'SIGINT', 'SIGSEGV', 'SIGTERM', 'SIG_DFL', 'SIG_ERR', - 'SIG_IGN', 'BUFSIZ', 'EOF', 'FILENAME_MAX', 'FOPEN_MAX', 'L_tmpnam', 'NULL', - 'SEEK_CUR', 'SEEK_END', 'SEEK_SET', 'TMP_MAX', 'stdin', 'stdout', 'stderr', - 'EXIT_FAILURE', 'EXIT_SUCCESS', 'RAND_MAX', 'CLOCKS_PER_SEC' - ), - 3 => array( - 'printf', 'fprintf', 'snprintf', 'sprintf', 'assert', - 'isalnum', 'isalpha', 'isdigit', 'iscntrl', 'isgraph', 'islower', 'isprint', - 'ispunct', 'isspace', 'ispunct', 'isupper', 'isxdigit', 'tolower', 'toupper', - 'exp', 'log', 'log10', 'pow', 'sqrt', 'ceil', 'floor', 'fabs', 'ldexp', - 'frexp', 'modf', 'fmod', 'sin', 'cos', 'tan', 'asin', 'acos', 'atan', 'atan2', - 'sinh', 'cosh', 'tanh', 'setjmp', 'longjmp', 'asin', 'acos', 'atan', 'atan2', - 'va_start', 'va_arg', 'va_end', 'offsetof', 'sizeof', 'fopen', 'freopen', - 'fflush', 'fclose', 'remove', 'rename', 'tmpfile', 'tmpname', 'setvbuf', - 'setbuf', 'vfprintf', 'vprintf', 'vsprintf', 'fscanf', 'scanf', 'sscanf', - 'fgetc', 'fgets', 'fputc', 'fputs', 'getc', 'getchar', 'gets', 'putc', - 'putchar', 'puts', 'ungetc', 'fread', 'fwrite', 'fseek', 'ftell', 'rewind', - 'fgetpos', 'fsetpos', 'clearerr', 'feof', 'ferror', 'perror', 'abs', 'labs', - 'div', 'ldiv', 'atof', 'atoi', 'atol', 'strtod', 'strtol', 'strtoul', 'calloc', - 'malloc', 'realloc', 'free', 'abort', 'exit', 'atexit', 'system', 'getenv', - 'bsearch', 'qsort', 'rand', 'srand', 'strcpy', 'strncpy', 'strcat', 'strncat', - 'strcmp', 'strncmp', 'strcoll', 'strchr', 'strrchr', 'strspn', 'strcspn', - 'strpbrk', 'strstr', 'strlen', 'strerror', 'strtok', 'strxfrm', 'memcpy', - 'memmove', 'memcmp', 'memchr', 'memset', 'clock', 'time', 'difftime', 'mktime', - 'asctime', 'ctime', 'gmtime', 'localtime', 'strftime' - ), - 4 => array( // Data types: - 'auto', 'char', 'const', 'double', 'float', 'int', 'long', - 'register', 'short', 'signed', 'sizeof', 'static', 'string', 'struct', - 'typedef', 'union', 'unsigned', 'void', 'volatile', 'extern', 'jmp_buf', - 'signal', 'raise', 'va_list', 'ptrdiff_t', 'size_t', 'FILE', 'fpos_t', - 'div_t', 'ldiv_t', 'clock_t', 'time_t', 'tm', - // OpenStep/GNUstep/Cocoa: - 'SEL', 'id', 'NSRect', 'NSRange', 'NSPoint', 'NSZone', 'Class', 'IMP', 'BOOL', - // OpenStep/GNUstep/Cocoa @identifiers - '@selector', '@class', '@protocol', '@interface', '@implementation', '@end', - '@private', '@protected', '@public', '@try', '@throw', '@catch', '@finally', - '@encode', '@defs', '@synchronized' - ), - 5 => array( // OpenStep/GNUstep/Cocoa Foundation - 'NSAppleEventDescriptor', 'NSNetService', 'NSAppleEventManager', - 'NSNetServiceBrowser', 'NSAppleScript', 'NSNotification', 'NSArchiver', - 'NSNotificationCenter', 'NSArray', 'NSNotificationQueue', 'NSAssertionHandler', - 'NSNull', 'NSAttributedString', 'NSNumber', 'NSAutoreleasePool', - 'NSNumberFormatter', 'NSBundle', 'NSObject', 'NSCachedURLResponse', - 'NSOutputStream', 'NSCalendarDate', 'NSPipe', 'NSCharacterSet', 'NSPort', - 'NSClassDescription', 'NSPortCoder', 'NSCloneCommand', 'NSPortMessage', - 'NSCloseCommand', 'NSPortNameServer', 'NSCoder', 'NSPositionalSpecifier', - 'NSConditionLock', 'NSProcessInfo', 'NSConnection', 'NSPropertyListSerialization', - 'NSCountCommand', 'NSPropertySpecifier', 'NSCountedSet', 'NSProtocolChecker', - 'NSCreateCommand', 'NSProxy', 'NSData', 'NSQuitCommand', 'NSDate', - 'NSRandomSpecifier', 'NSDateFormatter', 'NSRangeSpecifier', 'NSDecimalNumber', - 'NSRecursiveLock', 'NSDecimalNumberHandler', 'NSRelativeSpecifier', - 'NSDeleteCommand', 'NSRunLoop', 'NSDeserializer', 'NSScanner', 'NSDictionary', - 'NSScriptClassDescription', 'NSDirectoryEnumerator', 'NSScriptCoercionHandler', - 'NSDistantObject', 'NSScriptCommand', 'NSDistantObjectRequest', - 'NSScriptCommandDescription', 'NSDistributedLock', 'NSScriptExecutionContext', - 'NSDistributedNotificationCenter', 'NSScriptObjectSpecifier', 'NSEnumerator', - 'NSScriptSuiteRegistry', 'NSError', 'NSScriptWhoseTest', 'NSException', - 'NSSerializer', 'NSExistsCommand', 'NSSet', 'NSFileHandle', 'NSSetCommand', - 'NSFileManager', 'NSSocketPort', 'NSFormatter', 'NSSocketPortNameServer', - 'NSGetCommand', 'NSSortDescriptor', 'NSHost', 'NSSpecifierTest', 'NSHTTPCookie', - 'NSSpellServer', 'NSHTTPCookieStorage', 'NSStream', 'NSHTTPURLResponse', - 'NSString', 'NSIndexSet', 'NSTask', 'NSIndexSpecifier', 'NSThread', - 'NSInputStream', 'NSTimer', 'NSInvocation', 'NSTimeZone', 'NSKeyedArchiver', - 'NSUnarchiver', 'NSKeyedUnarchiver', 'NSUndoManager', 'NSLock', - 'NSUniqueIDSpecifier', 'NSLogicalTest', 'NSURL', 'NSMachBootstrapServer', - 'NSURLAuthenticationChallenge', 'NSMachPort', 'NSURLCache', 'NSMessagePort', - 'NSURLConnection', 'NSMessagePortNameServer', 'NSURLCredential', - 'NSMethodSignature', 'NSURLCredentialStorage', 'NSMiddleSpecifier', - 'NSURLDownload', 'NSMoveCommand', 'NSURLHandle', 'NSMutableArray', - 'NSURLProtectionSpace', 'NSMutableAttributedString', 'NSURLProtocol', - 'NSMutableCharacterSet', 'NSURLRequest', 'NSMutableData', 'NSURLResponse', - 'NSMutableDictionary', 'NSUserDefaults', 'NSMutableIndexSet', 'NSValue', - 'NSMutableSet', 'NSValueTransformer', 'NSMutableString', 'NSWhoseSpecifier', - 'NSMutableURLRequest', 'NSXMLParser', 'NSNameSpecifier' - ), - 6 => array( // OpenStep/GNUstep/Cocoa AppKit - 'NSActionCell', 'NSOpenGLPixelFormat', 'NSAffineTransform', 'NSOpenGLView', - 'NSAlert', 'NSOpenPanel', 'NSAppleScript Additions', 'NSOutlineView', - 'NSApplication', 'NSPageLayout', 'NSArrayController', 'NSPanel', - 'NSATSTypesetter', 'NSParagraphStyle', 'NSPasteboard', 'NSBezierPath', - 'NSPDFImageRep', 'NSBitmapImageRep', 'NSPICTImageRep', 'NSBox', 'NSPopUpButton', - 'NSBrowser', 'NSPopUpButtonCell', 'NSBrowserCell', 'NSPrinter', 'NSPrintInfo', - 'NSButton', 'NSPrintOperation', 'NSButtonCell', 'NSPrintPanel', 'NSCachedImageRep', - 'NSProgressIndicator', 'NSCell', 'NSQuickDrawView', 'NSClipView', 'NSResponder', - 'NSRulerMarker', 'NSColor', 'NSRulerView', 'NSColorList', 'NSSavePanel', - 'NSColorPanel', 'NSScreen', 'NSColorPicker', 'NSScroller', 'NSColorWell', - 'NSScrollView', 'NSComboBox', 'NSSearchField', 'NSComboBoxCell', - 'NSSearchFieldCell', 'NSControl', 'NSSecureTextField', 'NSController', - 'NSSecureTextFieldCell', 'NSCursor', 'NSSegmentedCell', 'NSCustomImageRep', - 'NSSegmentedControl', 'NSDocument', 'NSShadow', 'NSDocumentController', - 'NSSimpleHorizontalTypesetter', 'NSDrawer', 'NSSlider', 'NSEPSImageRep', - 'NSSliderCell', 'NSEvent', 'NSSound', 'NSFileWrapper', 'NSSpeechRecognizer', - 'NSFont', 'NSSpeechSynthesizer', 'NSFontDescriptor', 'NSSpellChecker', - 'NSFontManager', 'NSSplitView', 'NSFontPanel', 'NSStatusBar', 'NSForm', - 'NSStatusItem', 'NSFormCell', 'NSStepper', 'NSGlyphGenerator', 'NSStepperCell', - 'NSGlyphInfo', 'NSGraphicsContext', 'NSTableColumn', 'NSHelpManager', - 'NSTableHeaderCell', 'NSImage', 'NSTableHeaderView', 'NSImageCell', 'NSTableView', - 'NSImageRep', 'NSTabView', 'NSImageView', 'NSTabViewItem', 'NSInputManager', - 'NSText', 'NSInputServer', 'NSTextAttachment', 'NSLayoutManager', - 'NSTextAttachmentCell', 'NSMatrix', 'NSTextContainer', 'NSMenu', 'NSTextField', - 'NSMenuItem', 'NSTextFieldCell', 'NSMenuItemCell', 'NSTextStorage', 'NSMenuView', - 'NSTextTab', 'NSMovie', 'NSTextView', 'NSMovieView', 'NSToolbar', 'NSToolbarItem', - 'NSMutableParagraphStyle', 'NSTypesetter', 'NSNib', 'NSNibConnector', - 'NSUserDefaultsController', 'NSNibControlConnector', 'NSView', - 'NSNibOutletConnector', 'NSWindow', 'NSObjectController', 'NSWindowController', - 'NSOpenGLContext', 'NSWorkspace', 'NSOpenGLPixelBuffer' - ) - ), - 'SYMBOLS' => array( - '(', ')', '{', '}', '[', ']', '=', '+', '-', '*', '/', '!', '%', '^', '&', ':' - ), - 'CASE_SENSITIVE' => array( - GESHI_COMMENTS => true, - 1 => false, - 2 => false, - 3 => false, - 4 => false, - 5 => false, - 6 => false, - ), - 'STYLES' => array( - 'KEYWORDS' => array( - 1 => 'color: #0000ff;', - 2 => 'color: #0000ff;', - 3 => 'color: #0000dd;', - 4 => 'color: #0000ff;', - 5 => 'color: #0000ff;', - 6 => 'color: #0000ff;' - ), - 'COMMENTS' => array( - 1 => 'color: #ff0000;', - 2 => 'color: #339900;', - 'MULTI' => 'color: #ff0000; font-style: italic;' - ), - 'ESCAPE_CHAR' => array( - 0 => 'color: #666666; font-weight: bold;' - ), - 'BRACKETS' => array( - 0 => 'color: #002200;' - ), - 'STRINGS' => array( - 0 => 'color: #666666;' - ), - 'NUMBERS' => array( - 0 => 'color: #0000dd;' - ), - 'METHODS' => array( - ), - 'SYMBOLS' => array( - 0 => 'color: #002200;' - ), - 'REGEXPS' => array( - ), - 'SCRIPT' => array( - ) - ), - 'URLS' => array( - 1 => '', - 2 => '', - 3 => 'http://www.opengroup.org/onlinepubs/009695399/functions/{FNAME}.html', - 4 => '', - 5 => 'http://developer.apple.com/documentation/Cocoa/Reference/Foundation/ObjC_classic/Classes/{FNAME}.html', - 6 => 'http://developer.apple.com/documentation/Cocoa/Reference/ApplicationKit/ObjC_classic/Classes/{FNAME}.html' - ), - 'OOLANG' => false, - 'OBJECT_SPLITTERS' => array( - ), - 'REGEXPS' => array( - ), - 'STRICT_MODE_APPLIES' => GESHI_NEVER, - 'SCRIPT_DELIMITERS' => array( - ), - 'HIGHLIGHT_STRICT_BLOCK' => array( - ) + 'LANG_NAME' => 'Objective-C', + 'COMMENT_SINGLE' => array( + //Compiler directives + 1 => '#', + //Single line C-Comments + 2 => '//' + ), + 'COMMENT_MULTI' => array('/*' => '*/'), + 'COMMENT_REGEXP' => array( + //Multiline Continuation for single-line comment + 2 => '/\/\/(?:\\\\\\\\|\\\\\\n|.)*$/m', + //Pseudo-Highlighting of the @-sign before strings + 3 => "/@(?=\")/" + ), + 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, + 'QUOTEMARKS' => array('"', "'"), + 'ESCAPE_CHAR' => '\\', + + 'KEYWORDS' => array( + // Objective-C keywords + 1 => array( + 'while', 'switch', 'return', 'in', 'if', 'goto', 'foreach', 'for', + 'else', 'do', 'default', 'continue', 'case', '@try', '@throw', + '@synthesize', '@synchronized', '@selector', '@public', '@protocol', + '@protected', '@property', '@private', '@interface', + '@implementation', '@finally', '@end', '@encode', '@defs', '@class', + '@catch' + ), + // Macros and constants + 2 => array( + 'YES', 'USHRT_MAX', 'ULONG_MAX', 'UINT_MAX', 'UCHAR_MAX', 'true', + 'TMP_MAX', 'stdout', 'stdin', 'stderr', 'SIGTERM', 'SIGSEGV', + 'SIGINT', 'SIGILL', 'SIG_IGN', 'SIGFPE', 'SIG_ERR', 'SIG_DFL', + 'SIGABRT', 'SHRT_MIN', 'SHRT_MAX', 'SEEK_SET', 'SEEK_END', + 'SEEK_CUR', 'SCHAR_MIN', 'SCHAR_MAX', 'RAND_MAX', 'NULL', + 'NO', 'nil', 'Nil', 'L_tmpnam', 'LONG_MIN', 'LONG_MAX', + 'LDBL_MIN_EXP', 'LDBL_MIN', 'LDBL_MAX_EXP', 'LDBL_MAX', + 'LDBL_MANT_DIG', 'LDBL_EPSILON', 'LDBL_DIG', 'INT_MIN', 'INT_MAX', + 'HUGE_VAL', 'FOPEN_MAX', 'FLT_ROUNDS', 'FLT_RADIX', 'FLT_MIN_EXP', + 'FLT_MIN', 'FLT_MAX_EXP', 'FLT_MAX', 'FLT_MANT_DIG', 'FLT_EPSILON', + 'FLT_DIG', 'FILENAME_MAX', 'false', 'EXIT_SUCCESS', 'EXIT_FAILURE', + 'errno', 'ERANGE', 'EOF', 'enum', 'EDOM', 'DBL_MIN_EXP', 'DBL_MIN', + 'DBL_MAX_EXP', 'DBL_MAX', 'DBL_MANT_DIG', 'DBL_EPSILON', 'DBL_DIG', + 'CLOCKS_PER_SEC', 'CHAR_MIN', 'CHAR_MAX', 'CHAR_BIT', 'BUFSIZ', + 'break' + ), + // C standard library functions + 3 => array( + 'vsprintf', 'vprintf', 'vfprintf', 'va_start', 'va_end', 'va_arg', + 'ungetc', 'toupper', 'tolower', 'tmpname', 'tmpfile', 'time', + 'tanh', 'tan', 'system', 'strxfrm', 'strtoul', 'strtol', 'strtok', + 'strtod', 'strstr', 'strspn', 'strrchr', 'strpbrk', 'strncpy', + 'strncmp', 'strncat', 'strlen', 'strftime', 'strerror', 'strcspn', + 'strcpy', 'strcoll', 'strcmp', 'strchr', 'strcat', 'sscanf', + 'srand', 'sqrt', 'sprintf', 'snprintf', 'sizeof', 'sinh', 'sin', + 'setvbuf', 'setjmp', 'setbuf', 'scanf', 'rewind', 'rename', + 'remove', 'realloc', 'rand', 'qsort', 'puts', 'putchar', 'putc', + 'printf', 'pow', 'perror', 'offsetof', 'modf', 'mktime', 'memset', + 'memmove', 'memcpy', 'memcmp', 'memchr', 'malloc', 'longjmp', + 'log10', 'log', 'localtime', 'ldiv', 'ldexp', 'labs', 'isxdigit', + 'isupper', 'isspace', 'ispunct', 'isprint', 'islower', + 'isgraph', 'isdigit', 'iscntrl', 'isalpha', 'isalnum', 'gmtime', + 'gets', 'getenv', 'getchar', 'getc', 'fwrite', 'ftell', 'fsetpos', + 'fseek', 'fscanf', 'frexp', 'freopen', 'free', 'fread', 'fputs', + 'fputc', 'fprintf', 'fopen', 'fmod', 'floor', 'fgets', 'fgetpos', + 'fgetc', 'fflush', 'ferror', 'feof', 'fclose', 'fabs', 'exp', + 'exit', 'div', 'difftime', 'ctime', 'cosh', 'cos', 'clock', + 'clearerr', 'ceil', 'calloc', 'bsearch', 'atol', 'atoi', 'atof', + 'atexit', 'atan2', 'atan', 'assert', 'asin', 'asctime', 'acos', + 'abs', 'abort' + ), + // Data types (C, Objective-C, Cocoa) + 4 => array( + 'volatile', 'void', 'va_list', 'unsigned', 'union', 'typedef', 'tm', + 'time_t', 'struct', 'string', 'static', 'size_t', + 'signed', 'signal', 'short', 'SEL', 'register', 'raise', + 'ptrdiff_t', 'NSZone', 'NSRect', 'NSRange', 'NSPoint', 'long', + 'ldiv_t', 'jmp_buf', 'int', 'IMP', 'id', 'fpos_t', 'float', 'FILE', + 'extern', 'double', 'div_t', 'const', 'clock_t', 'Class', 'char', + 'BOOL', 'auto' + ), + // Foundation classes + 5 => array( + 'NSXMLParser', 'NSXMLNode', 'NSXMLElement', 'NSXMLDTDNode', + 'NSXMLDTD', 'NSXMLDocument', 'NSWhoseSpecifier', + 'NSValueTransformer', 'NSValue', 'NSUserDefaults', 'NSURLResponse', + 'NSURLRequest', 'NSURLProtocol', 'NSURLProtectionSpace', + 'NSURLHandle', 'NSURLDownload', 'NSURLCredentialStorage', + 'NSURLCredential', 'NSURLConnection', 'NSURLCache', + 'NSURLAuthenticationChallenge', 'NSURL', 'NSUniqueIDSpecifier', + 'NSUndoManager', 'NSUnarchiver', 'NSTimeZone', 'NSTimer', + 'NSThread', 'NSTask', 'NSString', 'NSStream', 'NSSpellServer', + 'NSSpecifierTest', 'NSSortDescriptor', 'NSSocketPortNameServer', + 'NSSocketPort', 'NSSetCommand', 'NSSet', 'NSSerializer', + 'NSScriptWhoseTest', 'NSScriptSuiteRegistry', + 'NSScriptObjectSpecifier', 'NSScriptExecutionContext', + 'NSScriptCommandDescription', 'NSScriptCommand', + 'NSScriptCoercionHandler', 'NSScriptClassDescription', 'NSScanner', + 'NSRunLoop', 'NSRelativeSpecifier', 'NSRecursiveLock', + 'NSRangeSpecifier', 'NSRandomSpecifier', 'NSQuitCommand', 'NSProxy', + 'NSProtocolChecker', 'NSPropertySpecifier', + 'NSPropertyListSerialization', 'NSProcessInfo', 'NSPredicate', + 'NSPositionalSpecifier', 'NSPortNameServer', 'NSPortMessage', + 'NSPortCoder', 'NSPort', 'NSPointerFunctions', 'NSPointerArray', + 'NSPipe', 'NSOutputStream', 'NSOperationQueue', 'NSOperation', + 'NSObject', 'NSNumberFormatter', 'NSNumber', 'NSNull', + 'NSNotificationQueue', 'NSNotificationCenter', 'NSNotification', + 'NSNetServiceBrowser', 'NSNetService', 'NSNameSpecifier', + 'NSMutableURLRequest', 'NSMutableString', 'NSMutableSet', + 'NSMutableIndexSet', 'NSMutableDictionary', 'NSMutableData', + 'NSMutableCharacterSet', 'NSMutableAttributedString', + 'NSMutableArray', 'NSMoveCommand', 'NSMiddleSpecifier', + 'NSMethodSignature', 'NSMetadataQueryResultGroup', + 'NSMetadataQueryAttributeValueTuple', 'NSMetadataQuery', + 'NSMetadataItem', 'NSMessagePortNameServer', 'NSMessagePort', + 'NSMapTable', 'NSMachPort', 'NSMachBootstrapServer', + 'NSLogicalTest', 'NSLock', 'NSLocale', 'NSKeyedUnarchiver', + 'NSKeyedArchiver', 'NSInvocationOperation', 'NSInvocation', + 'NSInputStream', 'NSIndexSpecifier', 'NSIndexSet', 'NSIndexPath', + 'NSHTTPURLResponse', 'NSHTTPCookieStorage', 'NSHTTPCookie', + 'NSHost', 'NSHashTable', 'NSGetCommand', 'NSGarbageCollector', + 'NSFormatter', 'NSFileManager', 'NSFileHandle', 'NSExpression', + 'NSExistsCommand', 'NSException', 'NSError', 'NSEnumerator', + 'NSDistributedNotificationCenter', 'NSDistributedLock', + 'NSDistantObjectRequest', 'NSDistantObject', + 'NSDirectoryEnumerator', 'NSDictionary', 'NSDeserializer', + 'NSDeleteCommand', 'NSDecimalNumberHandler', 'NSDecimalNumber', + 'NSDateFormatter', 'NSDateComponents', 'NSDate', 'NSData', + 'NSCreateCommand', 'NSCountedSet', 'NSCountCommand', 'NSConnection', + 'NSConditionLock', 'NSCondition', 'NSCompoundPredicate', + 'NSComparisonPredicate', 'NSCoder', 'NSCloseCommand', + 'NSCloneCommand', 'NSClassDescription', 'NSCharacterSet', + 'NSCalendarDate', 'NSCalendar', 'NSCachedURLResponse', 'NSBundle', + 'NSAutoreleasePool', 'NSAttributedString', 'NSAssertionHandler', + 'NSArray', 'NSArchiver', 'NSAppleScript', 'NSAppleEventManager', + 'NSAppleEventDescriptor', 'NSAffineTransform' + ), + // Foundation protocols + 6 => array( + 'NSURLProtocolClient', 'NSURLHandleClient', 'NSURLClient', + 'NSURLAuthenticationChallengeSender', 'NSScriptObjectSpecifiers', + 'NSScriptKeyValueCoding', 'NSScriptingComparisonMethods', + 'NSObjCTypeSerializationCallBack', 'NSMutableCopying', + 'NSLocking', 'NSKeyValueObserving', 'NSKeyValueCoding', + 'NSFastEnumeration', 'NSErrorRecoveryAttempting', + 'NSDecimalNumberBehaviors', 'NSCopying', 'NSComparisonMethods', + 'NSCoding' + ), + // AppKit classes + 7 => array( + 'NSWorkspace', 'NSWindowController', 'NSWindow', 'NSViewController', + 'NSViewAnimation', 'NSView', 'NSUserDefaultsController', + 'NSTypesetter', 'NSTreeNode', 'NSTreeController', 'NSTrackingArea', + 'NSToolbarItemGroup', 'NSToolbarItem', 'NSToolbar', + 'NSTokenFieldCell', 'NSTokenField', 'NSTextView', + 'NSTextTableBlock', 'NSTextTable', 'NSTextTab', 'NSTextStorage', + 'NSTextList', 'NSTextFieldCell', 'NSTextField', 'NSTextContainer', + 'NSTextBlock', 'NSTextAttachmentCell', 'NSTextAttachment', 'NSText', + 'NSTabViewItem', 'NSTabView', 'NSTableView', 'NSTableHeaderView', + 'NSTableHeaderCell', 'NSTableColumn', 'NSStepperCell', 'NSStepper', + 'NSStatusItem', 'NSStatusBar', 'NSSplitView', 'NSSpellChecker', + 'NSSpeechSynthesizer', 'NSSpeechRecognizer', 'NSSound', + 'NSSliderCell', 'NSSlider', 'NSSimpleHorizontalTypesetter', + 'NSShadow', 'NSSegmentedControl', 'NSSegmentedCell', + 'NSSecureTextFieldCell', 'NSSecureTextField', 'NSSearchFieldCell', + 'NSSearchField', 'NSScrollView', 'NSScroller', 'NSScreen', + 'NSSavePanel', 'NSRulerView', 'NSRulerMarker', 'NSRuleEditor', + 'NSResponder', 'NSQuickDrawView', 'NSProgressIndicator', + 'NSPrintPanel', 'NSPrintOperation', 'NSPrintInfo', 'NSPrinter', + 'NSPredicateEditorRowTemplate', 'NSPredicateEditor', + 'NSPopUpButtonCell', 'NSPopUpButton', 'NSPICTImageRep', + 'NSPersistentDocument', 'NSPDFImageRep', 'NSPathControl', + 'NSPathComponentCell', 'NSPathCell', 'NSPasteboard', + 'NSParagraphStyle', 'NSPanel', 'NSPageLayout', 'NSOutlineView', + 'NSOpenPanel', 'NSOpenGLView', 'NSOpenGLPixelFormat', + 'NSOpenGLPixelBuffer', 'NSOpenGLContext', 'NSObjectController', + 'NSNibOutletConnector', 'NSNibControlConnector', 'NSNibConnector', + 'NSNib', 'NSMutableParagraphStyle', 'NSMovieView', 'NSMovie', + 'NSMenuView', 'NSMenuItemCell', 'NSMenuItem', 'NSMenu', 'NSMatrix', + 'NSLevelIndicatorCell', 'NSLevelIndicator', 'NSLayoutManager', + 'NSInputServer', 'NSInputManager', 'NSImageView', 'NSImageRep', + 'NSImageCell', 'NSImage', 'NSHelpManager', 'NSGraphicsContext', + 'NSGradient', 'NSGlyphInfo', 'NSGlyphGenerator', 'NSFormCell', + 'NSForm', 'NSFontPanel', 'NSFontManager', 'NSFontDescriptor', + 'NSFont', 'NSFileWrapper', 'NSEvent', 'NSEPSImageRep', 'NSDrawer', + 'NSDocumentController', 'NSDocument', 'NSDockTile', + 'NSDictionaryController', 'NSDatePickerCell', 'NSDatePicker', + 'NSCustomImageRep', 'NSCursor', 'NSController', 'NSControl', + 'NSComboBoxCell', 'NSComboBox', 'NSColorWell', 'NSColorSpace', + 'NSColorPicker', 'NSColorPanel', 'NSColorList', 'NSColor', + 'NSCollectionViewItem', 'NSCollectionView', 'NSClipView', + 'NSCIImageRep', 'NSCell', 'NSCachedImageRep', 'NSButtonCell', + 'NSButton', 'NSBrowserCell', 'NSBrowser', 'NSBox', + 'NSBitmapImageRep', 'NSBezierPath', 'NSATSTypesetter', + 'NSArrayController', 'NSApplication', 'NSAnimationContext', + 'NSAnimation', 'NSAlert', 'NSActionCell' + ), + // AppKit protocols + 8 => array( + 'NSWindowScripting', 'NSValidatedUserInterfaceItem', + 'NSUserInterfaceValidations', 'NSToolTipOwner', + 'NSToolbarItemValidation', 'NSTextInput', + 'NSTableDataSource', 'NSServicesRequests', + 'NSPrintPanelAccessorizing', 'NSPlaceholders', + 'NSPathControlDelegate', 'NSPathCellDelegate', + 'NSOutlineViewDataSource', 'NSNibAwaking', 'NSMenuValidation', + 'NSKeyValueBindingCreation', 'NSInputServiceProvider', + 'NSInputServerMouseTracker', 'NSIgnoreMisspelledWords', + 'NSGlyphStorage', 'NSFontPanelValidation', 'NSEditorRegistration', + 'NSEditor', 'NSDraggingSource', 'NSDraggingInfo', + 'NSDraggingDestination', 'NSDictionaryControllerKeyValuePair', + 'NSComboBoxDataSource', 'NSComboBoxCellDataSource', + 'NSColorPickingDefault', 'NSColorPickingCustom', 'NSChangeSpelling', + 'NSAnimatablePropertyContainer', 'NSAccessibility' + ), + // CoreData classes + 9 => array( + 'NSRelationshipDescription', 'NSPropertyMapping', + 'NSPropertyDescription', 'NSPersistentStoreCoordinator', + 'NSPersistentStore', 'NSMigrationManager', 'NSMappingModel', + 'NSManagedObjectModel', 'NSManagedObjectID', + 'NSManagedObjectContext', 'NSManagedObject', + 'NSFetchRequestExpression', 'NSFetchRequest', + 'NSFetchedPropertyDescription', 'NSEntityMigrationPolicy', + 'NSEntityMapping', 'NSEntityDescription', 'NSAttributeDescription', + 'NSAtomicStoreCacheNode', 'NSAtomicStore' + ) + ), + 'SYMBOLS' => array( + '(', ')', '{', '}', '[', ']', '=', '+', '-', '*', '/', '!', '%', '^', '&', ':' + ), + 'CASE_SENSITIVE' => array( + GESHI_COMMENTS => true, + 1 => true, + 2 => true, + 3 => true, + 4 => true, + 5 => true, + 6 => true, + 7 => true, + 8 => true, + 9 => true + ), + // Define the colors for the groups listed above + 'STYLES' => array( + 'KEYWORDS' => array( + 1 => 'color: #a61390;', // Objective-C keywords + 2 => 'color: #a61390;', // Macros and constants + 3 => 'color: #a61390;', // C standard library functions + 4 => 'color: #a61390;', // data types + 5 => 'color: #400080;', // Foundation classes + 6 => 'color: #2a6f76;', // Foundation protocols + 7 => 'color: #400080;', // AppKit classes + 8 => 'color: #2a6f76;', // AppKit protocols + 9 => 'color: #400080;' // CoreData classes + ), + 'COMMENTS' => array( + 1 => 'color: #6e371a;', // Preprocessor directives + 2 => 'color: #11740a; font-style: italic;', // Normal C single-line comments + 3 => 'color: #bf1d1a;', // Q-sign in front of Strings + 'MULTI' => 'color: #11740a; font-style: italic;' + ), + 'ESCAPE_CHAR' => array( + 0 => 'color: #2400d9;' + ), + 'BRACKETS' => array( + 0 => 'color: #002200;' + ), + 'STRINGS' => array( + 0 => 'color: #bf1d1a;' + ), + 'NUMBERS' => array( + 0 => 'color: #2400d9;' + ), + 'METHODS' => array( + ), + 'SYMBOLS' => array( + 0 => 'color: #002200;' + ), + 'REGEXPS' => array( + ), + 'SCRIPT' => array( + ) + ), + 'URLS' => array( + 1 => '', + 2 => '', + 3 => 'http://www.opengroup.org/onlinepubs/009695399/functions/{FNAME}.html', + 4 => '', + 5 => 'http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Classes/{FNAME}_Class/', + 6 => 'http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Protocols/{FNAME}_Protocol/', + 7 => 'http://developer.apple.com/documentation/Cocoa/Reference/ApplicationKit/Classes/{FNAME}_Class/', + 8 => 'http://developer.apple.com/documentation/Cocoa/Reference/ApplicationKit/Protocols/{FNAME}_Protocol/', + 9 => 'http://developer.apple.com/documentation/Cocoa/Reference/CoreDataFramework/Classes/{FNAME}_Class/' + ), + 'OOLANG' => false, + 'OBJECT_SPLITTERS' => array( + ), + 'REGEXPS' => array( + ), + 'STRICT_MODE_APPLIES' => GESHI_NEVER, + 'SCRIPT_DELIMITERS' => array( + ), + 'HIGHLIGHT_STRICT_BLOCK' => array( + ) ); ?>