desmost 0.3.2 → 0.4.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/dist/compiler/compile.d.ts +2 -2
- package/dist/compiler/compile.d.ts.map +1 -1
- package/dist/compiler/compile.js +9 -4
- package/dist/compiler/compile.js.map +1 -1
- package/dist/compiler/evaluate.d.ts.map +1 -1
- package/dist/compiler/evaluate.js +1 -5
- package/dist/compiler/evaluate.js.map +1 -1
- package/dist/compiler/format.d.ts +4 -0
- package/dist/compiler/format.d.ts.map +1 -0
- package/dist/compiler/format.js +7 -0
- package/dist/compiler/format.js.map +1 -0
- package/dist/compiler/index.d.ts.map +1 -1
- package/dist/compiler/index.js.map +1 -1
- package/dist/compiler/options.d.ts +2 -2
- package/dist/compiler/options.d.ts.map +1 -1
- package/dist/compiler/options.js +11 -11
- package/dist/compiler/options.js.map +1 -1
- package/dist/index.internal.d.ts +1 -0
- package/dist/index.internal.d.ts.map +1 -1
- package/dist/index.internal.js.map +1 -1
- package/dist/magic/incantation.d.ts.map +1 -1
- package/dist/magic/incantation.js +2 -1
- package/dist/magic/incantation.js.map +1 -1
- package/dist/magic/index.d.ts.map +1 -1
- package/dist/magic/index.js.map +1 -1
- package/dist/magic/local/anim.d.ts +1 -1
- package/dist/magic/local/anim.d.ts.map +1 -1
- package/dist/magic/local/anim.js +1 -1
- package/dist/magic/local/anim.js.map +1 -1
- package/dist/magic/local/colour.js +1 -1
- package/dist/magic/local/colour.js.map +1 -1
- package/dist/magic/local/label.d.ts +1 -1
- package/dist/magic/local/label.d.ts.map +1 -1
- package/dist/magic/local/label.js +5 -10
- package/dist/magic/local/label.js.map +1 -1
- package/dist/parser/desmost-parser.d.ts +1 -1
- package/dist/parser/desmost-parser.d.ts.map +1 -1
- package/dist/parser/desmost-parser.js +110 -50
- package/dist/parser/desmost-parser.js.map +1 -1
- package/dist/parser/index.d.ts.map +1 -1
- package/dist/parser/index.js.map +1 -1
- package/dist/utils.d.ts +11 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +41 -0
- package/dist/utils.js.map +1 -0
- package/package.json +5 -4
- package/src/compiler/compile.ts +12 -5
- package/src/compiler/evaluate.ts +1 -13
- package/src/compiler/format.ts +16 -0
- package/src/compiler/index.ts +7 -0
- package/src/compiler/options.ts +32 -20
- package/src/index.internal.ts +1 -0
- package/src/magic/incantation.ts +2 -1
- package/src/magic/index.ts +8 -0
- package/src/magic/local/anim.ts +1 -1
- package/src/magic/local/colour.ts +1 -1
- package/src/magic/local/label.ts +12 -7
- package/src/parser/desmost-parser.ts +173 -62
- package/src/parser/generic-parser.ts +3 -3
- package/src/parser/index.ts +0 -2
- package/src/utils.ts +54 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"desmost-parser.js","sourceRoot":"","sources":["../../src/parser/desmost-parser.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"desmost-parser.js","sourceRoot":"","sources":["../../src/parser/desmost-parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/parser/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/parser/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC"}
|
package/dist/parser/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/parser/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/parser/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC"}
|
package/dist/utils.d.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export declare function reversing<T>(items: ArrayLike<T>): Generator<T>;
|
|
2
|
+
export declare function paired<T>(items: Iterable<T>): Array<[left: T, right: T]>;
|
|
3
|
+
export declare function pairing<T>(items: Iterable<T>): Generator<[left: T, right: T]>;
|
|
4
|
+
export declare function chars(s: string, start?: number, stop?: number): string[];
|
|
5
|
+
export declare class Range {
|
|
6
|
+
protected start: number;
|
|
7
|
+
protected stop: number;
|
|
8
|
+
constructor(start: number, stop: number);
|
|
9
|
+
map<T>(callback: (n: number) => T): Generator<T>;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,wBAAiB,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAK/D;AAED,wBAAgB,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAGxE;AAED,wBAAiB,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAkB9E;AAGD,wBAAgB,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAGxE;AAGD,qBAAa,KAAK;IAGd,SAAS,CAAC,KAAK,EAAE,MAAM;IACvB,SAAS,CAAC,IAAI,EAAE,MAAM;gBADZ,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM;IAIvB,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;CAMlD"}
|
package/dist/utils.js
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
export function* reversing(items) {
|
|
2
|
+
for (let i = items.length - 1; i >= 0; i--) {
|
|
3
|
+
yield items[i];
|
|
4
|
+
}
|
|
5
|
+
}
|
|
6
|
+
export function paired(items) {
|
|
7
|
+
return pairing(items).toArray();
|
|
8
|
+
}
|
|
9
|
+
export function* pairing(items) {
|
|
10
|
+
let previous = null;
|
|
11
|
+
for (let item of items) {
|
|
12
|
+
if (previous === null) {
|
|
13
|
+
previous = item;
|
|
14
|
+
continue;
|
|
15
|
+
}
|
|
16
|
+
else {
|
|
17
|
+
yield [previous, item];
|
|
18
|
+
previous = null;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
if (previous !== null) {
|
|
22
|
+
return previous;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
export function chars(s, start, stop) {
|
|
26
|
+
return new Range(start ?? 0, stop ?? s.length).map(i => s[i]).toArray();
|
|
27
|
+
}
|
|
28
|
+
export class Range {
|
|
29
|
+
start;
|
|
30
|
+
stop;
|
|
31
|
+
constructor(start, stop) {
|
|
32
|
+
this.start = start;
|
|
33
|
+
this.stop = stop;
|
|
34
|
+
}
|
|
35
|
+
*map(callback) {
|
|
36
|
+
for (let n = this.start; n < this.stop; n++) {
|
|
37
|
+
yield callback(n);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,MAAM,SAAS,CAAC,CAAC,SAAS,CAAI,KAAmB;IAE/C,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3C,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,MAAM,CAAI,KAAkB;IAE1C,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;AAClC,CAAC;AAED,MAAM,SAAS,CAAC,CAAC,OAAO,CAAI,KAAkB;IAE5C,IAAI,QAAQ,GAAG,IAAI,CAAC;IAEpB,KAAK,IAAI,IAAI,IAAI,KAAK,EAAE,CAAC;QACvB,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YACtB,QAAQ,GAAG,IAAI,CAAC;YAChB,SAAS;QACX,CAAC;aACI,CAAC;YACJ,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YACvB,QAAQ,GAAG,IAAI,CAAC;QAClB,CAAC;IACH,CAAC;IAED,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACtB,OAAO,QAAQ,CAAC;IAClB,CAAC;AACH,CAAC;AAGD,MAAM,UAAU,KAAK,CAAC,CAAS,EAAE,KAAc,EAAE,IAAa;IAE5D,OAAO,IAAI,KAAK,CAAC,KAAK,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;AAC1E,CAAC;AAGD,MAAM,OAAO,KAAK;IAGJ;IACA;IAFZ,YACY,KAAa,EACb,IAAY;QADZ,UAAK,GAAL,KAAK,CAAQ;QACb,SAAI,GAAJ,IAAI,CAAQ;IAEvB,CAAC;IAEF,CAAC,GAAG,CAAI,QAA0B;QAEhC,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5C,MAAM,QAAQ,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;CACF"}
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "desmost",
|
|
3
3
|
"author": "Sup#2.0",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.4.1",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
|
|
7
7
|
"description": "A tiny DSL for compiling LaTeX to Desmos",
|
|
8
8
|
"keywords": [
|
|
9
|
-
"desmos", "latex", "
|
|
9
|
+
"desmos", "latex", "compiler"
|
|
10
10
|
],
|
|
11
11
|
|
|
12
12
|
"homepage": "https://sup2point0.github.io/desmost",
|
|
@@ -37,7 +37,8 @@
|
|
|
37
37
|
}
|
|
38
38
|
},
|
|
39
39
|
|
|
40
|
-
"scripts":
|
|
40
|
+
"scripts":
|
|
41
|
+
{
|
|
41
42
|
"build": "nu build.nu",
|
|
42
43
|
"buildx": "nu build.nu full",
|
|
43
44
|
|
|
@@ -46,7 +47,7 @@
|
|
|
46
47
|
|
|
47
48
|
"check": "npx oxlint src",
|
|
48
49
|
|
|
49
|
-
"prepublishOnly": "npm run buildx"
|
|
50
|
+
"prepublishOnly": "npm run test && npm run buildx"
|
|
50
51
|
},
|
|
51
52
|
|
|
52
53
|
"dependencies":
|
package/src/compiler/compile.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type DesmostOptions,
|
|
1
|
+
import { type DesmostOptions, fill_defaults } from "./options";
|
|
2
2
|
import { evaluate_global_incantation, evaluate_expr, evaluate_error } from "./evaluate";
|
|
3
3
|
|
|
4
4
|
import { DesmostParser, Ast } from "../parser";
|
|
@@ -44,9 +44,10 @@ export function compile(
|
|
|
44
44
|
}
|
|
45
45
|
|
|
46
46
|
let t_init = performance.now();
|
|
47
|
+
let num_blocks = 0;
|
|
47
48
|
let ast = [];
|
|
48
49
|
|
|
49
|
-
let opts =
|
|
50
|
+
let opts = fill_defaults(options);
|
|
50
51
|
let parser = new DesmostParser(source, opts);
|
|
51
52
|
|
|
52
53
|
/* To aggregate errors at the start, we need a target to retroactively inject errors into */
|
|
@@ -56,16 +57,18 @@ export function compile(
|
|
|
56
57
|
|
|
57
58
|
let errors = [];
|
|
58
59
|
|
|
60
|
+
/* NOTE: The compiler is lazy, parsing and evaluating one block at a time (as opposed to first parsing the entire AST). We don't need the whole AST, so this saves memory. It also doesn't sacrifice performance, since `.setExpressions()` internally just calls `.setExpression()` in a loop anyway. Benchmarks in the frontend produce similar times for both, so there's no performance improvement. */
|
|
59
61
|
try {
|
|
60
62
|
while (true) {
|
|
61
63
|
let r = parser.parse_next();
|
|
62
64
|
if (r === null) break;
|
|
63
65
|
|
|
64
66
|
if (opts.debug) {
|
|
67
|
+
num_blocks++;
|
|
65
68
|
ast.push(r);
|
|
66
69
|
}
|
|
67
70
|
|
|
68
|
-
let defer: string | void;
|
|
71
|
+
let defer: string | void = undefined;
|
|
69
72
|
|
|
70
73
|
switch (r.kind) {
|
|
71
74
|
case Ast.Kind.INCANTATION_INVOCATION:
|
|
@@ -73,6 +76,8 @@ export function compile(
|
|
|
73
76
|
break;
|
|
74
77
|
|
|
75
78
|
case Ast.Kind.EXPRESSION:
|
|
79
|
+
// @ts-expect-error: outdated types
|
|
80
|
+
if (opts.ignore_blank_lines && r.data.latex === " ") break;
|
|
76
81
|
defer = evaluate_expr(r, desmos, opts);
|
|
77
82
|
break;
|
|
78
83
|
|
|
@@ -88,7 +93,7 @@ export function compile(
|
|
|
88
93
|
}
|
|
89
94
|
catch (e) {
|
|
90
95
|
if (e instanceof UnrecoverableError) {
|
|
91
|
-
errors
|
|
96
|
+
errors.push(e);
|
|
92
97
|
} else {
|
|
93
98
|
throw e;
|
|
94
99
|
}
|
|
@@ -114,14 +119,16 @@ export function compile(
|
|
|
114
119
|
if (opts.debug) {
|
|
115
120
|
return {
|
|
116
121
|
duration: performance.now() - t_init,
|
|
122
|
+
num_blocks,
|
|
117
123
|
ast,
|
|
118
124
|
};
|
|
119
125
|
}
|
|
120
126
|
}
|
|
121
127
|
|
|
122
128
|
|
|
123
|
-
interface DesmostDebug
|
|
129
|
+
export interface DesmostDebug
|
|
124
130
|
{
|
|
125
131
|
duration: number;
|
|
132
|
+
num_blocks: number;
|
|
126
133
|
ast: Ast[];
|
|
127
134
|
}
|
package/src/compiler/evaluate.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { format_error } from "./format";
|
|
1
2
|
import type { DesmostOptions } from "./options";
|
|
2
3
|
|
|
3
4
|
import { Ast } from "../parser";
|
|
@@ -153,16 +154,3 @@ function prettify_latex(latex: string): string
|
|
|
153
154
|
|
|
154
155
|
return latex;
|
|
155
156
|
}
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
function format_error(
|
|
159
|
-
e: UnrecoverableError,
|
|
160
|
-
options: Required<DesmostOptions>,
|
|
161
|
-
): string
|
|
162
|
-
{
|
|
163
|
-
let prefix = options.error_prefix;
|
|
164
|
-
let sep = (prefix === "" || prefix.endsWith("\n")) ? "" : " ";
|
|
165
|
-
|
|
166
|
-
return `${prefix}${sep}${e.name}: ${e.message}`;
|
|
167
|
-
// TODO maybe include stack? (configurable?)
|
|
168
|
-
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { DesmostOptions } from "./options";
|
|
2
|
+
|
|
3
|
+
import { UnrecoverableError } from "../errors";
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
export function format_error(
|
|
7
|
+
e: UnrecoverableError,
|
|
8
|
+
options: Required<DesmostOptions>,
|
|
9
|
+
): string
|
|
10
|
+
{
|
|
11
|
+
let prefix = options.error_prefix;
|
|
12
|
+
let sep = (prefix === "" || prefix.endsWith("\n")) ? "" : " ";
|
|
13
|
+
|
|
14
|
+
return `${prefix}${sep}${e.name}: ${e.message}`;
|
|
15
|
+
// TODO maybe include stack? (configurable?)
|
|
16
|
+
}
|
package/src/compiler/index.ts
CHANGED
package/src/compiler/options.ts
CHANGED
|
@@ -1,10 +1,16 @@
|
|
|
1
|
-
/**
|
|
1
|
+
/**
|
|
2
|
+
* Options to customise Desmost compilation.
|
|
3
|
+
*
|
|
4
|
+
* To customise compilation, pass in a `DesmostOptions` object as the last argument to `compile()`:
|
|
5
|
+
*
|
|
6
|
+
* ```ts
|
|
7
|
+
* compile(calc, source, { errors: "crash" });
|
|
8
|
+
* ```
|
|
9
|
+
*/
|
|
2
10
|
export interface DesmostOptions
|
|
3
11
|
{
|
|
4
12
|
/**
|
|
5
|
-
* How should errors be *surfaced
|
|
6
|
-
*
|
|
7
|
-
* Errors will always be logged to console for the developer; this setting affects how they visually reach the end user.
|
|
13
|
+
* How should errors be *surfaced* to the end user?
|
|
8
14
|
*
|
|
9
15
|
* - `surface` (default): Blocks that result in errors will become Desmos text expressions containing the error message, leaving other expressions unaffected.
|
|
10
16
|
* - `crash`: The entire compilation to Desmos will terminate with a single error message. This means you don't get any output at all, but errors are also immediately obvious.
|
|
@@ -22,7 +28,11 @@ export interface DesmostOptions
|
|
|
22
28
|
place_errors?: "inline" | "end" | "start"
|
|
23
29
|
|
|
24
30
|
/**
|
|
25
|
-
* The prefix to prepend to error blocks.
|
|
31
|
+
* The prefix to prepend to error blocks.
|
|
32
|
+
*
|
|
33
|
+
* Defaults to `[DESMOST ERROR]\n`.
|
|
34
|
+
*
|
|
35
|
+
* Provide a `""` blank string if you wish for no prefix to be added.
|
|
26
36
|
*/
|
|
27
37
|
error_prefix?: string
|
|
28
38
|
|
|
@@ -34,11 +44,11 @@ export interface DesmostOptions
|
|
|
34
44
|
ignore_comments?: boolean
|
|
35
45
|
|
|
36
46
|
/**
|
|
37
|
-
* Should all line breaks be ignored, instead of kept as blank expressions
|
|
47
|
+
* Should all line breaks be ignored, instead of kept as blank expressions?
|
|
38
48
|
*
|
|
39
49
|
* Defaults to `false`, meaning all blank lines are kept.
|
|
40
50
|
*/
|
|
41
|
-
|
|
51
|
+
ignore_blank_lines?: boolean
|
|
42
52
|
|
|
43
53
|
/**
|
|
44
54
|
* Should trailing blank lines at the end of the source be ignored, instead of kept as blank expressions?
|
|
@@ -55,9 +65,11 @@ export interface DesmostOptions
|
|
|
55
65
|
prettify?: boolean
|
|
56
66
|
|
|
57
67
|
/**
|
|
58
|
-
* Return debug diagnostics?
|
|
68
|
+
* Return debug diagnostics?
|
|
69
|
+
*
|
|
70
|
+
* This includes the unevaluated AST, and performance diagnostics.
|
|
59
71
|
*
|
|
60
|
-
* Defaults to `false`.
|
|
72
|
+
* Defaults to `false`, meaning `compile()` returns `void`.
|
|
61
73
|
*/
|
|
62
74
|
debug?: boolean
|
|
63
75
|
}
|
|
@@ -66,20 +78,20 @@ export interface DesmostOptions
|
|
|
66
78
|
/**
|
|
67
79
|
* Fill in `options` with Desmost's defaults to produce a complete `DesmostOptions` config.
|
|
68
80
|
*/
|
|
69
|
-
export function
|
|
81
|
+
export function fill_defaults(options: Partial<DesmostOptions> | undefined): Required<DesmostOptions>
|
|
70
82
|
{
|
|
71
|
-
|
|
83
|
+
let out = Object.assign({}, options);
|
|
72
84
|
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
85
|
+
out.errors ??= "surface";
|
|
86
|
+
out.place_errors ??= "inline";
|
|
87
|
+
out.error_prefix ??= "[DESMOST ERROR]\n";
|
|
76
88
|
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
89
|
+
out.ignore_comments ??= false;
|
|
90
|
+
out.ignore_blank_lines ??= false;
|
|
91
|
+
out.ignore_trailing_blanks ??= false;
|
|
80
92
|
|
|
81
|
-
|
|
82
|
-
|
|
93
|
+
out.prettify ??= true;
|
|
94
|
+
out.debug ??= false;
|
|
83
95
|
|
|
84
|
-
return
|
|
96
|
+
return out as Required<DesmostOptions>;
|
|
85
97
|
}
|
package/src/index.internal.ts
CHANGED
package/src/magic/incantation.ts
CHANGED
|
@@ -83,7 +83,7 @@ export abstract class ArgIncantation<
|
|
|
83
83
|
case Incantation.ArgType.LATEX: return raw;
|
|
84
84
|
case Incantation.ArgType.ENUM: return raw;
|
|
85
85
|
|
|
86
|
-
case Incantation.ArgType.OBJECT:
|
|
86
|
+
case Incantation.ArgType.OBJECT: {
|
|
87
87
|
try {
|
|
88
88
|
return Json5.parse(`{${raw}}`);
|
|
89
89
|
}
|
|
@@ -91,6 +91,7 @@ export abstract class ArgIncantation<
|
|
|
91
91
|
// @ts-expect-error: fine
|
|
92
92
|
throw new UnrecoverableError.InvalidArgument(e.message);
|
|
93
93
|
}
|
|
94
|
+
}
|
|
94
95
|
}
|
|
95
96
|
}
|
|
96
97
|
}
|
package/src/magic/index.ts
CHANGED
|
@@ -1,3 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Implements incantations logic.
|
|
3
|
+
*
|
|
4
|
+
* Incantations are represented with `Incantation` and `ArgIncantation` objects. Individual incantations derive from one of these classes, defining their own evaluation and application logic.
|
|
5
|
+
*
|
|
6
|
+
* Defined incantations are listed under `*_INCANTATIONS` lists.
|
|
7
|
+
*/
|
|
8
|
+
|
|
1
9
|
export { Incantation, ArgIncantation } from "./incantation";
|
|
2
10
|
export type { GLOBAL, LOCAL, EXPR } from "./incantation";
|
|
3
11
|
|
package/src/magic/local/anim.ts
CHANGED
|
@@ -4,7 +4,7 @@ import { Incantation, type LOCAL } from "../incantation";
|
|
|
4
4
|
export class AnimIncantation extends Incantation<LOCAL>
|
|
5
5
|
{
|
|
6
6
|
override readonly description
|
|
7
|
-
= "
|
|
7
|
+
= "Animate the slider of a block."
|
|
8
8
|
|
|
9
9
|
override readonly identifier = "anim"
|
|
10
10
|
|
|
@@ -22,7 +22,7 @@ export class ColourIncantation extends ArgIncantation<LOCAL>
|
|
|
22
22
|
|
|
23
23
|
override evaluate_arg(data: string): DesmosColour
|
|
24
24
|
{
|
|
25
|
-
switch (data.trim()) {
|
|
25
|
+
switch (data.trim().toUpperCase()) {
|
|
26
26
|
case "RED": return DesmosColour.RED;
|
|
27
27
|
case "BLUE": return DesmosColour.BLUE;
|
|
28
28
|
case "GREEN": return DesmosColour.GREEN;
|
package/src/magic/local/label.ts
CHANGED
|
@@ -14,7 +14,7 @@ interface LabelOptions
|
|
|
14
14
|
export class LabelIncantation extends ArgIncantation<LOCAL>
|
|
15
15
|
{
|
|
16
16
|
override readonly description
|
|
17
|
-
= ""
|
|
17
|
+
= "Label a block that evaluates to a point(s)."
|
|
18
18
|
|
|
19
19
|
override readonly identifier = "label"
|
|
20
20
|
override readonly requires_arg = true
|
|
@@ -41,14 +41,19 @@ export class LabelIncantation extends ArgIncantation<LOCAL>
|
|
|
41
41
|
}
|
|
42
42
|
|
|
43
43
|
if (typeof out.pos != "undefined") {
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
case "
|
|
48
|
-
case "
|
|
44
|
+
let pos = out.pos.trim().toUpperCase();
|
|
45
|
+
|
|
46
|
+
switch (pos) {
|
|
47
|
+
case "ABOVE":
|
|
48
|
+
case "BELOW":
|
|
49
|
+
case "LEFT":
|
|
50
|
+
case "RIGHT":
|
|
51
|
+
out.pos = pos;
|
|
52
|
+
break;
|
|
53
|
+
|
|
49
54
|
default:
|
|
50
55
|
throw new UnrecoverableError.InvalidArgument(
|
|
51
|
-
`/label: Invalid label position: ${
|
|
56
|
+
`/label: Invalid label position: ${pos}`
|
|
52
57
|
);
|
|
53
58
|
}
|
|
54
59
|
}
|