/**
 * Code Syntax Highlighter for Lisp.
 * 2009.09.20, Raoul Felix
 * http://rfelix.com/
 *
 * This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General
 * Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option)
 * any later version.
 *
 * This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
 * details.
 *
 * You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to
 * the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 */

SyntaxHighlighter.brushes.Lisp = function()
{
	var keywords =	'let while when unless cond if ' +
	 				'lambda defun defvar progn dolist ' +
					'dotimes with-temp-buffer ' +
					'cat cdr setq quote eval append list ' +
					'const atom listp null memberp nil ' +
					't abs expt sqrt max min load ' + 
					'cadr cddr caadr caddr cdddr caaadr cddddr setcar';

	this.regexList = [
		{ regex: SyntaxHighlighter.regexLib.doubleQuotedString,		css: 'string' },
		{ regex: new RegExp(this.getKeywords(keywords), 'gmi'),		css: 'keyword' },
		{ regex: new RegExp('^;.*', 'g'),							css: 'comment' },
		{ regex: new RegExp("'(\\w|-)+", 'g'),						css: 'symbol' }
		];
};
SyntaxHighlighter.brushes.Lisp.prototype = new SyntaxHighlighter.Highlighter();
SyntaxHighlighter.brushes.Lisp.aliases	= ['lisp'];
