@dodona/papyros 2.1.0 → 2.2.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/App.js CHANGED
@@ -70,6 +70,9 @@ function startPapyros() {
70
70
  setUpEditor(handler.batchEditor, LOCAL_STORAGE_KEYS.input);
71
71
  }
72
72
  yield papyros.launch();
73
+ // add test code
74
+ const testCode = "print('a')\nprint(\"Hello World!\")\nprint('b')";
75
+ papyros.codeRunner.editor.testCode = testCode;
73
76
  });
74
77
  }
75
78
  startPapyros();
package/dist/App.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"App.js","sourceRoot":"","sources":["../src/App.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"App.js","sourceRoot":"","sources":["../src/App.ts"],"names":[],"mappings":"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"}
@@ -69,7 +69,7 @@ export class CodeRunner extends Renderable {
69
69
  this.programmingLanguage = programmingLanguage;
70
70
  this.editor = new CodeEditor(() => {
71
71
  if (this.state === RunState.Ready) {
72
- this.runCode(this.editor.getText());
72
+ this.runCode(this.editor.getCode());
73
73
  }
74
74
  });
75
75
  this.inputManager = new InputManager((input) => __awaiter(this, void 0, void 0, function* () {
@@ -113,7 +113,7 @@ export class CodeRunner extends Renderable {
113
113
  buttonText: t(`Papyros.run_modes.${mode}`),
114
114
  classNames,
115
115
  icon: MODE_ICONS[mode]
116
- }, () => this.runCode(this.editor.getText(), mode));
116
+ }, () => this.runCode(this.editor.getCode(), mode));
117
117
  }
118
118
  /**
119
119
  * Start the backend to enable running code
@@ -133,7 +133,7 @@ export class CodeRunner extends Renderable {
133
133
  this.outputManager.onOverflow(null);
134
134
  }));
135
135
  this.editor.setLintingSource((view) => __awaiter(this, void 0, void 0, function* () {
136
- const workerDiagnostics = yield workerProxy.lintCode(this.editor.getText());
136
+ const workerDiagnostics = yield workerProxy.lintCode(this.editor.getCode());
137
137
  return workerDiagnostics.map(d => {
138
138
  const fromline = view.state.doc.line(d.lineNr);
139
139
  const toLine = view.state.doc.line(d.endLineNr);
package/dist/Papyros.css CHANGED
@@ -309,7 +309,7 @@
309
309
  -o-tab-size: 4;
310
310
  tab-size: 4;
311
311
  /* 3 */
312
- font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
312
+ font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
313
313
  /* 4 */
314
314
  }
315
315
 
@@ -504,6 +504,11 @@ Removes the default spacing and border for appropriate elements.
504
504
  vertical-align: middle;
505
505
  }
506
506
 
507
+ .papyros-button.btn-icon {
508
+ padding: 2px 8px;
509
+ min-width: 20px;
510
+ }
511
+
507
512
  .cm-gutter.cm-debugline-gutter {
508
513
  display: none !important;
509
514
  }
@@ -512,6 +517,23 @@ Removes the default spacing and border for appropriate elements.
512
517
  display: flex !important;
513
518
  }
514
519
 
