diff --git a/packages/web/src/query/SqlEditor.svelte b/packages/web/src/query/SqlEditor.svelte
index b7870756f..e86623835 100644
--- a/packages/web/src/query/SqlEditor.svelte
+++ b/packages/web/src/query/SqlEditor.svelte
@@ -59,6 +59,7 @@
on:blur
bind:this={domEditor}
options={{
+ ...$$props.options,
enableBasicAutocompletion: true,
}}
/>
diff --git a/packages/web/src/settings/SettingsModal.svelte b/packages/web/src/settings/SettingsModal.svelte
index 45ffc7fac..fc4ba2773 100644
--- a/packages/web/src/settings/SettingsModal.svelte
+++ b/packages/web/src/settings/SettingsModal.svelte
@@ -21,6 +21,7 @@
import SqlEditor from '../query/SqlEditor.svelte';
import {
currentEditorFontSize,
+ currentEditorWrapEnabled,
currentEditorTheme,
currentEditorKeybindigMode,
extensions,
@@ -162,6 +163,14 @@ ORDER BY
/>
+
+
+ ($currentEditorWrapEnabled = e.target.checked)}
+ />
+
+
diff --git a/packages/web/src/stores.ts b/packages/web/src/stores.ts
index 9d2ca81f6..5f9abcd6a 100644
--- a/packages/web/src/stores.ts
+++ b/packages/web/src/stores.ts
@@ -106,6 +106,9 @@ export const currentEditorTheme = getElectron()
export const currentEditorKeybindigMode = getElectron()
? writableSettingsValue(null, 'currentEditorKeybindigMode')
: writableWithStorage(null, 'currentEditorKeybindigMode');
+export const currentEditorWrapEnabled = getElectron()
+ ? writableSettingsValue(false, 'currentEditorWrapEnabled')
+ : writableWithStorage(false, 'currentEditorWrapEnabled');
export const currentEditorFontSize = getElectron()
? writableSettingsValue(null, 'currentEditorFontSize')
: writableWithStorage(null, 'currentEditorFontSize');
diff --git a/packages/web/src/tabs/QueryTab.svelte b/packages/web/src/tabs/QueryTab.svelte
index d081ac586..9c4c78658 100644
--- a/packages/web/src/tabs/QueryTab.svelte
+++ b/packages/web/src/tabs/QueryTab.svelte
@@ -62,7 +62,7 @@
import VerticalSplitter from '../elements/VerticalSplitter.svelte';
import SqlEditor from '../query/SqlEditor.svelte';
import useEditorData from '../query/useEditorData';
- import { extensions } from '../stores';
+ import { currentEditorWrapEnabled, extensions } from '../stores';
import applyScriptTemplate from '../utility/applyScriptTemplate';
import { changeTab, markTabUnsaved } from '../utility/common';
import { getDatabaseInfo, useConnectionInfo } from '../utility/metadataLoaders';
@@ -154,6 +154,7 @@
$: connection = useConnectionInfo({ conid });
$: driver = findEngineDriver($connection, $extensions);
+ $: enableWrap = $currentEditorWrapEnabled || false;
$: effect = useEffect(() => {
return onSession(sessionId);
@@ -427,6 +428,9 @@
{conid}
{database}
splitterOptions={driver?.getQuerySplitterOptions('editor')}
+ options={{
+ wrap: enableWrap,
+ }}
value={$editorState.value || ''}
menu={createMenu()}
on:input={e => {
@@ -453,6 +457,9 @@
mode={driver?.editorMode || 'text'}
value={$editorState.value || ''}
splitterOptions={driver?.getQuerySplitterOptions('editor')}
+ options={{
+ wrap: enableWrap,
+ }}
menu={createMenu()}
on:input={e => setEditorData(e.detail)}
on:focus={() => {