// CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: https://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) // Plain browser env else 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') })