summaryrefslogtreecommitdiffstats
path: root/site/inspector.mjs
diff options
context:
space:
mode:
authorbrian cully <bjc@spork.org>2025-12-24 14:00:27 -0500
committerbrian cully <bjc@spork.org>2025-12-24 14:00:27 -0500
commitc26985d780edea7028e9e0203672d3376e66b450 (patch)
treefcf677da99ccf94ea55a8946c5225fc78f8d0848 /site/inspector.mjs
parentc0f04b7b82ef971c1a50da3c65f155ad2c75031b (diff)
downloadautomathon-c26985d780edea7028e9e0203672d3376e66b450.tar.gz
automathon-c26985d780edea7028e9e0203672d3376e66b450.zip
js: auto-compile loaded source
Diffstat (limited to 'site/inspector.mjs')
-rw-r--r--site/inspector.mjs19
1 files changed, 10 insertions, 9 deletions
diff --git a/site/inspector.mjs b/site/inspector.mjs
index b500478..497af32 100644
--- a/site/inspector.mjs
+++ b/site/inspector.mjs
@@ -63,15 +63,7 @@ export default class extends HTMLElement {
SRC_SELECTOR,
].map(this.querySelector.bind(this));
- this.#compileButton.onclick = e => {
- console.debug('compile clicked', e);
-
- // always add a newline until i decide what to do with the parser.
- const text = this.#src.textContent + '\n';
- const compileEvent = new CustomEvent(this.constructor.compileRequest, { detail: { text } });
- this.dispatchEvent(compileEvent);
- }
-
+ this.#compileButton.onclick = this.#compile.bind(this);
this.#srcSelect.onchange = _ => this.#loadForth(this.#srcSelect.value);
this.#loadForth(this.#srcSelect.value);
}
@@ -107,12 +99,21 @@ export default class extends HTMLElement {
})
.then(text => {
this.#src.textContent = text;
+ this.#compile();
})
.catch(e => {
console.error(`couldn't fetch ‘${path}’`, e);
});
}
+ #compile(e) {
+ console.debug('compile clicked', e);
+ // always add a newline until i decide what to do with the parser.
+ const text = this.#src.textContent + '\n';
+ const compileEvent = new CustomEvent(this.constructor.compileRequest, { detail: { text } });
+ this.dispatchEvent(compileEvent);
+ }
+
#renderWordlist(vm) {
while (this.#wordlist.lastChild) {
console.debug('removing child', this.#wordlist.lastChild)