12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- (function (Prism) {
- Prism.languages.diff = {
- 'coord': [
-
- /^(?:\*{3}|-{3}|\+{3}).*$/m,
-
- /^@@.*@@$/m,
-
- /^\d.*$/m
- ]
-
- };
-
- var PREFIXES = {
- 'deleted-sign': '-',
- 'deleted-arrow': '<',
- 'inserted-sign': '+',
- 'inserted-arrow': '>',
- 'unchanged': ' ',
- 'diff': '!',
- };
-
- Object.keys(PREFIXES).forEach(function (name) {
- var prefix = PREFIXES[name];
- var alias = [];
- if (!/^\w+$/.test(name)) {
- alias.push(/\w+/.exec(name)[0]);
- }
- if (name === 'diff') {
- alias.push('bold');
- }
- Prism.languages.diff[name] = {
- pattern: RegExp('^(?:[' + prefix + '].*(?:\r\n?|\n|(?![\\s\\S])))+', 'm'),
- alias: alias,
- inside: {
- 'line': {
- pattern: /(.)(?=[\s\S]).*(?:\r\n?|\n)?/,
- lookbehind: true
- },
- 'prefix': {
- pattern: /[\s\S]/,
- alias: /\w+/.exec(name)[0]
- }
- }
- };
- });
-
- Object.defineProperty(Prism.languages.diff, 'PREFIXES', {
- value: PREFIXES
- });
- }(Prism));
|