diff --git a/frontend/src/lib/components/Editor.svelte b/frontend/src/lib/components/Editor.svelte index 6c8972161d..4534b28491 100644 --- a/frontend/src/lib/components/Editor.svelte +++ b/frontend/src/lib/components/Editor.svelte @@ -42,7 +42,8 @@ type DBSchema, copilotInfo, codeCompletionSessionEnabled, - lspTokenStore + lspTokenStore, + formatOnSave } from '$lib/stores' import { @@ -257,7 +258,9 @@ if (editor) { code = getCode() if (lang != 'shell') { - await editor?.getAction('editor.action.formatDocument')?.run() + if ($formatOnSave != false) { + await editor?.getAction('editor.action.formatDocument')?.run() + } code = getCode() } if (formatAction) { diff --git a/frontend/src/lib/components/EditorBar.svelte b/frontend/src/lib/components/EditorBar.svelte index 39526e479d..4d4471b380 100644 --- a/frontend/src/lib/components/EditorBar.svelte +++ b/frontend/src/lib/components/EditorBar.svelte @@ -23,6 +23,8 @@ import { sendUserToast } from '$lib/toast' import { getScriptByPath, scriptLangToEditorLang } from '$lib/scripts' import Toggle from './Toggle.svelte' + import FormatOnSave from './FormatOnSave.svelte' + import { DollarSign, History, @@ -42,6 +44,7 @@ import { getResetCode } from '$lib/script_helpers' import type { Script } from '$lib/gen' import CodeCompletionStatus from './copilot/CodeCompletionStatus.svelte' + import Popover from './Popover.svelte' export let lang: SupportedLanguage export let editor: Editor | undefined @@ -59,6 +62,7 @@ export let template: 'pgsql' | 'mysql' | 'script' | 'docker' | 'powershell' = 'script' export let collabMode = false export let collabLive = false + export let formatOnSave = false export let collabUsers: { name: string }[] = [] export let scriptPath: string | undefined = undefined export let diffEditor: DiffEditor | undefined = undefined @@ -520,14 +524,15 @@ {#if collabMode}