@hep-code-runner/vue3 2.0.0 → 2.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +27 -11
- package/dist/index.d.ts +4 -0
- package/dist/index.js +6 -6
- package/dist/index.mjs +530 -509
- package/dist/style.css +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { defineComponent as
|
|
2
|
-
var
|
|
3
|
-
let
|
|
4
|
-
class
|
|
5
|
-
constructor(
|
|
6
|
-
|
|
1
|
+
import { defineComponent as le, useCssVars as be, ref as N, computed as B, onMounted as ge, watch as ue, openBlock as x, createElementBlock as _, normalizeClass as z, createElementVNode as y, normalizeStyle as J, withDirectives as ve, createCommentVNode as U, Fragment as Ee, renderList as ye, toDisplayString as H, vModelSelect as Ae, createTextVNode as ke, createStaticVNode as Se, createVNode as ie, createBlock as we, Teleport as Te, Transition as xe, withCtx as _e, normalizeProps as Ie, guardReactiveProps as Fe, renderSlot as Re } from "vue";
|
|
2
|
+
var Le = Object.defineProperty, Ne = (i, g, n) => g in i ? Le(i, g, { enumerable: !0, configurable: !0, writable: !0, value: n }) : i[g] = n, de = (i, g, n) => Ne(i, typeof g != "symbol" ? g + "" : g, n);
|
|
3
|
+
let ae = null;
|
|
4
|
+
class Oe {
|
|
5
|
+
constructor(g = {}) {
|
|
6
|
+
de(this, "baseUrl"), de(this, "timeout"), this.baseUrl = g.pistonUrl || "/api/piston", this.timeout = g.timeout || 3e3;
|
|
7
7
|
}
|
|
8
|
-
async getRuntimes(
|
|
9
|
-
if (
|
|
10
|
-
return
|
|
8
|
+
async getRuntimes(g = !1) {
|
|
9
|
+
if (ae && !g)
|
|
10
|
+
return ae;
|
|
11
11
|
try {
|
|
12
12
|
const n = await fetch(`${this.baseUrl}/runtimes`, {
|
|
13
13
|
method: "GET",
|
|
@@ -18,26 +18,26 @@ class Le {
|
|
|
18
18
|
if (!n.ok)
|
|
19
19
|
throw new Error(`Failed to fetch runtimes: ${n.statusText}`);
|
|
20
20
|
const l = await n.json();
|
|
21
|
-
return
|
|
21
|
+
return ae = l, l;
|
|
22
22
|
} catch (n) {
|
|
23
23
|
throw console.error("Failed to fetch runtimes:", n), n;
|
|
24
24
|
}
|
|
25
25
|
}
|
|
26
|
-
async execute(
|
|
27
|
-
const
|
|
28
|
-
(
|
|
29
|
-
var
|
|
30
|
-
return
|
|
26
|
+
async execute(g, n, l = {}) {
|
|
27
|
+
const v = (await this.getRuntimes()).find(
|
|
28
|
+
(m) => {
|
|
29
|
+
var b;
|
|
30
|
+
return m.language.toLowerCase() === g.toLowerCase() || ((b = m.aliases) == null ? void 0 : b.some((I) => I.toLowerCase() === g.toLowerCase()));
|
|
31
31
|
}
|
|
32
32
|
);
|
|
33
|
-
if (!
|
|
34
|
-
throw new Error(`Language '${
|
|
35
|
-
const
|
|
36
|
-
language:
|
|
37
|
-
version: l.version ||
|
|
33
|
+
if (!v)
|
|
34
|
+
throw new Error(`Language '${g}' is not supported`);
|
|
35
|
+
const T = this.getFileName(g), A = {
|
|
36
|
+
language: v.language,
|
|
37
|
+
version: l.version || v.version,
|
|
38
38
|
files: [
|
|
39
39
|
{
|
|
40
|
-
name:
|
|
40
|
+
name: T,
|
|
41
41
|
content: n
|
|
42
42
|
}
|
|
43
43
|
],
|
|
@@ -45,41 +45,41 @@ class Le {
|
|
|
45
45
|
args: l.args || [],
|
|
46
46
|
run_timeout: l.runTimeout || this.timeout,
|
|
47
47
|
compile_timeout: this.timeout
|
|
48
|
-
},
|
|
48
|
+
}, s = Date.now();
|
|
49
49
|
try {
|
|
50
|
-
const
|
|
50
|
+
const m = await fetch(`${this.baseUrl}/execute`, {
|
|
51
51
|
method: "POST",
|
|
52
52
|
headers: {
|
|
53
53
|
"Content-Type": "application/json"
|
|
54
54
|
},
|
|
55
|
-
body: JSON.stringify(
|
|
55
|
+
body: JSON.stringify(A)
|
|
56
56
|
});
|
|
57
|
-
if (!
|
|
58
|
-
throw new Error(`Execute failed: ${
|
|
59
|
-
const
|
|
57
|
+
if (!m.ok)
|
|
58
|
+
throw new Error(`Execute failed: ${m.statusText}`);
|
|
59
|
+
const b = await m.json(), I = Date.now() - s, D = b.run.stdout || "", O = b.run.stderr || "";
|
|
60
60
|
return {
|
|
61
|
-
success:
|
|
62
|
-
output:
|
|
63
|
-
stderr:
|
|
64
|
-
code:
|
|
61
|
+
success: b.run.code === 0,
|
|
62
|
+
output: D,
|
|
63
|
+
stderr: O,
|
|
64
|
+
code: b.run.code,
|
|
65
65
|
executionTime: I,
|
|
66
|
-
compile:
|
|
67
|
-
stdout:
|
|
68
|
-
stderr:
|
|
69
|
-
code:
|
|
66
|
+
compile: b.compile ? {
|
|
67
|
+
stdout: b.compile.stdout || "",
|
|
68
|
+
stderr: b.compile.stderr || "",
|
|
69
|
+
code: b.compile.code
|
|
70
70
|
} : void 0
|
|
71
71
|
};
|
|
72
|
-
} catch (
|
|
72
|
+
} catch (m) {
|
|
73
73
|
return {
|
|
74
74
|
success: !1,
|
|
75
75
|
output: "",
|
|
76
|
-
stderr:
|
|
76
|
+
stderr: m instanceof Error ? m.message : "Unknown error",
|
|
77
77
|
code: -1,
|
|
78
|
-
executionTime: Date.now() -
|
|
78
|
+
executionTime: Date.now() - s
|
|
79
79
|
};
|
|
80
80
|
}
|
|
81
81
|
}
|
|
82
|
-
getFileName(
|
|
82
|
+
getFileName(g) {
|
|
83
83
|
return {
|
|
84
84
|
javascript: "main.js",
|
|
85
85
|
typescript: "main.ts",
|
|
@@ -106,7 +106,7 @@ class Le {
|
|
|
106
106
|
css: "style.css",
|
|
107
107
|
sql: "query.sql",
|
|
108
108
|
markdown: "readme.md"
|
|
109
|
-
}[
|
|
109
|
+
}[g.toLowerCase()] || `main.${g}`;
|
|
110
110
|
}
|
|
111
111
|
}
|
|
112
112
|
const Ce = {
|
|
@@ -207,18 +207,18 @@ h1 {
|
|
|
207
207
|
|
|
208
208
|
This is a sample markdown document.`
|
|
209
209
|
};
|
|
210
|
-
function
|
|
211
|
-
const
|
|
212
|
-
return Ce[
|
|
210
|
+
function oe(i) {
|
|
211
|
+
const g = i.toLowerCase();
|
|
212
|
+
return Ce[g] || `// ${i}
|
|
213
213
|
// Write your code here`;
|
|
214
214
|
}
|
|
215
|
-
var
|
|
215
|
+
var pe = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {};
|
|
216
216
|
function De(i) {
|
|
217
217
|
return i && i.__esModule && Object.prototype.hasOwnProperty.call(i, "default") ? i.default : i;
|
|
218
218
|
}
|
|
219
|
-
var
|
|
219
|
+
var he = { exports: {} };
|
|
220
220
|
(function(i) {
|
|
221
|
-
var
|
|
221
|
+
var g = typeof window < "u" ? window : typeof WorkerGlobalScope < "u" && self instanceof WorkerGlobalScope ? self : {};
|
|
222
222
|
/**
|
|
223
223
|
* Prism: Lightweight, robust, elegant syntax highlighting
|
|
224
224
|
*
|
|
@@ -228,7 +228,7 @@ var ge = { exports: {} };
|
|
|
228
228
|
* @public
|
|
229
229
|
*/
|
|
230
230
|
var n = function(l) {
|
|
231
|
-
var
|
|
231
|
+
var v = /(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i, T = 0, A = {}, s = {
|
|
232
232
|
/**
|
|
233
233
|
* By default, Prism will attempt to highlight all code elements (by calling {@link Prism.highlightAll}) on the
|
|
234
234
|
* current page after the page finished loading. This might be a problem if e.g. you wanted to asynchronously load
|
|
@@ -284,7 +284,7 @@ var ge = { exports: {} };
|
|
|
284
284
|
*/
|
|
285
285
|
util: {
|
|
286
286
|
encode: function t(e) {
|
|
287
|
-
return e instanceof
|
|
287
|
+
return e instanceof m ? new m(e.type, t(e.content), e.alias) : Array.isArray(e) ? e.map(t) : e.replace(/&/g, "&").replace(/</g, "<").replace(/\u00a0/g, " ");
|
|
288
288
|
},
|
|
289
289
|
/**
|
|
290
290
|
* Returns the name of the type of the given value.
|
|
@@ -312,7 +312,7 @@ var ge = { exports: {} };
|
|
|
312
312
|
* @returns {number}
|
|
313
313
|
*/
|
|
314
314
|
objId: function(t) {
|
|
315
|
-
return t.__id || Object.defineProperty(t, "__id", { value: ++
|
|
315
|
+
return t.__id || Object.defineProperty(t, "__id", { value: ++T }), t.__id;
|
|
316
316
|
},
|
|
317
317
|
/**
|
|
318
318
|
* Creates a deep clone of the given object.
|
|
@@ -326,26 +326,26 @@ var ge = { exports: {} };
|
|
|
326
326
|
*/
|
|
327
327
|
clone: function t(e, r) {
|
|
328
328
|
r = r || {};
|
|
329
|
-
var
|
|
330
|
-
switch (
|
|
329
|
+
var o, a;
|
|
330
|
+
switch (s.util.type(e)) {
|
|
331
331
|
case "Object":
|
|
332
|
-
if (a =
|
|
332
|
+
if (a = s.util.objId(e), r[a])
|
|
333
333
|
return r[a];
|
|
334
|
-
|
|
335
|
-
{}, r[a] =
|
|
336
|
-
for (var
|
|
337
|
-
e.hasOwnProperty(
|
|
334
|
+
o = /** @type {Record<string, any>} */
|
|
335
|
+
{}, r[a] = o;
|
|
336
|
+
for (var c in e)
|
|
337
|
+
e.hasOwnProperty(c) && (o[c] = t(e[c], r));
|
|
338
338
|
return (
|
|
339
339
|
/** @type {any} */
|
|
340
|
-
|
|
340
|
+
o
|
|
341
341
|
);
|
|
342
342
|
case "Array":
|
|
343
|
-
return a =
|
|
343
|
+
return a = s.util.objId(e), r[a] ? r[a] : (o = [], r[a] = o, /** @type {Array} */
|
|
344
344
|
/** @type {any} */
|
|
345
|
-
e.forEach(function(
|
|
346
|
-
|
|
345
|
+
e.forEach(function(E, u) {
|
|
346
|
+
o[u] = t(E, r);
|
|
347
347
|
}), /** @type {any} */
|
|
348
|
-
|
|
348
|
+
o);
|
|
349
349
|
default:
|
|
350
350
|
return e;
|
|
351
351
|
}
|
|
@@ -360,7 +360,7 @@ var ge = { exports: {} };
|
|
|
360
360
|
*/
|
|
361
361
|
getLanguage: function(t) {
|
|
362
362
|
for (; t; ) {
|
|
363
|
-
var e =
|
|
363
|
+
var e = v.exec(t.className);
|
|
364
364
|
if (e)
|
|
365
365
|
return e[1].toLowerCase();
|
|
366
366
|
t = t.parentElement;
|
|
@@ -375,7 +375,7 @@ var ge = { exports: {} };
|
|
|
375
375
|
* @returns {void}
|
|
376
376
|
*/
|
|
377
377
|
setLanguage: function(t, e) {
|
|
378
|
-
t.className = t.className.replace(RegExp(
|
|
378
|
+
t.className = t.className.replace(RegExp(v, "gi"), ""), t.classList.add("language-" + e);
|
|
379
379
|
},
|
|
380
380
|
/**
|
|
381
381
|
* Returns the script element that is currently executing.
|
|
@@ -394,8 +394,8 @@ var ge = { exports: {} };
|
|
|
394
394
|
);
|
|
395
395
|
try {
|
|
396
396
|
throw new Error();
|
|
397
|
-
} catch (
|
|
398
|
-
var t = (/at [^(\r\n]*\((.*):[^:]+:[^:]+\)$/i.exec(
|
|
397
|
+
} catch (o) {
|
|
398
|
+
var t = (/at [^(\r\n]*\((.*):[^:]+:[^:]+\)$/i.exec(o.stack) || [])[1];
|
|
399
399
|
if (t) {
|
|
400
400
|
var e = document.getElementsByTagName("script");
|
|
401
401
|
for (var r in e)
|
|
@@ -425,11 +425,11 @@ var ge = { exports: {} };
|
|
|
425
425
|
* @returns {boolean}
|
|
426
426
|
*/
|
|
427
427
|
isActive: function(t, e, r) {
|
|
428
|
-
for (var
|
|
428
|
+
for (var o = "no-" + e; t; ) {
|
|
429
429
|
var a = t.classList;
|
|
430
430
|
if (a.contains(e))
|
|
431
431
|
return !0;
|
|
432
|
-
if (a.contains(
|
|
432
|
+
if (a.contains(o))
|
|
433
433
|
return !1;
|
|
434
434
|
t = t.parentElement;
|
|
435
435
|
}
|
|
@@ -447,10 +447,10 @@ var ge = { exports: {} };
|
|
|
447
447
|
/**
|
|
448
448
|
* The grammar for plain, unformatted text.
|
|
449
449
|
*/
|
|
450
|
-
plain:
|
|
451
|
-
plaintext:
|
|
452
|
-
text:
|
|
453
|
-
txt:
|
|
450
|
+
plain: A,
|
|
451
|
+
plaintext: A,
|
|
452
|
+
text: A,
|
|
453
|
+
txt: A,
|
|
454
454
|
/**
|
|
455
455
|
* Creates a deep copy of the language with the given id and appends the given tokens.
|
|
456
456
|
*
|
|
@@ -480,9 +480,9 @@ var ge = { exports: {} };
|
|
|
480
480
|
* });
|
|
481
481
|
*/
|
|
482
482
|
extend: function(t, e) {
|
|
483
|
-
var r =
|
|
484
|
-
for (var
|
|
485
|
-
r[
|
|
483
|
+
var r = s.util.clone(s.languages[t]);
|
|
484
|
+
for (var o in e)
|
|
485
|
+
r[o] = e[o];
|
|
486
486
|
return r;
|
|
487
487
|
},
|
|
488
488
|
/**
|
|
@@ -560,31 +560,31 @@ var ge = { exports: {} };
|
|
|
560
560
|
* @returns {Grammar} The new grammar object.
|
|
561
561
|
* @public
|
|
562
562
|
*/
|
|
563
|
-
insertBefore: function(t, e, r,
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
var a =
|
|
567
|
-
for (var
|
|
568
|
-
if (a.hasOwnProperty(
|
|
569
|
-
if (
|
|
570
|
-
for (var
|
|
571
|
-
r.hasOwnProperty(
|
|
572
|
-
r.hasOwnProperty(
|
|
563
|
+
insertBefore: function(t, e, r, o) {
|
|
564
|
+
o = o || /** @type {any} */
|
|
565
|
+
s.languages;
|
|
566
|
+
var a = o[t], c = {};
|
|
567
|
+
for (var E in a)
|
|
568
|
+
if (a.hasOwnProperty(E)) {
|
|
569
|
+
if (E == e)
|
|
570
|
+
for (var u in r)
|
|
571
|
+
r.hasOwnProperty(u) && (c[u] = r[u]);
|
|
572
|
+
r.hasOwnProperty(E) || (c[E] = a[E]);
|
|
573
573
|
}
|
|
574
|
-
var
|
|
575
|
-
return
|
|
576
|
-
|
|
577
|
-
}),
|
|
574
|
+
var S = o[t];
|
|
575
|
+
return o[t] = c, s.languages.DFS(s.languages, function(R, M) {
|
|
576
|
+
M === S && R != t && (this[R] = c);
|
|
577
|
+
}), c;
|
|
578
578
|
},
|
|
579
579
|
// Traverse a language definition with Depth First Search
|
|
580
|
-
DFS: function t(e, r,
|
|
580
|
+
DFS: function t(e, r, o, a) {
|
|
581
581
|
a = a || {};
|
|
582
|
-
var
|
|
583
|
-
for (var
|
|
584
|
-
if (e.hasOwnProperty(
|
|
585
|
-
r.call(e,
|
|
586
|
-
var
|
|
587
|
-
|
|
582
|
+
var c = s.util.objId;
|
|
583
|
+
for (var E in e)
|
|
584
|
+
if (e.hasOwnProperty(E)) {
|
|
585
|
+
r.call(e, E, e[E], o || E);
|
|
586
|
+
var u = e[E], S = s.util.type(u);
|
|
587
|
+
S === "Object" && !a[c(u)] ? (a[c(u)] = !0, t(u, r, null, a)) : S === "Array" && !a[c(u)] && (a[c(u)] = !0, t(u, r, E, a));
|
|
588
588
|
}
|
|
589
589
|
}
|
|
590
590
|
},
|
|
@@ -602,7 +602,7 @@ var ge = { exports: {} };
|
|
|
602
602
|
* @public
|
|
603
603
|
*/
|
|
604
604
|
highlightAll: function(t, e) {
|
|
605
|
-
|
|
605
|
+
s.highlightAllUnder(document, t, e);
|
|
606
606
|
},
|
|
607
607
|
/**
|
|
608
608
|
* Fetches all the descendants of `container` that have a `.language-xxxx` class and then calls
|
|
@@ -620,14 +620,14 @@ var ge = { exports: {} };
|
|
|
620
620
|
* @public
|
|
621
621
|
*/
|
|
622
622
|
highlightAllUnder: function(t, e, r) {
|
|
623
|
-
var
|
|
623
|
+
var o = {
|
|
624
624
|
callback: r,
|
|
625
625
|
container: t,
|
|
626
626
|
selector: 'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code'
|
|
627
627
|
};
|
|
628
|
-
|
|
629
|
-
for (var a = 0,
|
|
630
|
-
|
|
628
|
+
s.hooks.run("before-highlightall", o), o.elements = Array.prototype.slice.apply(o.container.querySelectorAll(o.selector)), s.hooks.run("before-all-elements-highlight", o);
|
|
629
|
+
for (var a = 0, c; c = o.elements[a++]; )
|
|
630
|
+
s.highlightElement(c, e === !0, o.callback);
|
|
631
631
|
},
|
|
632
632
|
/**
|
|
633
633
|
* Highlights the code inside a single element.
|
|
@@ -658,38 +658,38 @@ var ge = { exports: {} };
|
|
|
658
658
|
* @public
|
|
659
659
|
*/
|
|
660
660
|
highlightElement: function(t, e, r) {
|
|
661
|
-
var
|
|
662
|
-
|
|
663
|
-
var
|
|
664
|
-
|
|
665
|
-
var
|
|
661
|
+
var o = s.util.getLanguage(t), a = s.languages[o];
|
|
662
|
+
s.util.setLanguage(t, o);
|
|
663
|
+
var c = t.parentElement;
|
|
664
|
+
c && c.nodeName.toLowerCase() === "pre" && s.util.setLanguage(c, o);
|
|
665
|
+
var E = t.textContent, u = {
|
|
666
666
|
element: t,
|
|
667
|
-
language:
|
|
667
|
+
language: o,
|
|
668
668
|
grammar: a,
|
|
669
|
-
code:
|
|
669
|
+
code: E
|
|
670
670
|
};
|
|
671
|
-
function
|
|
672
|
-
|
|
671
|
+
function S(M) {
|
|
672
|
+
u.highlightedCode = M, s.hooks.run("before-insert", u), u.element.innerHTML = u.highlightedCode, s.hooks.run("after-highlight", u), s.hooks.run("complete", u), r && r.call(u.element);
|
|
673
673
|
}
|
|
674
|
-
if (
|
|
675
|
-
|
|
674
|
+
if (s.hooks.run("before-sanity-check", u), c = u.element.parentElement, c && c.nodeName.toLowerCase() === "pre" && !c.hasAttribute("tabindex") && c.setAttribute("tabindex", "0"), !u.code) {
|
|
675
|
+
s.hooks.run("complete", u), r && r.call(u.element);
|
|
676
676
|
return;
|
|
677
677
|
}
|
|
678
|
-
if (
|
|
679
|
-
|
|
678
|
+
if (s.hooks.run("before-highlight", u), !u.grammar) {
|
|
679
|
+
S(s.util.encode(u.code));
|
|
680
680
|
return;
|
|
681
681
|
}
|
|
682
682
|
if (e && l.Worker) {
|
|
683
|
-
var
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
},
|
|
687
|
-
language:
|
|
688
|
-
code:
|
|
683
|
+
var R = new Worker(s.filename);
|
|
684
|
+
R.onmessage = function(M) {
|
|
685
|
+
S(M.data);
|
|
686
|
+
}, R.postMessage(JSON.stringify({
|
|
687
|
+
language: u.language,
|
|
688
|
+
code: u.code,
|
|
689
689
|
immediateClose: !0
|
|
690
690
|
}));
|
|
691
691
|
} else
|
|
692
|
-
|
|
692
|
+
S(s.highlight(u.code, u.grammar, u.language));
|
|
693
693
|
},
|
|
694
694
|
/**
|
|
695
695
|
* Low-level function, only use if you know what you’re doing. It accepts a string of text as input
|
|
@@ -712,14 +712,14 @@ var ge = { exports: {} };
|
|
|
712
712
|
* Prism.highlight('var foo = true;', Prism.languages.javascript, 'javascript');
|
|
713
713
|
*/
|
|
714
714
|
highlight: function(t, e, r) {
|
|
715
|
-
var
|
|
715
|
+
var o = {
|
|
716
716
|
code: t,
|
|
717
717
|
grammar: e,
|
|
718
718
|
language: r
|
|
719
719
|
};
|
|
720
|
-
if (
|
|
721
|
-
throw new Error('The language "' +
|
|
722
|
-
return
|
|
720
|
+
if (s.hooks.run("before-tokenize", o), !o.grammar)
|
|
721
|
+
throw new Error('The language "' + o.language + '" has no grammar.');
|
|
722
|
+
return o.tokens = s.tokenize(o.code, o.grammar), s.hooks.run("after-tokenize", o), m.stringify(s.util.encode(o.tokens), o.language);
|
|
723
723
|
},
|
|
724
724
|
/**
|
|
725
725
|
* This is the heart of Prism, and the most low-level function you can use. It accepts a string of text as input
|
|
@@ -748,12 +748,12 @@ var ge = { exports: {} };
|
|
|
748
748
|
tokenize: function(t, e) {
|
|
749
749
|
var r = e.rest;
|
|
750
750
|
if (r) {
|
|
751
|
-
for (var
|
|
752
|
-
e[
|
|
751
|
+
for (var o in r)
|
|
752
|
+
e[o] = r[o];
|
|
753
753
|
delete e.rest;
|
|
754
754
|
}
|
|
755
|
-
var a = new
|
|
756
|
-
return
|
|
755
|
+
var a = new D();
|
|
756
|
+
return O(a, a.head, t), I(t, a, e, a.head, 0), P(a);
|
|
757
757
|
},
|
|
758
758
|
/**
|
|
759
759
|
* @namespace
|
|
@@ -775,7 +775,7 @@ var ge = { exports: {} };
|
|
|
775
775
|
* @public
|
|
776
776
|
*/
|
|
777
777
|
add: function(t, e) {
|
|
778
|
-
var r =
|
|
778
|
+
var r = s.hooks.all;
|
|
779
779
|
r[t] = r[t] || [], r[t].push(e);
|
|
780
780
|
},
|
|
781
781
|
/**
|
|
@@ -788,26 +788,26 @@ var ge = { exports: {} };
|
|
|
788
788
|
* @public
|
|
789
789
|
*/
|
|
790
790
|
run: function(t, e) {
|
|
791
|
-
var r =
|
|
791
|
+
var r = s.hooks.all[t];
|
|
792
792
|
if (!(!r || !r.length))
|
|
793
|
-
for (var
|
|
793
|
+
for (var o = 0, a; a = r[o++]; )
|
|
794
794
|
a(e);
|
|
795
795
|
}
|
|
796
796
|
},
|
|
797
|
-
Token:
|
|
797
|
+
Token: m
|
|
798
798
|
};
|
|
799
|
-
l.Prism =
|
|
800
|
-
function
|
|
801
|
-
this.type = t, this.content = e, this.alias = r, this.length = (
|
|
799
|
+
l.Prism = s;
|
|
800
|
+
function m(t, e, r, o) {
|
|
801
|
+
this.type = t, this.content = e, this.alias = r, this.length = (o || "").length | 0;
|
|
802
802
|
}
|
|
803
|
-
|
|
803
|
+
m.stringify = function t(e, r) {
|
|
804
804
|
if (typeof e == "string")
|
|
805
805
|
return e;
|
|
806
806
|
if (Array.isArray(e)) {
|
|
807
|
-
var
|
|
808
|
-
return e.forEach(function(
|
|
809
|
-
|
|
810
|
-
}),
|
|
807
|
+
var o = "";
|
|
808
|
+
return e.forEach(function(S) {
|
|
809
|
+
o += t(S, r);
|
|
810
|
+
}), o;
|
|
811
811
|
}
|
|
812
812
|
var a = {
|
|
813
813
|
type: e.type,
|
|
@@ -816,106 +816,106 @@ var ge = { exports: {} };
|
|
|
816
816
|
classes: ["token", e.type],
|
|
817
817
|
attributes: {},
|
|
818
818
|
language: r
|
|
819
|
-
},
|
|
820
|
-
|
|
821
|
-
var
|
|
822
|
-
for (var
|
|
823
|
-
|
|
824
|
-
return "<" + a.tag + ' class="' + a.classes.join(" ") + '"' +
|
|
819
|
+
}, c = e.alias;
|
|
820
|
+
c && (Array.isArray(c) ? Array.prototype.push.apply(a.classes, c) : a.classes.push(c)), s.hooks.run("wrap", a);
|
|
821
|
+
var E = "";
|
|
822
|
+
for (var u in a.attributes)
|
|
823
|
+
E += " " + u + '="' + (a.attributes[u] || "").replace(/"/g, """) + '"';
|
|
824
|
+
return "<" + a.tag + ' class="' + a.classes.join(" ") + '"' + E + ">" + a.content + "</" + a.tag + ">";
|
|
825
825
|
};
|
|
826
|
-
function
|
|
826
|
+
function b(t, e, r, o) {
|
|
827
827
|
t.lastIndex = e;
|
|
828
828
|
var a = t.exec(r);
|
|
829
|
-
if (a &&
|
|
830
|
-
var
|
|
831
|
-
a.index +=
|
|
829
|
+
if (a && o && a[1]) {
|
|
830
|
+
var c = a[1].length;
|
|
831
|
+
a.index += c, a[0] = a[0].slice(c);
|
|
832
832
|
}
|
|
833
833
|
return a;
|
|
834
834
|
}
|
|
835
|
-
function I(t, e, r,
|
|
836
|
-
for (var
|
|
837
|
-
if (!(!r.hasOwnProperty(
|
|
838
|
-
var
|
|
839
|
-
|
|
840
|
-
for (var
|
|
841
|
-
if (
|
|
835
|
+
function I(t, e, r, o, a, c) {
|
|
836
|
+
for (var E in r)
|
|
837
|
+
if (!(!r.hasOwnProperty(E) || !r[E])) {
|
|
838
|
+
var u = r[E];
|
|
839
|
+
u = Array.isArray(u) ? u : [u];
|
|
840
|
+
for (var S = 0; S < u.length; ++S) {
|
|
841
|
+
if (c && c.cause == E + "," + S)
|
|
842
842
|
return;
|
|
843
|
-
var
|
|
844
|
-
if (
|
|
845
|
-
var
|
|
846
|
-
|
|
843
|
+
var R = u[S], M = R.inside, Y = !!R.lookbehind, j = !!R.greedy, ee = R.alias;
|
|
844
|
+
if (j && !R.pattern.global) {
|
|
845
|
+
var X = R.pattern.toString().match(/[imsuy]*$/)[0];
|
|
846
|
+
R.pattern = RegExp(R.pattern.source, X + "g");
|
|
847
847
|
}
|
|
848
|
-
for (var
|
|
849
|
-
var
|
|
848
|
+
for (var W = R.pattern || R, L = o.next, d = a; L !== e.tail && !(c && d >= c.reach); d += L.value.length, L = L.next) {
|
|
849
|
+
var h = L.value;
|
|
850
850
|
if (e.length > t.length)
|
|
851
851
|
return;
|
|
852
|
-
if (!(
|
|
853
|
-
var
|
|
854
|
-
if (
|
|
855
|
-
if (
|
|
852
|
+
if (!(h instanceof m)) {
|
|
853
|
+
var w = 1, F;
|
|
854
|
+
if (j) {
|
|
855
|
+
if (F = b(W, d, t, Y), !F || F.index >= t.length)
|
|
856
856
|
break;
|
|
857
|
-
var
|
|
858
|
-
for (
|
|
859
|
-
|
|
860
|
-
if (
|
|
857
|
+
var Z = F.index, V = F.index + F[0].length, $ = d;
|
|
858
|
+
for ($ += L.value.length; Z >= $; )
|
|
859
|
+
L = L.next, $ += L.value.length;
|
|
860
|
+
if ($ -= L.value.length, d = $, L.value instanceof m)
|
|
861
861
|
continue;
|
|
862
|
-
for (var
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
} else if (
|
|
862
|
+
for (var G = L; G !== e.tail && ($ < V || typeof G.value == "string"); G = G.next)
|
|
863
|
+
w++, $ += G.value.length;
|
|
864
|
+
w--, h = t.slice(d, $), F.index -= d;
|
|
865
|
+
} else if (F = b(W, 0, h, Y), !F)
|
|
866
866
|
continue;
|
|
867
|
-
var
|
|
868
|
-
|
|
869
|
-
var
|
|
870
|
-
|
|
871
|
-
var me = new
|
|
872
|
-
if (
|
|
873
|
-
var
|
|
874
|
-
cause:
|
|
875
|
-
reach:
|
|
867
|
+
var Z = F.index, K = F[0], te = h.slice(0, Z), ce = h.slice(Z + K.length), ne = d + h.length;
|
|
868
|
+
c && ne > c.reach && (c.reach = ne);
|
|
869
|
+
var q = L.prev;
|
|
870
|
+
te && (q = O(e, q, te), d += te.length), C(e, q, w);
|
|
871
|
+
var me = new m(E, M ? s.tokenize(K, M) : K, ee, K);
|
|
872
|
+
if (L = O(e, q, me), ce && O(e, L, ce), w > 1) {
|
|
873
|
+
var re = {
|
|
874
|
+
cause: E + "," + S,
|
|
875
|
+
reach: ne
|
|
876
876
|
};
|
|
877
|
-
I(t, e, r,
|
|
877
|
+
I(t, e, r, L.prev, d, re), c && re.reach > c.reach && (c.reach = re.reach);
|
|
878
878
|
}
|
|
879
879
|
}
|
|
880
880
|
}
|
|
881
881
|
}
|
|
882
882
|
}
|
|
883
883
|
}
|
|
884
|
-
function
|
|
884
|
+
function D() {
|
|
885
885
|
var t = { value: null, prev: null, next: null }, e = { value: null, prev: t, next: null };
|
|
886
886
|
t.next = e, this.head = t, this.tail = e, this.length = 0;
|
|
887
887
|
}
|
|
888
|
-
function
|
|
889
|
-
var
|
|
890
|
-
return e.next = a,
|
|
888
|
+
function O(t, e, r) {
|
|
889
|
+
var o = e.next, a = { value: r, prev: e, next: o };
|
|
890
|
+
return e.next = a, o.prev = a, t.length++, a;
|
|
891
891
|
}
|
|
892
|
-
function
|
|
893
|
-
for (var
|
|
894
|
-
|
|
895
|
-
e.next =
|
|
892
|
+
function C(t, e, r) {
|
|
893
|
+
for (var o = e.next, a = 0; a < r && o !== t.tail; a++)
|
|
894
|
+
o = o.next;
|
|
895
|
+
e.next = o, o.prev = e, t.length -= a;
|
|
896
896
|
}
|
|
897
|
-
function
|
|
897
|
+
function P(t) {
|
|
898
898
|
for (var e = [], r = t.head.next; r !== t.tail; )
|
|
899
899
|
e.push(r.value), r = r.next;
|
|
900
900
|
return e;
|
|
901
901
|
}
|
|
902
902
|
if (!l.document)
|
|
903
|
-
return l.addEventListener && (
|
|
904
|
-
var e = JSON.parse(t.data), r = e.language,
|
|
905
|
-
l.postMessage(
|
|
906
|
-
}, !1)),
|
|
907
|
-
var
|
|
908
|
-
|
|
903
|
+
return l.addEventListener && (s.disableWorkerMessageHandler || l.addEventListener("message", function(t) {
|
|
904
|
+
var e = JSON.parse(t.data), r = e.language, o = e.code, a = e.immediateClose;
|
|
905
|
+
l.postMessage(s.highlight(o, s.languages[r], r)), a && l.close();
|
|
906
|
+
}, !1)), s;
|
|
907
|
+
var f = s.util.currentScript();
|
|
908
|
+
f && (s.filename = f.src, f.hasAttribute("data-manual") && (s.manual = !0));
|
|
909
909
|
function p() {
|
|
910
|
-
|
|
910
|
+
s.manual || s.highlightAll();
|
|
911
911
|
}
|
|
912
|
-
if (!
|
|
913
|
-
var
|
|
914
|
-
|
|
912
|
+
if (!s.manual) {
|
|
913
|
+
var k = document.readyState;
|
|
914
|
+
k === "loading" || k === "interactive" && f && f.defer ? document.addEventListener("DOMContentLoaded", p) : window.requestAnimationFrame ? window.requestAnimationFrame(p) : window.setTimeout(p, 16);
|
|
915
915
|
}
|
|
916
|
-
return
|
|
917
|
-
}(
|
|
918
|
-
i.exports && (i.exports = n), typeof
|
|
916
|
+
return s;
|
|
917
|
+
}(g);
|
|
918
|
+
i.exports && (i.exports = n), typeof pe < "u" && (pe.Prism = n), n.languages.markup = {
|
|
919
919
|
comment: {
|
|
920
920
|
pattern: /<!--(?:(?!<!--)[\s\S])*?-->/,
|
|
921
921
|
greedy: !0
|
|
@@ -1006,32 +1006,32 @@ var ge = { exports: {} };
|
|
|
1006
1006
|
* @example
|
|
1007
1007
|
* addInlined('style', 'css');
|
|
1008
1008
|
*/
|
|
1009
|
-
value: function(
|
|
1010
|
-
var
|
|
1011
|
-
|
|
1009
|
+
value: function(v, T) {
|
|
1010
|
+
var A = {};
|
|
1011
|
+
A["language-" + T] = {
|
|
1012
1012
|
pattern: /(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i,
|
|
1013
1013
|
lookbehind: !0,
|
|
1014
|
-
inside: n.languages[
|
|
1015
|
-
},
|
|
1016
|
-
var
|
|
1014
|
+
inside: n.languages[T]
|
|
1015
|
+
}, A.cdata = /^<!\[CDATA\[|\]\]>$/i;
|
|
1016
|
+
var s = {
|
|
1017
1017
|
"included-cdata": {
|
|
1018
1018
|
pattern: /<!\[CDATA\[[\s\S]*?\]\]>/i,
|
|
1019
|
-
inside:
|
|
1019
|
+
inside: A
|
|
1020
1020
|
}
|
|
1021
1021
|
};
|
|
1022
|
-
|
|
1022
|
+
s["language-" + T] = {
|
|
1023
1023
|
pattern: /[\s\S]+/,
|
|
1024
|
-
inside: n.languages[
|
|
1024
|
+
inside: n.languages[T]
|
|
1025
1025
|
};
|
|
1026
|
-
var
|
|
1027
|
-
|
|
1026
|
+
var m = {};
|
|
1027
|
+
m[v] = {
|
|
1028
1028
|
pattern: RegExp(/(<__[^>]*>)(?:<!\[CDATA\[(?:[^\]]|\](?!\]>))*\]\]>|(?!<!\[CDATA\[)[\s\S])*?(?=<\/__>)/.source.replace(/__/g, function() {
|
|
1029
|
-
return
|
|
1029
|
+
return v;
|
|
1030
1030
|
}), "i"),
|
|
1031
1031
|
lookbehind: !0,
|
|
1032
1032
|
greedy: !0,
|
|
1033
|
-
inside:
|
|
1034
|
-
}, n.languages.insertBefore("markup", "cdata",
|
|
1033
|
+
inside: s
|
|
1034
|
+
}, n.languages.insertBefore("markup", "cdata", m);
|
|
1035
1035
|
}
|
|
1036
1036
|
}), Object.defineProperty(n.languages.markup.tag, "addAttribute", {
|
|
1037
1037
|
/**
|
|
@@ -1045,7 +1045,7 @@ var ge = { exports: {} };
|
|
|
1045
1045
|
* @example
|
|
1046
1046
|
* addAttribute('style', 'css');
|
|
1047
1047
|
*/
|
|
1048
|
-
value: function(l,
|
|
1048
|
+
value: function(l, v) {
|
|
1049
1049
|
n.languages.markup.tag.inside["special-attr"].push({
|
|
1050
1050
|
pattern: RegExp(
|
|
1051
1051
|
/(^|["'\s])/.source + "(?:" + l + ")" + /\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))/.source,
|
|
@@ -1060,8 +1060,8 @@ var ge = { exports: {} };
|
|
|
1060
1060
|
value: {
|
|
1061
1061
|
pattern: /(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,
|
|
1062
1062
|
lookbehind: !0,
|
|
1063
|
-
alias: [
|
|
1064
|
-
inside: n.languages[
|
|
1063
|
+
alias: [v, "language-" + v],
|
|
1064
|
+
inside: n.languages[v]
|
|
1065
1065
|
},
|
|
1066
1066
|
punctuation: [
|
|
1067
1067
|
{
|
|
@@ -1076,11 +1076,11 @@ var ge = { exports: {} };
|
|
|
1076
1076
|
});
|
|
1077
1077
|
}
|
|
1078
1078
|
}), n.languages.html = n.languages.markup, n.languages.mathml = n.languages.markup, n.languages.svg = n.languages.markup, n.languages.xml = n.languages.extend("markup", {}), n.languages.ssml = n.languages.xml, n.languages.atom = n.languages.xml, n.languages.rss = n.languages.xml, function(l) {
|
|
1079
|
-
var
|
|
1079
|
+
var v = /(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;
|
|
1080
1080
|
l.languages.css = {
|
|
1081
1081
|
comment: /\/\*[\s\S]*?\*\//,
|
|
1082
1082
|
atrule: {
|
|
1083
|
-
pattern: RegExp("@[\\w-](?:" + /[^;{\s"']|\s+(?!\s)/.source + "|" +
|
|
1083
|
+
pattern: RegExp("@[\\w-](?:" + /[^;{\s"']|\s+(?!\s)/.source + "|" + v.source + ")*?" + /(?:;|(?=\s*\{))/.source),
|
|
1084
1084
|
inside: {
|
|
1085
1085
|
rule: /^@[\w-]+/,
|
|
1086
1086
|
"selector-function-argument": {
|
|
@@ -1097,23 +1097,23 @@ var ge = { exports: {} };
|
|
|
1097
1097
|
},
|
|
1098
1098
|
url: {
|
|
1099
1099
|
// https://drafts.csswg.org/css-values-3/#urls
|
|
1100
|
-
pattern: RegExp("\\burl\\((?:" +
|
|
1100
|
+
pattern: RegExp("\\burl\\((?:" + v.source + "|" + /(?:[^\\\r\n()"']|\\[\s\S])*/.source + ")\\)", "i"),
|
|
1101
1101
|
greedy: !0,
|
|
1102
1102
|
inside: {
|
|
1103
1103
|
function: /^url/i,
|
|
1104
1104
|
punctuation: /^\(|\)$/,
|
|
1105
1105
|
string: {
|
|
1106
|
-
pattern: RegExp("^" +
|
|
1106
|
+
pattern: RegExp("^" + v.source + "$"),
|
|
1107
1107
|
alias: "url"
|
|
1108
1108
|
}
|
|
1109
1109
|
}
|
|
1110
1110
|
},
|
|
1111
1111
|
selector: {
|
|
1112
|
-
pattern: RegExp(`(^|[{}\\s])[^{}\\s](?:[^{};"'\\s]|\\s+(?![\\s{])|` +
|
|
1112
|
+
pattern: RegExp(`(^|[{}\\s])[^{}\\s](?:[^{};"'\\s]|\\s+(?![\\s{])|` + v.source + ")*(?=\\s*\\{)"),
|
|
1113
1113
|
lookbehind: !0
|
|
1114
1114
|
},
|
|
1115
1115
|
string: {
|
|
1116
|
-
pattern:
|
|
1116
|
+
pattern: v,
|
|
1117
1117
|
greedy: !0
|
|
1118
1118
|
},
|
|
1119
1119
|
property: {
|
|
@@ -1127,8 +1127,8 @@ var ge = { exports: {} };
|
|
|
1127
1127
|
},
|
|
1128
1128
|
punctuation: /[(){};:,]/
|
|
1129
1129
|
}, l.languages.css.atrule.inside.rest = l.languages.css;
|
|
1130
|
-
var
|
|
1131
|
-
|
|
1130
|
+
var T = l.languages.markup;
|
|
1131
|
+
T && (T.tag.addInlined("style", "css"), T.tag.addAttribute("style", "css"));
|
|
1132
1132
|
}(n), n.languages.clike = {
|
|
1133
1133
|
comment: [
|
|
1134
1134
|
{
|
|
@@ -1293,9 +1293,9 @@ var ge = { exports: {} };
|
|
|
1293
1293
|
if (typeof n > "u" || typeof document > "u")
|
|
1294
1294
|
return;
|
|
1295
1295
|
Element.prototype.matches || (Element.prototype.matches = Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector);
|
|
1296
|
-
var l = "Loading…",
|
|
1297
|
-
return "✖ Error " +
|
|
1298
|
-
},
|
|
1296
|
+
var l = "Loading…", v = function(f, p) {
|
|
1297
|
+
return "✖ Error " + f + " while fetching file: " + p;
|
|
1298
|
+
}, T = "✖ Error: File does not exist or is empty", A = {
|
|
1299
1299
|
js: "javascript",
|
|
1300
1300
|
py: "python",
|
|
1301
1301
|
rb: "ruby",
|
|
@@ -1305,52 +1305,52 @@ var ge = { exports: {} };
|
|
|
1305
1305
|
bat: "batch",
|
|
1306
1306
|
h: "c",
|
|
1307
1307
|
tex: "latex"
|
|
1308
|
-
},
|
|
1309
|
-
function
|
|
1308
|
+
}, s = "data-src-status", m = "loading", b = "loaded", I = "failed", D = "pre[data-src]:not([" + s + '="' + b + '"]):not([' + s + '="' + m + '"])';
|
|
1309
|
+
function O(f, p, k) {
|
|
1310
1310
|
var t = new XMLHttpRequest();
|
|
1311
|
-
t.open("GET",
|
|
1312
|
-
t.readyState == 4 && (t.status < 400 && t.responseText ? p(t.responseText) : t.status >= 400 ?
|
|
1311
|
+
t.open("GET", f, !0), t.onreadystatechange = function() {
|
|
1312
|
+
t.readyState == 4 && (t.status < 400 && t.responseText ? p(t.responseText) : t.status >= 400 ? k(v(t.status, t.statusText)) : k(T));
|
|
1313
1313
|
}, t.send(null);
|
|
1314
1314
|
}
|
|
1315
|
-
function
|
|
1316
|
-
var p = /^\s*(\d+)\s*(?:(,)\s*(?:(\d+)\s*)?)?$/.exec(
|
|
1315
|
+
function C(f) {
|
|
1316
|
+
var p = /^\s*(\d+)\s*(?:(,)\s*(?:(\d+)\s*)?)?$/.exec(f || "");
|
|
1317
1317
|
if (p) {
|
|
1318
|
-
var
|
|
1319
|
-
return t ? e ? [
|
|
1318
|
+
var k = Number(p[1]), t = p[2], e = p[3];
|
|
1319
|
+
return t ? e ? [k, Number(e)] : [k, void 0] : [k, k];
|
|
1320
1320
|
}
|
|
1321
1321
|
}
|
|
1322
|
-
n.hooks.add("before-highlightall", function(
|
|
1323
|
-
|
|
1324
|
-
}), n.hooks.add("before-sanity-check", function(
|
|
1322
|
+
n.hooks.add("before-highlightall", function(f) {
|
|
1323
|
+
f.selector += ", " + D;
|
|
1324
|
+
}), n.hooks.add("before-sanity-check", function(f) {
|
|
1325
1325
|
var p = (
|
|
1326
1326
|
/** @type {HTMLPreElement} */
|
|
1327
|
-
|
|
1327
|
+
f.element
|
|
1328
1328
|
);
|
|
1329
|
-
if (p.matches(
|
|
1330
|
-
|
|
1331
|
-
var
|
|
1332
|
-
|
|
1333
|
-
var t = p.getAttribute("data-src"), e =
|
|
1329
|
+
if (p.matches(D)) {
|
|
1330
|
+
f.code = "", p.setAttribute(s, m);
|
|
1331
|
+
var k = p.appendChild(document.createElement("CODE"));
|
|
1332
|
+
k.textContent = l;
|
|
1333
|
+
var t = p.getAttribute("data-src"), e = f.language;
|
|
1334
1334
|
if (e === "none") {
|
|
1335
1335
|
var r = (/\.(\w+)$/.exec(t) || [, "none"])[1];
|
|
1336
|
-
e =
|
|
1336
|
+
e = A[r] || r;
|
|
1337
1337
|
}
|
|
1338
|
-
n.util.setLanguage(
|
|
1339
|
-
var
|
|
1340
|
-
|
|
1338
|
+
n.util.setLanguage(k, e), n.util.setLanguage(p, e);
|
|
1339
|
+
var o = n.plugins.autoloader;
|
|
1340
|
+
o && o.loadLanguages(e), O(
|
|
1341
1341
|
t,
|
|
1342
1342
|
function(a) {
|
|
1343
|
-
p.setAttribute(
|
|
1344
|
-
var
|
|
1345
|
-
if (
|
|
1346
|
-
var
|
|
1347
|
-
|
|
1348
|
-
`), p.hasAttribute("data-start") || p.setAttribute("data-start", String(
|
|
1343
|
+
p.setAttribute(s, b);
|
|
1344
|
+
var c = C(p.getAttribute("data-range"));
|
|
1345
|
+
if (c) {
|
|
1346
|
+
var E = a.split(/\r\n?|\n/g), u = c[0], S = c[1] == null ? E.length : c[1];
|
|
1347
|
+
u < 0 && (u += E.length), u = Math.max(0, Math.min(u - 1, E.length)), S < 0 && (S += E.length), S = Math.max(0, Math.min(S, E.length)), a = E.slice(u, S).join(`
|
|
1348
|
+
`), p.hasAttribute("data-start") || p.setAttribute("data-start", String(u + 1));
|
|
1349
1349
|
}
|
|
1350
|
-
|
|
1350
|
+
k.textContent = a, n.highlightElement(k);
|
|
1351
1351
|
},
|
|
1352
1352
|
function(a) {
|
|
1353
|
-
p.setAttribute(
|
|
1353
|
+
p.setAttribute(s, I), k.textContent = a;
|
|
1354
1354
|
}
|
|
1355
1355
|
);
|
|
1356
1356
|
}
|
|
@@ -1363,18 +1363,18 @@ var ge = { exports: {} };
|
|
|
1363
1363
|
* @param {ParentNode} [container=document]
|
|
1364
1364
|
*/
|
|
1365
1365
|
highlight: function(p) {
|
|
1366
|
-
for (var
|
|
1366
|
+
for (var k = (p || document).querySelectorAll(D), t = 0, e; e = k[t++]; )
|
|
1367
1367
|
n.highlightElement(e);
|
|
1368
1368
|
}
|
|
1369
1369
|
};
|
|
1370
|
-
var
|
|
1370
|
+
var P = !1;
|
|
1371
1371
|
n.fileHighlight = function() {
|
|
1372
|
-
|
|
1372
|
+
P || (console.warn("Prism.fileHighlight is deprecated. Use `Prism.plugins.fileHighlight.highlight` instead."), P = !0), n.plugins.fileHighlight.highlight.apply(this, arguments);
|
|
1373
1373
|
};
|
|
1374
1374
|
}();
|
|
1375
|
-
})(
|
|
1376
|
-
var Pe =
|
|
1377
|
-
const
|
|
1375
|
+
})(he);
|
|
1376
|
+
var Pe = he.exports;
|
|
1377
|
+
const se = /* @__PURE__ */ De(Pe);
|
|
1378
1378
|
Prism.languages.clike = {
|
|
1379
1379
|
comment: [
|
|
1380
1380
|
{
|
|
@@ -1633,7 +1633,7 @@ Prism.languages.insertBefore("go", "string", {
|
|
|
1633
1633
|
});
|
|
1634
1634
|
delete Prism.languages.go["class-name"];
|
|
1635
1635
|
(function(i) {
|
|
1636
|
-
var
|
|
1636
|
+
var g = /\b(?:abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|exports|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|module|native|new|non-sealed|null|open|opens|package|permits|private|protected|provides|public|record(?!\s*[(){}[\]<>=%~.:,;?+\-*/&|^])|requires|return|sealed|short|static|strictfp|super|switch|synchronized|this|throw|throws|to|transient|transitive|try|uses|var|void|volatile|while|with|yield)\b/, n = /(?:[a-z]\w*\s*\.\s*)*(?:[A-Z]\w*\s*\.\s*)*/.source, l = {
|
|
1637
1637
|
pattern: RegExp(/(^|[^\w.])/.source + n + /[A-Z](?:[\d_A-Z]*[a-z]\w*)?\b/.source),
|
|
1638
1638
|
lookbehind: !0,
|
|
1639
1639
|
inside: {
|
|
@@ -1669,7 +1669,7 @@ delete Prism.languages.go["class-name"];
|
|
|
1669
1669
|
inside: l.inside
|
|
1670
1670
|
}
|
|
1671
1671
|
],
|
|
1672
|
-
keyword:
|
|
1672
|
+
keyword: g,
|
|
1673
1673
|
function: [
|
|
1674
1674
|
i.languages.clike.function,
|
|
1675
1675
|
{
|
|
@@ -1704,7 +1704,7 @@ delete Prism.languages.go["class-name"];
|
|
|
1704
1704
|
pattern: /<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&))*>)*>)*>)*>/,
|
|
1705
1705
|
inside: {
|
|
1706
1706
|
"class-name": l,
|
|
1707
|
-
keyword:
|
|
1707
|
+
keyword: g,
|
|
1708
1708
|
punctuation: /[<>(),.:]/,
|
|
1709
1709
|
operator: /[?&|]/
|
|
1710
1710
|
}
|
|
@@ -1736,7 +1736,7 @@ delete Prism.languages.go["class-name"];
|
|
|
1736
1736
|
namespace: {
|
|
1737
1737
|
pattern: RegExp(
|
|
1738
1738
|
/(\b(?:exports|import(?:\s+static)?|module|open|opens|package|provides|requires|to|transitive|uses|with)\s+)(?!<keyword>)[a-z]\w*(?:\.[a-z]\w*)*\.?/.source.replace(/<keyword>/g, function() {
|
|
1739
|
-
return
|
|
1739
|
+
return g.source;
|
|
1740
1740
|
})
|
|
1741
1741
|
),
|
|
1742
1742
|
lookbehind: !0,
|
|
@@ -1823,16 +1823,16 @@ Prism.languages.insertBefore("c", "function", {
|
|
|
1823
1823
|
});
|
|
1824
1824
|
delete Prism.languages.c.boolean;
|
|
1825
1825
|
(function(i) {
|
|
1826
|
-
for (var
|
|
1827
|
-
|
|
1828
|
-
return
|
|
1826
|
+
for (var g = /\/\*(?:[^*/]|\*(?!\/)|\/(?!\*)|<self>)*\*\//.source, n = 0; n < 2; n++)
|
|
1827
|
+
g = g.replace(/<self>/g, function() {
|
|
1828
|
+
return g;
|
|
1829
1829
|
});
|
|
1830
|
-
|
|
1830
|
+
g = g.replace(/<self>/g, function() {
|
|
1831
1831
|
return /[^\s\S]/.source;
|
|
1832
1832
|
}), i.languages.rust = {
|
|
1833
1833
|
comment: [
|
|
1834
1834
|
{
|
|
1835
|
-
pattern: RegExp(/(^|[^\\])/.source +
|
|
1835
|
+
pattern: RegExp(/(^|[^\\])/.source + g),
|
|
1836
1836
|
lookbehind: !0,
|
|
1837
1837
|
greedy: !0
|
|
1838
1838
|
},
|
|
@@ -1972,7 +1972,7 @@ Prism.languages.sql = {
|
|
|
1972
1972
|
punctuation: /[;[\]()`,.]/
|
|
1973
1973
|
};
|
|
1974
1974
|
(function(i) {
|
|
1975
|
-
var
|
|
1975
|
+
var g = "\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\b", n = {
|
|
1976
1976
|
pattern: /(^(["']?)\w+\2)[ \t]+\S.*/,
|
|
1977
1977
|
lookbehind: !0,
|
|
1978
1978
|
alias: "punctuation",
|
|
@@ -1982,7 +1982,7 @@ Prism.languages.sql = {
|
|
|
1982
1982
|
}, l = {
|
|
1983
1983
|
bash: n,
|
|
1984
1984
|
environment: {
|
|
1985
|
-
pattern: RegExp("\\$" +
|
|
1985
|
+
pattern: RegExp("\\$" + g),
|
|
1986
1986
|
alias: "constant"
|
|
1987
1987
|
},
|
|
1988
1988
|
variable: [
|
|
@@ -2022,7 +2022,7 @@ Prism.languages.sql = {
|
|
|
2022
2022
|
operator: /:[-=?+]?|[!\/]|##?|%%?|\^\^?|,,?/,
|
|
2023
2023
|
punctuation: /[\[\]]/,
|
|
2024
2024
|
environment: {
|
|
2025
|
-
pattern: RegExp("(\\{)" +
|
|
2025
|
+
pattern: RegExp("(\\{)" + g),
|
|
2026
2026
|
lookbehind: !0,
|
|
2027
2027
|
alias: "constant"
|
|
2028
2028
|
}
|
|
@@ -2071,7 +2071,7 @@ Prism.languages.sql = {
|
|
|
2071
2071
|
pattern: /(^|[\s;|&]|[<>]\()\w+(?:\.\w+)*(?=\+?=)/,
|
|
2072
2072
|
inside: {
|
|
2073
2073
|
environment: {
|
|
2074
|
-
pattern: RegExp("(^|[\\s;|&]|[<>]\\()" +
|
|
2074
|
+
pattern: RegExp("(^|[\\s;|&]|[<>]\\()" + g),
|
|
2075
2075
|
lookbehind: !0,
|
|
2076
2076
|
alias: "constant"
|
|
2077
2077
|
}
|
|
@@ -2127,7 +2127,7 @@ Prism.languages.sql = {
|
|
|
2127
2127
|
}
|
|
2128
2128
|
],
|
|
2129
2129
|
environment: {
|
|
2130
|
-
pattern: RegExp("\\$?" +
|
|
2130
|
+
pattern: RegExp("\\$?" + g),
|
|
2131
2131
|
alias: "constant"
|
|
2132
2132
|
},
|
|
2133
2133
|
variable: l.variable,
|
|
@@ -2170,7 +2170,7 @@ Prism.languages.sql = {
|
|
|
2170
2170
|
lookbehind: !0
|
|
2171
2171
|
}
|
|
2172
2172
|
}, n.inside = i.languages.bash;
|
|
2173
|
-
for (var
|
|
2173
|
+
for (var v = [
|
|
2174
2174
|
"comment",
|
|
2175
2175
|
"function-name",
|
|
2176
2176
|
"for-or-select",
|
|
@@ -2186,8 +2186,8 @@ Prism.languages.sql = {
|
|
|
2186
2186
|
"operator",
|
|
2187
2187
|
"punctuation",
|
|
2188
2188
|
"number"
|
|
2189
|
-
],
|
|
2190
|
-
|
|
2189
|
+
], T = l.variable[1].inside, A = 0; A < v.length; A++)
|
|
2190
|
+
T[v[A]] = i.languages.bash[v[A]];
|
|
2191
2191
|
i.languages.sh = i.languages.bash, i.languages.shell = i.languages.bash;
|
|
2192
2192
|
})(Prism);
|
|
2193
2193
|
Prism.languages.json = {
|
|
@@ -2378,7 +2378,7 @@ const $e = `
|
|
|
2378
2378
|
.hep-cr-editor .token.console {
|
|
2379
2379
|
color: #333 !important;
|
|
2380
2380
|
}
|
|
2381
|
-
`, Ue = ["innerHTML"],
|
|
2381
|
+
`, Ue = ["innerHTML"], Be = ["value", "disabled"], He = /* @__PURE__ */ le({
|
|
2382
2382
|
__name: "CodeEditor",
|
|
2383
2383
|
props: {
|
|
2384
2384
|
modelValue: {},
|
|
@@ -2387,18 +2387,18 @@ const $e = `
|
|
|
2387
2387
|
disabled: { type: Boolean, default: !1 }
|
|
2388
2388
|
},
|
|
2389
2389
|
emits: ["update:modelValue"],
|
|
2390
|
-
setup(i, { emit:
|
|
2391
|
-
be((
|
|
2392
|
-
v6d72dafb:
|
|
2393
|
-
})), typeof window < "u" && (window.Prism =
|
|
2394
|
-
function n(
|
|
2390
|
+
setup(i, { emit: g }) {
|
|
2391
|
+
be((f) => ({
|
|
2392
|
+
v6d72dafb: b.value
|
|
2393
|
+
})), typeof window < "u" && (window.Prism = se);
|
|
2394
|
+
function n(f) {
|
|
2395
2395
|
if (typeof document > "u") return;
|
|
2396
|
-
const p = "hep-cr-prism-styles",
|
|
2397
|
-
|
|
2396
|
+
const p = "hep-cr-prism-styles", k = document.getElementById(p), t = f === "dark" ? $e : Me;
|
|
2397
|
+
k && k.remove();
|
|
2398
2398
|
const e = document.createElement("style");
|
|
2399
2399
|
e.id = p, e.textContent = t, document.head.appendChild(e);
|
|
2400
2400
|
}
|
|
2401
|
-
const l = i,
|
|
2401
|
+
const l = i, v = g, T = N(null), A = N(null), s = {
|
|
2402
2402
|
javascript: "javascript",
|
|
2403
2403
|
js: "javascript",
|
|
2404
2404
|
typescript: "typescript",
|
|
@@ -2429,68 +2429,68 @@ const $e = `
|
|
|
2429
2429
|
yml: "yaml",
|
|
2430
2430
|
markdown: "markdown",
|
|
2431
2431
|
md: "markdown"
|
|
2432
|
-
},
|
|
2432
|
+
}, m = B(() => s[l.language.toLowerCase()] || "javascript"), b = B(() => l.theme === "dark" ? "#1e1e1e" : "#fafafa"), I = B(() => {
|
|
2433
2433
|
try {
|
|
2434
|
-
const
|
|
2435
|
-
if (
|
|
2436
|
-
return
|
|
2434
|
+
const f = se.languages[m.value];
|
|
2435
|
+
if (f)
|
|
2436
|
+
return se.highlight(l.modelValue || "", f, m.value);
|
|
2437
2437
|
} catch {
|
|
2438
2438
|
}
|
|
2439
|
-
return
|
|
2439
|
+
return D(l.modelValue || "");
|
|
2440
2440
|
});
|
|
2441
|
-
function
|
|
2441
|
+
function D(f) {
|
|
2442
2442
|
const p = document.createElement("div");
|
|
2443
|
-
return p.textContent =
|
|
2443
|
+
return p.textContent = f, p.innerHTML;
|
|
2444
2444
|
}
|
|
2445
|
-
function
|
|
2446
|
-
const p =
|
|
2447
|
-
|
|
2445
|
+
function O(f) {
|
|
2446
|
+
const p = f.target;
|
|
2447
|
+
v("update:modelValue", p.value);
|
|
2448
2448
|
}
|
|
2449
|
-
function
|
|
2450
|
-
|
|
2449
|
+
function C() {
|
|
2450
|
+
T.value && A.value && (A.value.scrollTop = T.value.scrollTop, A.value.scrollLeft = T.value.scrollLeft);
|
|
2451
2451
|
}
|
|
2452
|
-
function
|
|
2453
|
-
if (
|
|
2454
|
-
|
|
2455
|
-
const p =
|
|
2456
|
-
p.value = e.substring(0,
|
|
2452
|
+
function P(f) {
|
|
2453
|
+
if (f.key === "Tab") {
|
|
2454
|
+
f.preventDefault();
|
|
2455
|
+
const p = f.target, k = p.selectionStart, t = p.selectionEnd, e = p.value;
|
|
2456
|
+
p.value = e.substring(0, k) + " " + e.substring(t), p.selectionStart = p.selectionEnd = k + 2, v("update:modelValue", p.value);
|
|
2457
2457
|
}
|
|
2458
2458
|
}
|
|
2459
|
-
return
|
|
2459
|
+
return ge(() => {
|
|
2460
2460
|
n(l.theme);
|
|
2461
|
-
}),
|
|
2462
|
-
n(
|
|
2463
|
-
}), (
|
|
2464
|
-
class:
|
|
2461
|
+
}), ue(() => l.theme, (f) => {
|
|
2462
|
+
n(f);
|
|
2463
|
+
}), (f, p) => (x(), _("div", {
|
|
2464
|
+
class: z(["hep-cr-editor", `hep-cr-theme-${i.theme}`])
|
|
2465
2465
|
}, [
|
|
2466
|
-
|
|
2466
|
+
y("pre", {
|
|
2467
2467
|
ref_key: "highlightRef",
|
|
2468
|
-
ref:
|
|
2469
|
-
class:
|
|
2468
|
+
ref: A,
|
|
2469
|
+
class: z(["hep-cr-highlight", [`language-${m.value}`, `hep-cr-prism-${i.theme}`]]),
|
|
2470
2470
|
"aria-hidden": "true"
|
|
2471
2471
|
}, [
|
|
2472
|
-
|
|
2472
|
+
y("code", { innerHTML: I.value }, null, 8, Ue)
|
|
2473
2473
|
], 2),
|
|
2474
|
-
|
|
2474
|
+
y("textarea", {
|
|
2475
2475
|
ref_key: "codeRef",
|
|
2476
|
-
ref:
|
|
2476
|
+
ref: T,
|
|
2477
2477
|
class: "hep-cr-input",
|
|
2478
2478
|
value: i.modelValue,
|
|
2479
2479
|
disabled: i.disabled,
|
|
2480
|
-
onInput:
|
|
2481
|
-
onScroll:
|
|
2482
|
-
onKeydown:
|
|
2480
|
+
onInput: O,
|
|
2481
|
+
onScroll: C,
|
|
2482
|
+
onKeydown: P,
|
|
2483
2483
|
spellcheck: "false",
|
|
2484
2484
|
placeholder: "Write your code here..."
|
|
2485
|
-
}, null, 40,
|
|
2485
|
+
}, null, 40, Be)
|
|
2486
2486
|
], 2));
|
|
2487
2487
|
}
|
|
2488
|
-
}),
|
|
2488
|
+
}), fe = (i, g) => {
|
|
2489
2489
|
const n = i.__vccOpts || i;
|
|
2490
|
-
for (const [l,
|
|
2491
|
-
n[l] =
|
|
2490
|
+
for (const [l, v] of g)
|
|
2491
|
+
n[l] = v;
|
|
2492
2492
|
return n;
|
|
2493
|
-
}, Ge = /* @__PURE__ */
|
|
2493
|
+
}, Ge = /* @__PURE__ */ fe(He, [["__scopeId", "data-v-bf752fa5"]]), ze = { class: "hep-cr-header" }, je = { class: "hep-cr-controls" }, We = ["disabled"], Ve = {
|
|
2494
2494
|
key: 0,
|
|
2495
2495
|
value: ""
|
|
2496
2496
|
}, Ye = ["value"], Xe = { class: "hep-cr-actions" }, Ze = ["disabled"], Ke = {
|
|
@@ -2518,7 +2518,7 @@ const $e = `
|
|
|
2518
2518
|
}, tt = {
|
|
2519
2519
|
key: 0,
|
|
2520
2520
|
class: "hep-cr-error"
|
|
2521
|
-
}, nt = { class: "hep-cr-main" },
|
|
2521
|
+
}, nt = { class: "hep-cr-main" }, rt = { class: "hep-cr-panel-header" }, at = { class: "hep-cr-output-actions" }, ot = { class: "hep-cr-language-badge" }, st = ["disabled", "title"], it = {
|
|
2522
2522
|
key: 0,
|
|
2523
2523
|
width: "14",
|
|
2524
2524
|
height: "14",
|
|
@@ -2543,15 +2543,16 @@ const $e = `
|
|
|
2543
2543
|
}, ft = {
|
|
2544
2544
|
key: 1,
|
|
2545
2545
|
class: "hep-cr-copied-text"
|
|
2546
|
-
}, mt = { class: "hep-cr-output-content" }, bt = { key: 0 },
|
|
2546
|
+
}, mt = { class: "hep-cr-output-content" }, bt = { key: 0 }, vt = {
|
|
2547
2547
|
key: 1,
|
|
2548
2548
|
class: "hep-cr-stderr"
|
|
2549
|
-
},
|
|
2549
|
+
}, Et = /* @__PURE__ */ le({
|
|
2550
2550
|
__name: "CodeRunner",
|
|
2551
2551
|
props: {
|
|
2552
2552
|
pistonUrl: { default: "/api/piston" },
|
|
2553
2553
|
language: { default: "javascript" },
|
|
2554
2554
|
theme: { default: "light" },
|
|
2555
|
+
themeColor: { default: "" },
|
|
2555
2556
|
showLanguageSelector: { type: Boolean, default: !0 },
|
|
2556
2557
|
showEditor: { type: Boolean, default: !0 },
|
|
2557
2558
|
editable: { type: Boolean, default: !0 },
|
|
@@ -2559,153 +2560,173 @@ const $e = `
|
|
|
2559
2560
|
executorLabel: { default: "运行" }
|
|
2560
2561
|
},
|
|
2561
2562
|
emits: ["execute-start", "execute-end", "language-change"],
|
|
2562
|
-
setup(i, { emit:
|
|
2563
|
-
const n = i, l =
|
|
2564
|
-
|
|
2565
|
-
|
|
2563
|
+
setup(i, { emit: g }) {
|
|
2564
|
+
const n = i, l = B(() => {
|
|
2565
|
+
if (!n.themeColor) return {};
|
|
2566
|
+
const d = n.theme === "dark", h = n.themeColor, F = v(h) ? "#000" : "#fff";
|
|
2567
|
+
return {
|
|
2568
|
+
"--hep-cr-theme-color": h,
|
|
2569
|
+
"--hep-cr-theme-color-hover": d ? T(h, 20) : T(h, -20),
|
|
2570
|
+
"--hep-cr-tab-active-color": F
|
|
2571
|
+
};
|
|
2572
|
+
});
|
|
2573
|
+
function v(d) {
|
|
2574
|
+
const h = parseInt(d.replace("#", ""), 16), w = h >> 16 & 255, F = h >> 8 & 255, V = h & 255;
|
|
2575
|
+
return (0.299 * w + 0.587 * F + 0.114 * V) / 255 > 0.5;
|
|
2576
|
+
}
|
|
2577
|
+
function T(d, h) {
|
|
2578
|
+
const w = parseInt(d.replace("#", ""), 16), F = Math.round(2.55 * h), V = Math.min(255, Math.max(0, (w >> 16) + F)), $ = Math.min(255, Math.max(0, (w >> 8 & 255) + F)), G = Math.min(255, Math.max(0, (w & 255) + F));
|
|
2579
|
+
return "#" + (16777216 + V * 65536 + $ * 256 + G).toString(16).slice(1);
|
|
2566
2580
|
}
|
|
2567
|
-
const
|
|
2568
|
-
|
|
2569
|
-
|
|
2570
|
-
|
|
2571
|
-
|
|
2572
|
-
|
|
2573
|
-
|
|
2574
|
-
|
|
2581
|
+
const A = g, s = N([]), m = N(n.language), b = N(n.theme), I = N(""), D = N(""), O = N(""), C = N(!1), P = N(null), f = N("stdout"), p = N(null), k = N(!1), t = N(60);
|
|
2582
|
+
function e() {
|
|
2583
|
+
b.value = b.value === "light" ? "dark" : "light";
|
|
2584
|
+
}
|
|
2585
|
+
const r = B(
|
|
2586
|
+
() => new Oe({ pistonUrl: n.pistonUrl })
|
|
2587
|
+
), o = B(() => s.value.map((d) => ({
|
|
2588
|
+
value: `${d.language}:${d.version}`,
|
|
2589
|
+
label: `${d.language.charAt(0).toUpperCase() + d.language.slice(1)} ${d.version}`
|
|
2590
|
+
}))), a = B(() => {
|
|
2591
|
+
const d = m.value;
|
|
2592
|
+
return d.includes(":") ? d.split(":")[0] : d;
|
|
2575
2593
|
});
|
|
2576
|
-
async function
|
|
2577
|
-
|
|
2594
|
+
async function c() {
|
|
2595
|
+
k.value = !0, p.value = null;
|
|
2578
2596
|
try {
|
|
2579
|
-
|
|
2580
|
-
|
|
2581
|
-
|
|
2597
|
+
s.value = await r.value.getRuntimes();
|
|
2598
|
+
const d = m.value.split(":")[0], h = s.value.find((w) => w.language === d);
|
|
2599
|
+
h && !m.value.includes(":") && (m.value = `${d}:${h.version}`);
|
|
2600
|
+
} catch (d) {
|
|
2601
|
+
p.value = d instanceof Error ? d.message : "Failed to load runtimes";
|
|
2582
2602
|
} finally {
|
|
2583
|
-
|
|
2603
|
+
k.value = !1;
|
|
2584
2604
|
}
|
|
2585
2605
|
}
|
|
2586
|
-
|
|
2587
|
-
const
|
|
2588
|
-
|
|
2606
|
+
ue(m, (d) => {
|
|
2607
|
+
const h = d.includes(":") ? d.split(":")[0] : d, w = oe(h);
|
|
2608
|
+
I.value = w, A("language-change", h, w);
|
|
2589
2609
|
});
|
|
2590
|
-
async function
|
|
2591
|
-
if (!
|
|
2592
|
-
|
|
2610
|
+
async function E() {
|
|
2611
|
+
if (!C.value) {
|
|
2612
|
+
C.value = !0, D.value = "", O.value = "", P.value = null, p.value = null, f.value = "stdout", A("execute-start");
|
|
2593
2613
|
try {
|
|
2594
|
-
const
|
|
2595
|
-
|
|
2596
|
-
} catch (
|
|
2597
|
-
|
|
2614
|
+
const d = await r.value.execute(a.value, I.value);
|
|
2615
|
+
D.value = d.output, O.value = d.stderr, P.value = d.executionTime || null, f.value = d.stderr ? "stderr" : "stdout", A("execute-end", d);
|
|
2616
|
+
} catch (d) {
|
|
2617
|
+
p.value = d instanceof Error ? d.message : "Execution failed", A("execute-end", {
|
|
2598
2618
|
success: !1,
|
|
2599
2619
|
output: "",
|
|
2600
|
-
stderr:
|
|
2620
|
+
stderr: p.value,
|
|
2601
2621
|
code: -1
|
|
2602
2622
|
});
|
|
2603
2623
|
} finally {
|
|
2604
|
-
|
|
2624
|
+
C.value = !1;
|
|
2605
2625
|
}
|
|
2606
2626
|
}
|
|
2607
2627
|
}
|
|
2608
|
-
const
|
|
2609
|
-
async function
|
|
2610
|
-
await navigator.clipboard.writeText(
|
|
2611
|
-
|
|
2628
|
+
const u = N(!1), S = N(!1);
|
|
2629
|
+
async function R() {
|
|
2630
|
+
await navigator.clipboard.writeText(I.value), u.value = !0, setTimeout(() => {
|
|
2631
|
+
u.value = !1;
|
|
2612
2632
|
}, 2e3);
|
|
2613
2633
|
}
|
|
2614
|
-
async function
|
|
2615
|
-
const
|
|
2616
|
-
await navigator.clipboard.writeText(
|
|
2617
|
-
|
|
2634
|
+
async function M() {
|
|
2635
|
+
const d = f.value === "stdout" ? D.value : O.value;
|
|
2636
|
+
await navigator.clipboard.writeText(d), S.value = !0, setTimeout(() => {
|
|
2637
|
+
S.value = !1;
|
|
2618
2638
|
}, 2e3);
|
|
2619
2639
|
}
|
|
2620
|
-
function
|
|
2621
|
-
|
|
2640
|
+
function Y() {
|
|
2641
|
+
I.value = oe(a.value);
|
|
2622
2642
|
}
|
|
2623
|
-
let
|
|
2624
|
-
function
|
|
2625
|
-
|
|
2643
|
+
let j = !1;
|
|
2644
|
+
function ee(d) {
|
|
2645
|
+
j = !0, document.addEventListener("mousemove", X), document.addEventListener("mouseup", W), document.body.style.cursor = "col-resize", document.body.style.userSelect = "none";
|
|
2626
2646
|
}
|
|
2627
|
-
function
|
|
2628
|
-
if (!
|
|
2629
|
-
const
|
|
2647
|
+
function X(d) {
|
|
2648
|
+
if (!j) return;
|
|
2649
|
+
const h = document.querySelector(
|
|
2630
2650
|
".hep-cr-main"
|
|
2631
2651
|
);
|
|
2632
|
-
if (!
|
|
2633
|
-
const
|
|
2634
|
-
|
|
2652
|
+
if (!h) return;
|
|
2653
|
+
const w = h.getBoundingClientRect(), F = (d.clientX - w.left) / w.width * 100;
|
|
2654
|
+
t.value = Math.max(20, Math.min(80, F));
|
|
2635
2655
|
}
|
|
2636
2656
|
function W() {
|
|
2637
|
-
|
|
2657
|
+
j = !1, document.removeEventListener("mousemove", X), document.removeEventListener("mouseup", W), document.body.style.cursor = "", document.body.style.userSelect = "";
|
|
2638
2658
|
}
|
|
2639
|
-
|
|
2640
|
-
await
|
|
2659
|
+
ge(async () => {
|
|
2660
|
+
await c(), I.value || (I.value = n.defaultCode || oe(m.value));
|
|
2641
2661
|
});
|
|
2642
|
-
const
|
|
2643
|
-
return (
|
|
2644
|
-
class:
|
|
2662
|
+
const L = B(() => `hep-cr-runner-${b.value}`);
|
|
2663
|
+
return (d, h) => (x(), _("div", {
|
|
2664
|
+
class: z(["hep-cr-runner", L.value]),
|
|
2665
|
+
style: J(l.value)
|
|
2645
2666
|
}, [
|
|
2646
|
-
|
|
2647
|
-
|
|
2648
|
-
i.showLanguageSelector ?
|
|
2667
|
+
y("div", ze, [
|
|
2668
|
+
y("div", je, [
|
|
2669
|
+
i.showLanguageSelector ? ve((x(), _("select", {
|
|
2649
2670
|
key: 0,
|
|
2650
|
-
"onUpdate:modelValue":
|
|
2671
|
+
"onUpdate:modelValue": h[0] || (h[0] = (w) => m.value = w),
|
|
2651
2672
|
class: "hep-cr-language-select",
|
|
2652
|
-
disabled:
|
|
2673
|
+
disabled: C.value
|
|
2653
2674
|
}, [
|
|
2654
|
-
|
|
2655
|
-
(
|
|
2656
|
-
key:
|
|
2657
|
-
value:
|
|
2658
|
-
}, H(
|
|
2675
|
+
k.value ? (x(), _("option", Ve, "加载中...")) : U("", !0),
|
|
2676
|
+
(x(!0), _(Ee, null, ye(o.value, (w) => (x(), _("option", {
|
|
2677
|
+
key: w.value,
|
|
2678
|
+
value: w.value
|
|
2679
|
+
}, H(w.label), 9, Ye))), 128))
|
|
2659
2680
|
], 8, We)), [
|
|
2660
|
-
[Ae,
|
|
2661
|
-
]) :
|
|
2681
|
+
[Ae, m.value]
|
|
2682
|
+
]) : U("", !0)
|
|
2662
2683
|
]),
|
|
2663
|
-
|
|
2664
|
-
|
|
2684
|
+
y("div", Xe, [
|
|
2685
|
+
y("button", {
|
|
2665
2686
|
class: "hep-cr-btn hep-cr-btn-run",
|
|
2666
|
-
disabled:
|
|
2667
|
-
onClick:
|
|
2687
|
+
disabled: C.value || k.value,
|
|
2688
|
+
onClick: E
|
|
2668
2689
|
}, [
|
|
2669
|
-
|
|
2670
|
-
ke(" " + H(
|
|
2690
|
+
C.value ? (x(), _("span", Ke)) : (x(), _("span", qe, "▶")),
|
|
2691
|
+
ke(" " + H(C.value ? "运行中..." : i.executorLabel), 1)
|
|
2671
2692
|
], 8, Ze),
|
|
2672
|
-
i.showEditor && i.editable ? (
|
|
2693
|
+
i.showEditor && i.editable ? (x(), _("button", {
|
|
2673
2694
|
key: 0,
|
|
2674
2695
|
class: "hep-cr-btn hep-cr-btn-reset",
|
|
2675
|
-
onClick:
|
|
2676
|
-
}, " 重置 ")) :
|
|
2677
|
-
|
|
2696
|
+
onClick: Y
|
|
2697
|
+
}, " 重置 ")) : U("", !0),
|
|
2698
|
+
y("button", {
|
|
2678
2699
|
class: "hep-cr-btn hep-cr-btn-theme",
|
|
2679
|
-
onClick:
|
|
2680
|
-
title:
|
|
2700
|
+
onClick: e,
|
|
2701
|
+
title: b.value === "light" ? "Switch to dark mode" : "Switch to light mode"
|
|
2681
2702
|
}, [
|
|
2682
|
-
|
|
2683
|
-
|
|
2684
|
-
])])) : (
|
|
2685
|
-
Se('<circle cx="12" cy="12" r="5" data-v-
|
|
2703
|
+
b.value === "light" ? (x(), _("svg", Qe, [...h[4] || (h[4] = [
|
|
2704
|
+
y("path", { d: "M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z" }, null, -1)
|
|
2705
|
+
])])) : (x(), _("svg", et, [...h[5] || (h[5] = [
|
|
2706
|
+
Se('<circle cx="12" cy="12" r="5" data-v-6f81b71d></circle><line x1="12" y1="1" x2="12" y2="3" data-v-6f81b71d></line><line x1="12" y1="21" x2="12" y2="23" data-v-6f81b71d></line><line x1="4.22" y1="4.22" x2="5.64" y2="5.64" data-v-6f81b71d></line><line x1="18.36" y1="18.36" x2="19.78" y2="19.78" data-v-6f81b71d></line><line x1="1" y1="12" x2="3" y2="12" data-v-6f81b71d></line><line x1="21" y1="12" x2="23" y2="12" data-v-6f81b71d></line><line x1="4.22" y1="19.78" x2="5.64" y2="18.36" data-v-6f81b71d></line><line x1="18.36" y1="5.64" x2="19.78" y2="4.22" data-v-6f81b71d></line>', 9)
|
|
2686
2707
|
])]))
|
|
2687
2708
|
], 8, Je)
|
|
2688
2709
|
])
|
|
2689
2710
|
]),
|
|
2690
|
-
|
|
2691
|
-
|
|
2692
|
-
i.showEditor ? (
|
|
2711
|
+
p.value ? (x(), _("div", tt, H(p.value), 1)) : U("", !0),
|
|
2712
|
+
y("div", nt, [
|
|
2713
|
+
i.showEditor ? (x(), _("div", {
|
|
2693
2714
|
key: 0,
|
|
2694
2715
|
class: "hep-cr-editor-panel",
|
|
2695
|
-
style:
|
|
2716
|
+
style: J({ width: t.value + "%" })
|
|
2696
2717
|
}, [
|
|
2697
|
-
|
|
2698
|
-
|
|
2699
|
-
|
|
2700
|
-
|
|
2701
|
-
|
|
2702
|
-
class:
|
|
2703
|
-
disabled:
|
|
2704
|
-
onClick:
|
|
2705
|
-
title:
|
|
2718
|
+
y("div", rt, [
|
|
2719
|
+
h[7] || (h[7] = y("span", { class: "hep-cr-panel-title" }, "编辑器", -1)),
|
|
2720
|
+
y("div", at, [
|
|
2721
|
+
y("span", ot, H(a.value), 1),
|
|
2722
|
+
y("button", {
|
|
2723
|
+
class: z(["hep-cr-btn-icon", { "hep-cr-btn-copied": u.value }]),
|
|
2724
|
+
disabled: u.value,
|
|
2725
|
+
onClick: R,
|
|
2726
|
+
title: u.value ? "已复制" : "复制"
|
|
2706
2727
|
}, [
|
|
2707
|
-
|
|
2708
|
-
|
|
2728
|
+
u.value ? (x(), _("span", lt, "已复制")) : (x(), _("svg", it, [...h[6] || (h[6] = [
|
|
2729
|
+
y("rect", {
|
|
2709
2730
|
x: "9",
|
|
2710
2731
|
y: "9",
|
|
2711
2732
|
width: "13",
|
|
@@ -2713,52 +2734,52 @@ const $e = `
|
|
|
2713
2734
|
rx: "2",
|
|
2714
2735
|
ry: "2"
|
|
2715
2736
|
}, null, -1),
|
|
2716
|
-
|
|
2737
|
+
y("path", { d: "M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1" }, null, -1)
|
|
2717
2738
|
])]))
|
|
2718
2739
|
], 10, st)
|
|
2719
2740
|
])
|
|
2720
2741
|
]),
|
|
2721
|
-
|
|
2722
|
-
modelValue:
|
|
2723
|
-
"onUpdate:modelValue":
|
|
2724
|
-
language:
|
|
2725
|
-
theme:
|
|
2726
|
-
disabled: !i.editable ||
|
|
2742
|
+
ie(Ge, {
|
|
2743
|
+
modelValue: I.value,
|
|
2744
|
+
"onUpdate:modelValue": h[1] || (h[1] = (w) => I.value = w),
|
|
2745
|
+
language: a.value,
|
|
2746
|
+
theme: b.value,
|
|
2747
|
+
disabled: !i.editable || C.value
|
|
2727
2748
|
}, null, 8, ["modelValue", "language", "theme", "disabled"])
|
|
2728
|
-
], 4)) :
|
|
2729
|
-
i.showEditor ? (
|
|
2749
|
+
], 4)) : U("", !0),
|
|
2750
|
+
i.showEditor ? (x(), _("div", {
|
|
2730
2751
|
key: 1,
|
|
2731
2752
|
class: "hep-cr-resize-handle",
|
|
2732
|
-
onMousedown:
|
|
2733
|
-
}, [...
|
|
2734
|
-
|
|
2735
|
-
])], 32)) :
|
|
2736
|
-
|
|
2753
|
+
onMousedown: ee
|
|
2754
|
+
}, [...h[8] || (h[8] = [
|
|
2755
|
+
y("div", { class: "hep-cr-resize-line" }, null, -1)
|
|
2756
|
+
])], 32)) : U("", !0),
|
|
2757
|
+
y("div", {
|
|
2737
2758
|
class: "hep-cr-output-panel",
|
|
2738
|
-
style:
|
|
2759
|
+
style: J({ width: i.showEditor ? 100 - t.value + "%" : "100%" })
|
|
2739
2760
|
}, [
|
|
2740
|
-
|
|
2741
|
-
|
|
2742
|
-
|
|
2743
|
-
class:
|
|
2744
|
-
onClick:
|
|
2761
|
+
y("div", ut, [
|
|
2762
|
+
y("div", ct, [
|
|
2763
|
+
y("button", {
|
|
2764
|
+
class: z(["hep-cr-tab", { active: f.value === "stdout" }]),
|
|
2765
|
+
onClick: h[2] || (h[2] = (w) => f.value = "stdout")
|
|
2745
2766
|
}, " 输出 ", 2),
|
|
2746
|
-
|
|
2767
|
+
O.value ? (x(), _("button", {
|
|
2747
2768
|
key: 0,
|
|
2748
|
-
class:
|
|
2749
|
-
onClick:
|
|
2750
|
-
}, " 错误 ", 2)) :
|
|
2769
|
+
class: z(["hep-cr-tab", "hep-cr-tab-error", { active: f.value === "stderr" }]),
|
|
2770
|
+
onClick: h[3] || (h[3] = (w) => f.value = "stderr")
|
|
2771
|
+
}, " 错误 ", 2)) : U("", !0)
|
|
2751
2772
|
]),
|
|
2752
|
-
|
|
2753
|
-
|
|
2754
|
-
|
|
2755
|
-
class:
|
|
2756
|
-
disabled:
|
|
2757
|
-
onClick:
|
|
2758
|
-
title:
|
|
2773
|
+
y("div", dt, [
|
|
2774
|
+
P.value !== null ? (x(), _("span", pt, H(P.value) + "ms ", 1)) : U("", !0),
|
|
2775
|
+
y("button", {
|
|
2776
|
+
class: z(["hep-cr-btn-icon", { "hep-cr-btn-copied": S.value }]),
|
|
2777
|
+
disabled: S.value,
|
|
2778
|
+
onClick: M,
|
|
2779
|
+
title: S.value ? "已复制" : "复制"
|
|
2759
2780
|
}, [
|
|
2760
|
-
|
|
2761
|
-
|
|
2781
|
+
S.value ? (x(), _("span", ft, "已复制")) : (x(), _("svg", ht, [...h[9] || (h[9] = [
|
|
2782
|
+
y("rect", {
|
|
2762
2783
|
x: "9",
|
|
2763
2784
|
y: "9",
|
|
2764
2785
|
width: "13",
|
|
@@ -2766,22 +2787,22 @@ const $e = `
|
|
|
2766
2787
|
rx: "2",
|
|
2767
2788
|
ry: "2"
|
|
2768
2789
|
}, null, -1),
|
|
2769
|
-
|
|
2790
|
+
y("path", { d: "M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1" }, null, -1)
|
|
2770
2791
|
])]))
|
|
2771
2792
|
], 10, gt)
|
|
2772
2793
|
])
|
|
2773
2794
|
]),
|
|
2774
|
-
|
|
2775
|
-
|
|
2795
|
+
y("div", mt, [
|
|
2796
|
+
f.value === "stdout" ? (x(), _("pre", bt, H(C.value ? "代码执行中..." : D.value || '点击"运行"执行代码'), 1)) : (x(), _("pre", vt, H(O.value), 1))
|
|
2776
2797
|
])
|
|
2777
2798
|
], 4)
|
|
2778
2799
|
])
|
|
2779
|
-
],
|
|
2800
|
+
], 6));
|
|
2780
2801
|
}
|
|
2781
|
-
}),
|
|
2802
|
+
}), Q = /* @__PURE__ */ fe(Et, [["__scopeId", "data-v-6f81b71d"]]), yt = { class: "hep-cr-dialog-header" }, At = { class: "hep-cr-dialog-title" }, kt = { class: "hep-cr-dialog-body" }, St = {
|
|
2782
2803
|
key: 0,
|
|
2783
2804
|
class: "hep-cr-dialog-footer"
|
|
2784
|
-
}, Tt = /* @__PURE__ */
|
|
2805
|
+
}, Tt = /* @__PURE__ */ le({
|
|
2785
2806
|
__name: "CodeRunnerDialog",
|
|
2786
2807
|
props: {
|
|
2787
2808
|
modelValue: { type: Boolean, default: !1 },
|
|
@@ -2797,41 +2818,41 @@ const $e = `
|
|
|
2797
2818
|
executorLabel: { default: "运行" }
|
|
2798
2819
|
},
|
|
2799
2820
|
emits: ["update:modelValue", "close"],
|
|
2800
|
-
setup(i, { expose:
|
|
2801
|
-
const l = i,
|
|
2802
|
-
|
|
2821
|
+
setup(i, { expose: g, emit: n }) {
|
|
2822
|
+
const l = i, v = n, T = N(l.modelValue), A = B(() => l.modelValue !== void 0 ? l.modelValue : T.value);
|
|
2823
|
+
ue(
|
|
2803
2824
|
() => l.modelValue,
|
|
2804
|
-
(
|
|
2805
|
-
|
|
2825
|
+
(b) => {
|
|
2826
|
+
b !== void 0 && (T.value = b);
|
|
2806
2827
|
}
|
|
2807
2828
|
);
|
|
2808
|
-
function
|
|
2809
|
-
|
|
2829
|
+
function s() {
|
|
2830
|
+
T.value = !1, v("update:modelValue", !1), v("close");
|
|
2810
2831
|
}
|
|
2811
|
-
function
|
|
2812
|
-
|
|
2832
|
+
function m(b) {
|
|
2833
|
+
b.target === b.currentTarget && s();
|
|
2813
2834
|
}
|
|
2814
|
-
return
|
|
2815
|
-
close:
|
|
2816
|
-
}), (
|
|
2817
|
-
|
|
2818
|
-
default:
|
|
2819
|
-
|
|
2835
|
+
return g({
|
|
2836
|
+
close: s
|
|
2837
|
+
}), (b, I) => (x(), we(Te, { to: "body" }, [
|
|
2838
|
+
ie(xe, { name: "hep-cr-dialog-fade" }, {
|
|
2839
|
+
default: _e(() => [
|
|
2840
|
+
A.value ? (x(), _("div", {
|
|
2820
2841
|
key: 0,
|
|
2821
2842
|
class: "hep-cr-dialog-overlay",
|
|
2822
|
-
onClick:
|
|
2843
|
+
onClick: m
|
|
2823
2844
|
}, [
|
|
2824
|
-
|
|
2845
|
+
y("div", {
|
|
2825
2846
|
class: "hep-cr-dialog-container",
|
|
2826
|
-
style:
|
|
2847
|
+
style: J({ width: typeof i.width == "number" ? i.width + "px" : i.width })
|
|
2827
2848
|
}, [
|
|
2828
|
-
|
|
2829
|
-
|
|
2830
|
-
|
|
2849
|
+
y("div", yt, [
|
|
2850
|
+
y("h3", At, H(i.title), 1),
|
|
2851
|
+
y("button", {
|
|
2831
2852
|
class: "hep-cr-dialog-close",
|
|
2832
|
-
onClick:
|
|
2853
|
+
onClick: s
|
|
2833
2854
|
}, [...I[0] || (I[0] = [
|
|
2834
|
-
|
|
2855
|
+
y("svg", {
|
|
2835
2856
|
width: "16",
|
|
2836
2857
|
height: "16",
|
|
2837
2858
|
viewBox: "0 0 24 24",
|
|
@@ -2839,13 +2860,13 @@ const $e = `
|
|
|
2839
2860
|
stroke: "currentColor",
|
|
2840
2861
|
"stroke-width": "2"
|
|
2841
2862
|
}, [
|
|
2842
|
-
|
|
2863
|
+
y("line", {
|
|
2843
2864
|
x1: "18",
|
|
2844
2865
|
y1: "6",
|
|
2845
2866
|
x2: "6",
|
|
2846
2867
|
y2: "18"
|
|
2847
2868
|
}),
|
|
2848
|
-
|
|
2869
|
+
y("line", {
|
|
2849
2870
|
x1: "6",
|
|
2850
2871
|
y1: "6",
|
|
2851
2872
|
x2: "18",
|
|
@@ -2854,30 +2875,30 @@ const $e = `
|
|
|
2854
2875
|
], -1)
|
|
2855
2876
|
])])
|
|
2856
2877
|
]),
|
|
2857
|
-
|
|
2858
|
-
|
|
2878
|
+
y("div", kt, [
|
|
2879
|
+
ie(Q, Ie(Fe(b.$attrs)), null, 16)
|
|
2859
2880
|
]),
|
|
2860
|
-
|
|
2861
|
-
Re(
|
|
2862
|
-
])) :
|
|
2881
|
+
b.$slots.footer ? (x(), _("div", St, [
|
|
2882
|
+
Re(b.$slots, "footer", { close: s })
|
|
2883
|
+
])) : U("", !0)
|
|
2863
2884
|
], 4)
|
|
2864
|
-
])) :
|
|
2885
|
+
])) : U("", !0)
|
|
2865
2886
|
]),
|
|
2866
2887
|
_: 3
|
|
2867
2888
|
})
|
|
2868
2889
|
]));
|
|
2869
2890
|
}
|
|
2870
2891
|
});
|
|
2871
|
-
|
|
2872
|
-
i.component("CodeRunner",
|
|
2892
|
+
Q.install = (i) => {
|
|
2893
|
+
i.component("CodeRunner", Q);
|
|
2873
2894
|
};
|
|
2874
|
-
const
|
|
2895
|
+
const xt = {
|
|
2875
2896
|
install(i) {
|
|
2876
|
-
i.component("CodeRunner",
|
|
2897
|
+
i.component("CodeRunner", Q);
|
|
2877
2898
|
}
|
|
2878
2899
|
};
|
|
2879
2900
|
export {
|
|
2880
|
-
|
|
2901
|
+
Q as CodeRunner,
|
|
2881
2902
|
Tt as CodeRunnerDialog,
|
|
2882
|
-
|
|
2903
|
+
xt as default
|
|
2883
2904
|
};
|