/**
 * SyntaxHighlighter
 * http://alexgorbatchev.com/
 *
 * brush file for Smalltalk
 * David Harvey
 * http://www.teamsandtechnology.com
 */
SyntaxHighlighter.brushes.Smalltalk = function()
{
	var keywords =	'self super true false nil thisContext new';
		// Yes, I know "new" isn't a keyword, but it's 
		// worth highligting along with the rest
	var messages =  'not value size species'; 
		// keyword messages covered by simple regex
		// This list should include all the common single-word selectors

	this.regexList = [
		{ regex: SyntaxHighlighter.regexLib.multiLineDoubleQuotedString,	css: 'comments'},		// double quoted strings are comments		
		{ regex: /“[^”]*”/gm,												css: 'comments'},		// double quoted strings are comments		
		{ regex: SyntaxHighlighter.regexLib.doubleQuotedString,				css: 'comments'},		// double quoted strings are comments		
		{ regex: SyntaxHighlighter.regexLib.singleQuotedString,				css: 'string' },		// single quoted strings
		{ regex: new RegExp(this.getKeywords(keywords), 'gm'),				css: 'keyword' },		// keywords
		{ regex: new RegExp(this.getKeywords(messages), 'gm'),				css: 'color1 bold' },	// common messages
		{ regex: /[a-z][A-Za-z0-9]*:/g,										css: 'color1' },		// keyword messages
		{ regex: /[A-Z][a-zA-Z0-9]+&gt;&gt;/gm,								css: 'plain bold' },	// class at beginning of method text
		{ regex: /\|[^|]+\|/gm,												css: 'color2' },		// locals
		{ regex: /(:[a-z][^:|]+)\|/gm,										css: 'color2' }			// block parameters
		];	
	this.forHtmlScript(SyntaxHighlighter.regexLib.scriptScriptTags);	
};

SyntaxHighlighter.brushes.Smalltalk.prototype = new SyntaxHighlighter.Highlighter();
SyntaxHighlighter.brushes.Smalltalk.aliases	= ['st', 'smalltalk'];
