diff options
| author | Armand Philippot <git@armandphilippot.com> | 2021-12-30 19:47:21 +0100 |
|---|---|---|
| committer | Armand Philippot <git@armandphilippot.com> | 2021-12-30 19:47:21 +0100 |
| commit | a98b5ea6fe8e8cc98a55e0fd793e6e8660ea31c1 (patch) | |
| tree | 542810ab5aef99150db228bb54fd58303dcb31c7 /public/prism/prism-js-extras.min.js | |
| parent | ab355897a12b7bda1089a44de326d41455a0f7a3 (diff) | |
chore: add prismjs for syntax highlighting
Diffstat (limited to 'public/prism/prism-js-extras.min.js')
| -rw-r--r-- | public/prism/prism-js-extras.min.js | 98 |
1 files changed, 98 insertions, 0 deletions
diff --git a/public/prism/prism-js-extras.min.js b/public/prism/prism-js-extras.min.js new file mode 100644 index 0000000..26d73f2 --- /dev/null +++ b/public/prism/prism-js-extras.min.js @@ -0,0 +1,98 @@ +!(function (a) { + function e(a, e) { + return RegExp( + a.replace(/<ID>/g, function () { + return '(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*'; + }), + e + ); + } + a.languages.insertBefore('javascript', 'function-variable', { + 'method-variable': { + pattern: RegExp( + '(\\.\\s*)' + a.languages.javascript['function-variable'].pattern.source + ), + lookbehind: !0, + alias: ['function-variable', 'method', 'function', 'property-access'], + }, + }), + a.languages.insertBefore('javascript', 'function', { + method: { + pattern: RegExp('(\\.\\s*)' + a.languages.javascript.function.source), + lookbehind: !0, + alias: ['function', 'property-access'], + }, + }), + a.languages.insertBefore('javascript', 'constant', { + 'known-class-name': [ + { + pattern: + /\b(?:(?:Float(?:32|64)|(?:Int|Uint)(?:8|16|32)|Uint8Clamped)?Array|ArrayBuffer|BigInt|Boolean|DataView|Date|Error|Function|Intl|JSON|(?:Weak)?(?:Map|Set)|Math|Number|Object|Promise|Proxy|Reflect|RegExp|String|Symbol|WebAssembly)\b/, + alias: 'class-name', + }, + { pattern: /\b(?:[A-Z]\w*)Error\b/, alias: 'class-name' }, + ], + }), + a.languages.insertBefore('javascript', 'keyword', { + imports: { + pattern: e( + '(\\bimport\\b\\s*)(?:<ID>(?:\\s*,\\s*(?:\\*\\s*as\\s+<ID>|\\{[^{}]*\\}))?|\\*\\s*as\\s+<ID>|\\{[^{}]*\\})(?=\\s*\\bfrom\\b)' + ), + lookbehind: !0, + inside: a.languages.javascript, + }, + exports: { + pattern: e( + '(\\bexport\\b\\s*)(?:\\*(?:\\s*as\\s+<ID>)?(?=\\s*\\bfrom\\b)|\\{[^{}]*\\})' + ), + lookbehind: !0, + inside: a.languages.javascript, + }, + }), + a.languages.javascript.keyword.unshift( + { pattern: /\b(?:as|default|export|from|import)\b/, alias: 'module' }, + { + pattern: + /\b(?:await|break|catch|continue|do|else|finally|for|if|return|switch|throw|try|while|yield)\b/, + alias: 'control-flow', + }, + { pattern: /\bnull\b/, alias: ['null', 'nil'] }, + { pattern: /\bundefined\b/, alias: 'nil' } + ), + a.languages.insertBefore('javascript', 'operator', { + spread: { pattern: /\.{3}/, alias: 'operator' }, + arrow: { pattern: /=>/, alias: 'operator' }, + }), + a.languages.insertBefore('javascript', 'punctuation', { + 'property-access': { pattern: e('(\\.\\s*)#?<ID>'), lookbehind: !0 }, + 'maybe-class-name': { + pattern: /(^|[^$\w\xA0-\uFFFF])[A-Z][$\w\xA0-\uFFFF]+/, + lookbehind: !0, + }, + dom: { + pattern: + /\b(?:document|(?:local|session)Storage|location|navigator|performance|window)\b/, + alias: 'variable', + }, + console: { pattern: /\bconsole(?=\s*\.)/, alias: 'class-name' }, + }); + for ( + var t = [ + 'function', + 'function-variable', + 'method', + 'method-variable', + 'property-access', + ], + r = 0; + r < t.length; + r++ + ) { + var n = t[r], + s = a.languages.javascript[n]; + 'RegExp' === a.util.type(s) && + (s = a.languages.javascript[n] = { pattern: s }); + var o = s.inside || {}; + (s.inside = o)['maybe-class-name'] = /^[A-Z][\s\S]*/; + } +})(Prism); |
