diff --git a/src/Previewer/Previewer.js b/src/Previewer/Previewer.js index 732ac57a5..94e92ef12 100644 --- a/src/Previewer/Previewer.js +++ b/src/Previewer/Previewer.js @@ -161,7 +161,7 @@ export default function Previewer({ if (settings.get_boolean("auto-preview")) schedule_update(); }); let symbols = null; - async function update(force = false) { + async function update(force = false, clearConsole = true) { if (!(force || settings.get_boolean("auto-preview"))) return; let text = panel_ui.xml.trim(); let target_id; @@ -203,7 +203,9 @@ export default function Previewer({ registerSignals({ tree, scope, symbols, template }); - term_console.clear(); + if (clearConsole) { + term_console.clear(); + } try { builder.add_from_string(text, -1); diff --git a/src/window.js b/src/window.js index 0ba7cefb6..529403c8d 100644 --- a/src/window.js +++ b/src/window.js @@ -329,6 +329,9 @@ export default function Window({ application, session }) { previewer.start(); panel_ui.start(); + // We already cleared the console before starting. + // We don't want to clear the console again, as this would hide compile errors if any occurred. + await previewer.update(true, false); button_run.set_sensitive(true); term_console.scrollToEnd(); @@ -345,8 +348,6 @@ export default function Window({ application, session }) { } if (language === "JavaScript") { - await previewer.update(true); - // We have to create a new file each time // because gjs doesn't appear to use etag for module caching // ?foo=Date.now() also does not work as expected