clean import of syntaxhighlighter as of 3.0.83
[myslice.git] / third-party / syntaxhighlighter_3.0.83 / scripts / shBrushGroovy.js
diff --git a/third-party/syntaxhighlighter_3.0.83/scripts/shBrushGroovy.js b/third-party/syntaxhighlighter_3.0.83/scripts/shBrushGroovy.js
new file mode 100644 (file)
index 0000000..6ec5c18
--- /dev/null
@@ -0,0 +1,67 @@
+/**
+ * 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 Andres Almiray
+               // http://jroller.com/aalmiray/entry/nice_source_code_syntax_highlighter
+
+               var keywords =  'as assert break case catch class continue def default do else extends finally ' +
+                                               'if in implements import instanceof interface new package property return switch ' +
+                                               'throw throws try while public protected private static';
+               var types    =  'void boolean byte char short int long float double';
+               var constants = 'null';
+               var methods   = 'allProperties count get size '+
+                                               'collect each eachProperty eachPropertyName eachWithIndex find findAll ' +
+                                               'findIndexOf grep inject max min reverseEach sort ' +
+                                               'asImmutable asSynchronized flatten intersect join pop reverse subMap toList ' +
+                                               'padRight padLeft contains eachMatch toCharacter toLong toUrl tokenize ' +
+                                               'eachFile eachFileRecurse eachB yte eachLine readBytes readLine getText ' +
+                                               'splitEachLine withReader append encodeBase64 decodeBase64 filterLine ' +
+                                               'transformChar transformLine withOutputStream withPrintWriter withStream ' +
+                                               'withStreams withWriter withWriterAppend write writeLine '+
+                                               'dump inspect invokeMethod print println step times upto use waitForOrKill '+
+                                               'getText';
+
+               this.regexList = [
+                       { regex: SyntaxHighlighter.regexLib.singleLineCComments,                                css: 'comments' },              // one line comments
+                       { regex: SyntaxHighlighter.regexLib.multiLineCComments,                                 css: 'comments' },              // multiline comments
+                       { regex: SyntaxHighlighter.regexLib.doubleQuotedString,                                 css: 'string' },                // strings
+                       { regex: SyntaxHighlighter.regexLib.singleQuotedString,                                 css: 'string' },                // strings
+                       { regex: /""".*"""/g,                                                                                                   css: 'string' },                // GStrings
+                       { regex: new RegExp('\\b([\\d]+(\\.[\\d]+)?|0x[a-f0-9]+)\\b', 'gi'),    css: 'value' },                 // numbers
+                       { regex: new RegExp(this.getKeywords(keywords), 'gm'),                                  css: 'keyword' },               // goovy keyword
+                       { regex: new RegExp(this.getKeywords(types), 'gm'),                                             css: 'color1' },                // goovy/java type
+                       { regex: new RegExp(this.getKeywords(constants), 'gm'),                                 css: 'constants' },             // constants
+                       { regex: new RegExp(this.getKeywords(methods), 'gm'),                                   css: 'functions' }              // methods
+                       ];
+
+               this.forHtmlScript(SyntaxHighlighter.regexLib.aspScriptTags);
+       }
+
+       Brush.prototype = new SyntaxHighlighter.Highlighter();
+       Brush.aliases   = ['groovy'];
+
+       SyntaxHighlighter.brushes.Groovy = Brush;
+
+       // CommonJS
+       typeof(exports) != 'undefined' ? exports.Brush = Brush : null;
+})();