/**
 * SyntaxHighlighter - Objective-C Brush
 * http://codepirate.seaandco.com/
 *
 *  Created By: Corey Werner
 *  Version 2.0
 */

SyntaxHighlighter.brushes.ObjC = function()
{
	var pink =
//	'@property @selector @interface @end @implementation @synthesize ' +
	'IBAction IBOutlet ' +
	'NULL nil int char bool BOOL void return SEL YES NO default union ' +
	'double float long short id super self break case const continue do ' +
	'goto inline enum extern register sizeof sizeof static struct for ' +
	'true false typedef if volatile while switch nonatomic retain assign';

	var dark_purp = 
	'addGestureRecognizer addObserver addSubview';
		
		
	this.regexList = [
		{ regex: SyntaxHighlighter.regexLib.singleLineCComments,	css: 'green' },			// one line comments
		{ regex: SyntaxHighlighter.regexLib.multiLineCComments,		css: 'green' },			// multiline comments
		{ regex: SyntaxHighlighter.regexLib.doubleQuotedString,		css: 'red' },			// double quoted strings
		{ regex: SyntaxHighlighter.regexLib.singleQuotedString,		css: 'red' },			// single quoted strings
		{ regex: new RegExp( /@(["'])[^]*?\1/g ),					css: 'red' },			// @"comments"
		{ regex: new RegExp(this.getKeywords(pink), 'gm'),			css: 'pink' },
		{ regex: new RegExp('@\\w+\\b', 'g'),						css: 'pink' },			// @letters
		{ regex: new RegExp(this.getKeywords(dark_purp), 'gm'),		css: 'dark-purp' },
		{ regex: new RegExp('\\bkCG\\w+\\b', 'g'),					css: 'dark-purp' },		// start with kCG
		{ regex: new RegExp('\\bNS\\w+\\b', 'g'),					css: 'light-purp' },	// start with NS
		{ regex: new RegExp('\\bUI\\w+\\b', 'g'),					css: 'light-purp' },	// start with UI
		{ regex: new RegExp('\\bCG\\w+\\b', 'g'),					css: 'light-purp' },	// start with CG
		{ regex: new RegExp('\\bkCF\\w+\\b', 'g'),					css: 'light-purp' },	// start with kCF
		{ regex: new RegExp( /(\b[0-9]+)|([.])+(\d+)/g ),			css: 'blue' },			// digit
		{ regex: new RegExp( /^ *#\w+/gm ),							css: 'brown' },			// start with #
		// the below code needs added to it words that dont get used, such as ON
		{ regex: new RegExp( /\b[A-Z_]+\b/g ),						css: 'brown' },			// all uppercase
	];
	
}

SyntaxHighlighter.brushes.ObjC.prototype = new SyntaxHighlighter.Highlighter();
SyntaxHighlighter.brushes.ObjC.aliases = ['objc', 'obj-c'];
