65 lines
2.4 KiB
JavaScript
65 lines
2.4 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()
|
|
{
|
|
// CommonJS
|
|
typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null;
|
|
|
|
function Brush()
|
|
{
|
|
// Contributed by Gheorghe Milas and Ahmad Sherif
|
|
|
|
var keywords = 'and assert break class continue def del elif else ' +
|
|
'except exec finally for from global if import in is ' +
|
|
'lambda not or pass print raise return try yield while';
|
|
|
|
var funcs = '__import__ abs all any apply basestring bin bool buffer callable ' +
|
|
'chr classmethod cmp coerce compile complex delattr dict dir ' +
|
|
'divmod enumerate eval execfile file filter float format frozenset ' +
|
|
'getattr globals hasattr hash help hex id input int intern ' +
|
|
'isinstance issubclass iter len list locals long map max min next ' +
|
|
'object oct open ord pow print property range raw_input reduce ' +
|
|
'reload repr reversed round set setattr slice sorted staticmethod ' +
|
|
'str sum super tuple type type unichr unicode vars xrange zip';
|
|
|
|
var special = 'None True False self cls class_';
|
|
|
|
this.regexList = [
|
|
{ regex: SyntaxHighlighter.regexLib.singleLinePerlComments, css: 'comments' },
|
|
{ regex: /^\s*@\w+/gm, css: 'decorator' },
|
|
{ regex: /(['\"]{3})([^\1])*?\1/gm, css: 'comments' },
|
|
{ regex: /"(?!")(?:\.|\\\"|[^\""\n])*"/gm, css: 'string' },
|
|
{ regex: /'(?!')(?:\.|(\\\')|[^\''\n])*'/gm, css: 'string' },
|
|
{ regex: /\+|\-|\*|\/|\%|=|==/gm, css: 'keyword' },
|
|
{ regex: /\b\d+\.?\w*/g, css: 'value' },
|
|
{ regex: new RegExp(this.getKeywords(funcs), 'gmi'), css: 'functions' },
|
|
{ regex: new RegExp(this.getKeywords(keywords), 'gm'), css: 'keyword' },
|
|
{ regex: new RegExp(this.getKeywords(special), 'gm'), css: 'color1' }
|
|
];
|
|
|
|
this.forHtmlScript(SyntaxHighlighter.regexLib.aspScriptTags);
|
|
};
|
|
|
|
Brush.prototype = new SyntaxHighlighter.Highlighter();
|
|
Brush.aliases = ['py', 'python'];
|
|
|
|
SyntaxHighlighter.brushes.Python = Brush;
|
|
|
|
// CommonJS
|
|
typeof(exports) != 'undefined' ? exports.Brush = Brush : null;
|
|
})();
|