diff --git a/frontend/src/lib/components/EditorBar.svelte b/frontend/src/lib/components/EditorBar.svelte index a9623ca628..55348560d3 100644 --- a/frontend/src/lib/components/EditorBar.svelte +++ b/frontend/src/lib/components/EditorBar.svelte @@ -7,6 +7,7 @@ import { getScriptByPath, loadHubScripts, sendUserToast } from '$lib/utils' import { + faCircle, faCode, faCube, faDollarSign, @@ -24,11 +25,14 @@ import HighlightCode from './HighlightCode.svelte' import DrawerContent from './common/drawer/DrawerContent.svelte' import { Drawer } from './common' + import Icon from 'svelte-awesome' + import Popover from './Popover.svelte' export let lang: 'python3' | 'deno' | 'go' export let editor: Editor export let websocketAlive: { pyright: boolean; black: boolean; deno: boolean; go: boolean } export let iconOnly: boolean = false + export let validCode: boolean = true let contextualVariablePicker: ItemPicker let variablePicker: ItemPicker @@ -207,6 +211,13 @@
+
+ +
+ + diff --git a/frontend/src/lib/components/ScriptEditor.svelte b/frontend/src/lib/components/ScriptEditor.svelte index 3a4bdbbd35..0a1818a8e9 100644 --- a/frontend/src/lib/components/ScriptEditor.svelte +++ b/frontend/src/lib/components/ScriptEditor.svelte @@ -42,6 +42,7 @@ let testJob: Job | undefined let pastPreviews: CompletedJob[] = [] let lastSave: string | null + let validCode = true $: lastSave = localStorage.getItem(path ?? 'last_save') @@ -73,7 +74,13 @@ } }) - await inferArgs(lang, code, schema) + try { + await inferArgs(lang, code, schema) + validCode = true + } catch (e) { + console.error("Couldn't infer args", e) + validCode = false + } schema = schema @@ -103,7 +110,13 @@
- +