From 642c037c1a87efd8d63558cc0ca5e98fb7b51ff7 Mon Sep 17 00:00:00 2001 From: Ruben Fiszel Date: Fri, 22 Dec 2023 05:16:33 +0100 Subject: [PATCH] feat: add button for auto-formatting --- frontend/src/lib/components/Editor.svelte | 7 ++- frontend/src/lib/components/EditorBar.svelte | 12 +++-- .../src/lib/components/FormatOnSave.svelte | 32 +++++++++++++ .../src/lib/components/ScriptEditor.svelte | 2 +- .../copilot/CodeCompletionStatus.svelte | 46 +++++++++---------- frontend/src/lib/stores.ts | 1 + 6 files changed, 70 insertions(+), 30 deletions(-) create mode 100644 frontend/src/lib/components/FormatOnSave.svelte 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}
dispatch('toggleCollabMode')} /> - {#if iconOnly} + + Multiplayer - {/if} + {#if collabLive}