vendor/assets/javascripts/codemirror/modes/diff.js in codemirror-rails-2.24 vs vendor/assets/javascripts/codemirror/modes/diff.js in codemirror-rails-2.32
- old
+ new
@@ -1,12 +1,31 @@
CodeMirror.defineMode("diff", function() {
+
+ var TOKEN_NAMES = {
+ '+': 'tag',
+ '-': 'string',
+ '@': 'meta'
+ };
+
return {
token: function(stream) {
- var ch = stream.next();
- stream.skipToEnd();
- if (ch == "+") return "plus";
- if (ch == "-") return "minus";
- if (ch == "@") return "rangeinfo";
+ var tw_pos = stream.string.search(/[\t ]+?$/);
+
+ if (!stream.sol() || tw_pos === 0) {
+ stream.skipToEnd();
+ return ("error " + (
+ TOKEN_NAMES[stream.string.charAt(0)] || '')).replace(/ $/, '');
+ }
+
+ var token_name = TOKEN_NAMES[stream.peek()] || stream.skipToEnd();
+
+ if (tw_pos === -1) {
+ stream.skipToEnd();
+ } else {
+ stream.pos = tw_pos;
+ }
+
+ return token_name;
}
};
});
CodeMirror.defineMIME("text/x-diff", "diff");