[ Index ]

PHP Cross Reference of DokuWiki

title

Body

[close]

/vendor/geshi/geshi/src/geshi/ -> objc.php (source)

   1  <?php
   2  /*************************************************************************************
   3   * objc.php
   4   * --------
   5   * Author: M. Uli Kusterer (witness.of.teachtext@gmx.net)
   6   * Contributors: Quinn Taylor (quinntaylor@mac.com)
   7   * Copyright: (c) 2008 Quinn Taylor, 2004 M. Uli Kusterer, Nigel McNie (http://qbnz.com/highlighter/)
   8   * Release Version: 1.0.9.1
   9   * Date Started: 2004/06/04
  10   *
  11   * Objective-C language file for GeSHi.
  12   *
  13   * CHANGES
  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.
  24   * 2004/11/27 (1.0.0)
  25   *   -  First Release
  26   *
  27   * TODO (updated 2004/11/27)
  28   * -------------------------
  29   *
  30   *************************************************************************************
  31   *
  32   *     This file is part of GeSHi.
  33   *
  34   *   GeSHi is free software; you can redistribute it and/or modify
  35   *   it under the terms of the GNU General Public License as published by
  36   *   the Free Software Foundation; either version 2 of the License, or
  37   *   (at your option) any later version.
  38   *
  39   *   GeSHi is distributed in the hope that it will be useful,
  40   *   but WITHOUT ANY WARRANTY; without even the implied warranty of
  41   *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  42   *   GNU General Public License for more details.
  43   *
  44   *   You should have received a copy of the GNU General Public License
  45   *   along with GeSHi; if not, write to the Free Software
  46   *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  47   *
  48   ************************************************************************************/
  49  
  50  $language_data = array (
  51      'LANG_NAME' => 'Objective-C',
  52      'COMMENT_SINGLE' => array(
  53          //Compiler directives
  54          1 => '#',
  55          //Single line C-Comments
  56          2 => '//'
  57          ),
  58      'COMMENT_MULTI' => array('/*' => '*/'),
  59      'COMMENT_REGEXP' => array(
  60          //Multiline Continuation for single-line comment
  61          2 => '/\/\/(?:\\\\\\\\|\\\\\\n|.)*$/m',
  62          //Pseudo-Highlighting of the @-sign before strings
  63          3 => "/@(?=\")/"
  64          ),
  65      'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
  66      'QUOTEMARKS' => array('"', "'"),
  67      'ESCAPE_CHAR' => '\\',
  68  
  69      'KEYWORDS' => array(
  70          // Objective-C keywords
  71          1 => array(
  72              'while', 'switch', 'return', 'in', 'if', 'goto', 'foreach', 'for',
  73              'else', 'do', 'default', 'continue', 'case', '@try', '@throw',
  74              '@synthesize', '@synchronized', '@selector', '@public', '@protocol',
  75              '@protected', '@property', '@private', '@interface',
  76              '@implementation', '@finally', '@end', '@encode', '@defs', '@class',
  77              '@catch'
  78              ),
  79          // Macros and constants
  80          2 => array(
  81              'YES', 'USHRT_MAX', 'ULONG_MAX', 'UINT_MAX', 'UCHAR_MAX', 'true',
  82              'TMP_MAX', 'stdout', 'stdin', 'stderr', 'SIGTERM', 'SIGSEGV',
  83              'SIGINT', 'SIGILL', 'SIG_IGN', 'SIGFPE', 'SIG_ERR', 'SIG_DFL',
  84              'SIGABRT', 'SHRT_MIN', 'SHRT_MAX', 'SEEK_SET', 'SEEK_END',
  85              'SEEK_CUR', 'SCHAR_MIN', 'SCHAR_MAX', 'RAND_MAX', 'NULL',
  86              'NO', 'nil', 'Nil', 'L_tmpnam', 'LONG_MIN', 'LONG_MAX',
  87              'LDBL_MIN_EXP', 'LDBL_MIN', 'LDBL_MAX_EXP', 'LDBL_MAX',
  88              'LDBL_MANT_DIG', 'LDBL_EPSILON', 'LDBL_DIG', 'INT_MIN', 'INT_MAX',
  89              'HUGE_VAL', 'FOPEN_MAX', 'FLT_ROUNDS', 'FLT_RADIX', 'FLT_MIN_EXP',
  90              'FLT_MIN', 'FLT_MAX_EXP', 'FLT_MAX', 'FLT_MANT_DIG', 'FLT_EPSILON',
  91              'FLT_DIG', 'FILENAME_MAX', 'false', 'EXIT_SUCCESS', 'EXIT_FAILURE',
  92              'errno', 'ERANGE', 'EOF', 'enum', 'EDOM', 'DBL_MIN_EXP', 'DBL_MIN',
  93              'DBL_MAX_EXP', 'DBL_MAX', 'DBL_MANT_DIG', 'DBL_EPSILON', 'DBL_DIG',
  94              'CLOCKS_PER_SEC', 'CHAR_MIN', 'CHAR_MAX', 'CHAR_BIT', 'BUFSIZ',
  95              'break'
  96              ),
  97          // C standard library functions
  98          3 => array(
  99              'vsprintf', 'vprintf', 'vfprintf', 'va_start', 'va_end', 'va_arg',
 100              'ungetc', 'toupper', 'tolower', 'tmpname', 'tmpfile', 'time',
 101              'tanh', 'tan', 'system', 'strxfrm', 'strtoul', 'strtol', 'strtok',
 102              'strtod', 'strstr', 'strspn', 'strrchr', 'strpbrk', 'strncpy',
 103              'strncmp', 'strncat', 'strlen', 'strftime', 'strerror', 'strcspn',
 104              'strcpy', 'strcoll', 'strcmp', 'strchr', 'strcat', 'sscanf',
 105              'srand', 'sqrt', 'sprintf', 'snprintf', 'sizeof', 'sinh', 'sin',
 106              'setvbuf', 'setjmp', 'setbuf', 'scanf', 'rewind', 'rename',
 107              'remove', 'realloc', 'rand', 'qsort', 'puts', 'putchar', 'putc',
 108              'printf', 'pow', 'perror', 'offsetof', 'modf', 'mktime', 'memset',
 109              'memmove', 'memcpy', 'memcmp', 'memchr', 'malloc', 'longjmp',
 110              'log10', 'log', 'localtime', 'ldiv', 'ldexp', 'labs', 'isxdigit',
 111              'isupper', 'isspace', 'ispunct', 'isprint', 'islower',
 112              'isgraph', 'isdigit', 'iscntrl', 'isalpha', 'isalnum', 'gmtime',
 113              'gets', 'getenv', 'getchar', 'getc', 'fwrite', 'ftell', 'fsetpos',
 114              'fseek', 'fscanf', 'frexp', 'freopen', 'free', 'fread', 'fputs',
 115              'fputc', 'fprintf', 'fopen', 'fmod', 'floor', 'fgets', 'fgetpos',
 116              'fgetc', 'fflush', 'ferror', 'feof', 'fclose', 'fabs', 'exp',
 117              'exit', 'div', 'difftime', 'ctime', 'cosh', 'cos', 'clock',
 118              'clearerr', 'ceil', 'calloc', 'bsearch', 'atol', 'atoi', 'atof',
 119              'atexit', 'atan2', 'atan', 'assert', 'asin', 'asctime', 'acos',
 120              'abs', 'abort'
 121              ),
 122          // Data types (C, Objective-C, Cocoa)
 123          4 => array(
 124              'volatile', 'void', 'va_list', 'unsigned', 'union', 'typedef', 'tm',
 125              'time_t', 'struct', 'string', 'static', 'size_t',
 126              'signed', 'signal', 'short', 'SEL', 'register', 'raise',
 127              'ptrdiff_t', 'NSZone', 'NSRect', 'NSRange', 'NSPoint', 'long',
 128              'ldiv_t', 'jmp_buf', 'int', 'IMP', 'id', 'fpos_t', 'float', 'FILE',
 129              'extern', 'double', 'div_t', 'const', 'clock_t', 'Class', 'char',
 130              'BOOL', 'auto'
 131              ),
 132          // Foundation classes
 133          5 => array(
 134              'NSXMLParser', 'NSXMLNode', 'NSXMLElement', 'NSXMLDTDNode',
 135              'NSXMLDTD', 'NSXMLDocument', 'NSWhoseSpecifier',
 136              'NSValueTransformer', 'NSValue', 'NSUserDefaults', 'NSURLResponse',
 137              'NSURLRequest', 'NSURLProtocol', 'NSURLProtectionSpace',
 138              'NSURLHandle', 'NSURLDownload', 'NSURLCredentialStorage',
 139              'NSURLCredential', 'NSURLConnection', 'NSURLCache',
 140              'NSURLAuthenticationChallenge', 'NSURL', 'NSUniqueIDSpecifier',
 141              'NSUndoManager', 'NSUnarchiver', 'NSTimeZone', 'NSTimer',
 142              'NSThread', 'NSTask', 'NSString', 'NSStream', 'NSSpellServer',
 143              'NSSpecifierTest', 'NSSortDescriptor', 'NSSocketPortNameServer',
 144              'NSSocketPort', 'NSSetCommand', 'NSSet', 'NSSerializer',
 145              'NSScriptWhoseTest', 'NSScriptSuiteRegistry',
 146              'NSScriptObjectSpecifier', 'NSScriptExecutionContext',
 147              'NSScriptCommandDescription', 'NSScriptCommand',
 148              'NSScriptCoercionHandler', 'NSScriptClassDescription', 'NSScanner',
 149              'NSRunLoop', 'NSRelativeSpecifier', 'NSRecursiveLock',
 150              'NSRangeSpecifier', 'NSRandomSpecifier', 'NSQuitCommand', 'NSProxy',
 151              'NSProtocolChecker', 'NSPropertySpecifier',
 152              'NSPropertyListSerialization', 'NSProcessInfo', 'NSPredicate',
 153              'NSPositionalSpecifier', 'NSPortNameServer', 'NSPortMessage',
 154              'NSPortCoder', 'NSPort', 'NSPointerFunctions', 'NSPointerArray',
 155              'NSPipe', 'NSOutputStream', 'NSOperationQueue', 'NSOperation',
 156              'NSObject', 'NSNumberFormatter', 'NSNumber', 'NSNull',
 157              'NSNotificationQueue', 'NSNotificationCenter', 'NSNotification',
 158              'NSNetServiceBrowser', 'NSNetService', 'NSNameSpecifier',
 159              'NSMutableURLRequest', 'NSMutableString', 'NSMutableSet',
 160              'NSMutableIndexSet', 'NSMutableDictionary', 'NSMutableData',
 161              'NSMutableCharacterSet', 'NSMutableAttributedString',
 162              'NSMutableArray', 'NSMoveCommand', 'NSMiddleSpecifier',
 163              'NSMethodSignature', 'NSMetadataQueryResultGroup',
 164              'NSMetadataQueryAttributeValueTuple', 'NSMetadataQuery',
 165              'NSMetadataItem', 'NSMessagePortNameServer', 'NSMessagePort',
 166              'NSMapTable', 'NSMachPort', 'NSMachBootstrapServer',
 167              'NSLogicalTest', 'NSLock', 'NSLocale', 'NSKeyedUnarchiver',
 168              'NSKeyedArchiver', 'NSInvocationOperation', 'NSInvocation',
 169              'NSInputStream', 'NSIndexSpecifier', 'NSIndexSet', 'NSIndexPath',
 170              'NSHTTPURLResponse', 'NSHTTPCookieStorage', 'NSHTTPCookie',
 171              'NSHost', 'NSHashTable', 'NSGetCommand', 'NSGarbageCollector',
 172              'NSFormatter', 'NSFileManager', 'NSFileHandle', 'NSExpression',
 173              'NSExistsCommand', 'NSException', 'NSError', 'NSEnumerator',
 174              'NSDistributedNotificationCenter', 'NSDistributedLock',
 175              'NSDistantObjectRequest', 'NSDistantObject',
 176              'NSDirectoryEnumerator', 'NSDictionary', 'NSDeserializer',
 177              'NSDeleteCommand', 'NSDecimalNumberHandler', 'NSDecimalNumber',
 178              'NSDateFormatter', 'NSDateComponents', 'NSDate', 'NSData',
 179              'NSCreateCommand', 'NSCountedSet', 'NSCountCommand', 'NSConnection',
 180              'NSConditionLock', 'NSCondition', 'NSCompoundPredicate',
 181              'NSComparisonPredicate', 'NSCoder', 'NSCloseCommand',
 182              'NSCloneCommand', 'NSClassDescription', 'NSCharacterSet',
 183              'NSCalendarDate', 'NSCalendar', 'NSCachedURLResponse', 'NSBundle',
 184              'NSAutoreleasePool', 'NSAttributedString', 'NSAssertionHandler',
 185              'NSArray', 'NSArchiver', 'NSAppleScript', 'NSAppleEventManager',
 186              'NSAppleEventDescriptor', 'NSAffineTransform'
 187              ),
 188          // Foundation protocols
 189          6 => array(
 190              'NSURLProtocolClient', 'NSURLHandleClient', 'NSURLClient',
 191              'NSURLAuthenticationChallengeSender', 'NSScriptObjectSpecifiers',
 192              'NSScriptKeyValueCoding', 'NSScriptingComparisonMethods',
 193              'NSObjCTypeSerializationCallBack', 'NSMutableCopying',
 194              'NSLocking', 'NSKeyValueObserving', 'NSKeyValueCoding',
 195              'NSFastEnumeration', 'NSErrorRecoveryAttempting',
 196              'NSDecimalNumberBehaviors', 'NSCopying', 'NSComparisonMethods',
 197              'NSCoding'
 198              ),
 199          // AppKit classes
 200          7 => array(
 201              'NSWorkspace', 'NSWindowController', 'NSWindow', 'NSViewController',
 202              'NSViewAnimation', 'NSView', 'NSUserDefaultsController',
 203              'NSTypesetter', 'NSTreeNode', 'NSTreeController', 'NSTrackingArea',
 204              'NSToolbarItemGroup', 'NSToolbarItem', 'NSToolbar',
 205              'NSTokenFieldCell', 'NSTokenField', 'NSTextView',
 206              'NSTextTableBlock', 'NSTextTable', 'NSTextTab', 'NSTextStorage',
 207              'NSTextList', 'NSTextFieldCell', 'NSTextField', 'NSTextContainer',
 208              'NSTextBlock', 'NSTextAttachmentCell', 'NSTextAttachment', 'NSText',
 209              'NSTabViewItem', 'NSTabView', 'NSTableView', 'NSTableHeaderView',
 210              'NSTableHeaderCell', 'NSTableColumn', 'NSStepperCell', 'NSStepper',
 211              'NSStatusItem', 'NSStatusBar', 'NSSplitView', 'NSSpellChecker',
 212              'NSSpeechSynthesizer', 'NSSpeechRecognizer', 'NSSound',
 213              'NSSliderCell', 'NSSlider', 'NSSimpleHorizontalTypesetter',
 214              'NSShadow', 'NSSegmentedControl', 'NSSegmentedCell',
 215              'NSSecureTextFieldCell', 'NSSecureTextField', 'NSSearchFieldCell',
 216              'NSSearchField', 'NSScrollView', 'NSScroller', 'NSScreen',
 217              'NSSavePanel', 'NSRulerView', 'NSRulerMarker', 'NSRuleEditor',
 218              'NSResponder', 'NSQuickDrawView', 'NSProgressIndicator',
 219              'NSPrintPanel', 'NSPrintOperation', 'NSPrintInfo', 'NSPrinter',
 220              'NSPredicateEditorRowTemplate', 'NSPredicateEditor',
 221              'NSPopUpButtonCell', 'NSPopUpButton', 'NSPICTImageRep',
 222              'NSPersistentDocument', 'NSPDFImageRep', 'NSPathControl',
 223              'NSPathComponentCell', 'NSPathCell', 'NSPasteboard',
 224              'NSParagraphStyle', 'NSPanel', 'NSPageLayout', 'NSOutlineView',
 225              'NSOpenPanel', 'NSOpenGLView', 'NSOpenGLPixelFormat',
 226              'NSOpenGLPixelBuffer', 'NSOpenGLContext', 'NSObjectController',
 227              'NSNibOutletConnector', 'NSNibControlConnector', 'NSNibConnector',
 228              'NSNib', 'NSMutableParagraphStyle', 'NSMovieView', 'NSMovie',
 229              'NSMenuView', 'NSMenuItemCell', 'NSMenuItem', 'NSMenu', 'NSMatrix',
 230              'NSLevelIndicatorCell', 'NSLevelIndicator', 'NSLayoutManager',
 231              'NSInputServer', 'NSInputManager', 'NSImageView', 'NSImageRep',
 232              'NSImageCell', 'NSImage', 'NSHelpManager', 'NSGraphicsContext',
 233              'NSGradient', 'NSGlyphInfo', 'NSGlyphGenerator', 'NSFormCell',
 234              'NSForm', 'NSFontPanel', 'NSFontManager', 'NSFontDescriptor',
 235              'NSFont', 'NSFileWrapper', 'NSEvent', 'NSEPSImageRep', 'NSDrawer',
 236              'NSDocumentController', 'NSDocument', 'NSDockTile',
 237              'NSDictionaryController', 'NSDatePickerCell', 'NSDatePicker',
 238              'NSCustomImageRep', 'NSCursor', 'NSController', 'NSControl',
 239              'NSComboBoxCell', 'NSComboBox', 'NSColorWell', 'NSColorSpace',
 240              'NSColorPicker', 'NSColorPanel', 'NSColorList', 'NSColor',
 241              'NSCollectionViewItem', 'NSCollectionView', 'NSClipView',
 242              'NSCIImageRep', 'NSCell', 'NSCachedImageRep', 'NSButtonCell',
 243              'NSButton', 'NSBrowserCell', 'NSBrowser', 'NSBox',
 244              'NSBitmapImageRep', 'NSBezierPath', 'NSATSTypesetter',
 245              'NSArrayController', 'NSApplication', 'NSAnimationContext',
 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          )
 356  );