source: spip-zone/_plugins_/coloration_code/trunk/geshi/geshi/objc.php @ 111500

Last change on this file since 111500 was 111500, checked in by marcimat@…, 15 months ago

Et tant qu’à faire, on met à jour GESHI en 1.0.9

File size: 18.4 KB
Line 
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.0
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);
Note: See TracBrowser for help on using the repository browser.