Subversion-Projekte lars-tiefland.cienc

Revision

Details | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
5 lars 1
// CodeMirror, copyright (c) by Marijn Haverbeke and others
2
// Distributed under an MIT license: http://codemirror.net/LICENSE
3
 
4
(function(mod) {
5
  if (typeof exports == "object" && typeof module == "object") // CommonJS
6
    mod(require("../../lib/codemirror"));
7
  else if (typeof define == "function" && define.amd) // AMD
8
    define(["../../lib/codemirror"], mod);
9
  else // Plain browser env
10
    mod(CodeMirror);
11
})(function(CodeMirror) {
12
"use strict";
13
 
14
CodeMirror.defineMode("diff", function() {
15
 
16
  var TOKEN_NAMES = {
17
    '+': 'positive',
18
    '-': 'negative',
19
    '@': 'meta'
20
  };
21
 
22
  return {
23
    token: function(stream) {
24
      var tw_pos = stream.string.search(/[\t ]+?$/);
25
 
26
      if (!stream.sol() || tw_pos === 0) {
27
        stream.skipToEnd();
28
        return ("error " + (
29
          TOKEN_NAMES[stream.string.charAt(0)] || '')).replace(/ $/, '');
30
      }
31
 
32
      var token_name = TOKEN_NAMES[stream.peek()] || stream.skipToEnd();
33
 
34
      if (tw_pos === -1) {
35
        stream.skipToEnd();
36
      } else {
37
        stream.pos = tw_pos;
38
      }
39
 
40
      return token_name;
41
    }
42
  };
43
});
44
 
45
CodeMirror.defineMIME("text/x-diff", "diff");
46
 
47
});