520
+ .papyros-test-code {
521
+ background-color: rgba(143, 182, 130, 0.1);
522
+ }
523
+
524
+ .papyros-test-code.cm-activeLine {
525
+ background-color: rgba(143, 182, 130, 0.1)
526
+ }
527
+
528
+ .papyros-test-code-widget {
529
+ background-color: rgba(143, 182, 130, 0.1);
530
+ color: #7d8799;
531
+ display: flex;
532
+ justify-content: space-between;
533
+ align-items: center;
534
+ padding: 0 2px 0 6px;
535
+ }
536
+
515
537
  .placeholder\:_tw-text-placeholder-grey::-moz-placeholder {
516
538
  --tw-text-opacity: 1 !important;
517
539
  color: rgb(136 136 136 / var(--tw-text-opacity)) !important;
@@ -22,7 +22,6 @@ declare namespace ENGLISH_TRANSLATION {
22
22
  export let input_disabled: string;
23
23
  export let output: string;
24
24
  export let output_placeholder: string;
25
- export let run: string;
26
25
  export let stop: string;
27
26
  export let finished: string;
28
27
  export let interrupted: string;
@@ -61,10 +60,9 @@ declare namespace ENGLISH_TRANSLATION {
61
60
  let loading_1: string;
62
61
  export { loading_1 as loading };
63
62
  export namespace run_modes {
64
- export let doctest: string;
65
- export let debug: string;
66
- let run_1: string;
67
- export { run_1 as run };
63
+ let doctest: string;
64
+ let debug: string;
65
+ let run: string;
68
66
  }
69
67
  export let used_input: string;
70
68
  export let used_input_with_prompt: string;
@@ -74,6 +72,13 @@ declare namespace ENGLISH_TRANSLATION {
74
72
  let text_2: string;
75
73
  }
76
74
  export { _debugger as debugger };
75
+ export namespace editor {
76
+ namespace test_code {
77
+ let description: string;
78
+ let edit: string;
79
+ let remove: string;
80
+ }
81
+ }
77
82
  }
78
83
  declare namespace DUTCH_TRANSLATION {
79
84
  let Papyros_1: string;
@@ -97,8 +102,6 @@ declare namespace DUTCH_TRANSLATION {
97
102
  export { output_1 as output };
98
103
  let output_placeholder_1: string;
99
104
  export { output_placeholder_1 as output_placeholder };
100
- let run_2: string;
101
- export { run_2 as run };
102
105
  let stop_1: string;
103
106
  export { stop_1 as stop };
104
107
  export namespace states_1 {
@@ -164,8 +167,8 @@ declare namespace DUTCH_TRANSLATION {
164
167
  export { doctest_1 as doctest };
165
168
  let debug_1: string;
166
169
  export { debug_1 as debug };
167
- let run_3: string;
168
- export { run_3 as run };
170
+ let run_1: string;
171
+ export { run_1 as run };
169
172
  }
170
173
  export { run_modes_1 as run_modes };
171
174
  let used_input_1: string;
@@ -181,6 +184,18 @@ declare namespace DUTCH_TRANSLATION {
181
184
  export { text_2_1 as text_2 };
182
185
  }
183
186
  export { _debugger_1 as debugger };
187
+ export namespace editor_1 {
188
+ export namespace test_code_1 {
189
+ let description_1: string;
190
+ export { description_1 as description };
191
+ let edit_1: string;
192
+ export { edit_1 as edit };
193
+ let remove_1: string;
194
+ export { remove_1 as remove };
195
+ }
196
+ export { test_code_1 as test_code };
197
+ }
198
+ export { editor_1 as editor };
184
199
  }
185
200
  declare const ENGLISH_PHRASES: {
186
201
  "Go to line": string;
@@ -15,7 +15,6 @@ const ENGLISH_TRANSLATION = {
15
15
  "input_disabled": "You can only provide input when your code requires it in interactive mode",
16
16
  "output": "Output",
17
17
  "output_placeholder": "The output of your code will appear here.",
18
- "run": "Run",
19
18
  "stop": "Stop",
20
19
  "finished": "Code executed in %{time} s",
21
20
  "interrupted": "Code interrupted after %{time} s",
@@ -59,6 +58,13 @@ const ENGLISH_TRANSLATION = {
59
58
  "title": "Drag the slider to walk through your code.",
60
59
  "text_1": "This window shows how your program works step by step. Explore to see how your program builds and stores information.",
61
60
  "text_2": "You can also use the %{previous} and %{next} buttons to go to the previous or next step. The %{first} and %{last} buttons can be used to directly jump to the first or last step respectively."
61
+ },
62
+ "editor": {
63
+ "test_code": {
64
+ "description": "This code is inserted by the testcase",
65
+ "edit": "Edit",
66
+ "remove": "Remove"
67
+ }
62
68
  }
63
69
  };
64
70
  const DUTCH_TRANSLATION = {
@@ -74,7 +80,6 @@ const DUTCH_TRANSLATION = {
74
80
  "input_disabled": "Je kan enkel invoer invullen als je code erom vraagt in interactieve modus",
75
81
  "output": "Uitvoer",
76
82
  "output_placeholder": "Hier komt de uitvoer van je code.",
77
- "run": "Uitvoeren",
78
83
  "stop": "Stop",
79
84
  "states": {
80
85
  "running": "Aan het uitvoeren",
@@ -118,6 +123,13 @@ const DUTCH_TRANSLATION = {
118
123
  "title": "Verken je code stap voor stap",
119
124
  "text_1": "Dit venster toont de werking van je programma in detail. Ontdek hoe je programma informatie opbouwt en bewaart.",
120
125
  "text_2": "Gebruik de schuifbalk om door je code te wandelen. Je kan ook de %{previous} en %{next} knoppen gebruiken om naar de vorige of volgende stap te gaan. De %{first} en %{last} knoppen kunnen gebruikt worden om direct naar de eerste of laatste stap te gaan."
126
+ },
127
+ "editor": {
128
+ "test_code": {
129
+ "description": "Deze code werd ingevoegd door de testcase",
130
+ "edit": "Bewerk",
131
+ "remove": "Verwijder"
132
+ }
121
133
  }
122
134
  };
123
135
  // Override some default English phrases to also use capitalized text
@@ -1 +1 @@
1
- {"version":3,"file":"Translations.js","sourceRoot":"","sources":["../src/Translations.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Translations.js","sourceRoot":"","sources":["../src/Translations.js"],"names":[],"mappings":"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"}
@@ -12,6 +12,7 @@ export declare class CodeEditor extends CodeMirrorEditor {
12
12
  static AUTOCOMPLETION: string;
13
13
  static LINTING: string;
14
14
  private debugLineGutter;
15
+ private testCodeExtension;
15
16
  /**
16
17
  * Construct a new CodeEditor
17
18
  * @param {Function} onRunRequest Callback for when the user wants to run the code
@@ -19,6 +20,9 @@ export declare class CodeEditor extends CodeMirrorEditor {
19
20
  * @param {number} indentLength The length in spaces for the indent unit
20
21
  */
21
22
  constructor(onRunRequest: () => void, initialCode?: string, indentLength?: number);
23
+ set testCode(code: string);
24
+ getText(): string;
25
+ getCode(): string;
22
26
  setDarkMode(darkMode: boolean): void;
23
27
  /**
24
28
  * @param {ProgrammingLanguage} language The language to use
@@ -16,6 +16,7 @@ import { darkTheme } from "./DarkTheme";
16
16
  import { DebugLineGutter } from "./Gutters";
17
17
  import { BackendManager } from "../BackendManager";
18
18
  import { BackendEventType } from "../BackendEvent";
19
+ import { TestCodeExtension } from "./TestCodeExtension";
19
20
  /**
20
21
  * Component that provides useful features to users writing code
21
22
  */
@@ -61,6 +62,22 @@ export class CodeEditor extends CodeMirrorEditor {
61
62
  const line = e.data.line;
62
63
  this.debugLineGutter.markLine(this.editorView, line);
63
64
  });
65
+ this.testCodeExtension = new TestCodeExtension(this.editorView);
66
+ this.addExtension(this.testCodeExtension.toExtension());
67
+ }
68
+ set testCode(code) {
69
+ this.testCodeExtension.testCode = code;
70
+ }
71
+ getText() {
72
+ if (this.testCodeExtension) {
73
+ return this.testCodeExtension.getNonTestCode();
74
+ }
75
+ else {
76
+ return super.getText();
77
+ }
78
+ }
79
+ getCode() {
80
+ return super.getText();
64
81
  }
65
82
  setDarkMode(darkMode) {
66
83
  let styleExtensions = [];
@@ -1 +1 @@
1
- {"version":3,"file":"CodeEditor.js","sourceRoot":"","sources":["../../src/editor/CodeEditor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CodeEditor.js","sourceRoot":"","sources":["../../src/editor/CodeEditor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import { Extension } from "@codemirror/state";
2
+ import { EditorView } from "@codemirror/view";
3
+ export declare class TestCodeExtension {
4
+ private view;
5
+ private lines;
6
+ private widget;
7
+ private allowEdit;
8
+ constructor(view: EditorView);
9
+ private get numberOfTestLines();
10
+ private lineFromEnd;
11
+ private highlightLines;
12
+ private addWidget;
13
+ private clearAllLineEffects;
14
+ private getReadOnlyRanges;
15
+ private insertTestCode;
16
+ reset(keepCode?: boolean): void;
17
+ set testCode(code: string);
18
+ getNonTestCode(): string;
19
+ toExtension(): Extension;
20
+ }
@@ -0,0 +1,142 @@
1
+ import { StateField, StateEffect } from "@codemirror/state";
2
+ import { Decoration, EditorView, WidgetType } from "@codemirror/view";
3
+ import readOnlyRangesExtension from "codemirror-readonly-ranges";
4
+ import { t } from "../util/Util";
5
+ const addLineEffect = StateEffect.define();
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
+ });
25
+ const highlightDecoration = Decoration.line({ class: "papyros-test-code" });
26
+ // Widget to manage the test code
27
+ class TestCodeWidget extends WidgetType {
28
+ constructor(testCodeExtension) {
29
+ super();
30
+ this.testCodeExtension = testCodeExtension;
31
+ }
32
+ toDOM() {
33
+ console.log("create test code widget");
34
+ const element = document.createElement("div");
35
+ element.classList.add("papyros-test-code-widget");
36
+ const span = document.createElement("span");
37
+ span.innerText = t("Papyros.editor.test_code.description");
38
+ element.appendChild(span);
39
+ const buttons = document.createElement("div");
40
+ const editButton = document.createElement("button");
41
+ editButton.classList.add("btn-secondary", "papyros-button", "btn-icon");
42
+ editButton.innerHTML = "<i class=\"mdi mdi-pencil\"></i>";
43
+ editButton.addEventListener("click", () => {
44
+ console.log("edit test code");
45
+ this.testCodeExtension.reset(true);
46
+ });
47
+ editButton.title = t("Papyros.editor.test_code.edit");
48
+ buttons.appendChild(editButton);
49
+ const deleteButton = document.createElement("button");
50
+ deleteButton.classList.add("btn-secondary", "papyros-button", "btn-icon");
51
+ deleteButton.innerHTML = "<i class=\"mdi mdi-close\"></i>";
52
+ deleteButton.addEventListener("click", () => {
53
+ console.log("remove test code");
54
+ this.testCodeExtension.reset();
55
+ });
56
+ deleteButton.title = t("Papyros.editor.test_code.remove");
57
+ buttons.appendChild(deleteButton);
58
+ element.appendChild(buttons);
59
+ return element;
60
+ }
61
+ ignoreEvent() {
62
+ return false;
63
+ }
64
+ }
65
+ export class TestCodeExtension {
66
+ constructor(view) {
67
+ this.lines = "";
68
+ this.allowEdit = true;
69
+ this.view = view;
70
+ this.widget = Decoration.widget({ widget: new TestCodeWidget(this), block: true, side: 1 });
71
+ }
72
+ get numberOfTestLines() {
73
+ return this.lines.split("\n").length;
74
+ }
75
+ lineFromEnd(line, state = undefined) {
76
+ const currentState = state || this.view.state;
77
+ const lineFromEnd = currentState.doc.lines - line;
78
+ return currentState.doc.line(lineFromEnd);
79
+ }
80
+ highlightLines() {
81
+ for (let i = 0; i < this.numberOfTestLines; i++) {
82
+ this.view.dispatch({
83
+ effects: addLineEffect.of([highlightDecoration.range(this.lineFromEnd(i).from)])
84
+ });
85
+ }
86
+ }
87
+ addWidget() {
88
+ this.view.dispatch({
89
+ effects: addLineEffect.of([this.widget.range(this.lineFromEnd(this.numberOfTestLines).to)])
90
+ });
91
+ }
92
+ clearAllLineEffects() {
93
+ this.view.dispatch({
94
+ effects: clearAllLineEffects.of(null)
95
+ });
96
+ }
97
+ getReadOnlyRanges(state) {
98
+ if (this.allowEdit) {
99
+ return [];
100
+ }
101
+ return [{
102
+ from: this.lineFromEnd(this.numberOfTestLines - 1, state).from,
103
+ to: undefined // until last line
104
+ }];
105
+ }
106
+ insertTestCode(code) {
107
+ this.view.dispatch({ changes: { from: this.lineFromEnd(0).to, insert: "\n" } });
108
+ this.view.dispatch({ changes: { from: this.lineFromEnd(0).to, insert: code } });
109
+ this.lines = code;
110
+ }
111
+ reset(keepCode = false) {
112
+ this.allowEdit = true;
113
+ this.clearAllLineEffects();
114
+ if (this.lines === "") {
115
+ return;
116
+ }
117
+ if (!keepCode) {
118
+ this.view.dispatch({ changes: { from: this.lineFromEnd(this.numberOfTestLines).to, to: this.lineFromEnd(0).to, insert: "" } });
119
+ }
120
+ this.lines = "";
121
+ }
122
+ set testCode(code) {
123
+ this.reset();
124
+ if (code === "") {
125
+ return;
126
+ }
127
+ this.insertTestCode(code);
128
+ this.allowEdit = false;
129
+ this.highlightLines();
130
+ this.addWidget();
131
+ }
132
+ getNonTestCode() {
133
+ if (this.allowEdit) {
134
+ return this.view.state.doc.toString();
135
+ }
136
+ return this.view.state.doc.sliceString(0, this.lineFromEnd(this.numberOfTestLines).to);
137
+ }
138
+ toExtension() {
139
+ return [lineEffectExtension, readOnlyRangesExtension(this.getReadOnlyRanges.bind(this))];
140
+ }
141
+ }
142
+ //# sourceMappingURL=TestCodeExtension.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TestCodeExtension.js","sourceRoot":"","sources":["../../src/editor/TestCodeExtension.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "@dodona/papyros",
3
- "version": "2.1.0",
3
+ "version": "2.2.0-beta.0",
4
4
  "private": false,
5
5
  "homepage": ".",
6
6
  "devDependencies": {
7
7
  "@types/escape-html": "^1.0.3",
8
8
  "@types/i18n-js": "^3.8.7",
9
9
  "@types/jest": "^29.5.10",
10
- "@types/serviceworker": "^0.0.79",
10
+ "@types/serviceworker": "^0.0.82",
11
11
  "@typescript-eslint/eslint-plugin": "^6.9.0",
12
12
  "@typescript-eslint/parser": "^6.9.0",
13
13
  "autoprefixer": "^10.4.16",
@@ -20,8 +20,8 @@
20
20
  "jest": "^29.7.0",
21
21
  "jest-environment-jsdom": "^29.7.0",
22
22
  "postcss": "^8.4.31",
23
- "postcss-import": "^15.1.0",
24
- "postcss-loader": "^7.3.3",
23
+ "postcss-import": "^16.0.0",
24
+ "postcss-loader": "^8.0.0",
25
25
  "style-loader": "^3.3.3",
26
26
  "tailwindcss": "^3.3.5",
27
27
  "terser-webpack-plugin": "^5.3.9",
@@ -47,6 +47,7 @@
47
47
  "@codemirror/view": "^6.22.1",
48
48
  "@dodona/trace-component": "1.1.6",
49
49
  "@lezer/common": "^1.1.0",
50
+ "codemirror-readonly-ranges": "^0.1.0-alpha.2",
50
51
  "comlink": "^4.4.1",
51
52
  "comsync": "^0.0.9",
52
53
  "escape-html": "^1.0.3",