|
1 | 1 | /* PrismJS 1.23.0 |
2 | | -https://prismjs.com/download.html#themes=prism&languages=markup+css+clike+javascript+bash+c+cpp+coffeescript+crystal+d+dart+django+elixir+erlang+go+groovy+java+json+julia+kotlin+lua+markup-templating+matlab+nginx+nim+ocaml+perl+php+python+jsx+ruby+rust+scss+shell-session+sql+typescript+yaml */ |
| 2 | +https://prismjs.com/download.html#themes=prism&languages=markup+css+clike+javascript+bash+c+cpp+coffeescript+crystal+d+dart+diff+django+elixir+erlang+go+groovy+java+json+julia+kotlin+lua+markup-templating+matlab+nginx+nim+ocaml+perl+php+python+jsx+ruby+rust+scss+shell-session+sql+typescript+yaml */ |
3 | 3 | /// <reference lib="WebWorker"/> |
4 | 4 |
|
5 | 5 | var _self = (typeof window !== 'undefined') |
@@ -2248,6 +2248,71 @@ Prism.languages.insertBefore('dart','function',{ |
2248 | 2248 | } |
2249 | 2249 | }); |
2250 | 2250 |
|
| 2251 | +(function (Prism) { |
| 2252 | + |
| 2253 | + Prism.languages.diff = { |
| 2254 | + 'coord': [ |
| 2255 | + // Match all kinds of coord lines (prefixed by "+++", "---" or "***"). |
| 2256 | + /^(?:\*{3}|-{3}|\+{3}).*$/m, |
| 2257 | + // Match "@@ ... @@" coord lines in unified diff. |
| 2258 | + /^@@.*@@$/m, |
| 2259 | + // Match coord lines in normal diff (starts with a number). |
| 2260 | + /^\d.*$/m |
| 2261 | + ] |
| 2262 | + |
| 2263 | + // deleted, inserted, unchanged, diff |
| 2264 | + }; |
| 2265 | + |
| 2266 | + /** |
| 2267 | + * A map from the name of a block to its line prefix. |
| 2268 | + * |
| 2269 | + * @type {Object<string, string>} |
| 2270 | + */ |
| 2271 | + var PREFIXES = { |
| 2272 | + 'deleted-sign': '-', |
| 2273 | + 'deleted-arrow': '<', |
| 2274 | + 'inserted-sign': '+', |
| 2275 | + 'inserted-arrow': '>', |
| 2276 | + 'unchanged': ' ', |
| 2277 | + 'diff': '!', |
| 2278 | + }; |
| 2279 | + |
| 2280 | + // add a token for each prefix |
| 2281 | + Object.keys(PREFIXES).forEach(function (name) { |
| 2282 | + var prefix = PREFIXES[name]; |
| 2283 | + |
| 2284 | + var alias = []; |
| 2285 | + if (!/^\w+$/.test(name)) { // "deleted-sign" -> "deleted" |
| 2286 | + alias.push(/\w+/.exec(name)[0]); |
| 2287 | + } |
| 2288 | + if (name === "diff") { |
| 2289 | + alias.push("bold"); |
| 2290 | + } |
| 2291 | + |
| 2292 | + Prism.languages.diff[name] = { |
| 2293 | + pattern: RegExp('^(?:[' + prefix + '].*(?:\r\n?|\n|(?![\\s\\S])))+', 'm'), |
| 2294 | + alias: alias, |
| 2295 | + inside: { |
| 2296 | + 'line': { |
| 2297 | + pattern: /(.)(?=[\s\S]).*(?:\r\n?|\n)?/, |
| 2298 | + lookbehind: true |
| 2299 | + }, |
| 2300 | + 'prefix': { |
| 2301 | + pattern: /[\s\S]/, |
| 2302 | + alias: /\w+/.exec(name)[0] |
| 2303 | + } |
| 2304 | + } |
| 2305 | + }; |
| 2306 | + |
| 2307 | + }); |
| 2308 | + |
| 2309 | + // make prefixes available to Diff plugin |
| 2310 | + Object.defineProperty(Prism.languages.diff, 'PREFIXES', { |
| 2311 | + value: PREFIXES |
| 2312 | + }); |
| 2313 | + |
| 2314 | +}(Prism)); |
| 2315 | + |
2251 | 2316 | (function (Prism) { |
2252 | 2317 |
|
2253 | 2318 | /** |
|
0 commit comments