/**
 * SyntaxHighlighter - Objective-C Brush
  * http://codepirate.seaandco.com/
   *
    * @version
     * 1.0.0 (February 22 2009)
      *
       * @author
        * Geoffrey Byers
         * 
          * @copyright
           * Copyright (C) 2009 Geoffrey Byers.
            *
             * Licensed under a GNU Lesser General Public License.
              * http://creativecommons.org/licenses/LGPL/2.1/
               *
                *  Updated From:
                 *  Code Syntax Highlighter for Objective-C.
                  *  Version 0.0.2
                   *  Copyright (C) 2006 Shin, YoungJin.
                    *  http://scottdensmore.typepad.com/blog/2008/12/objective-c-cocoa-syntax-highlighter.html
                     */
                     
                     SyntaxHighlighter.brushes.ObjC = function()
                     {
                        var datatypes =	'char bool BOOL double float int long short id void';
                    	
                    	    var keywords = 'IBAction IBOutlet SEL YES NO readwrite readonly nonatomic nil NULL ';
                    		keywords += 'super self copy ';
                    		    keywords += 'break case catch class const copy __finally __exception __try ';
                    			keywords += 'const_cast continue private public protected __declspec ';
                    			    keywords += 'default delete deprecated dllexport dllimport do dynamic_cast ';
                    				keywords += 'else enum explicit extern if for friend goto inline ';
                    				    keywords += 'mutable naked namespace new noinline noreturn nothrow ';
                    					keywords += 'register reinterpret_cast return selectany ';
                    					    keywords += 'sizeof static static_cast struct switch template this ';
                    						keywords += 'thread throw true false try typedef typeid typename union ';
                    						    keywords += 'using uuid virtual volatile whcar_t while';
                    							// keywords += '@property @selector @interface @end @implementation @synthesize ';
                    							    
                    								    
                    									this.regexList = [
                    										{ regex: SyntaxHighlighter.regexLib.singleLineCComments,		css: 'comments' },		// one line comments
                    											{ regex: SyntaxHighlighter.regexLib.multiLineCComments,		css: 'comments' },		// multiline comments
                    												{ regex: SyntaxHighlighter.regexLib.doubleQuotedString,		css: 'string' },			// double quoted strings
                    													{ regex: SyntaxHighlighter.regexLib.singleQuotedString,		css: 'string' },			// single quoted strings
                    														{ regex: new RegExp('^ *#.*', 'gm'),						css: 'preprocessor' },		// preprocessor
                    															{ regex: new RegExp(this.getKeywords(datatypes), 'gm'),		css: 'datatypes' },		// datatypes
                    																{ regex: new RegExp(this.getKeywords(keywords), 'gm'),		css: 'keyword' },			// keyword
																	{ regex: new RegExp('\\bNS\\w+\\b', 'g'),					css: 'keyword' },			// keyword
                    																		{ regex: new RegExp('@\\w+\\b', 'g'),						css: 'keyword' },			// keyword
                    																			];
                    																			    
                    																			    }
                    																			    
                    																			    SyntaxHighlighter.brushes.ObjC.prototype = new SyntaxHighlighter.Highlighter();
                    																			    SyntaxHighlighter.brushes.ObjC.aliases = ['objc', 'obj-c'];
                    																			    
