diff --git a/webserial/src/editor/Monaco.svelte b/webserial/src/editor/Monaco.svelte
index 686349c..77891c4 100644
--- a/webserial/src/editor/Monaco.svelte
+++ b/webserial/src/editor/Monaco.svelte
@@ -3,6 +3,7 @@
import { onMount } from "svelte";
import editorWorker from "monaco-editor/esm/vs/editor/editor.worker?worker";
import tsWorker from "monaco-editor/esm/vs/language/typescript/ts.worker?worker";
+ import defaultCode from "./defaultCode.ts?raw";
import defaultEnv from "./defaultEnv.d.ts?raw";
import { code } from "./code";
@@ -38,8 +39,26 @@
editor.dispose();
};
});
+
+ function resetCode() {
+ $code = defaultCode;
+ editor.setValue($code);
+ }
+
diff --git a/webserial/src/editor/code.ts b/webserial/src/editor/code.ts
index ae09ad1..258aadf 100644
--- a/webserial/src/editor/code.ts
+++ b/webserial/src/editor/code.ts
@@ -1,5 +1,9 @@
import { writable } from "svelte/store";
import defaultCode from "./defaultCode.ts?raw";
+const stored = localStorage.getItem("dmxCode") || defaultCode;
+
/** the TypeScript code as seen in the editor */
-export const code = writable(defaultCode);
\ No newline at end of file
+export const code = writable(stored);
+
+code.subscribe((value) => localStorage.setItem("dmxCode", value))
\ No newline at end of file