SyntaxHighlighter.brushes.Sql = function()
{
	var filters	= 'annotated bean code comment decl declare duplicate empty emptyset ' +
			'entity etype exception extend extends fieldtype fqname implement implements ' + 
			'inherit inheritance inject java level litval magic magicnumber metric mod ' +
			'modifier name packagename paramlist primitive ref reference returntype sig ' +
			'signature throws';

	var keywords =	'select from where';

	var switches =	'cls class classes ' +
					'm method methods ' +
					'fld field fields ' +
					'con constructor constructors ' +
					'pkg package packages ' +
					'anno annotation annotations ' +
					'inst instruction instructions ' +
					'lit literal literals ' +
					'sub subclass subclasses ' +
					'inner innerclass innerclasses ' +
					'call calls ' +
					'type types ' +
					'return returns ' +
					'exception exceptions ' +
					'parameter parameters ' +
					'feature features ' +
					'generic generics ' +
					'super superclass superclasses';

	var operators =	'and or \& \&\& \! not ' + 
//					'\| \^ ' + 
					'xor ex exist fa forall elementof eo';

	this.regexList = [
		{ regex: SyntaxHighlighter.regexLib.singleLineCComments,	css: 'comments' },		// one line comments
		{ regex: /\/\*([^\*][\s\S]*)?\*\//gm,						css: 'comments' },	 	// multiline comments
		{ regex: /\@[A-Za-z0-9]*/gm,						css: 'color1' },	  
		{ regex: SyntaxHighlighter.regexLib.multiLineDoubleQuotedString,	css: 'string' },			// double quoted strings
		{ regex: SyntaxHighlighter.regexLib.multiLineSingleQuotedString,	css: 'string' },			// single quoted strings
		{ regex: new RegExp(this.getKeywords(filters), 'gmi'),				css: 'color2' },			// functions
		{ regex: new RegExp(this.getKeywords(operators), 'gmi'),			css: 'color1' },			// operators and such
		{ regex: new RegExp(this.getKeywords(keywords), 'gmi'),				css: 'keyword' },			// keyword
		{ regex: new RegExp(this.getKeywords(switches), 'gmi'),				css: 'color1' }
		];
};

SyntaxHighlighter.brushes.Sql.prototype	= new SyntaxHighlighter.Highlighter();
SyntaxHighlighter.brushes.Sql.aliases	= ['cql'];


