@dodona/papyros 2.2.0-beta.9 → 2.3.0-beta.0
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/CodeRunner.d.ts +14 -4
- package/dist/CodeRunner.js +71 -17
- package/dist/CodeRunner.js.map +1 -1
- package/dist/Debugger.js +0 -8
- package/dist/Debugger.js.map +1 -1
- package/dist/InputManager.js +1 -2
- package/dist/InputManager.js.map +1 -1
- package/dist/OutputManager.d.ts +2 -0
- package/dist/OutputManager.js +7 -7
- package/dist/OutputManager.js.map +1 -1
- package/dist/Papyros.css +8 -0
- package/dist/Papyros.d.ts +1 -1
- package/dist/Papyros.js +4 -7
- package/dist/Papyros.js.map +1 -1
- package/dist/Translations.d.ts +14 -4
- package/dist/Translations.js +8 -2
- package/dist/Translations.js.map +1 -1
- package/dist/editor/CodeEditor.d.ts +4 -1
- package/dist/editor/CodeEditor.js +19 -13
- package/dist/editor/CodeEditor.js.map +1 -1
- package/dist/editor/CodeMirrorEditor.js +2 -2
- package/dist/editor/CodeMirrorEditor.js.map +1 -1
- package/dist/editor/DebugExtension.d.ts +11 -0
- package/dist/editor/DebugExtension.js +65 -0
- package/dist/editor/DebugExtension.js.map +1 -0
- package/dist/editor/Gutters.d.ts +1 -2
- package/dist/editor/Gutters.js +5 -17
- package/dist/editor/Gutters.js.map +1 -1
- package/dist/editor/LineEffectExtension.d.ts +13 -0
- package/dist/editor/LineEffectExtension.js +48 -0
- package/dist/editor/LineEffectExtension.js.map +1 -0
- package/dist/editor/TestCodeExtension.d.ts +3 -2
- package/dist/editor/TestCodeExtension.js +16 -37
- package/dist/editor/TestCodeExtension.js.map +1 -1
- package/dist/input/BatchInputHandler.d.ts +3 -0
- package/dist/input/BatchInputHandler.js +19 -6
- package/dist/input/BatchInputHandler.js.map +1 -1
- package/dist/input/InteractiveInputHandler.d.ts +1 -1
- package/dist/input/InteractiveInputHandler.js.map +1 -1
- package/dist/input/UserInputHandler.d.ts +1 -1
- package/dist/input/UserInputHandler.js.map +1 -1
- package/dist/util/Util.d.ts +3 -6
- package/dist/util/Util.js +3 -11
- package/dist/util/Util.js.map +1 -1
- package/dist/workers/python/python_package.tar.gz.load_by_url +0 -0
- package/package.json +5 -5
|
@@ -13,10 +13,8 @@ import { drawSelection, highlightActiveLine, highlightActiveLineGutter, highligh
|
|
|
13
13
|
import { linter, lintGutter, lintKeymap } from "@codemirror/lint";
|
|
14
14
|
import { CodeMirrorEditor } from "./CodeMirrorEditor";
|
|
15
15
|
import { darkTheme } from "./DarkTheme";
|
|
16
|
-
import { DebugLineGutter } from "./Gutters";
|
|
17
|
-
import { BackendManager } from "../BackendManager";
|
|
18
|
-
import { BackendEventType } from "../BackendEvent";
|
|
19
16
|
import { TestCodeExtension } from "./TestCodeExtension";
|
|
17
|
+
import { DebugExtension } from "./DebugExtension";
|
|
20
18
|
/**
|
|
21
19
|
* Component that provides useful features to users writing code
|
|
22
20
|
*/
|
|
@@ -29,8 +27,8 @@ export class CodeEditor extends CodeMirrorEditor {
|
|
|
29
27
|
*/
|
|
30
28
|
constructor(onRunRequest, initialCode = "", indentLength = 4) {
|
|
31
29
|
super(new Set([
|
|
32
|
-
CodeEditor.PROGRAMMING_LANGUAGE, CodeEditor.INDENTATION,
|
|
33
|
-
CodeEditor.PANEL, CodeEditor.AUTOCOMPLETION, CodeEditor.LINTING
|
|
30
|
+
CodeEditor.PROGRAMMING_LANGUAGE, CodeEditor.INDENTATION, CodeEditor.ACTIVE_LINE,
|
|
31
|
+
CodeEditor.PANEL, CodeEditor.AUTOCOMPLETION, CodeEditor.LINTING, CodeEditor.READONLY
|
|
34
32
|
]), {
|
|
35
33
|
classes: ["papyros-code-editor", "_tw-overflow-auto",
|
|
36
34
|
"_tw-border-solid", "_tw-border-gray-200", "_tw-border-2",
|
|
@@ -39,7 +37,7 @@ export class CodeEditor extends CodeMirrorEditor {
|
|
|
39
37
|
maxHeight: "72vh",
|
|
40
38
|
theme: {}
|
|
41
39
|
});
|
|
42
|
-
this.
|
|
40
|
+
this.debugExtension = new DebugExtension(this.editorView);
|
|
43
41
|
this.addExtension([
|
|
44
42
|
keymap.of([
|
|
45
43
|
{
|
|
@@ -53,17 +51,25 @@ export class CodeEditor extends CodeMirrorEditor {
|
|
|
53
51
|
key: "Shift-Enter", run: insertBlankLine
|
|
54
52
|
}
|
|
55
53
|
]),
|
|
56
|
-
this.
|
|
54
|
+
this.debugExtension.toExtension(),
|
|
57
55
|
...CodeEditor.getExtensions()
|
|
58
56
|
]);
|
|
59
57
|
this.setText(initialCode);
|
|
60
58
|
this.setIndentLength(indentLength);
|
|
61
|
-
BackendManager.subscribe(BackendEventType.FrameChange, e => {
|
|
62
|
-
const line = e.data.line;
|
|
63
|
-
this.debugLineGutter.markLine(this.editorView, line);
|
|
64
|
-
});
|
|
65
59
|
this.testCodeExtension = new TestCodeExtension(this.editorView);
|
|
66
60
|
this.addExtension(this.testCodeExtension.toExtension());
|
|
61
|
+
this.debugMode = false;
|
|
62
|
+
}
|
|
63
|
+
set debugMode(value) {
|
|
64
|
+
this.debugExtension.toggle(value);
|
|
65
|
+
this.reconfigure([CodeEditor.READONLY, EditorState.readOnly.of(value)]);
|
|
66
|
+
// Hide the active line if the editor is in debug mode
|
|
67
|
+
if (!value) {
|
|
68
|
+
this.reconfigure([CodeEditor.ACTIVE_LINE, [highlightActiveLineGutter(), highlightActiveLine()]]);
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
this.reconfigure([CodeEditor.ACTIVE_LINE, []]);
|
|
72
|
+
}
|
|
67
73
|
}
|
|
68
74
|
set testCode(code) {
|
|
69
75
|
this.testCodeExtension.testCode = code;
|
|
@@ -182,8 +188,6 @@ export class CodeEditor extends CodeMirrorEditor {
|
|
|
182
188
|
closeBrackets(),
|
|
183
189
|
autocompletion(),
|
|
184
190
|
rectangularSelection(),
|
|
185
|
-
highlightActiveLine(),
|
|
186
|
-
highlightActiveLineGutter(),
|
|
187
191
|
highlightSelectionMatches(),
|
|
188
192
|
keymap.of([
|
|
189
193
|
...closeBracketsKeymap,
|
|
@@ -203,4 +207,6 @@ CodeEditor.INDENTATION = "indentation";
|
|
|
203
207
|
CodeEditor.PANEL = "panel";
|
|
204
208
|
CodeEditor.AUTOCOMPLETION = "autocompletion";
|
|
205
209
|
CodeEditor.LINTING = "linting";
|
|
210
|
+
CodeEditor.READONLY = "readonly";
|
|
211
|
+
CodeEditor.ACTIVE_LINE = "active_line";
|
|
206
212
|
//# sourceMappingURL=CodeEditor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CodeEditor.js","sourceRoot":"","sources":["../../src/editor/CodeEditor.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,CAAC,EAAE,MAAM,cAAc,CAAC;AACjC,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAChH,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC7G,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACjD,OAAO,EACH,eAAe,EACf,qBAAqB,EACrB,UAAU,EACV,UAAU,EACV,aAAa,EACb,UAAU,EAEV,kBAAkB,EACrB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,yBAAyB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAa,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EACH,aAAa,EAEb,mBAAmB,EACnB,yBAAyB,EACzB,qBAAqB,EACrB,MAAM,EACN,WAAW,EACX,oBAAoB,EACpB,SAAS,EACZ,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAc,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"CodeEditor.js","sourceRoot":"","sources":["../../src/editor/CodeEditor.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,8 +3,8 @@ import { EditorView, placeholder } from "@codemirror/view";
|
|
|
3
3
|
import { Renderable, renderWithOptions } from "../util/Rendering";
|
|
4
4
|
import { darkTheme } from "./DarkTheme";
|
|
5
5
|
import { CODE_MIRROR_TRANSLATIONS } from "../Translations";
|
|
6
|
-
import I18n from "i18n-js";
|
|
7
6
|
import { cursorDocEnd } from "@codemirror/commands";
|
|
7
|
+
import { i18n } from "../util/Util";
|
|
8
8
|
/**
|
|
9
9
|
* Base class for Editors implemented using CodeMirror 6
|
|
10
10
|
* https://codemirror.net/6/
|
|
@@ -123,7 +123,7 @@ export class CodeMirrorEditor extends Renderable {
|
|
|
123
123
|
this.setDarkMode(options.darkMode || false);
|
|
124
124
|
this.reconfigure([
|
|
125
125
|
CodeMirrorEditor.LANGUAGE,
|
|
126
|
-
EditorState.phrases.of(CODE_MIRROR_TRANSLATIONS[
|
|
126
|
+
EditorState.phrases.of(CODE_MIRROR_TRANSLATIONS[i18n.locale])
|
|
127
127
|
]);
|
|
128
128
|
const wrappingDiv = document.createElement("div");
|
|
129
129
|
wrappingDiv.classList.add(...this.styling.classes);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CodeMirrorEditor.js","sourceRoot":"","sources":["../../src/editor/CodeMirrorEditor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,WAAW,EAAa,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrF,OAAO,EAAE,UAAU,EAAE,WAAW,EAAc,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAE,UAAU,EAAiB,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEjF,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,
|
|
1
|
+
{"version":3,"file":"CodeMirrorEditor.js","sourceRoot":"","sources":["../../src/editor/CodeMirrorEditor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { EditorView } from "@codemirror/view";
|
|
2
|
+
import { Extension } from "@codemirror/state";
|
|
3
|
+
export declare class DebugExtension {
|
|
4
|
+
private readonly view;
|
|
5
|
+
private readonly gutter;
|
|
6
|
+
private readonly lineEffect;
|
|
7
|
+
constructor(view: EditorView);
|
|
8
|
+
toggle(show: boolean): void;
|
|
9
|
+
markLine(lineNr: number): void;
|
|
10
|
+
toExtension(): Extension;
|
|
11
|
+
}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { Decoration, EditorView, gutterLineClass, GutterMarker } from "@codemirror/view";
|
|
2
|
+
import { LineEffectExtension } from "./LineEffectExtension";
|
|
3
|
+
import { DebugLineGutter } from "./Gutters";
|
|
4
|
+
import { RangeSet, StateEffect, StateField } from "@codemirror/state";
|
|
5
|
+
import { BackendManager } from "../BackendManager";
|
|
6
|
+
import { BackendEventType } from "../BackendEvent";
|
|
7
|
+
const activeLineDecoration = Decoration.line({ class: "cm-activeLine" });
|
|
8
|
+
const activeLineGutterMarker = new class extends GutterMarker {
|
|
9
|
+
constructor() {
|
|
10
|
+
super(...arguments);
|
|
11
|
+
this.elementClass = "cm-activeLineGutter";
|
|
12
|
+
}
|
|
13
|
+
};
|
|
14
|
+
const markLine = StateEffect.define();
|
|
15
|
+
const markedLine = StateField.define({
|
|
16
|
+
create: () => undefined,
|
|
17
|
+
update(value, tr) {
|
|
18
|
+
for (const effect of tr.effects) {
|
|
19
|
+
if (effect.is(markLine)) {
|
|
20
|
+
return effect.value;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
return value;
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
const markedLineGutterHighlighter = gutterLineClass.compute([markedLine], state => {
|
|
27
|
+
if (state.field(markedLine) === undefined) {
|
|
28
|
+
return RangeSet.empty;
|
|
29
|
+
}
|
|
30
|
+
const linePos = state.doc.line(state.field(markedLine)).from;
|
|
31
|
+
return RangeSet.of([activeLineGutterMarker.range(linePos)]);
|
|
32
|
+
});
|
|
33
|
+
export class DebugExtension {
|
|
34
|
+
constructor(view) {
|
|
35
|
+
this.view = view;
|
|
36
|
+
this.gutter = new DebugLineGutter();
|
|
37
|
+
this.lineEffect = new LineEffectExtension(view);
|
|
38
|
+
BackendManager.subscribe(BackendEventType.FrameChange, e => {
|
|
39
|
+
const line = e.data.line;
|
|
40
|
+
this.markLine(line);
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
toggle(show) {
|
|
44
|
+
this.gutter.toggle(show);
|
|
45
|
+
this.lineEffect.clear();
|
|
46
|
+
if (show) {
|
|
47
|
+
this.markLine(1);
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
this.view.dispatch({ effects: markLine.of(undefined) });
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
markLine(lineNr) {
|
|
54
|
+
this.gutter.markLine(this.view, lineNr);
|
|
55
|
+
this.lineEffect.set([activeLineDecoration.range(this.view.state.doc.line(lineNr).from)]);
|
|
56
|
+
this.view.dispatch({ effects: [
|
|
57
|
+
markLine.of(lineNr),
|
|
58
|
+
EditorView.scrollIntoView(this.view.state.doc.line(lineNr).from)
|
|
59
|
+
] });
|
|
60
|
+
}
|
|
61
|
+
toExtension() {
|
|
62
|
+
return [this.lineEffect.toExtension(), this.gutter.toExtension(), markedLine, markedLineGutterHighlighter];
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=DebugExtension.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DebugExtension.js","sourceRoot":"","sources":["../../src/editor/DebugExtension.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACzF,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAa,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACjF,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEnD,MAAM,oBAAoB,GAAG,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC,CAAC;AACzE,MAAM,sBAAsB,GAAG,IAAI,KAAM,SAAQ,YAAY;IAA1B;;QAC/B,iBAAY,GAAG,qBAAqB,CAAC;IACzC,CAAC;CAAA,CAAC;AACF,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,EAAoB,CAAC;AACxD,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,CAAmB;IACnD,MAAM,EAAE,GAAG,EAAE,CAAC,SAAS;IACvB,MAAM,CAAC,KAAK,EAAE,EAAE;QACZ,KAAK,MAAM,MAAM,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;YAC9B,IAAI,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACtB,OAAO,MAAM,CAAC,KAAK,CAAC;YACxB,CAAC;QACL,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ,CAAC,CAAC;AACH,MAAM,2BAA2B,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,EAAE;IAC9E,IAAI,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,SAAS,EAAE,CAAC;QACxC,OAAO,QAAQ,CAAC,KAAK,CAAC;IAC1B,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAW,CAAC,CAAC,IAAI,CAAC;IACvE,OAAO,QAAQ,CAAC,EAAE,CAAC,CAAC,sBAAsB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAChE,CAAC,CAAC,CAAC;AAEH,MAAM,OAAO,cAAc;IAMvB,YAAY,IAAgB;QACxB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QACpC,IAAI,CAAC,UAAU,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAEhD,cAAc,CAAC,SAAS,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE;YACvD,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;YACzB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC;IACP,CAAC;IAEM,MAAM,CAAC,IAAa;QACvB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACzB,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QAExB,IAAI,IAAI,EAAE,CAAC;YACP,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACrB,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAC5D,CAAC;IACL,CAAC;IAEM,QAAQ,CAAC,MAAc;QAC1B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACxC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,oBAAoB,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACzF,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE;gBAC1B,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC;gBACnB,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC;aACnE,EAAE,CAAC,CAAC;IACT,CAAC;IAEM,WAAW;QACd,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,UAAU,EAAE,2BAA2B,CAAC,CAAC;IAC/G,CAAC;CACJ"}
|
package/dist/editor/Gutters.d.ts
CHANGED
|
@@ -105,7 +105,6 @@ export declare class DebugLineGutter extends Gutters<GutterInfo> {
|
|
|
105
105
|
private activeLine;
|
|
106
106
|
constructor();
|
|
107
107
|
protected marker(): GutterMarker;
|
|
108
|
-
|
|
109
|
-
private show;
|
|
108
|
+
toggle(show: boolean): void;
|
|
110
109
|
markLine(view: EditorView, lineNr: number): void;
|
|
111
110
|
}
|
package/dist/editor/Gutters.js
CHANGED
|
@@ -176,30 +176,18 @@ export class DebugLineGutter extends Gutters {
|
|
|
176
176
|
})
|
|
177
177
|
]
|
|
178
178
|
});
|
|
179
|
-
this.activeLine =
|
|
179
|
+
this.activeLine = 1;
|
|
180
180
|
}
|
|
181
181
|
marker() {
|
|
182
182
|
return new SimpleMarker(() => document.createTextNode("⇨"));
|
|
183
183
|
}
|
|
184
|
-
|
|
184
|
+
toggle(show) {
|
|
185
185
|
var _a;
|
|
186
|
-
(_a = document.querySelector(".cm-debugline-gutter")) === null || _a === void 0 ? void 0 : _a.classList.
|
|
187
|
-
}
|
|
188
|
-
show() {
|
|
189
|
-
var _a;
|
|
190
|
-
(_a = document.querySelector(".cm-debugline-gutter")) === null || _a === void 0 ? void 0 : _a.classList.add("show");
|
|
186
|
+
(_a = document.querySelector(".cm-debugline-gutter")) === null || _a === void 0 ? void 0 : _a.classList.toggle("show", show);
|
|
191
187
|
}
|
|
192
188
|
markLine(view, lineNr) {
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
}
|
|
196
|
-
if (lineNr > 0) {
|
|
197
|
-
this.setMarker(view, { lineNr, on: true });
|
|
198
|
-
this.show();
|
|
199
|
-
}
|
|
200
|
-
else {
|
|
201
|
-
this.hide();
|
|
202
|
-
}
|
|
189
|
+
this.setMarker(view, { lineNr: this.activeLine, on: false });
|
|
190
|
+
this.setMarker(view, { lineNr, on: true });
|
|
203
191
|
this.activeLine = lineNr;
|
|
204
192
|
}
|
|
205
193
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Gutters.js","sourceRoot":"","sources":["../../src/editor/Gutters.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Gutters.js","sourceRoot":"","sources":["../../src/editor/Gutters.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Extension, Range } from "@codemirror/state";
|
|
2
|
+
import { Decoration, EditorView } from "@codemirror/view";
|
|
3
|
+
export declare class LineEffectExtension {
|
|
4
|
+
private readonly addEffect;
|
|
5
|
+
private readonly clearEffect;
|
|
6
|
+
private readonly setEffect;
|
|
7
|
+
private editorView;
|
|
8
|
+
constructor(view: EditorView);
|
|
9
|
+
add(range: Range<Decoration>[]): void;
|
|
10
|
+
clear(): void;
|
|
11
|
+
set(range: Range<Decoration>[]): void;
|
|
12
|
+
toExtension(): Extension;
|
|
13
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { StateEffect, StateField } from "@codemirror/state";
|
|
2
|
+
import { Decoration, EditorView } from "@codemirror/view";
|
|
3
|
+
export class LineEffectExtension {
|
|
4
|
+
constructor(view) {
|
|
5
|
+
this.addEffect = StateEffect.define();
|
|
6
|
+
this.clearEffect = StateEffect.define();
|
|
7
|
+
this.setEffect = StateEffect.define();
|
|
8
|
+
this.editorView = view;
|
|
9
|
+
}
|
|
10
|
+
add(range) {
|
|
11
|
+
this.editorView.dispatch({
|
|
12
|
+
effects: this.addEffect.of(range)
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
clear() {
|
|
16
|
+
this.editorView.dispatch({
|
|
17
|
+
effects: this.clearEffect.of(null)
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
set(range) {
|
|
21
|
+
this.editorView.dispatch({
|
|
22
|
+
effects: this.setEffect.of(range)
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
toExtension() {
|
|
26
|
+
// eslint-disable-next-line @typescript-eslint/no-this-alias
|
|
27
|
+
const self = this;
|
|
28
|
+
return StateField.define({
|
|
29
|
+
create() {
|
|
30
|
+
return Decoration.none;
|
|
31
|
+
},
|
|
32
|
+
update(value, transaction) {
|
|
33
|
+
let v = value.map(transaction.changes);
|
|
34
|
+
for (const effect of transaction.effects) {
|
|
35
|
+
if (effect.is(self.clearEffect) || effect.is(self.setEffect)) {
|
|
36
|
+
v = Decoration.none;
|
|
37
|
+
}
|
|
38
|
+
if (effect.is(self.addEffect) || effect.is(self.setEffect)) {
|
|
39
|
+
v = v.update({ add: effect.value });
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
return v;
|
|
43
|
+
},
|
|
44
|
+
provide: f => EditorView.decorations.from(f)
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=LineEffectExtension.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LineEffectExtension.js","sourceRoot":"","sources":["../../src/editor/LineEffectExtension.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,WAAW,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC9E,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAG1D,MAAM,OAAO,mBAAmB;IAM5B,YAAY,IAAgB;QALX,cAAS,GAAG,WAAW,CAAC,MAAM,EAAuB,CAAC;QACtD,gBAAW,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC;QACnC,cAAS,GAAG,WAAW,CAAC,MAAM,EAAuB,CAAC;QAInE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;IAC3B,CAAC;IAEM,GAAG,CAAC,KAA0B;QACjC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;YACrB,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,CAAC;SACpC,CAAC,CAAC;IACP,CAAC;IAEM,KAAK;QACR,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;YACrB,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,CAAC;SACrC,CAAC,CAAC;IACP,CAAC;IAEM,GAAG,CAAC,KAA0B;QACjC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;YACrB,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,CAAC;SACpC,CAAC,CAAC;IACP,CAAC;IAEM,WAAW;QACd,4DAA4D;QAC5D,MAAM,IAAI,GAAG,IAAI,CAAC;QAClB,OAAO,UAAU,CAAC,MAAM,CAAC;YACrB,MAAM;gBACF,OAAO,UAAU,CAAC,IAAI,CAAC;YAC3B,CAAC;YACD,MAAM,CAAC,KAAK,EAAE,WAAW;gBACrB,IAAI,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;gBAEvC,KAAK,MAAM,MAAM,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;oBACvC,IAAI,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;wBAC3D,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC;oBACxB,CAAC;oBACD,IAAI,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;wBACzD,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;oBACxC,CAAC;gBACL,CAAC;gBAED,OAAO,CAAC,CAAC;YACb,CAAC;YACD,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;SAC/C,CAAC,CAAC;IACP,CAAC;CACJ"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { Extension } from "@codemirror/state";
|
|
2
2
|
import { EditorView } from "@codemirror/view";
|
|
3
3
|
export declare class TestCodeExtension {
|
|
4
|
-
private view;
|
|
4
|
+
private readonly view;
|
|
5
|
+
private readonly widget;
|
|
6
|
+
private readonly lineEffect;
|
|
5
7
|
private lines;
|
|
6
|
-
private widget;
|
|
7
8
|
private allowEdit;
|
|
8
9
|
constructor(view: EditorView);
|
|
9
10
|
private get numberOfTestLines();
|
|
@@ -1,27 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { Decoration, EditorView, WidgetType } from "@codemirror/view";
|
|
1
|
+
import { Decoration, WidgetType } from "@codemirror/view";
|
|
3
2
|
import readOnlyRangesExtension from "codemirror-readonly-ranges";
|
|
4
3
|
import { t } from "../util/Util";
|
|
5
|
-
|
|
6
|
-
const clearAllLineEffects = StateEffect.define();
|
|
7
|
-
const lineEffectExtension = StateField.define({
|
|
8
|
-
create() {
|
|
9
|
-
return Decoration.none;
|
|
10
|
-
},
|
|
11
|
-
update(value, transaction) {
|
|
12
|
-
let v = value.map(transaction.changes);
|
|
13
|
-
for (const effect of transaction.effects) {
|
|
14
|
-
if (effect.is(addLineEffect)) {
|
|
15
|
-
v = value.update({ add: effect.value });
|
|
16
|
-
}
|
|
17
|
-
if (effect.is(clearAllLineEffects)) {
|
|
18
|
-
v = Decoration.none;
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
return v;
|
|
22
|
-
},
|
|
23
|
-
provide: f => EditorView.decorations.from(f)
|
|
24
|
-
});
|
|
4
|
+
import { LineEffectExtension } from "./LineEffectExtension";
|
|
25
5
|
const highlightDecoration = Decoration.line({ class: "papyros-test-code" });
|
|
26
6
|
// Widget to manage the test code
|
|
27
7
|
class TestCodeWidget extends WidgetType {
|
|
@@ -30,7 +10,6 @@ class TestCodeWidget extends WidgetType {
|
|
|
30
10
|
this.testCodeExtension = testCodeExtension;
|
|
31
11
|
}
|
|
32
12
|
toDOM() {
|
|
33
|
-
console.log("create test code widget");
|
|
34
13
|
const element = document.createElement("div");
|
|
35
14
|
element.classList.add("papyros-test-code-widget");
|
|
36
15
|
const span = document.createElement("span");
|
|
@@ -78,6 +57,7 @@ export class TestCodeExtension {
|
|
|
78
57
|
this.allowEdit = true;
|
|
79
58
|
this.view = view;
|
|
80
59
|
this.widget = Decoration.widget({ widget: new TestCodeWidget(this), block: true, side: 1 });
|
|
60
|
+
this.lineEffect = new LineEffectExtension(view);
|
|
81
61
|
}
|
|
82
62
|
get numberOfTestLines() {
|
|
83
63
|
return this.lines.split("\n").length;
|
|
@@ -89,23 +69,17 @@ export class TestCodeExtension {
|
|
|
89
69
|
}
|
|
90
70
|
highlightLines() {
|
|
91
71
|
for (let i = 0; i < this.numberOfTestLines; i++) {
|
|
92
|
-
this.
|
|
93
|
-
effects: addLineEffect.of([highlightDecoration.range(this.lineFromEnd(i).from)])
|
|
94
|
-
});
|
|
72
|
+
this.lineEffect.add([highlightDecoration.range(this.lineFromEnd(i).from)]);
|
|
95
73
|
}
|
|
96
74
|
}
|
|
97
75
|
addWidget() {
|
|
98
|
-
this.
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
])
|
|
103
|
-
});
|
|
76
|
+
this.lineEffect.add([
|
|
77
|
+
this.widget.range(this.lineFromEnd(this.numberOfTestLines).to),
|
|
78
|
+
bottomPaddingDecoration.range(this.lineFromEnd(0).to)
|
|
79
|
+
]);
|
|
104
80
|
}
|
|
105
81
|
clearAllLineEffects() {
|
|
106
|
-
this.
|
|
107
|
-
effects: clearAllLineEffects.of(null)
|
|
108
|
-
});
|
|
82
|
+
this.lineEffect.clear();
|
|
109
83
|
}
|
|
110
84
|
getReadOnlyRanges(state) {
|
|
111
85
|
if (this.allowEdit) {
|
|
@@ -117,7 +91,12 @@ export class TestCodeExtension {
|
|
|
117
91
|
}];
|
|
118
92
|
}
|
|
119
93
|
insertTestCode(code) {
|
|
120
|
-
|
|
94
|
+
var _a;
|
|
95
|
+
// insert up to two new lines to separate the test code from the user code
|
|
96
|
+
// but only if they are not already there
|
|
97
|
+
const finalNewLineCount = ((_a = this.view.state.doc.toString().match(/\n*$/)) === null || _a === void 0 ? void 0 : _a[0].length) || 0;
|
|
98
|
+
const newLinesToInsert = Math.max(0, 2 - finalNewLineCount);
|
|
99
|
+
this.view.dispatch({ changes: { from: this.lineFromEnd(0).to, insert: "\n".repeat(newLinesToInsert) } });
|
|
121
100
|
this.view.dispatch({ changes: { from: this.lineFromEnd(0).to, insert: code } });
|
|
122
101
|
this.lines = code;
|
|
123
102
|
}
|
|
@@ -149,7 +128,7 @@ export class TestCodeExtension {
|
|
|
149
128
|
return this.view.state.doc.sliceString(0, this.lineFromEnd(this.numberOfTestLines).to);
|
|
150
129
|
}
|
|
151
130
|
toExtension() {
|
|
152
|
-
return [
|
|
131
|
+
return [this.lineEffect.toExtension(), readOnlyRangesExtension(this.getReadOnlyRanges.bind(this))];
|
|
153
132
|
}
|
|
154
133
|
}
|
|
155
134
|
//# sourceMappingURL=TestCodeExtension.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TestCodeExtension.js","sourceRoot":"","sources":["../../src/editor/TestCodeExtension.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"TestCodeExtension.js","sourceRoot":"","sources":["../../src/editor/TestCodeExtension.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAc,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACtE,OAAO,uBAAuB,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,CAAC,EAAE,MAAM,cAAc,CAAC;AACjC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,MAAM,mBAAmB,GAAG,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC,CAAC;AAE5E,iCAAiC;AACjC,MAAM,cAAe,SAAQ,UAAU;IAGnC,YAAmB,iBAAoC;QACnD,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;IAC/C,CAAC;IAEM,KAAK;QACR,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC9C,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;QAElD,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC5C,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,sCAAsC,CAAC,CAAC;QAC3D,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAE1B,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC9C,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;QAEnD,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QAC/C,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QAC9C,UAAU,CAAC,SAAS,GAAG,kCAAkC,CAAC;QAC1D,UAAU,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;YACtC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;YAC9B,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;QACH,UAAU,CAAC,KAAK,GAAG,CAAC,CAAC,+BAA+B,CAAC,CAAC;QACtD,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QAEhC,MAAM,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QACjD,YAAY,CAAC,SAAS,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QAChD,YAAY,CAAC,SAAS,GAAG,iCAAiC,CAAC;QAC3D,YAAY,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;YACxC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;YAChC,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;QACnC,CAAC,CAAC,CAAC;QACH,YAAY,CAAC,KAAK,GAAG,CAAC,CAAC,iCAAiC,CAAC,CAAC;QAC1D,OAAO,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;QAElC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAC7B,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,WAAW;QACP,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ;AAED,MAAM,mBAAoB,SAAQ,UAAU;IACjC,KAAK;QACR,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC9C,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;QACvD,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;QACnD,OAAO,OAAO,CAAC;IACnB,CAAC;CACJ;AACD,MAAM,uBAAuB,GAAG,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,mBAAmB,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAE/G,MAAM,OAAO,iBAAiB;IAO1B,YAAY,IAAgB;QAHpB,UAAK,GAAW,EAAE,CAAC;QACnB,cAAS,GAAY,IAAI,CAAC;QAG9B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,cAAc,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;QAC5F,IAAI,CAAC,UAAU,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACpD,CAAC;IAED,IAAY,iBAAiB;QACzB,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;IACzC,CAAC;IAEO,WAAW,CAAC,IAAY,EAAE,QAAiC,SAAS;QACxE,MAAM,YAAY,GAAG,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;QAC9C,MAAM,WAAW,GAAG,YAAY,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC;QAClD,OAAO,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC9C,CAAC;IAEO,cAAc;QAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC,EAAE,EAAE,CAAC;YAC9C,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC/E,CAAC;IACL,CAAC;IAEO,SAAS;QACb,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;YAChB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC;YAC9D,uBAAuB,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SACxD,CAAC,CAAC;IACP,CAAC;IAEO,mBAAmB;QACvB,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IAC5B,CAAC;IAEO,iBAAiB,CAAC,KAAkB;QACxC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACjB,OAAO,EAAE,CAAC;QACd,CAAC;QACD,OAAO,CAAC;gBACJ,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,iBAAiB,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI;gBAC9D,EAAE,EAAE,SAAS,CAAC,kBAAkB;aACnC,CAAC,CAAC;IACP,CAAC;IAEO,cAAc,CAAC,IAAY;;QAC/B,0EAA0E;QAC1E,yCAAyC;QACzC,MAAM,iBAAiB,GAAG,CAAA,MAAA,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,0CAAG,CAAC,EAAE,MAAM,KAAI,CAAC,CAAC;QACxF,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,iBAAiB,CAAC,CAAC;QAC5D,IAAI,CAAC,IAAI,CAAC,QAAQ,CACd,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,EAAE,CACvF,CAAC;QAEF,IAAI,CAAC,IAAI,CAAC,QAAQ,CACd,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CAC9D,CAAC;QACF,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACtB,CAAC;IAEM,KAAK,CAAC,QAAQ,GAAE,KAAK;QACxB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,IAAI,CAAC,KAAK,KAAK,EAAE,EAAE,CAAC;YACpB,OAAO;QACX,CAAC;QAED,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,IAAI,CAAC,IAAI,CAAC,QAAQ,CACd,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,CAC7G,CAAC;QACN,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;IACpB,CAAC;IAED,IAAW,QAAQ,CAAC,IAAY;QAC5B,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;YACd,OAAO;QACX,CAAC;QAED,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAC1B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,SAAS,EAAE,CAAC;IACrB,CAAC;IAEM,cAAc;QACjB,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACjB,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAC1C,CAAC;QAED,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC;IAC3F,CAAC;IAEM,WAAW;QACd,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,EAAE,uBAAuB,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACvG,CAAC;CACJ"}
|
|
@@ -23,6 +23,8 @@ export declare class BatchInputHandler extends UserInputHandler {
|
|
|
23
23
|
* Is restored upon switching back to InputMode.Batch
|
|
24
24
|
*/
|
|
25
25
|
private previousInput;
|
|
26
|
+
debugMode: boolean;
|
|
27
|
+
private debugLine;
|
|
26
28
|
/**
|
|
27
29
|
* Construct a new BatchInputHandler
|
|
28
30
|
* @param {function()} inputCallback Callback for when the user has entered a value
|
|
@@ -43,6 +45,7 @@ export declare class BatchInputHandler extends UserInputHandler {
|
|
|
43
45
|
hasNext(): boolean;
|
|
44
46
|
private highlight;
|
|
45
47
|
next(): string;
|
|
48
|
+
reset(): void;
|
|
46
49
|
onRunStart(): void;
|
|
47
50
|
onRunEnd(): void;
|
|
48
51
|
waitWithPrompt(waiting: boolean, prompt?: string): void;
|
|
@@ -11,6 +11,8 @@ export class BatchInputHandler extends UserInputHandler {
|
|
|
11
11
|
*/
|
|
12
12
|
constructor(inputCallback) {
|
|
13
13
|
super(inputCallback);
|
|
14
|
+
this.debugMode = false;
|
|
15
|
+
this.debugLine = 0;
|
|
14
16
|
this.lineNr = 0;
|
|
15
17
|
this.previousInput = "";
|
|
16
18
|
this.running = false;
|
|
@@ -21,8 +23,8 @@ export class BatchInputHandler extends UserInputHandler {
|
|
|
21
23
|
delay: 0
|
|
22
24
|
});
|
|
23
25
|
BackendManager.subscribe(BackendEventType.FrameChange, e => {
|
|
24
|
-
|
|
25
|
-
this.highlight(this.running
|
|
26
|
+
this.debugLine = e.data.inputs;
|
|
27
|
+
this.highlight(this.running);
|
|
26
28
|
});
|
|
27
29
|
}
|
|
28
30
|
/**
|
|
@@ -62,7 +64,13 @@ export class BatchInputHandler extends UserInputHandler {
|
|
|
62
64
|
hasNext() {
|
|
63
65
|
return this.lineNr < this.lines.length;
|
|
64
66
|
}
|
|
65
|
-
highlight(running
|
|
67
|
+
highlight(running) {
|
|
68
|
+
const whichLines = (index) => {
|
|
69
|
+
if (this.debugMode) {
|
|
70
|
+
return index < this.debugLine;
|
|
71
|
+
}
|
|
72
|
+
return index < this.lineNr;
|
|
73
|
+
};
|
|
66
74
|
this.batchEditor.highlight({
|
|
67
75
|
running,
|
|
68
76
|
getInfo: (lineNr) => {
|
|
@@ -82,11 +90,16 @@ export class BatchInputHandler extends UserInputHandler {
|
|
|
82
90
|
this.highlight(true);
|
|
83
91
|
return nextLine;
|
|
84
92
|
}
|
|
85
|
-
|
|
86
|
-
|
|
93
|
+
reset() {
|
|
94
|
+
super.reset();
|
|
87
95
|
this.lineNr = 0;
|
|
96
|
+
this.debugLine = 0;
|
|
88
97
|
this.prompts = [];
|
|
89
|
-
this.highlight(
|
|
98
|
+
this.highlight(this.running);
|
|
99
|
+
}
|
|
100
|
+
onRunStart() {
|
|
101
|
+
this.running = true;
|
|
102
|
+
this.reset();
|
|
90
103
|
}
|
|
91
104
|
onRunEnd() {
|
|
92
105
|
this.running = false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BatchInputHandler.js","sourceRoot":"","sources":["../../src/input/BatchInputHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6B,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,CAAC,EAAE,MAAM,cAAc,CAAC;AACjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEnD,MAAM,OAAO,iBAAkB,SAAQ,gBAAgB;
|
|
1
|
+
{"version":3,"file":"BatchInputHandler.js","sourceRoot":"","sources":["../../src/input/BatchInputHandler.ts"],"names":[],"mappings":"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"}
|