BotanJS/botanjs/src/Libraries/SyntaxHighlighter/Brush/Scala.js

54 lines
2.0 KiB
JavaScript

/**
* SyntaxHighlighter
* http://alexgorbatchev.com/SyntaxHighlighter
*
* SyntaxHighlighter is donationware. If you are using it, please donate.
* http://alexgorbatchev.com/SyntaxHighlighter/donate.html
*
* @version
* 3.0.83 (July 02 2010)
*
* @copyright
* Copyright (C) 2004-2010 Alex Gorbatchev.
*
* @license
* Dual licensed under the MIT and GPL licenses.
*/
;(function()
{
var ns = __namespace( "Libraries.SyntaxHighlighter.Brush" );
/** @type {Libraries.SyntaxHighlighter} */
var SyntaxHighlighter = __import( "Libraries.SyntaxHighlighter" );
/** @type {Libraries.SyntaxHighlighter.Brush} **/
var Brush = function()
{
// Contributed by Yegor Jbanov and David Bernard.
var keywords = 'val sealed case def true trait implicit forSome import match object null finally super ' +
'override try lazy for var catch throw type extends class while with new final yield abstract ' +
'else do if return protected private this package false';
var keyops = '[_:=><%#@]+';
this.regexList = [
{ "regex": SyntaxHighlighter.regexLib.singleLineCComments, "css": 'comments' }, // one line comments
{ "regex": SyntaxHighlighter.regexLib.multiLineCComments, "css": 'comments' }, // multiline comments
{ "regex": SyntaxHighlighter.regexLib.multiLineSingleQuotedString, "css": 'string' }, // multi-line strings
{ "regex": SyntaxHighlighter.regexLib.multiLineDoubleQuotedString, "css": 'string' }, // double-quoted string
{ "regex": SyntaxHighlighter.regexLib.singleQuotedString, "css": 'string' }, // strings
{ "regex": /0x[a-f0-9]+|\d+(\.\d+)?/gi, "css": 'value' }, // numbers
{ "regex": new RegExp(this.getKeywords(keywords), 'gm'), "css": 'keyword' }, // keywords
{ "regex": new RegExp(keyops, 'gm'), "css": 'keyword' } // scala keyword
];
}
Brush.prototype = new SyntaxHighlighter.Highlighter();
Brush.aliases = ['scala'];
SyntaxHighlighter.brushes[ "Scala" ] = Brush;
ns[ NS_EXPORT ]( EX_CLASS, "Scala", Brush );
})();