clean import of syntaxhighlighter as of 3.0.83
[myslice.git] / third-party / syntaxhighlighter_3.0.83 / scripts / shBrushErlang.js
diff --git a/third-party/syntaxhighlighter_3.0.83/scripts/shBrushErlang.js b/third-party/syntaxhighlighter_3.0.83/scripts/shBrushErlang.js
new file mode 100644 (file)
index 0000000..6ba7d9d
--- /dev/null
@@ -0,0 +1,52 @@
+/**
+ * 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 Jean-Lou Dupont
+               // http://jldupont.blogspot.com/2009/06/erlang-syntax-highlighter.html  
+
+               // According to: http://erlang.org/doc/reference_manual/introduction.html#1.5
+               var keywords = 'after and andalso band begin bnot bor bsl bsr bxor '+
+                       'case catch cond div end fun if let not of or orelse '+
+                       'query receive rem try when xor'+
+                       // additional
+                       ' module export import define';
+
+               this.regexList = [
+                       { regex: new RegExp("[A-Z][A-Za-z0-9_]+", 'g'),                         css: 'constants' },
+                       { regex: new RegExp("\\%.+", 'gm'),                                             css: 'comments' },
+                       { regex: new RegExp("\\?[A-Za-z0-9_]+", 'g'),                           css: 'preprocessor' },
+                       { regex: new RegExp("[a-z0-9_]+:[a-z0-9_]+", 'g'),                      css: 'functions' },
+                       { regex: SyntaxHighlighter.regexLib.doubleQuotedString,         css: 'string' },
+                       { regex: SyntaxHighlighter.regexLib.singleQuotedString,         css: 'string' },
+                       { regex: new RegExp(this.getKeywords(keywords), 'gm'),          css: 'keyword' }
+                       ];
+       };
+
+       Brush.prototype = new SyntaxHighlighter.Highlighter();
+       Brush.aliases   = ['erl', 'erlang'];
+
+       SyntaxHighlighter.brushes.Erland = Brush;
+
+       // CommonJS
+       typeof(exports) != 'undefined' ? exports.Brush = Brush : null;
+})();