mirror of https://github.com/gogits/gogs.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
47 lines
1.1 KiB
47 lines
1.1 KiB
// CodeMirror, copyright (c) by Marijn Haverbeke and others |
|
// Distributed under an MIT license: http://codemirror.net/LICENSE |
|
|
|
(function(mod) { |
|
if (typeof exports == "object" && typeof module == "object") // CommonJS |
|
mod(require("../../lib/codemirror")); |
|
else if (typeof define == "function" && define.amd) // AMD |
|
define(["../../lib/codemirror"], mod); |
|
else // Plain browser env |
|
mod(CodeMirror); |
|
})(function(CodeMirror) { |
|
"use strict"; |
|
|
|
CodeMirror.defineMode("diff", function() { |
|
|
|
var TOKEN_NAMES = { |
|
'+': 'positive', |
|
'-': 'negative', |
|
'@': 'meta' |
|
}; |
|
|
|
return { |
|
token: function(stream) { |
|
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"); |
|
|
|
});
|
|
|