Have others join by sharing the following url:
copyToClipboard(collabUrl())} />
{#if args}
{ if (wsProvider?.shouldConnect) { disableCollaboration() } else { setCollaborationMode() } }} on:showDiffMode={showDiffMode} on:hideDiffMode={hideDiffMode} customUi={customUi?.editorBar} collabLive={wsProvider?.shouldConnect} {collabMode} {validCode} iconOnly={width < EDITOR_BAR_WIDTH_THRESHOLD} on:collabPopup={() => (showCollabPopup = true)} {editor} {lang} on:createScriptFromInlineScript {websocketAlive} collabUsers={peers} kind={asKind(kind)} {template} {args} {noHistory} {saveToWorkspace} lastDeployedCode={lastDeployedCode && lastDeployedCode !== code ? lastDeployedCode : undefined} {diffMode} bind:showHistoryDrawer > {#snippet right()} {@render editor_bar_right?.()} {/snippet}
{/if} {#if !noSyncFromGithub && customUi?.editorBar?.useVsCode != false}
VScode
{/if}
{#if lang === 'ansible' && ansibleAlternativeExecutionMode != null}
{@render editorContent()}
File Browser
{:else} {@render editorContent()} {/if}
{#if showTabs}
{#if hasPreprocessor}
{/if}
{/if}
{ toggleTestPanel() }} />
{#if testIsLoading}
Cancel
{:else} {@const disableTriggerButton = customUi?.previewPanel?.disableTriggerButton === true}
runTest()} btnClasses="w-full {!disableTriggerButton ? 'rounded-r-none' : ''}" size="xs" variant="accent-secondary" startIcon={{ icon: Play, classes: 'animate-none' }} shortCut={{ Icon: CornerDownLeft, hide: testIsLoading }} > {#if testIsLoading} Running {:else} Test {/if}
{#if !disableTriggerButton}
{/if}
{/if}
{#if jsonView}
{ if (e.detail) { args = e.detail } }} updateOnBlur={false} placeholder={`Write args as JSON.
Example:
{
"foo": "12"
}`} />
{:else}
{#key argsRender}
{/key}
{/if}
{#if scriptProgress}
{/if} {#snippet capturesTab()}
{/snippet}
{#snippet editorContent()}
{#if assets?.length}
{/if} {#if lang === 'ansible' && hasDelegateToGitRepo}
(gitRepoResourcePickerOpen = true)} startIcon={{ icon: GitBranch }} btnClasses="bg-surface hover:bg-surface-hover border border-tertiary/30" > Delegating to git repo
{/if} {#if testPanelSize === 0}
{ toggleTestPanel() }} btnClasses="bg-marine-400 hover:bg-marine-200 !text-primary-inverse hover:!text-primary-inverse hover:dark:!text-primary-inverse dark:bg-marine-50 dark:hover:bg-marine-50/70" color="marine" /> {/if} {#if !aiChatManager.open && !disableAi} {#if customUi?.editorBar?.aiGen != false && SUPPORTED_CHAT_SCRIPT_LANGUAGES.includes(lang ?? '')}
{ if (!aiChatManager.open) { aiChatManager.changeMode(AIMode.SCRIPT) } aiChatManager.toggleOpen() }} > {#snippet popoverOverride()}
Enable Windmill AI in the
workspace settings
{/snippet}
{/if} {/if}
{#key lang}
{ inferSchema(e.detail) }} on:saveDraft on:toggleTestPanel={toggleTestPanel} cmdEnterAction={async () => { await inferSchema(code) runTest() }} formatAction={async () => { await inferSchema(code) try { localStorage.setItem(path ?? 'last_save', code) } catch (e) { console.error('Could not save last_save to local storage', e) } dispatch('format') }} class="flex flex-1 h-full !overflow-visible" scriptLang={lang} automaticLayout={true} {fixedOverflowWidgets} {args} {enablePreprocessorSnippet} />
{ showHistoryDrawer = true } }, { text: 'Quit diff mode', onClick: () => { hideDiffMode() }, color: 'red' } ] : []} /> {/key}
{/snippet}