html5 boiler plate
[scannr.git] / js / flotr2 / examples / lib / codemirror / mode / rpm / changes / changes.js
blob:a/js/flotr2/examples/lib/codemirror/mode/rpm/changes/changes.js -> blob:b/js/flotr2/examples/lib/codemirror/mode/rpm/changes/changes.js
--- a/js/flotr2/examples/lib/codemirror/mode/rpm/changes/changes.js
+++ b/js/flotr2/examples/lib/codemirror/mode/rpm/changes/changes.js
@@ -1,1 +1,20 @@
+CodeMirror.defineMode("changes", function(config, modeConfig) {
+  var headerSeperator = /^-+$/;
+  var headerLine = /^(Mon|Tue|Wed|Thu|Fri|Sat|Sun) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)  ?\d{1,2} \d{2}:\d{2}(:\d{2})? [A-Z]{3,4} \d{4} - /;
+  var simpleEmail = /^[\w+.-]+@[\w.-]+/;
 
+  return {
+    token: function(stream) {
+      if (stream.sol()) {
+        if (stream.match(headerSeperator)) { return 'tag'; }
+        if (stream.match(headerLine)) { return 'tag'; }
+      }
+      if (stream.match(simpleEmail)) { return 'string'; }
+      stream.next();
+      return null;
+    }
+  };
+});
+
+CodeMirror.defineMIME("text/x-rpm-changes", "changes");
+