summaryrefslogtreecommitdiffstats
path: root/public/prism/prism-js-extras.min.js
diff options
context:
space:
mode:
Diffstat (limited to 'public/prism/prism-js-extras.min.js')
-rw-r--r--public/prism/prism-js-extras.min.js98
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);