![]() ![]() |
websvn |
Subversion Repositories: |
Compare with Previous - Blame - Download
<?php/************************************************************************************** objc.php* --------* Author: M. Uli Kusterer (witness.of.teachtext@gmx.net)* 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.3* Date Started: 2004/06/04** 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** TODO (updated 2004/11/27)* -------------------------**************************************************************************************** This file is part of GeSHi.** GeSHi is free software; you can redistribute it and/or modify* it under the terms of the GNU General Public License as published by* the Free Software Foundation; either version 2 of the License, or* (at your option) any later version.** GeSHi is distributed in the hope that it will be useful,* but WITHOUT ANY WARRANTY; without even the implied warranty of* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the* GNU General Public License for more details.** You should have received a copy of the GNU General Public License* along with GeSHi; if not, write to the Free Software* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA*************************************************************************************/$language_data = array ('LANG_NAME' => 'Objective-C','COMMENT_SINGLE' => array(//Compiler directives1 => '#',//Single line C-Comments2 => '//'),'COMMENT_MULTI' => array('/*' => '*/'),'COMMENT_REGEXP' => array(//Multiline Continuation for single-line comment2 => '/\/\/(?:\\\\\\\\|\\\\\\n|.)*$/m',//Pseudo-Highlighting of the @-sign before strings3 => "/@(?=\")/"),'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,'QUOTEMARKS' => array('"', "'"),'ESCAPE_CHAR' => '\\','KEYWORDS' => array(// Objective-C keywords1 => 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 constants2 => 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 functions3 => 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 classes5 => 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 protocols6 => array('NSURLProtocolClient', 'NSURLHandleClient', 'NSURLClient','NSURLAuthenticationChallengeSender', 'NSScriptObjectSpecifiers','NSScriptKeyValueCoding', 'NSScriptingComparisonMethods','NSObjCTypeSerializationCallBack', 'NSMutableCopying','NSLocking', 'NSKeyValueObserving', 'NSKeyValueCoding','NSFastEnumeration', 'NSErrorRecoveryAttempting','NSDecimalNumberBehaviors', 'NSCopying', 'NSComparisonMethods','NSCoding'),// AppKit classes7 => 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 protocols8 => 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 classes9 => 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 keywords2 => 'color: #a61390;', // Macros and constants3 => 'color: #a61390;', // C standard library functions4 => 'color: #a61390;', // data types5 => 'color: #400080;', // Foundation classes6 => 'color: #2a6f76;', // Foundation protocols7 => 'color: #400080;', // AppKit classes8 => 'color: #2a6f76;', // AppKit protocols9 => 'color: #400080;' // CoreData classes),'COMMENTS' => array(1 => 'color: #6e371a;', // Preprocessor directives2 => 'color: #11740a; font-style: italic;', // Normal C single-line comments3 => '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());?>