1 | (function (Prism) {
|
2 |
|
3 | Prism.languages.diff = {
|
4 | 'coord': [
|
5 |
|
6 | /^(?:\*{3}|-{3}|\+{3}).*$/m,
|
7 |
|
8 | /^@@.*@@$/m,
|
9 |
|
10 | /^\d+.*$/m
|
11 | ]
|
12 |
|
13 |
|
14 | };
|
15 |
|
16 | |
17 |
|
18 |
|
19 |
|
20 |
|
21 | var PREFIXES = {
|
22 | 'deleted-sign': '-',
|
23 | 'deleted-arrow': '<',
|
24 | 'inserted-sign': '+',
|
25 | 'inserted-arrow': '>',
|
26 | 'unchanged': ' ',
|
27 | 'diff': '!',
|
28 | };
|
29 |
|
30 |
|
31 | Object.keys(PREFIXES).forEach(function (name) {
|
32 | var prefix = PREFIXES[name];
|
33 |
|
34 | var alias = [];
|
35 | if (!/^\w+$/.test(name)) {
|
36 | alias.push(/\w+/.exec(name)[0]);
|
37 | }
|
38 | if (name === "diff") {
|
39 | alias.push("bold");
|
40 | }
|
41 |
|
42 | Prism.languages.diff[name] = {
|
43 |
|
44 | pattern: RegExp('^(?:[' + prefix + '].*(?:\r\n?|\n|(?![\\s\\S])))+', 'm'),
|
45 | alias: alias
|
46 | };
|
47 | });
|
48 |
|
49 |
|
50 | Object.defineProperty(Prism.languages.diff, 'PREFIXES', {
|
51 | value: PREFIXES
|
52 | });
|
53 |
|
54 | }(Prism));
|